操作系统教程习题答案

B、系统处于不安全状态可能会发生死锁 C、系统处于安全状态时也可能会发生死锁 D、不安全状态是死锁状态的一个特例

(5)资源的静态分配算法在解决死锁问题中用于 。 A、死锁预防 B、死锁避免 C、死锁检测 D、死锁解除 (6)有3个进程共享7个同类资源,为使系统不会发生死锁,每个进程最多可以申请 个资源。 A、1 B、2 C、3 D、4

(1)A (2)B (3)D (4)B (5)A

2.填空题

(1)解决死锁的方法可以有多种,其中死锁的预防是通过 破坏死锁的必要条件之一 来实现的,死锁的避免是通过 防止系统进入不安全状态 来实现的。

(2)死锁的避免,就是通过保持系统处于 安全状态 来避免死锁,所以每当有进程提出资源分配请求时,系统应分析 各进程已占资源数、尚需资源数和系统中可以分配的剩余资源数,然后决定是否为当前的申请者分配资源。

(3)死锁检测要解决两个问题,一是 判断系统 是否出现了死锁,二是当有死锁发生时怎样去 解除死锁 。

(4)为了避免死锁,可以采用 银行家 算法进行资源安全分配。 (5)系统出现死锁,不仅与 设备 分配策略有关,而且与 进程 执行的相对速度有关。

(6)当检测到系统发生死锁时,可采用 解除所有死锁进程 、 逐个撤销死锁进程 和 抢占死锁进程的资源供其它进程使用 来解除死锁。

3.简答题

(1)何谓死锁?给出只涉及一个进程的死锁例子。 (2)死锁预防和死锁避免。

(3)为什么说采用有序资源分配法不会产生死锁? (4)安全状态和不安全状态。 4.应用题 (1)假设系统由相同类型的m个资源组成,有n个进程,每个进程至少请求一个资源。证明:当n个进程最多需要的资源之和小于m+n时,该系统无死锁。

【分析】设ai为第i个进程对资源的最大需求数,如果每个进程均获得了最大需求数减1个资源,显然,此时系统只要还有1个资源,就不会发生死锁。

【证明】根据以上分析,有:

(a1-1)+(a2-1)+?+(ai-1)?+(an-1)≤m-1

即 a1+a2+?+ai?+an≤m+n-1 亦即 a1+a2+?+ai?+an

(2)考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无由于等待资源而被阻塞的进程,则自己就被阻塞;若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。

1)这种分配策略会导致死锁吗?如果会,请举一个例子;如果不会,请说明产生死锁的哪一个必要条件不成立?

2)这种分配方式会导致某些进程的无限等待吗?为什么?

1)不会,因为资源集中在了最后一个申请该资源而陷入等待的进程,条件成熟时,最

后一个进程能够完成工作,释放资源给其它进程。它破坏了“不可剥夺条件”。

2)由于后来进程总要剥夺先到的而处于阻塞状态进程的资源,因此,先到的进程可能由于长期得不到资源而处于无限期等待状态。

(3)某系统有同类资源m个,被n个进程共享,请分别讨论当m>n和m≤n时每个进程最多可以请求多少个这类资源,才能使系统一定不会发生死锁?

当m>n时,每个进程最多可以请示该类资源数为 INT(m/n)+1 当m≤n时,每个进程最多可以请示该类资源数为 1

(4)某系统有R1、R2、和R3共3类资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况见表6-6,此时系统的可用资源向量为(2,1,2)。

P1 P2 P3 P4 最大资源需求量 R1 R2 R3 3 2 2 6 1 3 3 1 4 4 2 2 已分配资源数量 R1 R2 R3 1 0 0 4 1 1 2 1 1 0 0 2 问题:

1)将系统中各类资源总数和此刻各进程对资源的需求数目用向量或矩阵表示出来; 2)如果此时P1和P2均发出资源请求向量Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因。

3)如果(2)中两个请求立即得到满足后,系统此刻是否处于死锁状态? 1)系统中各类资源总数向量为(9,3,6)

?2?2 需求矩阵为??1??4

22?02?? 03??20?2)当P1和P2均发出资源请求向量Request(1,0,1)时,应把资源分配给P2,因为此时如果把资源分配给P1,则需求矩阵为:

?1?2??1??421?02??03??20?

而系统可用资源向量为(1,1,1),显然,系统资源已不足以帮助任何一个进程完成任务,系统将进入不安全状态。而把资源分配给P2后,需求矩阵为:

?2?1??1??422?01??03??20?而系统可用资源向量为(1,1,1),显然,存在安全序列< P2,P1,P4,P3>,系统仍然处于安全状态。

3)如果(2)中两个请求立即得到满足后,系统此刻处于不安全状态,但并不是死锁状态。

习题7

1.单项选择题

(1)要把以“0”为参考地址的装配模块装入到以550为起始地址的存储空间,若采用静态重定位,则原程序中的指令“LOAD 1 455”应改为 ,程序才能正确运行。

A、LOAD 1 1005 B、LOAD 1 550 C、LOAD 1 95 D、LOAD 1 455

(2)在动态重定位中,重定位寄存器中装入的是 。

A、目标模块装入的实际起始地址 B、目标模块的相对基地址 C、实际起始地址加上相对地址

D、实际起始地址减去目标模块的相对基地址 (3)、在固定分区存储管理中,装入内存的所有作业的相对地址空间总和 内存中除操作系统之外的所有空间。

A、可以大于 B、一定小于

C、一般小于 D、以上说法都不对

(4)在可变分区分配方案中,某一作业完成后,系统将回收其主存空间,并与相邻空闲区合并,引起空闲区数减一的是 。

A、无上邻接空闲区,也无下邻接空闲区 B、无上邻接空闲区,但有下邻接空闲区 C、有上邻接空闲区,但无下邻接空闲区 D、有上邻接空闲区,也有下邻接空闲区

(5)可变分区存储管理中的移动技术可以 。 A、缩短访问周期 B、增加主存容量 C、集中空闲区 D、加速地址转换

(6)采用分页式存储管理使处理器执行指令的速度 。 A、有时提高有时降低 B、降低 C、不受影响 D、提高 (7)在分段式存储管理中, 。

A、以段为单位分配内存,每段是一个连续存储区 B、段与段之间必定连续 C、段与段之间必定不连续 D、每段是等长的

(8)段页式存储管理中,逻辑地址的格式一般为 。

A、 段号 B、 页号 C、 段号 D、 页号 段内地址 段号 页号 页内地址 段内地址 页内地址 (1)A (2)D (3)C (4)D (5)C (6)B (7)A

2.填空题

(1)为了有效地管理计算机的内存资源,存储管理应具备 存储分配 、地址映射 、 存储保护 和 内存扩充 四大功能。

(2)可以把存储管理方式分为 连续分配方式 、 离散分配方式 和 虚拟存储管理 等三种。

(3)为了适应最佳适应算法,空闲分区表中的空闲分区要 按空闲区大小的升序 进行排序;而为了适应最坏适应算法,空闲分区表中的空闲分区要按空闲区大小的降序 进行排序。

(4)页式存储管理中,页式虚拟地址与内存物理地址的映射是由 页表 和 硬件地址转换机构 来完成的。

(5)段页式存储管理中,虚拟空间的最小单位是 页 而不是 段 。内存可以等分成若干个 块 ,且每个段所拥有的程序和数据在 内存 中可以分开 存放 。

3.名词解释:

(1)逻辑地址空间;(2)存储空间;(3)地址重定位;(4)静态重定位;(5)动态重定位。

4.简答题 (1).存储管理研究的主要课题是什么?见教材

(2)请总结各种存储管理方式下的重定位的地址转换方法。见教材

(3)可变分区存储管理中的内存分配有哪些算法?试比较其优缺点。见教材 (4)可变分区的分区回收有几种情况?试说明之。见教材 (5)简述分页存储管理的基本原理。见教材

(6)请画出分页情况下的地址变换过程,并说明页面尺寸为什么一定要是2的幂?见教材

(7)试比较分页与分段存储管理的优缺点。见教材

(8)某作业大小为8A5H字节,从内存53FH处开始装载,当作业的相应进程在CPU上运行时:

1)若采用上、下界寄存器保护,寄存器的值各为多少?如何进行保护? 2)若采用基址、限长寄存器保护,寄存器的值各为多少:如何进行保护?

1)上界寄存器:53FH;下界寄存器:DE4H。小于上界寄存器,大于下界寄存器的访问请求为非法。

2)基址寄存器:53FH;限长寄存器:8A5H。小于基址寄存器,大于基址寄存器+限长寄存器的访问请求为非法。

(9)试说明在分页存储管理系统中,地址变换过程可能会因为哪些原因而产生中断? 1)越界中断 2)缺页中断

(10)在分页存储管理系统中,某进程的页表如下(表中数据为十进制):若页面大小为2KB,试将虚地址0A3BH和6E1CH变换为物理地址。

页号 0 1 2 3 4 5 物理块号 10 7 12 6 15 11

联系客服:779662525#qq.com(#替换为@)