操作系统学习笔记(十八)~死锁单元测试

341 阅读4分钟

「这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战

前言

Hello!小伙伴!

非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~

 

自我介绍 ଘ(੭ˊᵕˋ)੭

昵称:海轰

标签:程序猿|C++选手|学生

简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。目前正在学习C++/Linux/Python

学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!

1、资源的静态分配算法在解决死锁问题中是用于()。B A.解除死锁 B.预防死锁 C.检测死锁 D.避免死锁

解释:在这里插入图片描述 2、产生系统死锁的原因可能是由于()。C A.一个进程进入死循环 B.多个进程竞争共享型设备 C.多个进程竞争资源出现了循环等待 D.进程释放资源

解释:在这里插入图片描述

3、为了避免系统可能出现死锁,分配资源可以采用的算法是()。C A.抢占式分配 B.按序分配 C.银行家算法 D.静态分配

解释:在这里插入图片描述

4、设某类资源有5个,由3个进程共享,要使系统不会死锁则每个进程最多可申请的资源数是() 。D A.3 B.1 C.4 D.2

5、某系统采用了银行家算法,则下列说法正确的是()。D A.系统处于不安全状态时一定会发生死锁 B.系统处于安全状态时一定会发生死锁 C.系统处于安全状态时可能会发生死锁 D.系统处于不安全状态时可能会发生死锁

6、银行家算法中的数据结构包括可用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项中表述正确的是()。C A.Allocation[i,j]=Need[i,j]+Max[i,j] B.Max[i,j]=Allocation[i,j]-Need[i,j] C.Need[i,j]=Max[i,j]-Allocation[i,j] D.Max[i,j]=Available[i,j]+Need[i,j]

解释:在这里插入图片描述

7、两个进程争夺一个资源,它们()。A A.不一定死锁 B.一定不死锁 C.如果是互斥资源一定死锁 D.一定死锁

8、银行家算法在解决死锁问题中是用于()。C A.预防死锁 B.解除死锁 C. 避免死锁 D.检测死锁

9、在下列解决死锁的方法中,属于死锁预防策略的是()。C A.资源分配图化简法 B.银行家算法 C.有序资源分配法 D.死锁检测法

解释: 在这里插入图片描述 在这里插入图片描述 10、以下()方法可以解除死锁。B A.挂起进程 B.剥夺死锁进程资源 C.提高进程优先级 D.降低进程优先级

11、常用处理死锁的方法有()。ABCD A.可忽略这个问题,认为死锁不可能在系统内发生 B.可使用算法来避免死锁,确保系统不会进入死锁状态 C.可使用协议来预防死锁,确保系统不会进入死锁状态 D.可允许系统进入死锁状态,然后检测它,并加以恢复

12、有关银行家算法,以下论述正确的是()。ABD A.当一个进程请求资源时,它要等待如果这些资源的分配会导致系统处于不安全状态。 B.使用银行家算法时,每一个进程必须事先声明使用各类资源的最大量,这一数量不能超过系统资源的总和。 C.当一个进程请求资源时,它要等待如果这些资源的分配会导致系统处于安全状态。 D.当一个进程得到所有的资源,它必须在有限的时间释放它们,这些资源可投入再分配。

13、若系统S采用死锁避免方法,T采用死锁检测方法。下列叙述中正确的是()。BD A.T会限制用户申请资源的顺序,而S不会 B.S不会给可能导致死锁的进程分配资源,而T会 C.S会限制用户申请资源的顺序,而T不会 D.S需要进程运行所需要的资源总量信息,而T不需要

14、在()的情况下,系统会出现死锁。AB A.若干进程因竞争资源而无休止地相互等待他方释放已占有的资源。 B.资源分配图中存在环并且每个资源只有一个实例。 C.有多个封锁的进程同进存在。 D.计算机系统发生了重大故障。

15、当检测出发生死锁时,可以通过撤销一个进程解除死锁。×

16、预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。

17、不安全状态是死锁状态的一个特例。×

18、死锁是一种进程执行过程中发生的错误。

19、占有并等待条件是指一个至少持有一个资源的进程等待获得额外的系统拥有的资源。×

20、当且仅当等待图中有一个环,系统存在死锁。×