操作系统第三章课后习题答案

发布时间:2024年01月16日
  1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?

答案(1) 高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是,按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为它们创建进程、分配必要的资源,然后再将创建的进程控制块挂入就绪队列上。

(2)低级调度又称进程调度,其主要任务是,按照某种算法从就绪队列上选择一个进程,使其获得CPU.(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调出到外存上等待。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存,将其状态变为内存就绪状态。

2.处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?

答:共同目标:资源利用率,公平性,平衡性,策略强制执行。批处理系统的调度目标:平均周转时间短,系统吞叶量高,处理机利用率高。

3何谓作业、作业步和作业流?

  1. 作业(Job)是用户提交给计算机系统执行的一个任务或程序。它通常包含一个或多个进程,以完成特定的计算任务。
  2. 作业步(Jo Se)是作业的执行过程中的一个基本单位,一个作业可以被划分为多个作业步,每个作业步执行一定的操作或计算,比,一个作业可以包含多个程序模快,每个程序模块可以被看作是一个作业步。

(3)作业流是一作业在执行过程中各个作业步的顺组合,作业流述了作业中各个作业步的执行顺序和依赖关系,通常,作业流是由作业调度以程房根据作业的要求和系统资源情况确定的。

4.在什么情况下需要使用作业控制块JCB,其中包含了哪些内容?

为了调度和管理作业,批处理系统中,为每个作业配置了一个JCB,它是作业存在的标志

JCB包含的内容:作业标识,用户名称,用户账号,作业类型,作业状态,调度信息,资源需求,资源使用情况等。

5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?

答:作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入内存取决于采纳的调度算法。最简单的是先来效劳调度算法,

较经常使用的是短作业优先调度算法和基于作业优先级的调度算法。

6.为什么要引入高响应比优先调度算法?它有何优点?

?答:.因为高响应比优先调度算法既考虑了作业的等待时间,又考虑了作业运行时间的调度算法,因此,既照顾了短作业,又不致使作业的等待时间过长,从而改变了处理机调度的性能。

7.试说明低级调度的主要功能。

答:(1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程

8.在抢占调度方式中,抢占的原则是什么?

?答:优先权原则,即可以让优先级高的先用当前有进程的处理机。

??????短进程优先原则,即允许让新到的短进抢占当前进程的处理机。新到达的进程比正在执行的进程的运行时间明显短。

??????时间片原则,即各进程按时间片轮转运行时,当正在执行的进程的一个时间片用完后,便停止该进程的执行而重新进行调度。

9。在选择调度方式和调度算法时,应遵循的准则是什么?

  1. 面向用户的准则: 周转时间短、响应时间快、截止时间的保证、优先权准则2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用

10.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法

答:以下在各个系统中主要采用的调度算法有:

批处理系统的调度算法:短作业优先、优先权、高响应比优先、多级反馈队列调度算法

分时系统的调度算法:时间片轮转法

实时系统的调度算法:最早截止时间优先即EDF、最低松弛度优先即LLF算法

11.何谓静态和动态优先级?确定静态优先级的依据是什么?

?答:静态优先级是在创建进程确定的,在进程的整个运行期间保持不变,动态优先级是指在创建进程的初期,先赋予其一个优先级,然后其值随进程的推进或者时间的增加而改变,以便获得更好的调度性能。确定进程优先级大小的依据有三个:进程的类型,通常系统的优先级高于一般用户的优先级。进程对资源的需求,对进程要求少的进程赋予较高的优先级。用户要求,根据进程的紧迫程度以及用户所付的费用来确定优先级。

12.试比较 FCFS和SJF 两种进程调度算法。

答:FCFS按照进程到达的先后顺排队每次调度队首的进程,属于非剥夺调度方式,实现简单,看似公平。对于那些后进入队列而运行时间较短的进程,或I/O型的进程而言,可能需要等待较长时间。

SJF属于非剥夺方式调度算法。当需要调度作业进程)时,通过计算判断就绪队列中哪一个进程预计执行时间最短,或后备作业队列中哪一个或几个作业预计执行时间最短就调度谁,当某个进程获得处理机 直到其执行完成或需要等待某个事件而阳塞时,才自动释放处理机系统又调度新的进程或作业,与FCFS算法比较,短进程优先调度算法改善了系统的性能,降低了系统的平均等待时间,提高了系统的吞叶量。但是该算法也存在一些问题:

(1)很难准确地预测进程的执行时间;

(2)可能能导致长进程饥饿,对长进程不利;

3)采用非剥夺方式未考虚进程的紧迫程度,不适合工分时系统或者事务外理系统。

13.在时间片轮转法中,应如何确定时间片的大小?

答:时间片长度可按如下方法确定:1)系统对相应时间的要求,2)就绪进程的数目:数目越多,时间片越小(当响应时间一定时)3)系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响应时间,平均周转时间和平均带权周转时间延长。

14.通过一个例子来说明通常的优先级调度算法为什么不能适用于实时系统?

15.为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?

答:能较好地满足各种类型用户(进程)的需要:

  1. 短批处理作业:新进入的进程首先进入优先权最高的队列,如果作业需要 运行的时间很短,则在较高的优先权队列中几次运行就可以完成;
  2. 终端(交与)型作业用户:由于终端型的作业用户提交的作业大多属于交 互型作业,作业通常较小,系统只要能使得这些作业在第一队列所规定的时间 片内完成,便可以使得终端型作业用户都感到满意;
  3. (计算型)长批处理作业用户:计算型进程每次运行后都下移一个队列,时间片也随之变长,直到获得最长的时间片用户不必担心其作业长而得不到处理。

16.为什么说传统的几种调度算法都不能算是公平调度算法?

答:传统的几种调度算法所保证的只是优先运行,如优先级算法是优先级最高的作业优先运行,但并不保证作业占用了多少处理机时间。另外也未考虑到调度的公平性。

17.保证调度算法是如何做到调度的公平性的?

答:保证调度算法是另外一种类型的调度算法它向用户所做出的保证并不是优先运行而是明确的性能保证,该算法可以做到调度的公平性。一种比较容易实现的性能保证是处理机分配的公平性。如果在系统中有 n 个相同类型的进程同时运行,为公平起见,须保证每个进程都获得相同的处理机时间 1/n。

18.公平分享调度算法又是如何做到调度的公平性的?

答:在公平分享调度算法中,调度的公平性主要是针对用户而言,使所有用户能获得相同的处理机时间,或所要求的时间比例。

19.为什么在实时系统中,要求系统(尤其是 CPU)具有较强的处理能力?

答:在实时系统中通常有多个实时任务,若处理机的处理能力不强,则有可能因处理机忙不过来,而致使某些实时任务不能得到及时处理,从而导致发生难以预料的后果。

20.按调度方式可将实时调度算法分为哪几种?

答:可分为非抢占式和抢占式两种算法。而非抢占式算法又分为非抢占式轮转和优先调度算法;抢占式调度算法又分为基于时钟中断的抢占式优先权和立即抢占式优先权调度算法。根据任务的开始截止时间确定的任务优先级调度算法。截止时间越早则优先级越高。该算法要求在系统中保持人实时任务就绪队列,该队列按各任务截止时间的先后排序。举例:非抢占式调度方式用于非周期实时任务。图3-9是将该算法用于非抢占调度方式之例。该例中具有四个非周期任务,它们先后到达。系统首先调 度任务1执行,在任务1执行期间,任务2、3又先后到达。由于任务3的开 始截止时间早于任务2.故系统在任务1后将调度任务3执行。在此期间又到达作业4,其开始截止时间仍是早于任务2的,故在任务3执行完后,系 统又调度任务4执行,最后才调度任务2执行

21.什么是最早截止时间优先调度算法?举例说明之

答在系统中保特一个实时任务就绪队列,该队列按各任务截上时间的早晚排房 截上时间愈早的优先级愈高 在队列中排列愈靠前,调度程序在选择任务时总是选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。例:四个非周期任务,它们先后到达,系统首先调度任务1执行,在任务1执行期间,任务2、3又先后到达。由于任务3的开始截上时间早于任务2,系统在任务1后将调度任务3执行。在此期间又到达作业4,其开始截上时间仍是早于任务2的,在任务3执行完后,系统又调度任务4的执行,最后才调度任务2执行。

22什么是最低松弛度优先调度算法?举例说明之。

该算法是根据任务的紧急(或松弛)程度,来确定任务的优先级。任务的紧急程度越高,为该任务所赋予的优先级就越高,以使之优先执行。

例如,一个任务在200ms时必须完成,而它本身所需的运行时间就有100ms,因此,调度程序必须在100ms之前调度执行,该任务的紧急程度(松弛程度)为100ms。又如,另一任务在400ms时必须完成,它本身需要运行150ms,则其松弛程度为250ms。

最早截止时间优先调度算法: 任务要求的截止时间越早,其优先级就越高最低松弛度优先调度算法: 任务的紧急程度越高,其优先级就越高。

23.何谓“优先级倒置”现象,可采取什么方法来解决?

低优先级进程由于先占用了高优先级进程所需的临界资源而阻塞高优先级进程,这样就会出现“优先级倒置”现象。如果阻塞时间延长,实时进程可能会错过其实时规定的期限,有较大的危害。

解决的办法:

  1. 当进程进入临界区后,CPU 就不能被剥夺;
  2. 优先级继承:当优先级高的进程 A 被阻塞在资源 X 的临界区外时,已分配到资源 X、优先级低的进程 B自动继承A的高优先级,能尽早运行完毕,释放资源 X,使得 A 尽快有机会运行。

24.试分别说明可重用资源和可消耗资源的性质

答:可重用性资源:每一个可重用性资源中的单元只能分配给一个进程使用,不允许多个进程共享。进程在使用可重用性资源时,须按照这样的顺序:请求资源、使用资源、释放资源。系统中每一类可重用性资源中的单元数目是相对固定的,进程在运行期间既不能创建也不能删除它可消耗性资源:每一类可消耗性资源的单元数目在进程运行期间是可以不断变化的,有时它可以有许多,有时可能为0。进程在运行过程中,可以不断创造可消耗性资源的单元:将它们放入该资源类的缓冲区中,以增加该资源类的单元数目。进程在运行过程中,可以请求若干个可消耗性资源单元,用于进程自己的消耗,不再将它们返回给该资源类中。

文章来源:https://blog.csdn.net/wenling54321/article/details/135631746
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。