Process Scheduling in Operating System
Job Queue :A process when enters a system is put into a job queue .
Ready Queue: The processes residing in main memory and ready for execution are put in the ready queue.
Device Queue: The processes waiting for a particular I/O device are put into the device queue.
1. CPU Utilization: It should be maximum. 40% minimum- 90% maximum.
2. Throughput: Number of processes that are completed per unit time are called throughput. It should be maximum.
3. Turnaround Time: The interval from time of submission of process to time of completion. Turnaround time= period spent waiting+ready queue time+execution+I/O interrupt time. It should be minimum.
1. First Come First Serve (FCFS)
Priority Scheduling Diagram
5. Multilevel Queue Scheduling
Scheduling Queue Diagram
Medium Term scheduler Diagram
Scheduling Algorithm decides which process should the CPU be allocated to. There are six scheduling algorithms.
First Come First Serve Shortest Job First
The process that requests for the CPU first, gets the access first.
Each process has the length of the next CPU burst.
FIFO queue is used in handling the process.
The process with the smallest next CPU burst gets access to the process.
Long waiting time for the next processes.
Comparitively less waiting time for next process.
It is a non-preemptive algorithm.
It can be premptive or non-preemptive algorithm.
Priority Scheduling Round Robin Scheduling
Each process has a priority.
There is a fixed time quantum.
CPU allocated to the process with higher priority.
Ready queue is treated as a circular queue and CPU is allocated to the First process for specific time quantum.
Problem: Starvation of low priority process.Solution: AGING
Problem: If time quantum is too large, algorithm works as FCFS.
It can be preemptive or non-preemptive
It is preemptive.
Multilevel Queue Multilevel Feedback Queue
Ready queue is divided into: Foreground (interactive) process and Background (batch) process.
Allows the process from one queue to move to the next queue.
Foreground implements Round Robin Scheduling. and Background implements FCFS.
Here processes are separated according to their CPU burst.
Long Term Scheduler: Also known as job scheduler selects process from disk and puts into memory.
Short Term Scheduler: Also known as CPU scheduler select process from memory and allocates a CPU to it.
Medium Term Scheduler: It is used to remove a process from and reduce degree of multi-programing .Later it can be re-introduced from point where it was left . This is called as swapping.
4. Waiting Time: The time for which the process has to wait in the ready queue is waiting time. It should be minimum.
5. Response Time: Time taken to respond to a process is response time. It should be minimum.
2. Shortest Job First (SJF)
4. Round Robin Scheduling Diagram
6. Multilevel Feedback Queue Scheduling