操作系统选择题答案及解析(川大) 第六章 并发:死锁和饥饿

注:本文以操作系统—精髓与设计原理(第九版中文翻译版)为参考,答案仅供参考,如有疑惑欢迎提出指正。转载请标明出处。

第六章

1. (单选题)一组竞争系统资源或相互通信的进程的永久阻塞被称为:(    )

A. 优先级

B. 死锁

C. 饥饿

D. 以上都是

正确答案:B

答案解析:

死锁定义为一组相互竞争系统资源或进行通信的进程间的“永久”阻塞(P164)。

2. (单选题)所有死锁涉及的资源需求冲突有关:(    )

A. 一个或更多进程

B. 两个或更多进程

C. 三个或更多进程

D. 以上都不是

正确答案:B

答案解析:

所有死锁都涉及两个或多个进程之间对资源需求的冲突(P164)。

3. (单选题)可以创建和销毁的资源被称为:(    )

A. 可重用资源

B. 可生成资源

C. 可消耗资源

D. 以上都是

正确答案:C

答案解析:

资源通常分为两类:可重用资源可消耗资源(P167)。

可重用资源是指一次仅供一个进程安全使用且不因使用而耗尽的资源。进程得到资源单元并使用后,会释放这些单元供其他进程再次使用。可重用资源的例子包括处理器、I/O设备、内存和外存、设备,以及数据结构(诸如文件、数据库和信号量)

可消耗资源是指可被创建(生产)和销毁(消耗)的资源。某种类型可消耗资源的数量通常没有限制,无阻塞生产进程可以创建创建任意数量的这类资源。消费进程得到一个资源时,该资源就不再存在。可消耗资源的例子有中断、信号、消息和I/O缓冲区中的信息

4. (单选题)下列是可消耗资源的有:(    )

A. 主存

B. 打印机

C. 消息

D. 以上都是

正确答案:C

答案解析:

资源通常分为两类:可重用资源可消耗资源(P167)。

可重用资源是指一次仅供一个进程安全使用且不因使用而耗尽的资源。进程得到资源单元并使用后,会释放这些单元供其他进程再次使用。可重用资源的例子包括处理器、I/O设备、内存和外存、设备,以及数据结构(诸如文件、数据库和信号量)

可消耗资源是指可被创建(生产)和销毁(消耗)的资源。某种类型可消耗资源的数量通常没有限制,无阻塞生产进程可以创建创建任意数量的这类资源。消费进程得到一个资源时,该资源就不再存在。可消耗资源的例子有中断、信号、消息和I/O缓冲区中的信息。

5. (单选题)造成死锁的条件可能是:(    )

A. 不可抢占

B. 互斥

C. 占有且等待

D. 以上都是

正确答案:D

答案解析:

死锁有三个必要条件(P169):

  1. 互斥。
  2. 占有且等待。
  3. 不可抢占。

前三个条件都只是死锁存在的必要条件而非充分条件。要产生死锁,还需要第四个条件:

  1. 循环等待。

这四个条件一起构成了死锁的充分必要条件

6. (单选题)死锁预防的一种直接方法是防止以下哪些情况的发生:(    )

A. 占有且等待

B. 互斥

C. 循环等待

D. 以上都是

正确答案:C

答案解析:

死锁预防方法分为两类(P169)。

一类是间接死锁预防方法,即防止前面列出的三个必要条件中的任何一个条件的发生;

另一类是直接死锁预防方法,即防止循环等待的发生(可通过定义资源类型的线性顺序来预防)。

7. (单选题)是否允许当前的资源分配请求是通过判断该请求是否可能导致死锁来决定的,这种策略被称作:(    )

A. 死锁检测

B. 死锁预防

C. 死锁避免

D. 以上都不是

正确答案:C

答案解析:

通常有三种处理死锁的方法(P168):

死锁预防:不允许产生死锁的三个必要条件之一成立,或防止发生循环等待条件。

死锁避免:若此次分配可能导致死锁,则不满足该资源请求。

死锁检测:在可能的情况下满足资源请求,但定期检查是否存在死锁,若发生死锁则采取措施进行恢复。

8. (单选题)在死锁避免的资源分配拒绝方法中,安全定义为:(    )

A. 至少有一个潜在的资源分配序列不会导致死锁

B. 所有潜在的资源分配序列不会导致死锁

C. 数个潜在的资源分配序列不会导致死锁

D. 以上都不是

正确答案:A

答案解析:

安全状态(safe state)指至少有一个资源分配序列不会导致死锁(即所有进程都能运行直到结束)(P171)。

9. (单选题)下列关于银行家算法的叙述中,正确的是:(    )

A. 银行家算法属于死锁的预防策略

B. 当系统处于安全状态时,系统中至少有一个资源分配序列可以避免死锁

C. 当系统处于不安全状态时,系统中一定有死锁

D. 银行家算法破坏了死锁必要条件中的“占有且等待“条件

正确答案:B

答案解析:

A.

银行家算法(又称资源分配拒接策略)属于死锁的避免策略(P171)。

B.

安全状态(safe state)指至少有一个资源分配序列不会导致死锁(即所有进程都能运行直到结束)(P171)。

C.

死锁避免策略并不能确切地预测死锁,它仅是预料死锁的可能性并确保永远不会出现这种可能性(P172)。

D.

死锁避免则相反,它允许三个必要条件,但通过明智地选择,可确保永远不会到达死锁点,因此死锁避免与死锁预防相比,可允许更多的并发(P170)。

10. (单选题)在死锁进程恢复中,选择一个特定进程中止或回滚的选择标准包括:(    )

A. 到目前为止分配的总资源最少

B. 最低优先级

C. 预计剩余时间最长

D. 以上都是

正确答案:D

答案解析:

检测到死锁后,就需要某种策略来恢复死锁。下面按复杂度递增的顺序列出可能的方法:

  1. 取消所有的死锁进程。这是操作系统中最常采用的方法。
  2. 把每个死锁进程回滚到前面定义的某些检查点,并重新启动所有进程。此时,要求在系统中构建回滚和重启机制。这种方法的风险是原来的死锁可能再次发生。但是,并发进程的不确定性通常能保证不会发生这种情况。
  3. 连续取消死锁进程直到不再存在死锁。所选取消进程的顺序应基于某种最小代价原则。在每次取消后,必须重新调用检测算法,以测试是否仍存在死锁。
  4. 连续抢占资源直到不再存在死锁。和(3)一样,需要使用一种基于代价的选择方法,且需要在每次抢占后重新调用检测算法。一个资源被抢占的进程必须回滚到获得这个资源之前的某一状态。

对于(3)和(4),选择原则如采用如下之一:

  • 目前为止消耗的处理器时间最少。
  • 目前为止产生的输出最少。
  • 预计剩下的时间最长。
  • 目前为止分配的资源总量最少。
  • 优先级最低。

在这些原则中,有些原则更易于测度。预计剩下的时间最值得怀疑。此外,除优先级测度外,相对于整个系统的代价而言,其他原则对用户而言没有任何代价。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值