计算机操作系统(第四版)课后习题答案第三章.pdf

上传人:PIYPING 文档编号:11676675 上传时间:2021-08-30 格式:PDF 页数:3 大小:175.23KB
返回 下载 相关 举报
计算机操作系统(第四版)课后习题答案第三章.pdf_第1页
第1页 / 共3页
计算机操作系统(第四版)课后习题答案第三章.pdf_第2页
第2页 / 共3页
计算机操作系统(第四版)课后习题答案第三章.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《计算机操作系统(第四版)课后习题答案第三章.pdf》由会员分享,可在线阅读,更多相关《计算机操作系统(第四版)课后习题答案第三章.pdf(3页珍藏版)》请在三一文库上搜索。

1、第三章第三章 处理机调度与死锁处理机调度与死锁 1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些 作业调入内存,并为它们创建进程,分配必要的资源, 然后再将新创建的进程排在 就绪队列上,准备执行。(2)低级调度主要任务是决定就绪队列中的哪个进程 将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。(3)引入 中级调度的主要目的是为了提高内存的利用率和系统吞吐量。 为此,应使那些暂时 不能运行的进程不再占用宝贵的内存空间, 而将它们调至外存上去等待, 称此时的 进程状态为就绪驻外存状态或挂起状态。 当这些进

2、程重又具备运行条件, 且内存又 稍有空闲时, 由中级调度决定, 将外存上的那些重又具备运行条件的就绪进程重新 调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。 3、何谓作业、作业步和作业流? 【解】作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对 程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。 作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的 步骤。 作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流; 在操作系 统的控制下,逐个作业进程处理,于是形成了处理作业流。 4、在什么情冴下需要使用作业控制块JCB?其

3、中包含了哪些内容? 【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根 据作业类型将它插入到相应的后备队列中。 JCB包含的内容通常有:1)作业标识 2)用户名称 3)用户账户 4)作业类型(CPU 繁忙型、I/O 芳名型、批量型、终端型)5)作业状态 6)调度信息(优先级、作业已 运行) 7)资源要求 8)进入系统时间 9)开始处理时间 10)作业完成时间 11)作业 退出时间 12)资源使用情况等 5在作业调度中应如何确定接纳多少个作业和接纳哪些作业? 【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作 业从外存调入内存,取决于采用的调度算法。最简单的

4、是先来服务调度算法,较常 用的是短作业优先调度算法和基于作业优先级的调度算法。 7试说明低级调度的主要功能。 【解】 (1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分 配给进程。 8、在抢占调度方式中,抢占的原则是什么? 【解】剥夺原则有:(1)时间片原则各进程按时间片运行,当一个时 间片用完后,便停止该进程的执行而重新进行调度。这种原则适用于分时系统、 大 多数实时系统,以及要求较高的批处理系统。(2)优先权原则通常是对一些 重要的和紧急的作业赋予较高的优先权。 当这种作业到达时, 如果其优先权比正在 执行进程的优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,

5、 使之执行。(3)短作业(进程)优先原则当新到达的作业(进程)比正在执 行的作业(进程)明显地短时,将剥夺长作业(进程)的执行,将处理机分配给短 作业(进程) ,使之优先执行。 9、选择调度方式和调度算法时,应遵循的准则是什么? 【解】应遵循的准则有(1)面向用户的准则:周转时间短,响应时间快, 截止时间的保证,优先权准则。(2)面向系统的准则:系统吞吐量高,处理机 利用率好,各类资源的平衡利用。 10、 在批处理系统、 分时系统和实时系统中, 各采用哪几种进程 (作业) 调度算法? 【解】批处理系统:FCFS 算法、最小优先数优先算法、抢占式最小优 先数优先算法分时系统:可剥夺调度、轮转调度

6、实时系统:时间 片轮转调度算法、 非抢占优先权调度算法、 基于时钟中断抢 占的优先权调度算法、 立即抢占的优先权调度。 11、何谓静态和动态优先权?确定静态优先权的依据是什么? 【解】静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不 变。动态优先权是指,在创建进程时所赋予的优先权,是可以随进程的推进或随其 等待时间的增加而改变的, 以便获得更好的调度性能。 确定静态优先权的依据是: (1)进程类型,通常系统进程的优先权高于一般用户进程的优先权。 (2)进程 对资源的需要。(3)用户要求,用户进程的紧迫程度及用户所付费用的多少来 确定优先权的。 12、试比较 FCFS 和 SPF 两

7、种进程调度算法。 【解】FCFS 算法按照作业提交或进程变为就绪状态的先后次序,分派CPU。 当前作业或进程占有 CPU, 直到执行完或阻塞, 才让出 CPU。 在作业或进程唤醒后, 并不立即恢复执行,通常等到当前作业或进程让出CPU。FCFS 比较有利于长作业, 而不利于短作业;有利于CPU 繁忙的作业,而不利于I/O 繁忙的作业。SPF 有利 于短进程调度, 是从就绪队列中选出一估计运行时间最短的进程, 将处理机分配给 它,使它立即执行并一直执行到完成, 或发生某事件而被阻塞放弃处理机时,再重 新调度。比 FCFS 改善了平均周转时间和平均带权周转时间,缩短了作业的等待时 间,提高了系统的

8、吞吐量。但SPF 有其不容忽视的缺点:该算法对长作业不利;完 全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理;用户 可能会有意无意地干扰作业的运行时间, 致使该算法不一定能真正做到短作业优先 调度。 13、在时间片轮转法中,应如何确定时间片的大小? 【解】时间片应略大于一次典型的交互需要的时间。一般应考虑三个因素: 系 统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。 14、通过一个例子来说明通常的优先级调度算法不能适用于实时系统? 【解】实时系统的调度算法很多, 主要是基于任务的开始截止时间和任务紧急 /松弛程度的任务优先级调度算法,通常的优先级调度算法不能满足

9、实时系统的调 度实时性要求而不适用。 15、为什么说多级反馈队列调度算法能较好地满足各方面用户的需要? 【解】 (1)对于终端型用户来说,他们提交的大多属于较小的交互型作业, 系统只要能使这些作业(进程)在第一队列所规定的时间片内完成, 便可使终端型 作业用户都感到满意。(2)对短批处理作业用户来说,在第一队列中执行一个 时间片或至多只需在第二队列和第三队列中各执行一个时间片即可完成。(3) 对长批处理作业用户来说,只要将作业依次在第1,2,n 个队列中运行,然后 再按轮转方式运行,用户不必担心其作业长期得不到处理。 16、 19、为什么在实时系统中,要求系统(尤其是CPU)具有较强的处理能力

10、? 【解】在实时系统中都存在着若干个实时进程或任务, 它们用来反应或控制 某个(些)外部事件,往往带有某种程度的紧迫性,因而对实时系统中的调度提出 了某些特殊要求。 若处理机的处理能力不够强, 则有可能因处理机忙不过来而使 某些实时任务不能得到及时处理,从而导致发生难以预料的后果。 20、按调度方式可将实时调度算法分为哪几种? 【解】按调度方式可将实时调度算法分为两大类四小类:(1)非抢占式调 度算法:非抢占式轮转调度算法;非抢占式优先调度算法;(2)抢占式调度 算法:基于时钟中断的抢占式优先权调度算法;立即抢占的优先权调度算法。 21、什么是最早截止时间优先调度算法?举例说明之。 【解】在系

11、统中保持一个实时任务就绪队列, 该队列按各任务截止时间的早晚 排序, 截止时间愈早的优先级愈高, 在队列中排列愈靠前, 调度程序在选择任务时, 总是选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。 例:四个 非周期任务,它们先后到达。系统首先调度任务1 执行,在任务1 执行期间,任务 2、3 又先后到达。由于任务 3 的开始截止时间早于任务2,系统在任务 1 后将调度 任务 3 执行。在此期间又到达作业4,其开始截止时间仍是早于任务2 的,在任务 3 执行完后,系统又调度任务4 的执行,最后才调度任务2 执行。 22、什么是最低松弛度优先调度算法?举例说明之。 【解】该算法是根据任务

12、紧急(或松弛)的程度,来确定任务的优先级。 任务的紧 急程度愈高,为该任务所赋予的优先级就愈高,以使之优先执行。例如,一个任务 在 200 ms 时必须完成,而它本身所需的运行时间就有100 ms,因此,调度程序必 须在 100 ms 之前调度执行,该任务的紧急程度(松弛程度)为 100 ms。又如,另一 任务在 400 ms 时必须完成,它本身需要运行 150 ms,则其松弛程度为 250 ms。 27、何谓死锁?产生死锁的原因和必要条件是什么? 【解】所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作 用,这些进程都将永远不能再向前推进。产生死锁的原因:(1) 竞争资源, 当系统

13、中供多个进程所共享的资源,不足以同时满足它们的 需要时,引起它们对 资源的竞争而产生死锁; (2) 进程推进顺序非法,进程在运行过程中,请求和 释放资源的顺序不当, 导致进程死锁。产生死锁的必要条件: (1) 互斥条件 进程对所分配到的资源进行排他性使用。 如果此时还有其他进程请求该资源, 请求 者只能阻塞,直到占有该资源的进程释放该资源。 (2) 请求和保持条件进程 已经保持了至少一个资源, 但又提出了新的资源要求, 而该资源又已被其他进程占 有, 此时请求进程阻塞, 但请求进程又对已经获得的其他资源保持不放。 (3) 不 剥夺条件进程已获得的资源,在未使用完之前, 不能被剥夺,只能在使用完

14、后由 自己释放。 (4) 环路等待条件在发生死锁时,必然存在一个进程资源的 环形链。 29、请详细说明可通过哪些途径预防死锁? 【解】可以通过:(1) 摒弃“请求和保持”条件,系统要求所有进程要 一次性地申请 在整个运行过程所需的全部资源。 如系统有足够的资源分配给进程, 便一次性的把其所需要的所有资源分配给该进程。这样,该进程在整个运行期间, 便不会再提出资源要求,从而摒弃了请求条件。但在分配时,只要有一种资源要求 得不到满足, 则即使是已有的其他资源, 也全部不分配给该进程, 而让该进程等待。 这样,由于等待期间的进程未占有任何资源,因而也摒弃了保持条件,从而可以避 免发生死锁。 (2)

15、摒弃“不剥夺”条件,进程是在需要资源时才提出请求,这 样, 一个已经保持了某些资源的进程,当它在提出新的资源要求而不能立即得到 满足时,必须释放它已经保持的所有资源, 待以后需要时再重新申请。这意味着进 程已经占有的资源,在运行过程中可能会暂时释放,也可认为是被剥夺了, 从而摒 弃了“不剥夺条件” 。 (3) 摒弃“环路等待”条件,系统将所有资源按类型进行 线性排队, 并赋予不同的序号。所有进程对资源的请求必须严格按资源序号递增 的次序提出, 这样, 在所形成的资源分配图中, 不可能再出现环路, 从而摒弃了 “环 路等待”条件。 30、在银行家算法的例子中,如果P0 发出的请求向量由Reque

16、st(0,2,0))改为 Request(0,1,0),问系统可否将资源分配给它? 【解】能。request0(0,1,0)need0(7,4,3);request0(0,1,0)available(2,3,0); 系统暂 时先假定可为 P0 分配资源,并修改有关数据,如下所示: allocationneedavailable ABCABCABC P0020733220 P1302020 P2302600 P3211011 P4002431 存在一个安全序列P1,P3,P0,P2,P4,故系统是安全的,可以分配资源。 31、在银行家算法中,若出现下述资源分配情况: ProcessAllocat

17、ionNeedAvailable P00 0 3 20 0 1 21 6 2 2 P11 0 0 01 7 5 0 P21 3 5 42 3 5 6 P30 3 3 20 6 5 2 P40 0 1 40 6 5 6 试问: (1)该状态是否安全? (2)若进程 P2 提出请求 Request (1,2,2,2) 后,系统能否将资源分配给它? 【解】 (1)利用安全性算法对上面的状态进行分析(见下表) ,找到了一个安全序 列P0,P3,P4,P1,P2,故系统是安全的。 WorkNeedAllocationWork+AllocationFinish P01 6 2 20 0 1 20 0 3

18、21654true P31 6 5 40 6 5 20 3 3 21986true P41 9 8 60 6 5 60 0 1 419910true P11 9 9 101 7 5 01 0 0 029910true P22 9 9 102 3 5 61 3 5 43121414true (2)P2 发出请求向量 Request(1,2,2,2),系统按银行家算法进行检查: Request2(1,2,2,2)=Need2(2,3,5,6) Request2(1,2,2,2)=Available(1,6,2,2) 系统先假定可为 P2 分配资源,并修改 Available,Allocation2 和 Need2 向量: Available=(0,4,0,0) Allocation2=(2,5,7,6) Need2=(1,1,3,4) 进行安全性检查:此时对于所有的进程,条件 NeediAvailable(0,4,0,0)都不成 立,即 Available 不能满足任何进程的请求,故系统进入不安全状态。 因此,当进程 P2 提出 Request(1,2,2,2)后,系统不能将资源分配给它。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1