Memory Algorithm Simulator
About:
I created this when I was a student at St. Joseph's College in an Operating Systems class. We were given the freedom to use any programming language we wanted to do this project, which I thought was pretty cool.
Assignment Details:
Click here to download instructions
Features:
- Support for First Fit, Best Fit, and Worst Fit memory algorithms.
- The contents of the memory are displayed in a doughnut created with Chart.js.
- Viewing memory contents as a list is also possible.
- Capable of performing Compaction.
- Support for creating a process with a burst time in milliseconds.
- When there is no room for processes in memory, they can be added to the waiting queue.
- The user can view, rearrange, and delete processes on the waiting queue.
- Processes on the waiting queue are automatically added whenever a process is killed.
- The waiting queue uses a FIFO algorithm.
- Processes can be randomly created as well as randomly killed.
- It's also possible to kill all processes in memory.
- The processes in the doughnut can be recolored using a rainbow pattern.
How data is structured:
I used 3 separate arrays called memoryLabels, memoryValues, and memoryColors to hold the data for the Memory Simulator. This was done so that the chart may be given reference pointers to these 3 arrays and to keep things less complicated by only having one copy of the data. The processes as well as the free memory blocks are stored on these 3 arrays.
Libraries used:
- jQuery 1.12.1:
- jQuery UI 1.12.1:
- jQuery Mousewheel Plugin 3.1.12:
- Chart.js 2.7.1:
Favicon Credit:
Favicon was downloaded and modified from here: https://www.iconfinder.com/icons/2317748/chip_electronics_hardware_memory_memorycard_ram_technology_icon