Scheduling - PowerPoint PPT Presentation

About This Presentation
Title:

Scheduling

Description:

... predicted next CPU burst time. Tn is the duration of the n-th CPU burst ... En 1 is the estimate of the next CPU burst. OS Spring'04. Multilevel feedback queues ... – PowerPoint PPT presentation

Number of Views:126
Avg rating:3.0/5.0
Slides: 25
Provided by: GregoryC9
Category:
Tags: burst | scheduling

less

Transcript and Presenter's Notes

Title: Scheduling


1
Scheduling
  • Operating Systems
  • Spring 2004

2
Multiprogramming
  • Multiprogramming having multiple jobs
    (processes) in the system
  • Interleaved (time sliced) on a single CPU
  • Concurrently executed on multiple CPUs
  • Both of the above
  • Why multiprogramming?
  • Responsiveness, utilization, concurrency
  • Why not?
  • Overhead, complexity

3
Responsiveness
Job 1 arrives
Job 2 arrives
Job 3 arrives
Job1
Job2
Job3
4
Utilization
1st I/O operation
I/O ends
2nd I/O operation
I/O ends
3rd I/O operation
idle
CPU
idle
idle
Disk
idle
idle
idle
CPU
idle
Job1
Job2
Job1
Job2
Disk
idle
Job1
Job2
idle
idle
Job1
5
Workload matters!
  • Does it really matter?
  • Yes, of course
  • If all jobs are CPU bound (I/O bound),
    multiprogramming does not help to improve
    utilization
  • A suitable job mix is created by a long-term
    scheduling
  • Jobs are classified on-line to be CPU (I/O) bound
    according to the jobs history

6
Concurrency
  • Concurrent programming
  • Several process interact to work on the same
    problem
  • ls l more
  • Simultaneous execution of related applications
  • Word Excel PowerPoint
  • Background execution
  • Polling/receiving Email while working on smth else

7
The cost of multiprogramming
  • Switching overhead
  • Saving/restoring context wastes CPU cycles
  • Degrades performance
  • Resource contention
  • Cache misses
  • Complexity
  • Synchronization, concurrency control, deadlock
    avoidance/prevention

8
Short-Term Scheduling
terminated
running
schedule
wait for event
preempt
created
ready
blocked
event done
9
Short-Term scheduling
  • Process execution pattern consists of alternating
    CPU cycle and I/O wait
  • CPU burst I/O burst CPU burst I/O burst...
  • Processes ready for execution are hold in a ready
    (run) queue
  • STS schedules process from the ready queue once
    CPU becomes idle

10
Preemptive/non-preemptive
  • Four events in which the scheduler may decide to
    switch the CPU to a new process
  • Running process terminates
  • Running process blocks (e.g., for I/O)
  • Non-ready process becomes ready (or starts)
  • Clock interrupt
  • The latter two cause preemption
  • Advantages
  • Better time sharing, responsiveness
  • Guard against endless loops
  • Disadvantages
  • Higher programming complexity
  • Example Unix disables interrupts within kernel
    mode
  • Disrupts real-time

11
Metrics Response time
  • Response time (turnaround time) is the average
    over the jobsTresp

Job terminates/ blocks waiting for I/O
Job arrives/ becomes ready to run
Starts running
Trun
Twait
Tresp
Tresp Twait Trun
12
Metrics
  • Wait time average of Twait
  • This parameter is under the system control
  • Throughput
  • Number of complete process terminations within a
    time unit
  • Utilization
  • Fraction of time CPU is utilized

13
Off-line vs. On-line scheduling
  • Off-line algorithms
  • Get all the information about all the jobs to
    schedule as their input
  • Outputs the scheduling sequence
  • Preemption is never needed
  • On-line algorithms
  • Jobs arrive at unpredictable times
  • Very little info is available in advance
  • Preemption compensates for lack of knowledge

14
First-Come-First-Serve (FCFS)
  • Schedules the jobs in the order in which they
    arrive
  • Off-line FCFS schedules in the order the jobs
    appear in the input
  • Runs each job to completion
  • Both on-line and off-line
  • Simple, a base case for analysis
  • Poor response time

15
Shortest Job First (SJF)
  • Best response time

Long job
Short
Short
Long job
  • Inherently off-line
  • All the jobs and their run-times must be
    available in advance

16
Preemption
  • Preemption is the action of stopping a running
    job and scheduling another in its place
  • Context switch Switching from one job to another

17
Using preemption
  • On-line short-term scheduling algorithms
  • Adapting to changing conditions
  • e.g., new jobs arrive
  • Compensating for lack of knowledge
  • e.g., job run-time
  • Periodic preemption keeps system in control
  • Improves fairness
  • Gives I/O bound processes chance to run

18
Shortest Remaining Time first (SRT)
  • Job run-times are known
  • Job arrival times are not known
  • When a new job arrives
  • if its run-time is shorter than the remaining
    time of the currently executing job
  • preempt the currently executing job and schedule
    the newly arrived job
  • else, continue the current job and insert the new
    job into a sorted queue
  • When a job terminates, select the job at the
    queue head for execution

19
Round Robin (RR)
  • Both job arrival times and job run-times are not
    known
  • Run each job cyclically for a short time quantum
  • Approximates CPU sharing

Job 1 arrives
Job 2 arrives
Job 3 arrives
Job 1 terminates
Job 2 terminates
Job 3 terminates
Job1
3
2
1
2
3
1
2
3
1
2
1
Job2
20
Responsiveness
Job 1 arrives
Job 2 arrives
Job 3 arrives
Job1
Job2
Job3
21
Priority Scheduling
  • Example prioritize processes according to their
    past CPU usage
  • Equivalent to SJF with predicted next CPU burst
    time
  • Tn is the duration of the n-th CPU burst
  • En1 is the estimate of the next CPU burst

22
Multilevel feedback queues
terminated
new jobs
quantum10
quantum20
quantum40
FCFS
23
Multilevel feedback queues
  • Priorities are implicit in this scheme
  • Very flexible
  • Starvation is possible
  • Short jobs keep arriving gt long jobs get starved
  • Solutions
  • Let it be
  • Aging

24
Real-life examples
  • Solaris 2
  • Window 2000
  • Linux
Write a Comment
User Comments (0)
About PowerShow.com