Dynamic Memory Allocator is a Java project developed for the COL106 course. It simulates memory allocation in an operating system, implementing time-efficient and cost-efficient methods.
This project aims to provide a dynamic memory allocation system that efficiently manages memory resources in an operating system. It focuses on optimizing both time and cost factors associated with memory allocation.
- Memory Allocation: Simulate the allocation of memory blocks to processes based on various allocation techniques.
- Allocation Methods: Implement time-efficient and cost-efficient methods for memory allocation, such as First-Fit, Best-Fit, Next-Fit, Worst-Fit, and Buddy System.
- Process Management: Manage processes and their memory requirements within the simulated memory allocator.
- Memory Deallocation: Handle the release of memory blocks when processes terminate or free allocated memory.
- Programming Language: Java
- Data Structures: Linked lists, arrays, and other suitable data structures for memory management
- Allocation Techniques: First-Fit, Best-Fit, Next-Fit, Worst-Fit, and Buddy System
- Algorithm Design: Design efficient algorithms for memory allocation and deallocation
- Efficiency Analysis: Analyze the time and space complexity of the implemented algorithms
To run the Dynamic Memory Allocator project, follow these steps:
- Clone the repository:
git clone https://github.com/AkshatGadhwal/Dynamic_Memory_Allocator_COL106.git
- Navigate to the project directory:
cd Dynamic_Memory_Allocator_COL106
- Compile the Java source files:
javac *.java
- Run the project:
java Main
Contributions to the Dynamic Memory Allocator project are welcome. If you have suggestions for improvements, encounter any issues, or would like to contribute new features, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.
We would like to acknowledge the COL106 course instructors for their guidance and support throughout the project. Their expertise and feedback have been invaluable in the development of this Dynamic Memory Allocator.
Explore the world of memory allocation in operating systems with the Dynamic Memory Allocator project!