操作系统练习题(三四五章)
Posted RonaldDong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统练习题(三四五章)相关的知识,希望对你有一定的参考价值。
保留所有权利,禁止任何未经授权的转载。
注意:二次转载,即我授权A转载,B转载A并说这是从A那里转载而不是从我,这是不行的。。。
关于本专栏,请查阅第一篇文章前言
本篇另行参考的文献:
[1]小江江、.30.在银行家算法的例子中,如果P0发出的请求向量由Request(0,2,0)改为Request(0,1,0),问系统可否将资源分配给它?[EB/OL].https://blog.csdn.net/qq_29762001/article/details/103093419,2019-11-15.
[2]Jing Sir.银行家算法资源分配问题(例子!!!)[EB/OL].https://blog.csdn.net/weixin_43977819/article/details/109320190,2021-04-07.
[3]王世晖.【操作系统面试专题】:分页和分段存储管理有何区别?[EB/OL].https://blog.csdn.net/wangshihui512/article/details/9897683,2013-08-11.
[4]小太阳岭岭.内存管理有哪些主要功能?其主要任务是什么?[EB/OL].https://www.nowcoder.com/questionTerminal/fb552d2a42ff4139b4257c4254cf1848,2021-03-06.
操作系统
(第三章:处理机调度与死锁
第四章:储存器管理
第五章:虚拟储存器)
第二部分:练习题目
一、书后重点题目
1.什么是最早截止优先调度算法?举例说明之
答:根据任务的开始截止时间确定的任务优先级调度算法。截止时间越早则优先级越高。该算法要求在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的先后排序。
非抢占式调度方式用于非周期实时任务。以下图为例,该例中具有四个非周期任务,它们先后到达。系统首先调度任务1 执行,在任务1 执行期间, 任务2 、3又先后到达。由于任务3的开始截止时间早于任务2,故系统在任务1 后将调度任务3执行。在此期间又到达作业4,其开始截止时间仍是早于任务2 的,故在任务3 执行完后,系统又调度任务4 执行,最后才调度任务2执行。
2.何为死锁?产生死锁的原因和必要条件是什么?
答:死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状
态时,若无外力作用,它们都将无法再向前推进。
产生死锁的原因为竞争资源和进程间推进顺序非法。其必要条件是:互斥条件、请求和
保持条件、不剥夺条件、环路等待条件。
3.在银行家算法例子中,如果P0发出的请求向量由Request(0,2,0)改为Request(0,1,0),系统可否将资源分配给它?
答:能。
4.在银行家算法中,若出现以下资源分配情况,试问:
- 该状态是否安全?
- 如果进程P2提出请求Request2(1,2,2,2)后,系统能否将资源分配给它。
答:1.
从以上情况分析可以看出,此时存在一个安全序列{p0,p3,p4,p1,p2},故该状态是安全的。
2.P2提出请求Request2(1,2,2,2)。按银行家算法进行检查:
Request2(1,2,2,2)<=need(2,3,5,6)
Request2(1,2,2,2)<=available(1,6,2,2)
再利用安全性检查算法检查系统是否安全,可用资源available(0,4,0,0)已不能满足任何进程的需要,此时系统不能将资源分配给P2。
第四章
1.为什么要引入动态重定位?如何实现?
答: 在程序执行过程中,每当访问指令或数据时,将要访问的程序或数据的逻辑地址转
换成物理地址,因此引入动态重定位;
具体实现方法是在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址,程序执行时, 真正访问的内存地址是相对地址与定位寄存器中的地址相加之和,从而实现动态定位。
2.分页和分段储存管理有何区别?
答:主要区别表现在以下三个方面:
(1) 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。
(2) 页的大小固定且由系统决定;而段的长度却不固定,决定于用户所编写的程序。
(3) 分页的地址空间是一维的,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
3.试全面比较连续分配和离散分配方式。
答:连续分配是指为一个用户程序分配一个连续的内存空间。又可进一步分为单一连续分配、固定连续分配、动态分区分配、动态重定位分配。连续分区方式可以使一个进程分得一个连续的内存空间,这样一来有利于程序执行,但同时又会产生很多碎片,浪费大量系统资源。
离散分区是采用段式或页式或段页式的分配方式将一个进程装入一些离散的内存中,这样有利于内存的利用,并且可以方便程序员在更大的空间进行编程工作。
综上,连续分配和离散分配都有特点,应根据实际情况加以改进和利用。
4.内存管理有哪些主要功能?其主要任务是什么?
答:内存分配、 内存保护、 地址映射和内存扩充。
内存分配:为每道程序分配内存
内存保护:确保每道用户程序都只能在自己的内存空间里运行,彼此互不干扰。
地址映射:将地址空间的逻辑地址转换为内存空间与相对应的物理地址。
内存扩充:用于实现请求调用功能,置换功能等
第五章
1.何谓固定分配局部置换和可变分配全局置换的内存分配策略?
答:固定分配局部变换: 为每个进程分配一组固定数量的物理块,进程运行时不再改变。若发生缺页,从分配的N个页面中选出一页换出,调入下一页。
可变分配全局置换:进程运行时,根据情况增加或减少物理块。发生缺页时,从空闲物理块取出一块分配给该进程,仅当所有物理块都用完时,OS才从内存中选择一页调出。
2.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。
答:M=3:
M=4:
3.在请求分页系统中,产生“抖动”的原因是什么?
答:在请求分页式存储管理中,页在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统性能急剧下降。这种现象称为颠簸或抖动。
4.当前可以利用哪几种方法来防止“抖动”?
答:1)采取局部置换策略: 如果页面采用可变分配方式,则进制某进程从其他进程获取物理块,把抖动限制在该进程内。
2)把工作集算法融入处理机调度中:从外存调入作业之前,先检查每个进程在内存中的驻留页面是否足够多的,是则调入新作业,否则先为这些进程增加物理块。
3)利用L=S准则调节缺页率:即使缺页时间和平均缺页服务时间相等,以最大化处理机的利用率。
4)选择性暂停进程: 当多道程序度偏高时,可基于特定准则停止当前活动的某些进程。
5.试说明如何利用“L=S”准则调节缺页率,以避免“抖动”发生。
答:L是缺页之间的平均时间,S是平均缺页服务时间,即用于置换一个页面所需的时间。如果是L远比S大,说明很少发生缺页,磁盘的能力尚未得到充分的利用;反之,如果是L比S小,则说明频繁发生缺页,缺页的速度已超过磁盘的处理能力。只有当L与S接近时,磁盘和处理机都可达到它们的最大利用率。
重点知识点整理见下篇
小题部分将上传文件,低价下载,几日后更新链接
以上是关于操作系统练习题(三四五章)的主要内容,如果未能解决你的问题,请参考以下文章