04 调度的介绍

一. 处理机调度的概念、层次

1.   处理机调度的概念


          一般来说在多道程序系统中,作业数往往是多于处理机个数的,为了合理分配处理机资源这就需要确定某种规则来决定处理这些在就绪队列等待的任务的顺序,这就是“调度”研究的问题。

2.  处理机调度的三个层次


          高级调度(作业调度):根据某种算法,把外存上处于后备队列中的那些作业调入内存,也就是说,它的调度对象是作业。所谓作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制。作业调度是以作业为单位从外存调入内存的。作业进入系统时系统会为每个作业建立一个JCB(Job Control Block)根据作业类型将它插入相应的后备队列中。作业调度程序依据一定的调度算法来调度它们,被调度到的作业将会装入内存。在作业运行期间,系统就按照 JCB 中的信息对作业进行控制。当一个作业执行结束进入完成状态时,系统负责回收分配给它的资源,撤消它的作业控制块。

          中级调度(内存调度):为了不让暂时不运行的程序占用CPU,中级调度可以先将这些进程放到外存等待挂起,等CPU有空闲时再将其上处理机运行。中级调度就是决定让哪个挂起状态进入CPU运行。这里我们要注意,PCB不会因为进程挂起而进入外存,他会常驻内存。 

          在这里我们引入了挂起的概念,挂起又可以分为就绪挂起以及阻塞挂起,那么进程的状态就由五态变为了七态。

         可能这张图看起来有点复杂,其实就是在五态的前提下加入了挂起与激活,我们需要注意,挂起不同于阻塞,阻塞的进程还在内存之中而挂起的进程却调入了外存。

          低级调度(进程调度):是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。进程调度的频率很高,一般几十毫秒。
 

 

 

二.   进程调度的时机、调度方式

1.  进程调度的时机


          进程调度(低级调度)就是按照某种算法从就绪队列中选择一个进程为其分配处理机。需要进程调度的时机有以下两种情况:当前进程主动放弃处理机,当前进程被动放弃处理机

          当前进程主动放弃处理机:进程正常终止;运行过程中发生异常而终止;进程主动请求阻塞(如 等待I/O)。

          当前进程被动放弃处理机:分给进程的时间片用完、有更紧急的事需要处理(如 I/O中断)、有更高优先级的进程进入就绪队列。

          禁止进行进程调度和切换的时机有:1. 在处理中断的过程中。中断处理过程复杂,与硬件密切相关,很难做到在中断处理过程中进行进程切换。2. 进程在操作系统内核程序临界区中。3. 在原子操作过程中(原语),因为原子操作不可中断。

          需要留意的是进程在操作系统内核程序临界区中时不可以进行进程切换,但是进程在临界区的时候可以进行进程切换。这里解释一下临界区:临界区是用来访问临界资源的代码块,临界资源是在一个时间内仅允许一个进程访问的资源内核程序临界区是指访问内核程序资源的代码。因为内核程序临界资源一般是比较重要的,如果在这里进行进程切换就可能会导致一些进程迟迟访问不到资源而等待时间过长饿死。

2.   进程调度的方式


          抢占式:允许调度程序根据某种原则去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。

          非抢占式:一旦把处理机分配给某进程后,不管它要运行多长时间,一直让它运行下去,决不会因为时钟中断等原因而抢占正在运行进程的处理机,也不允许其它进程抢占已经分配给它的处理机。直至该进程完成,自愿释放处理机,或发生某事件而被阻塞时,才再把处理机分配给其他进程。

 

三.  调度算法的评价指标

CPU利用率


          CPU利用率:指CPU “忙碌”的时间占总时间的比例。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值