三、处理机调度(1.处理机调度的层次)

一、高级调度(外存->内存)

        高级调度就是根据某种算法,从外存的后备队列中选取某些作业调入内存,为他们创建进程、分配必要的资源。

1. 作业

        作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且还应配有一份作业说明书,系统根据该说明书来对程序的运行进行控制

        在批处理系统 中,是以作业为基本单位从外存调入内存的。

        作业可能包含多个程序(进程)组成,有一系列程序(进程)组成。这些进程顺序或并发运行。

2. 作业控制块JCB

        为了管理和调度作业,在多道批处理系统中为每个作业设置了一个作业控制块,其中保存了系统对作业进行管理和调度所需的全部信息。

        JCB中的内容因系统而异,通常应包含的内容有:作业标识、 用户名称、用户帐户、作业类型(CPU 繁忙型、I/O 繁忙型、 批量型、终端型)、作业状态、调度信息(优先级、作业已运行 时间)、资源需求(预计运行时间、要求内存大小、要求I/O设 备的类型和数量等)、进入系统时间、开始处理时间、作业完 成时间、作业退出时间、资源使用情况等。

3. 作业调度

        就是根据作业控制块中的信息,审查系统是否满足作业对资源的要求,然后按照一定的算法从外存后备队列中选取某些作业调入内存。

        有时也把作业调度称为接纳调度

作业调度任务:

        ①决定接纳多少作业

                取决于多道程序度,即允许多少个程序同时在内存中运行,不能太多也不能太少

        ②决定接纳哪些作业

                取决于采用的调度算法。

二、中级调度(外存->内存)

        中级调度又称中程调度

        引入中级调度的主要目的是为了 提高内存利用率

        使那些暂时不能运行的进程不再占用宝贵 的内存资源,而将它们调至外存上去等待,把此时的进程状 态称为就绪驻外存状态

        当这些进程重又具备运行条件且内存又稍有空闲时,由中级调度来决定把外存上的那些又具备 运行条件的就绪进程重新调入内存等待运行。

         早期计算机中普遍采用,目前广泛采用虚拟内存技术,中级调度已不再使用

三、低级调度(内存->CPU)

        通常也把低级调度称为进程调度短程调度,它所调度的对象是进程(或内核级线程)

        进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。

1. 低级调度功能

        低级调度用于决定就绪队列中的哪个进程(或线程)应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。

        保存处理机的现场信息。

        按某种算法选取进程。低级调度程序按某种算法如优先数算法、轮转法等,从就绪队列中选取一个进程运行。

        把处理器分配给进程。选中的进程恢复处理机现场,把处理器的控制权交给该进程,让它从取出的断点处开始继续运行。

2. 进程调度中的三个基本机制(和功能对应)

为了实现进程调度,应具有如下三个基本机制:

        ① 排队器。按机制挑选新的进程。

        ② 分派器(分派程序)。(分配CPU)

        ③ 上下文切换机制。要完成两件事:

                保存当前进程的状态;

                恢复选中要运行的新进程的状态;

        应当指出,上下文切换将花去不少的处理机时间,即使是现代计算机,每一次上下文切换大约需要花费几毫秒的时间,该时间大约可执行“成千上万”条指令。

        如何减少这个开销,也已经是现代计算机调度算法的重点考虑之一。

                硬件上采取措施,如多组寄存器

                考虑新型计算机特点(多CPU、多核),改变调度策略。

3. 进程调度的方式

(1) 非抢占方式

        在采用这种调度方式时,一旦把处理机分配给某进程后,不管它要运行多长时间,都一直让它运行下去。 直至该进程完成,自愿释放处理机,或发生某事件而被阻塞时,才再把处理机分配给其他进程。

在采用非抢占调度方式时,可能引起进程调度的因素可归结为如下几个:

        正在执行的进程执行完毕,或因发生某事件而不能再继续执行;

        执行中的进程因提出I/O请求而暂停执行;

        在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block原语、Wakeup原语等。

        这种调度方式的优点是实现简单,系统开销小,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求:立即执行,因而可能造成难以预料的后果。显然,在要求比较严格 的实时系统中,不宜采用这种调度方式。

(2) 抢占方式

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

        抢占方式的优点是,可以防止一个长进程长时间占用处理机,能为大多数进程提供更公平的服务,特别是能满足对响应时间有着较严格要求的实时任务的需求。

        但抢占方式比非抢占方式调度所需付出的开销较大。

抢占调度方式是基于一定原则的,一般有如下几条:

        (1) 优先权原则。通常是对一些重要的和紧急的作业赋予较高的优先权。允许优先权高的新到进程抢占当前进程的处理机。

        (2) 短作业(进程)优先原则。当新到达的作业(进程)比正在 执行的作业(进程)明显的短时,将暂停当前长作业(进程)的执 行,短作业(进程)可以抢占当前较长作业(进程)的处理机。

        (3) 时间片原则。各进程按时间片轮流运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。这种原则适 用于分时系统、大多数的实时系统,以及要求较高的批处理系 统。一种比较“公平”的规则。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值