Explore the fundamental algorithms that power modern operating systems and learn how they optimize CPU utilization for maximum performance.
FCFS schedules processes strictly in the order of their arrival in a queue. When a process arrives, it's added to the end of the queue and processed sequentially.
SJF selects the process with the shortest estimated execution time next. The main objective is to minimize the average waiting time across all processes. It favors shorter tasks for faster completion.
SRTF is a preemptive version of SJF. The CPU selects the process with the shortest remaining time to complete, allowing interruptions for shorter jobs.
Processes are assigned priority levels and the CPU selects the highest priority process first. Can be implemented as preemptive or non-preemptive.
Each process is assigned a fixed time quantum. Processes are placed in a circular queue and the CPU switches between them after each time slice.
Divides processes into multiple queues based on priority or type. Each queue can have its own scheduling algorithm and processes don't move between queues.