Module 6: CPU Scheduling Basic Concepts(基本概念) ° Scheduling criteria(调度准则) ° Scheduling Algorithms(调度算法) Multiple- Processor Scheduling(多处理器调度) ° Real-Time Scheduling(实时调度) ° Algorithm Evaluation(算法评估) Applied Operating System Concepts Silberschatz, Galvin, and Gagne @1999
6.1 Silberschatz, Galvin, and Gagne ©1999 Applied Operating System Concepts Module 6: CPU Scheduling • Basic Concepts (基本概念) • Scheduling Criteria (调度准则) • Scheduling Algorithms (调度算法) • Multiple-Processor Scheduling (多处理器调度) • Real-Time Scheduling (实时调度) • Algorithm Evaluation (算法评估)
Basic Concepts Maximum CPU utilization obtained with multiprogramming (通过多道程序设计得到cPU的最高利用率) CPU-1l0 Burst Cycle- Process execution consists of a cycle of CPU execution and l/o wait (cPU-/O脉冲周期-进程的执行包括进程在cPU上执行和等待Ⅳo) CPU burst distribution (cPU脉冲的分布) Applied Operating System Concepts 62 Silberschatz, Galvin, and Gagne @1999
6.2 Silberschatz, Galvin, and Gagne ©1999 Applied Operating System Concepts Basic Concepts • Maximum CPU utilization obtained with multiprogramming (通过多道程序设计得到CPU的最高利用率) • CPU–I/O Burst Cycle – Process execution consists of a cycle of CPU execution and I/O wait. (CPU-I/O脉冲周期- 进程的执行包括进程在CPU上执行和等待I/O) • CPU burst distribution (CPU脉冲的分布)
Alternating Sequence of CPU And l/o Bursts load store add store d from file CPU burst wait for I/O 1/O burst store increment index CPU burst write to file air for 1/ load store add store read from file CPU burst wait for 1/O v/o burst Applied Operating System Concepts 6.3 Silberschatz, Galvin, and Gagne @1999
6.3 Silberschatz, Galvin, and Gagne ©1999 Applied Operating System Concepts Alternating Sequence of CPU And I/O Bursts
Histogram of CPU-burst Times 160 140 120 8100 000 burst duration(milliseconds) Applied Operating System Concepts 6.4 Silberschatz, Galvin, and Gagne @1999
6.4 Silberschatz, Galvin, and Gagne ©1999 Applied Operating System Concepts Histogram of CPU-burst Times
CPU Scheduler Selects from among the processes in memory that are ready to execute, and allocates the cpu to one of them.(选择内存 中的就绪进程,并分配cPU给其中之一) CPU scheduling decisions may take place when a process (cPU调度可能发生在当一个进程): 1. Switches from running to waiting state(从运行转到等待) 2 Switches from running to ready state(从运行转到就绪) 3 Switches from waiting to ready(从等待转到就绪) 4. Terminates(终止运行) Scheduling under1and4 is nonpreemptive(发生在1、4两 种情况下的调度称为非抢占式调度) All other scheduling is preemptive(其他情况下发生的调度称 为抢占式调度) Applied Operating System Concepts 6.5 Silberschatz, Galvin, and Gagne @1999
6.5 Silberschatz, Galvin, and Gagne ©1999 Applied Operating System Concepts CPU Scheduler • Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them.(选择内存 中的就绪进程,并分配CPU给其中之一) • CPU scheduling decisions may take place when a process (CPU调度可能发生在当一个进程): 1. Switches from running to waiting state(从运行转到等待). 2. Switches from running to ready state(从运行转到就绪). 3. Switches from waiting to ready(从等待转到就绪). 4. Terminates(终止运行). • Scheduling under 1 and 4 is nonpreemptive (发生在1、4两 种情况下的调度称为非抢占式调度). • All other scheduling is preemptive (其他情况下发生的调度称 为抢占式调度)