0% found this document useful (0 votes)
3 views30 pages

Scheduling

Uploaded by

Abdur Rahman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views30 pages

Scheduling

Uploaded by

Abdur Rahman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Chapter 2

Scheduling
Outline

• CPU Scheduling
• Importance of scheduling in diff. environment
• CPU bound process, I/O bound process
• Preemptive, non-preemptive scheduling
• Batch system scheduling algorithms
• FCFS, Shortest Job First, Shortest Remaining First
• Interactive system scheduling
• RR, Priority scheduling, Lottery Scheduling
• Realtime system scheduling
• Thread Scheduling
• User-level thread
• Kernel-level thread
Process States

Figure 2-2. A process can be in running, blocked, or ready state.


Transitions between these states are as shown.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Modeling Multiprogramming

Figure 2-6. CPU utilization as a function of the number of


processes in memory.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Process Control Table

Figure 2-4. Some of the fields of a typical process table entry.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Process Scheduling Queues
• Job queue – set of all processes in the system
• Ready queue – set of all processes residing in main
memory, ready and waiting to execute
• Device queues – set of processes waiting for an I/O
device
• Processes migrate among the various queues
Ready Queue And Various I/O Device Queues

• Ready queue –
processes residing in
main memory, ready
and waiting to
execute
• Device queues –
processes waiting for
an I/O device
• Processes migrate
among the various
queues
Representation of Process Scheduling
Schedulers
• When to schedule?
• when a process is created, or exits
• when a process blocks on I/O, semaphore, mutex…
• interrupts: hardware or software
• timer interrupt: nonpreemptive vs preemptive scheduling
• Long-term scheduler (or job scheduler) – selects which
processes should be brought into the ready queue
• Short-term scheduler (or CPU scheduler) – selects which
process should be executed next and allocates CPU
Schedulers
• Short-term scheduler is invoked very frequently
(milliseconds) ⇒ (must be fast)
• Long-term scheduler is invoked very infrequently
(seconds, minutes) ⇒ (may be slow)
• The long-term scheduler controls the degree of
multiprogramming
• Processes can be described as either:
– I/O-bound process – spends more time doing I/O than
computations, many short CPU bursts
– CPU-bound process – spends more time doing
computations; few very long CPU bursts
Process Behavior

Bursts of CPU usage alternate with periods of waiting for I/O. (a) A
CPU-bound process. (b) An I/O-bound process.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Categories of Scheduling Algorithms
• Batch system: business application, no
end users
• non-preemptive, preemptive
• Interactive system: with interactive users,
or server (with multiple remote interactive
users)
• preemption
• Real time system:

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Scheduling Algorithm Goals

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Scheduling in Batch Systems

• First-come first-served
• Shortest job first
• Shortest remaining Time next

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
First Come First Served

• First-come first-served
• processes assigned CPU in order of request
• when running process blocks, schedule next one in
queue
• when blocking process becomes ready, enter end of
queue
• Pros: simple, easy to implement, fair (in some sense)
• Cons:
• short jobs arrive after a very long job
• one compute-bound process (1 sec at a time), many IO-
bound processes (perform 1000 disk reads) => take a
long time to finish I/O bound process

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Shortest Job First

• Assumption: run time for processes are known


in advance
• Scheduler: among equally important jobs in
ready queue, pick the one with the shortest
run time.
• Proof: Shortest Job First yields smallest average
turnaround time, if all jobs are available
simultaneously.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Shortest Job First

Figure 2-40. An example of shortest job first scheduling.


(a) Running four jobs in the original order. (b) Running them in
shortest job first order.

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Shortest Remaining Time next

• Jobs/Processes can arrive at different time


• Preemptive version of Shortest Job First
• When new job arrives, if its run time is smaller than
current process’s remaining time, schedule the new job
• Some kind of greedy algorithm: keep the ready queue
as short as possible
• Question: Does this scheme minimize average
turnaround time?

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Scheduling in Interactive Systems

• Round-robin scheduling
• Priority scheduling
• Multiple queues
• Shortest process next
• Guaranteed scheduling
• Lottery scheduling
• Fair-share scheduling

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Round-Robin Scheduling

• A process, when scheduled to run, is


assigned the CPU for a time interval,
quantum
• If process blocks or finishes before quantum
expires, CPU switches to run other process
• If still running at end of quantum, preempt and
schedule other process to run
• Length of quantum
• too short => too much context switch
overhead
• too long => system not responsive/interactive
• typical setting: 20-50 msec
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Round-Robin Scheduling

Figure 2-41. Round-robin scheduling.


(a) The list of runnable processes. (b) The list of runnable
processes after B uses up its quantum.
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Priority Scheduling

• Idea: assign each process a priority, ready


processes with highest priority is scheduled
to run
• Setting priority
• based upon the process’s user ID: position,
payment
• higher priority for interactive process, lower
priority for background process => to be
responsive
• dynamically assigned
• e.g., give higher priority to I/O bound process

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Priority Scheduling: data structure

Run for one quantum

Run for 2 quanta

Run for 4 quanta

Run for 8 quanta

Example (CTSS)
• CPU bound process will sink to long priority queue
• If used up quantum, move down one class
• larger quantum => cut context switch overhead
• I/O bound process will stay at high priority queue
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interactive Systems: shortest process next
• Interactive process:
1. wait for command
2. execute command
3. go back to 1
• To minimize response time (step 2 above), schedule
process with shortest running time
• Estimate running time of a process’s step 2 using
history (weighted average, aging)
• Te’ = aTe + (1-a) Ti
• Te: current estimation
• Te’: new estimation
• Ti: current measured running time
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Interactive Systems:
Lottery Scheduling
• A randomized scheme
• each process given lottery tickets for CPU resource
• Scheduler: choose a lottery ticket at random, the process
holds the ticket is the scheduled to run
• The more tickets a process holds, the higher
probability of scheduled to run
• Pros:
• proportional allocation of CPU
• allow transferring of tickets among cooperating
processes,

Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Scheduling in Real-time Systems

• Realtime system: must react to external


events within a fixed amount of time
• Periodic events vs aperiodic events
• e.g., in voIP system, incoming audio
packets are periodic events
• in intrusion detection system, detected
abnormal signal is an aperiodic event
• Hard real time
• absolute deadline
• Soft real time
• soft deadline: ok to miss occasionally,
Tanenbaum,e.g., multimedia
Modern Operating Systems 3 e, (c) 2008system
Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Scheduling in Real-Time Systems

» Time plays an essential role


» Categories
– Hard real time
– Soft real time
– Periodic or aperiodic
» Schedulable satisfies
Thread Scheduling

» Figure 2-44. (a) Possible scheduling of user-level threads with a 50-msec process
quantum and threads that run 5 msec per CPU burst.
Thread Scheduling

» Figure 2-44. (b) Possible scheduling of kernel-level threads with the same characteristics
as (a).
Outline
• CPU Scheduling
• Importance of scheduling in diff. environment
• CPU bound process, I/O bound process
• Preemptive, non-preemptive scheduling
• Batch system scheduling algorithms
• FCFS, Shortest Job First, Shortest Remaining First
• Interactive system scheduling
• RR, Priority scheduling, Lottery Scheduling
• Realtime system scheduling
• Thread Scheduling
• User-level thread
• Kernel-level thread

You might also like