Welcome to the Memory Manager repository. This project is an implementation of a dynamic memory manager that provides memory allocation, deallocation, and optimization services for C programs. It employs best-fit memory allocation strategies, and features custom checks to ensure the consistency of the allocated memory.
The project directory structure:
.
├── README.md
├── Makefile
├── bench.c
├── clint.py
├── mem.h
├── mem_impl.h
├── mem_utils.c
└── memory.c
README.md
: This file, containing information about the project.Makefile
: Used for compiling the project.bench.c
: The benchmark file used to test the performance of the memory manager.clint.py
: Python script for linting the C code.mem.h
: Header file containing the function prototypes for the memory manager.mem_impl.h
: Header file containing the function implementations for the memory manager.mem_utils.c
: Contains utility functions used in the memory manager implementation.memory.c
: The main implementation file of the memory manager.
To use this project:
- Clone the repository.
git clone https://github.com/masonJamesWheeler/Memory-Manager
- Navigate to the directory.
cd <directory_name>
- Compile the project using Makefile.
make
- Run the memory manager.
./memory
- (Optional) Test the performance of the memory manager using the benchmark file.
./bench
For any questions, discussions, or clarifications about this Memory Manager or any related topics, feel free to contact me. I am always open to discussing concepts in Computer Systems and Memory Management.