One of the main tasks of an operating system is scheduling processes to run on the CPU. The goal of this programming project is to implement a simulator with different scheduling algorithms. The simulator should select a process to run from the ready queue based on the scheduling algorithm chosen at runtime. (It does not require any actual process creation or execution.)
- First Come First Serve CPU Scheduling Algorithm
- Shortest Job First CPU Scheduling Algorithm
- Shortest Remaining Time First CPU Scheduling Algorithm
- Round Robin CPU Scheduling Algorithm
- Creation of Process table (Inputing Details of Process)
- Performing Algorithm (fcfsm,sjf,srtf,round robin)
- Computes Completion time, Waiting time, Response time and Turn Around Time for Every Process
- Computes Average Response time, Averge Waiting time and Average Turn Around Time for all Algorithms.
- Print Gantt Chart
header file storing attributes related to process and functions to perform operation on them ID : Process ID AT : Arrival Time BT : Burst Time CT : Completion Time RT : Response Time WT : Waiting Time TAT : Turn Around Time All the required information of other attributes/ functions are explained in comments in code file itself.
header file storing attributes related to fcfs and functions to perform fcfs All the required information of other attributes/ functions are explained in comments in code file itself.
header file storing attributes related to fcfs and functions to perform sjf All the required information of other attributes/ functions are explained in comments in code file itself.
header file storing attributes related to fcfs and functions to perform srtf All the required information of other attributes/ functions are explained in comments in code file itself.
header file storing attributes related to fcfs and functions to perform roundrobin All the required information of other attributes/ functions are explained in comments in code file itself.
To print gantt chart All the required information of other attributes/ functions are explained in comments in code file itself.
Single header to bind all above headers together
GUI Components + backend for creating Process Table
GUI Components + backend for Final Result
GUI Components + backend for GUI Entry Point
CLI Mode Entry Point