1 / 22

CMT603

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

rupali
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMT603 Lecture 3 Scheduling

  2. Contents • Intro to scheduling • Preemption • Scheduling Algorithms • ? • ? • ?

  3. 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

  4. 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

  5. CPU Burst Durations 160 140 120 110 100 Frequency 80 60 40 20 32 40 0 8 16 24 Burst Duration (ms) [Silberschatz2005]

  6. Reminder- How Operating Systems work • Interrupts • Dual Mode. • Timers

  7. 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

  8. Scheduling Criteria • What do we want from a scheduling algorithm?

  9. 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.

  10. 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.

  11. Scheduling Algorithms • Question….. • Think of some different ways in which we could chose which process to execute next?

  12. Scheduling Algorithms • First come First Served • SJF non preemptive / preemptive • Priority • Round robin

  13. Uses a FIFO queue Non preemptive An Example FCFS First come First Served Processes arrive at time 0 In the order P1, P2, P3

  14. 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

  15. 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

  16. 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

  17. Shortest job first • Assign CPU to the process that has the smallest next CPU-burst time • Non Preemptive or Preemptive

  18. Example: SJF Non Preemptive • Average Wait Time = (14+0+5+3)/4 = 5.5 P2 P4 P3 P1 0 5 7 14 22

  19. 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

  20. Analysis of SJF • Optimal with respect to average waiting time • How does scheduler know the length of the next CPU-burst time?

  21. Summary (2) • Intro to scheduling • Preemption • Scheduling Algorithms • FCFS • SJF

  22. Exercise sheets

More Related