考研帮 > 数学 > 每日一练

2.3 处理机调度

2.3.2 处理机调度层次

  用户作业从进入系统成为后备作业开始,直到运行结束退出系统为止,可能会经历多种调度过程,处理器调度可以分为三个级别:高级调度、中级调度和低级调度。低级调度是各类操作系统必须具有的功能;在纯粹的分时或实时操作系统中,通常不需要配备高级调度;在分时系统或具有虚拟存储器的操作系统中,为了提高内存利用率和作业吞吐量,专门引进了中级调度。高级调度发生在新进程的创建中,它决定一个进程能否被创建,或者是创建后能否被置成就绪状态,以参与竞争处理器资源获得运行;中级调度反映到进程状态上就是挂起和解除挂起,它根据系统的当前负荷情况决定停留在主存中的进程数目;低级调度则是决定哪一个就绪进程或线程占有CPU运行。
  1.高级调度
  高级调度:又称作业调度、长程调度,在多道批处理操作系统中,作业是用户要求计算机系统完成的一项相对独立的工作,新提交的作业被输入到磁盘,并保存在一个批处理后备作业队列中。高级调度将按照系统预定的调度策略决定把后备队列作业中的部分满足其资源要求的作业调入主存,为它们创建进程,分配所需资源,为作业做好运行前的准备工作并启动它们运行,当作业完成后还要为它做好善后工作。在批处理操作系统中,作业首先进入系统在辅存上的后备作业队列等候调度,因此,作业调度是必须的,它执行的频率较低,并和到达系统的作业的数量与速率有关。
  高级调度程序控制多道程序的道数,调度选择进入主存的作业越多,每个作业获得的CPU 时间就越少,为了给进入主存的作业提供满意的服务,有时需要限制多道程序的道数。每当一个作业执行完成撤离时,高级调度会决定增加一个或多个作业到主存,此外,如CPU 空闲时间超过一定阈值,系统也会引出高级调度调度后备作业。
  对于分时操作系统来说,高级调度决定:1)是否接受一个终端用户的连接;2)一个交互作业能否被计算机系统接纳并构成进程,通常系统将接纳所有授权用户,直到系统饱和为止;3)一个新建态的进程是否能够立即加入就绪进程队列。有的分时操作系统虽没有配置高级调度程序,但上述的调度功能是必须提供的。
  2.中级调度
  中级调度:又称平衡负载调度,中程调度。它决定主存储器中所能容纳的进程数目,这些进程将允许参与竞争处理器和有关资源,而有些暂时不能运行的进程被调出主存,这时这个进程处于挂起状态,当进程具备了运行条件,且主存又有空闲区域时,再由中级调度决定把一部分这样的进程重新调回主存工作。中级调度根据存储资源量和进程的当前状态来决定辅存和主存中的进程的对换,它所使用的方法是通过把一些进程换出主存,从而,使之进入“挂起”状态,不参与低级调度,起到短期平滑和调整系统负荷的作用。
  3.低级调度
  低级调度:又称进程调度(或线程调度)、短程调度。它的主要功能是按照某种原则决定就绪队列中的哪个进程或内核级线程能获得处理器,并将处理器出让给它进行工作。低级调度中执行分配CPU 的程序称分派程序(dispatcher),它是操作系统最为核心的部分,执行十分频繁,低级调度策略的优劣直接影响到整个系统的性能,因而,这部分代码要求精心设计,并常驻内存工作。低级调度方式有两类:
  第一类称剥夺方式:当一个进程或线程正在处理器上执行,若有另一个更高优先级或紧迫的进程或线程产生,则立即暂停正在执行的进程或线程,把处理器分配给这个更高优先级或紧迫的进程或线程使用;
  第二类称非剥夺方式:一旦某个进程或线程开始执行后便不再出让处理器,除非该进程或线程运行结束或发生了某个事件不能继续执行。
  剥夺式策略的开销比非剥夺式策略来得大,但由于可以避免一个进程或线程长时间独占处理器,因而能给进程或线程提供较好的服务。对不同调度类型,相应的调度算法也不同,低级调度的核心是采用何种算法把处理器分配给进程或线程。

关于"最后阶段,真题的正确打开方式_备考经验_考研帮"15名研友在考研帮APP发表了观点

扫我下载考研帮

考研帮地方站更多

你可能会关心:

来考研帮提升效率

× 关闭