INTRODUCTION
TO
OPERATING SYSTEMS
Lecture 8: PROCESS SCHEDULING (1)
CHRIS STAFF
Dept. of Computer Science and Artificial Intelligence
University of Malta
Lecture Outline
Aims and Objectives
The Life-Cycle of a Process (Process State Transitions)
Process Scheduling
Scheduling Objectives
Scheduling and Performance Criteria
Aims and Objectives
- Life-Cycle of a Process
- Why Scheduling is important
- Different levels of Scheduling
- Scheduling Objectives
- Scheduling Criteria
The Life-Cycle of a Process (Process State
Transitions)
Process Scheduling
- Policies and Mechanisms of selecting a runnable process to become the current
process.
- Important to maintain system balance.
- Schedulers are processes. Need CPU to run. Scheduler tends to have highest
priority in system, so that when current process is interrupted, scheduler
becomes best process to run.
Scheduling Objectives
- Be Fair
- Maximize throughput
- Maximize number of users receiving acceptible response times.
- Be predictable
- Balance resource use
- Avoid indefinite postponement
- Enforce Priorities
- Give preference to processes holding key resources
- Give better service to processes that have desirable behaviour patterns
- Degrade gracefully under heavy loads
Scheduling and Performance Criteria
- CPU Utilisation - is the process CPU-bound or I/O-bound?
- Throughput - How many processes are executed in a unit of time?
- Turnaround time - how long does it take for a program to exit the system from
when it is submitted?
- Waiting Time - how much time does the process spend waiting for the CPU in
total?
- Response Time - How long does it take for the system to respond to an
interactive request?
- The above should be prioritised, and a scheduling algorithm which satisfies
the criteria should be used.
Summary
- Seen typical behaviour patterns displayed by processes during execution
- Organisation of different level schedulaers to maintain system balance and
optimise resource utilisation
- What objectives a scheduler should achieve
- Questions to be answered to choose appropriate scheduling algorithm
Next Lecture...
Process Scheduling (2)