第三章处理机调度与死锁在多道批处理系统还是分时系统中:X用户数与处理机数的关系?X处理用户进程外,操作系统还要使用CPU如果竞争处理机?怎样充分利用?谁管理处理机的使用?
第三章 处理机调度与死锁 在多道批处理系统还是分时系统中: ❖ 用户数与处理机数的关系? ❖ 处理用户进程外,操作系统还要使用CPU 如果竞争处理机?怎样充分利用?谁管理处理机的使 用?
要解决的问题WHAT:按什么原则分配CPU一进程调度算法WHEN:何时分配CPU一进程调度的时机HOW:如何分配CPU一CPU调度过程(进程的上下文切换)
要解决的问题 WHAT:按什么原则分配CPU —进程调度算法 WHEN:何时分配CPU —进程调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换)
3.1进程调度概述3.1.1进程调度的功能进程调度的任务是控制协调进程对CPU的竞争即按照一定的调度算法从就绪队列中选中一个进程,把CPU的使用权交给被选中的进程。进程调度是通过进程调度程序来完成的。进程调度程序的主要功能可描述如下:1.记录系统中各进程的执行状况将进程的状态变化及资源需求情况及时地记录到PCB中。通过PCB变化来准确地掌握系统中所有进程的执行情况和状态特征
进程调度的任务是控制协调进程对CPU的竞争即 按照一定的调度算法从就绪队列中选中一个进程,把 CPU的使用权交给被选中的进程。进程调度是通过进 程调度程序来完成的。进程调度程序的主要功能可描 述如下: 1. 记录系统中各进程的执行状况 将进程的状态变化及资源需求情况及时地记录到PCB 中。通过PCB变化来准确地掌握系统中所有进程的执 行情况和状态特征。 3.1 进程调度概述 3.1.1 进程调度的功能
2.选择进程真正占有CPU这是进程调度的实质。即按照系统规定的调度策略从就绪队列中选择一个进程占有CPU执行。进程调度依据的算法是与系统的设计自标相一致。3.进行进程上下文的切换当进程调度选中一个进程占有CPU时,进程调度程序要做的主要工作则是进行进程上下文切换:将正在执行进程的上下文保留在该进程的PCB中,以便以后该进程恢复执行。将刚选中进程的运行现场恢复起来,并将CPU的控制权交给被选中进程,使其执行
2. 选择进程真正占有CPU 这是进程调度的实质。即按照系统规定的调度策略 从就绪队列中选择一个进程占有CPU执行。进程调度 依据的算法是与系统的设计目标相一致。 3. 进行进程上下文的切换 当进程调度选中一个进程占有CPU时,进程调度 程序要做的主要工作则是进行进程上下文切换:将正 在执行进程的上下文保留在该进程的PCB中,以便以 后该进程恢复执行。将刚选中进程的运行现场恢复起 来,并将CPU的控制权交给被选中进程,使其执行
3.1.2.进程调度的方式和调度时机1.进程调度方式((1)非剥夺方式(Nonpreemptivemode)在非剥夺方式下,调度程序一旦把CPU分配给某一进程后便让它一直运行下去,直到进程完成或发生某事件而不能运行时,才将CPU分给其它进程这种调度方式通常用在批处理系统中。它的主要优点是简单、系统开销小(2)剥夺方式(Preemptivemode)与非剥夺方式不同,这种方式规定,当一个进程正在执行时,系统可以基于某种策略剥夺CPU给其它进程。剥夺的情况有:优先级策略和时间片策略。显然这种调度方式通常用在分时系统和实时系统中,以便及时响应各进程的请求
1. 进程调度方式 (1)非剥夺方式(Non preemptive mode) 在非剥夺方式下, 调度程序一旦把CPU分配给某 一进程后便让它一直运行下去, 直到进程完成或发生 某事件而不能运行时,才将CPU分给其它进程。 这种调度方式通常用在批处理系统中。它的主要 优点是简单、系统开销小。 (2)剥夺方式(Preemptive mode) 与非剥夺方式不同,这种方式规定,当一个进程 正在执行时,系统可以基于某种策略剥夺CPU给其它 进程。剥夺的情况有:优先级策略和时间片策略。显 然这种调度方式通常用在分时系统和实时系统中,以 便及时响应各进程的请求。 3.1.2.进程调度的方式和调度时机