A set of programs to simulate and demonstrate the working of different algorithms used in general OS design
A set of four different algorithms/techniques are demonsrated. They include:
- A program to mimic the functioning of a dispatcher (server), which takes requests from clients, with the overall program having two levels of multithreading.
- A program to dynamically detect and deal with deadlocks arising between different running threads accessing a common, shared resource.
- A program to simulate and compare the performance of different dynamic memory partitioning algorithms (best-fit, first-fit, and next-fit).
- A program to simulate and compare the performance of different disk scheduling algorithms (random, FIFO, SSTF, SCAN, and C-SCAN)
Kindly refer to the README files in each of the individual program directories for more details on working, logic, specific parameters and benchmarks, as well instructions to compile and execute the code.
This project was done as a part of the course Operating Systems (CS303) under the guidance of Dr. Balwinder Sodhi, at IIT Ropar.