1.单项选择题
(1)以下关于死锁的必要条件的叙述中错误的是 。
A、只要具备了死锁的必要条件,就一定发生死锁现象 B、解决死锁问题可以从死锁的必要条件出发
C、一旦出现死锁,处于死锁状态的进程一定同时具备死锁的必要条件 D、死锁的四个必要条件之间不是完全独立的,但也不是等价的 (2)以下关于死锁检测的叙述中错误的是 。
A、只要检测出死锁(尚未解除),则再申请该类资源的进程一定会卷入死锁 B、只要检测出死锁(尚未解除),则使用该类资源的所有进程一定卷入了死锁 C、死锁检测方法对系统资源的分配不加限制,只要有剩余资源就可以分配 D、死锁检测中系统需要反复检测各进程资源申请和分配情况 (3)以下关于死锁问题的说法中正确的是 。
A、死锁问题是无法解决的,但可以避免
B、死锁的预防是通过破坏进程进入不安全状态来实现的
C、通过避免死锁四个必要条件中的任何一个就可以实现死锁避免
D、死锁的检测和解除是配合使用的,当系统检测到出现死锁时,就通过死锁解除
方法解除死锁
(4)以下关于系统的安全状态的描述中正确的是 。
A、系统处于不安全状态一定会发生死锁
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 问题: 1)将系统中各类资源总数和此刻各进程对资源的需求数目用向量或矩阵表示出来; 2)如果此时P1和P2均发出资源请求向量Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因。 3)如果(2)中两个请求立即得到满足后,系统此刻是否处于死锁状态? 1)系统中各类资源总数向量为(9,3,6) 最大资源需求量 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 ?2?2 需求矩阵为??1??420022??2? 3??0? 2)当P1和P2均发出资源请求向量Request(1,0,1)时,应把资源分配给P2,因为此时如果把资源分配给P1,则需求矩阵为: ?1?2??1??420021??2?3??0? 而系统可用资源向量为(1,1,1),显然,系统资源已不足以帮助任何一个进程完成任务,系统将进入不安全状态。而把资源分配给P2后,需求矩阵为: ?222???101???103???420??而系统可用资源向量为(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)可以把存储管理方式分为 连续分配方式 、 离散分配方式 和 虚拟存储管理

