Cmt603
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

CMT603 PowerPoint PPT Presentation


  • 166 Views
  • Uploaded on
  • Presentation posted in: General

CMT603. Lecture 3 Scheduling. Contents. Intro to scheduling Preemption Scheduling Algorithms ? ? ?. Three Types of Scheduling. Job scheduling Selects processes from the process pool (usually on disk) and loads them into memory Also known as long-term scheduler Process scheduling

Download Presentation

CMT603

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cmt603

CMT603

Lecture 3

Scheduling


Contents

Contents

  • Intro to scheduling

  • Preemption

  • Scheduling Algorithms

    • ?

    • ?

    • ?


Three types of scheduling

Three Types of Scheduling

  • Job scheduling

    • Selects processes from the process pool (usually on disk) and loads them into memory

      • Also known as long-term scheduler

  • Process scheduling

    • Selects processes from the ready queue.

      • Short term scheduler

  • Thread scheduling

    • Schedules threads from within a process


Why schedule processes increase efficiency

Why schedule processes? - Increase Efficiency

  • The reason scheduling works is because of the CPU-I/O burst cycle.

  • When processes run, it has been observed that:

    • CPU has a burst of activity

    • Then it waits for I/O

  • The Durations of the CPU burst have been measured extensively


Cpu burst durations

CPU Burst Durations

160

140

120

110

100

Frequency

80

60

40

20

32

40

0

8

16

24

Burst Duration (ms)

[Silberschatz2005]


Reminder how operating systems work

Reminder- How Operating Systems work

  • Interrupts

  • Dual Mode.

  • Timers


Preemption

Preemption

  • Non-preemptive Scheduling: Once thesystem has assigned a CPU to aprocess, the system cannot removethat CPU from that process

  • Preemptive Scheduling: The systemcan remove the running process from the CPU


Scheduling criteria

Scheduling Criteria

  • What do we want from a scheduling algorithm?


Scheduling criteria1

Scheduling Criteria

  • It is desirable to maximize CPUutilization and throughput, and tominimize turnaround time, waiting timeand response time.

  • CPU Utilization – use of the CPU.

  • Throughput – number of processescompleted per time unit.


Scheduling criteria2

Scheduling Criteria

  • Turnaround time – interval from submission to completion of a process.

  • Waiting time – time spent ready to run but not running.

  • Response time – the time from submission of a request until the first response is produced.

    • normally used for measuring an interactive system.


Scheduling algorithms

Scheduling Algorithms

  • Question…..

    • Think of some different ways in which we could chose which process to execute next?


Scheduling algorithms1

Scheduling Algorithms

  • First come First Served

  • SJF non preemptive / preemptive

  • Priority

  • Round robin


First come first served

Uses a FIFO queue

Non preemptive

An Example FCFS

First come First Served

Processes arrive at time 0

In the order P1, P2, P3


Example fcfs

Example FCFS

Gant chart

P1

P2

P3

30

34

36

0

Average wait time = (0+30+34)/3 = 21.33

Turnaround time = (30+34+36)/3 = 33.33


Exercise 5 minutes

Exercise (5 minutes)

P3

P2

P1

0

2

6

36

Average wait time = (0+2+6)/3 = 2.67

Turnaround time = (2+6+36)/3 = 14.67


Analysis of fcfs

Analysis of FCFS

  • Average wait time is very variable

    • If the burst times vary greatly

  • Convoy effect

  • Low device utilisation

    • If a CPU bound process is active for long periods, other devices are not being used


Shortest job first

Shortest job first

  • Assign CPU to the process that has the smallest next CPU-burst time

  • Non Preemptive or Preemptive


Example sjf non preemptive

Example: SJF Non Preemptive

  • Average Wait Time = (14+0+5+3)/4 = 5.5

P2

P4

P3

P1

0

5

7

14

22


Exercise

Average wait time = (14+2+5+0)/3 = 5.25

Exercise

Using SJF Preemptive

What is the average

wait time?

P2

P4

P2

P3

P1

0

2

4

7

14

22


Analysis of sjf

Analysis of SJF

  • Optimal with respect to average waiting time

  • How does scheduler know the length of the next CPU-burst time?


Summary 2

Summary (2)

  • Intro to scheduling

  • Preemption

  • Scheduling Algorithms

    • FCFS

    • SJF


Exercise sheets

Exercise sheets


  • Login