- Pranjal Mishra
- Parikalp Singh
- Sudarshan Sivakumar
- V Manushree
Scheduling is a fundamental part of any operating system. Almost all computer resources are scheduled before they are used. The CPU is one of the primary computer resources. As a result, CPU scheduling is crucial in operating-system design.
CPU scheduling is the process of determining which processes will run on the CPU. The main goal of process scheduling is to prevent the CPU from becoming idle. A typical process demands both I/O and CPU time. The selection process will be carried out by the CPU scheduler. It selects one of the processes in memory that are ready for execution. It ensures that one process can utilize the CPU while another waits for I/O.
The objective of a CPU scheduling method is to maximize CPU utilization and throughput while minimizing turnaround and response times.
There are mainly six types of process scheduling algorithms
• First Come First Serve (FCFS)
• Shortest-Job-First (SJF) Scheduling
• Shortest Remaining Time
• Priority Scheduling
• Round Robin Scheduling
• Multilevel Queue Scheduling
This mini-project is a comparative study of some of the aforementioned CPU scheduling algorithms. We aim to discuss in depth the characteristics, pros, and cons of the algorithms.
gcc -o main main.c
./main