操作系统习题第五章答案文.pdfVIP

  • 30
  • 0
  • 约6.33千字
  • 约 4页
  • 2021-10-23 发布于福建
  • 举报
第五章 死锁习题答案 一、单项选择题 1.C 2.B 3.C 4.C 5.D 6.A 7.B 8.C 9.B 10.A 二、多项选择题 ABCDE 三、判断题 1.[ 题解 ] 是。 2 .[ 分析]限制共享资源互斥使用后仍可能引起系统死锁,可举例说明。例如,教材中五个 哲学家问题,采用了 PV 操作来保证共享资源的互斥使用,但还是发生了循环等待,且这种 等待永远不能结束,引起了死锁。所以,资源的互斥使用不能保证系统不会死锁。 [ 题解 ] 否。 3. [ 分析 ] 若任何一个进程在申请新资源前总是先归还已得到的资源, 则任何进程都不会发生 “占有且等待资源” 的情况。 也就是说, 这种资源分配策略能破坏形成死锁的四个必要条件 中的第二个条件,故可防止死锁。 [题解]是。 四、填空题 1. 保持申请,循环等待 2 死锁预防,死锁避免,死锁恢复 3 .预防 4 .预先分配策略,有序分配 5 .不安全 6 .银行家 7 .安全 8 .重新启动、终止进程、剥夺资源、进程回退 9 .循环等待 10.预先分配 五、综合计算题 1. 死锁是因竞争资源而引起的一种具有普遍性的现象 , 在多道程序系统中 , 由于多个并发进 程共享系统的资源 , 如使用不当有可能造成一种僵局 , 即系统中两个或多个进程无限期地等 待永远不会发生的条件 , 在无外力的干预下 , 这些进程都不能向前推进 , 我们称之为死锁。死 锁不仅在两个进程之间发生 , 也可能在多个进程之间 , 甚至在系统全部进程之间发生。 当死锁 发生时 , 一定布一个资源被无限期地占用而得不到释放。 饿死 是指系统中的每个资源占用者都在有限的时间内释放它所占用的资源 , 但是仍然 存在申请者永远得不到资源的现象。因此 , 在操作系统中 , 不仅要考虑如何防止 死锁 , 还要 考虑如何避免 饿死 。 2. 死锁是指多个进程因竞争资源而造成的一种僵局 , 若无外力的作用 , 这些进程都将永远不 能再向前推进。 所以 , 死锁是由于系统中多个进程所共享的资源不足以同时满足需要时 , 引起 对资源的竞争而产生的。 但竞争资源不一定都会产生死锁 , 因为只要进程推进顺序合法 , 就不 会产生死锁。 3. ① T0 时刻是安全状态 , 因为可以找到一个安全的序列 (P4 ,P 5 ,Pl ,P2 ,P 3 ) 。 ②不能分配。因为所剩余的资源数量不够。 ③可以分配。当分配完成后 , 系统剩余的资源向量为 (0,3,2), 这时仍可找到一个安全的序列 队, (P 4 ,P 5 ,P l ,P 2 ,P 3 ) 。 ④不能分配。 若分配完成后 , 系统剩余的资源向量为 (0,3, 匀 , 这时无法找到一个安全的序列。 4. (1) 可能会发生死锁 例如 : 进程 P1、P2和 P3 分别获得资源 S3、S1 和 S2 后再继续申请资源时都要等待 , 这是循环 等待。 ( 或答进程在等待新源时均不释放已占资源。 ) (2) 可有几种答案 : A. 采用静态分配 由于执行前己获得所需的全部资源 , 故不会出现占有资源又等待别的资源的现象 ( 或不 l 会出现循环等待资源现象 ) 。 或 B. 采用按序分配 不会出现循环等待资源现象。 或 C. 采用银行家算法 因为在分配时 , 保证了系统处于安全状态。 5.解: (1) 利用银行家算法对此 T0 时刻的资源分配情况进行分析,可得此时刻的安全

文档评论(0)

1亿VIP精品文档

相关文档