Application that manages memory allocations within a memory pool of size MEMSIZE; supporting six different requests.
Create a application that manages memory allocations and supports the following commands:
- Allocate N bytes for a process using one of the 3 allocation algorithms
- Free all allocations for a given process
- Show the status of the memory pool – allocated and free blocks
- Read a script – a sequence of commands from a file, and execute them
- Compact the allocations, making them into one contiguous block. (This somewhat resembles the operation of a mark-sweep garbage collector in C#)
- Exit