C++ implementation of various scheduling algorithms for operating systems. The following algorithms have been implemented:-
- FCFS - First Come First Serve
- SJF (with preemption) - Shortest Job First
- Round-Robbin Algorithm - Giving fixed time quanta/slice (Which can be contolled in the program) to each process and then preempting
A text file which contains the following details regarding all the processes.
- Arrival Time - Point of time at which the process enters the ready queue.
- Execution Time - Total CPU time required by the process to complete it's execution.
- CPU Burst Time - CPU time required by the process in one burst after which it can go for input-output (IO).
- IO Block Time - Time for which a process is in the input-output state. It does not require the CPU duing this time.
- Priority - Priority of the process which would be used when they ahve same arrival times (in Round-Robbin).
- Process wise output with their updated next arrivals.
- Turnaround times of each process.
- Waiting times of each process.