CPU Scheduling Upd
CPU Scheduling Upd
(Unit-2)
Basic Concept
Non-Preemptive
Preemptive
Non-Preemptive
Once the CPU is allocated to a process, process keeps
the CPU until:
it releases when it completes
by switching to waiting state
E.g : 1. Windows 3.x and Apple Macintosh operating
systems uses non-preemptive scheduling
2. Windows (also 10) uses a round-robin technique with
a multi-level feedback queue for priority scheduling
Process is executed till completion. It cannot be
interrupted.
Eg First In First Out
Preemptive Scheduling
The running process is interrupted for some
time and resumed later on, when the priority
task has finished its execution.
OR
Turnaround time = Burst time + Waiting time
First-Come, First-Served (FCFS)
13
First-Come, First-Served (FCFS)
1.P1-> 8.P3->9.P4->11.P2->16.P5
Priority Scheduling
Priority is associated with each process.
CPU is allocated to the process with highest
priority.
If 2 processes have same priority FCFS
P1 0 2 10
P2 2 1 5 Consider 0 as
P3 3 0 2 Lowest and 3
P4 5 3 20 as Highest
Priority
Round Robin Scheduling
A Time Quantum is associated to all processes
P1 0 5 10
P2 1 7 13
P3 2 1 5
P1 0 3
P2 3 4
P3 4 6
Round Robin
P1 0 4 8
P2 1 5 18
P3 2 2 6
P4 3 1 9
P5 4 6 21
P6 6 3 19
Round Robin
P1 0 4 8
P2 1 5 18
P3 2 2 6
P4 3 1 9
P5 4 6 21
P6 6 3 19
RQ: P1 P2 P3 P1 P4 P5 P2 P6 P5 P2 P6 P5
Multilevel Queue
A multilevel queue scheduling algorithm partitions
the ready queue into several separate queues.
1. System processes
2. Interactive processes
3. Interactive editing processes
4. Batch processes
5. Student/ user processes
Multilevel Queue
Multilevel Queue
Processes can be :
Foreground Process: processes that are running
currently RR Scheduling is applied
Background Process: Processes that are running in the
background but its effects are not visible to user. FCFS
Multilevel queue scheduling divides ready queue into several
queues.
Processes are permanently assigned to one queue on some
property like memory size, process priority, process type.
Each queue has its own scheduling algorithm
Practice: Multilevel Queue
Process Arrival Burst Queue
Time Time
P1 0 4 1
P2 0 3 1
P3 0 8 2
P4 10 5 1
Disadvantages:
1. Until high priority queue is not empty, No process from
lower priority queues will be selected.
2. Starvation for lower priority processes
Advantage:
Can apply separate scheduling algorithm for each queue.
Multilevel Feedback Queue
Solution is: Multilevel Feedback Queue
If a process is taking too long to execute.. Pre-empt
it send it to low priority queue.
Don’t allow a low priority process to wait for long.
After some time move a least priority process to
high priority queue Aging
Multilevel Feedback Queue
Allows a process to move between queues.
1. Asymmetric multiprocessing
1. Processor Affinity
(a process has an affinity for the processor on which it is currently
running.)
Consider what happens to cache memory when a process
has been running on a specific processor?
1. Processor Affinity
2. Hard affinity
Operating system will attempt to keep a process on a single
processor, it is possible for a process to migrate between
processors.
Issues concerning SMP systems
2. Load Balancing
2. Load Balancing
Two approaches to load balancing: push migration and pull
migration.
3. Multicore Processors
3. Multicore Processors
The earlier the deadline, the higher the priority the later the
deadline, the lower the priority.