第三章 死锁习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【例】假定系统有4个同类资源和3个进程, 进程每次只申请或释放1个资源。每个进程 最大资源需求量为2。请问这个系统为什么 不会发生死锁? 【解答】由于每个进程最多需要2个资源,最 坏的情况下,每个进程获得1个,系统还剩 下1个。这1个资源,无论分配给谁,都能 完成。完成进程释放资源后,使剩余进程 也完成。故系统不会发生死锁
【例】假设现在有p个进程,每个进程最多需 要m个资源,并且有r个资源可用,什么样 的条件可以保证死锁不会发生。 【解答】如果一个进程有m个资源它就能够 结束,不会使自己陷入死锁中。因此,最 差的情况是每个进程有m-1个资源并且需要 另外一个资源。如果留下有一个资源可用, 那么其中某一个进程就能够结束并释放它 所有的资源,使其他进程也能结束。所以 避免死锁的条件是:r>=p(m-1)+1
【例】资源静态分配法可以预防死锁的发生, 因它使死锁四个条件中的()不成立 A 互斥条件 B 请求和保持条件 C 不可剥夺条件 D 环路等待条件 【解答】B
【例】下面不属于产生死锁的必要条件的是 ( ). A 互斥条件 B 请求和保护条件 C 剥夺条件 D 环路等待条件 【答】C
【例】下面4个选项中,属于处理死锁的基本 方法是( ) A 资源独占 B 资源共享 C 进程并发 D 预防死锁 【答案】D
【例】死锁的4个必要条件中,无法破坏的是 ( ) A 环路等待资源 B 互斥使用资源 C 占有且等待资源 D 非抢夺式分配 【答案】B
【例】采用“按序分配”策略,可以破坏死 锁产生的条件是() A 互斥 B 请求和保持 C 非剥夺 D 环路等待 【解答】D
【例】从下面关于安全状态和非安全状态的论述中, 正确的论述是() A 安全状态是没有死锁的状态,非安全状态是有死 锁的状态 B 安全状态是可能有死锁的状态,非安全状态也是 可能有死锁的状态 C 安全状态是可能没有死锁的状态,非安全状态是 有死锁的状态 D 安全状态是没有死锁的状态,非安全状态是可能 有死锁的状态 【解答】D
【例】当由于为进程分配资源而使系统处于 不安全状态时,系统一定会导致死锁 【解答】错。 当由于进程分配资源而使系统处于不安全状 态使,系统不一定会死锁。因为可能有些 进程的资源没有达到最大需求时,就已经 完成或故障终止
【例】产生死锁的原因可以归结为两点: ____和_____ 【答案】竞争资源;进程推进顺序非法
【例】预防死锁的方法,优点是简单,易于 实现且很安全,而且资源利用率高,进程 也能较快地进行( ) 【答案】错。预防死锁的方法,优点是简单, 易于实现且很安全,但资源严重浪费且进 程延迟运行
【例】检测死锁能够有效地将进程从死锁状 态解脱下来( ) 【答案】错。检测死锁不能将进程从死锁状 态解脱下来,必须与解除死锁配合使用
ቤተ መጻሕፍቲ ባይዱ
【分析】进程的最大资源需求数减去当前进程已获得的资源 数就是进程仍需要的资源数,此刻各个进行的仍需要资源 数向量为: P1(0,0,0,0);P2(0,7,5,0);P3(6,6,2,2);P4(2,0,0,2);P5(0,3,2, 0) 而系统的可用资源向量为(2,1,0,0),这时存在如下执行序列, 使进程顺序执行完毕,状态安全 进程 可用资源数 P1完成后 (2,1,1,2) P4完成后 (4,4,6,6) P5完成后 (4,7,9,8) P2完成后 (6,7,9,8) P3完成后 (6,7,1,12)
【例】一个计算机系统中拥有6台打印机,现有n个进程竞争 使用,每个进程要求两台。试问,N的最大值如何选取时 系统中绝对不会出现死锁? 【解答】 已知系统中的每个进程需要2台打印机。那么在最坏的情况 下,各进程都占用了其中的一台,而且都在请求自己所需 的另一台。如果此时系统尚有多余的一台,那么就可以满 足其中一个进程运行完毕。当该进程运行完毕释放出它所 占有的打印机后,又可进一步满足其他进程。系统不会出 现死锁。 因此,如果将6-1台打印机分配给N个进程,满足每个进程 一台的话,进程数量N必然小于等于5.此时系统中不会发 生死锁
【例】关于产生死锁的现象,下面的描述最 准确的是() A 每个进程共享某一个资源 B 每个进程竞争某一个资源 C 每个进程等待着某一个不能得到且不可释 放的资源 D 某个进程因等待着某一个资源而无法进行 下去 【解答】C
【例】银行家算法是一种()算法 A 死锁解除 B 死锁避免 C 死锁预防 D 死锁检测 【解答】B
【例】一台计算机有6台磁带机,由n个进程竞争使 用,每个进程可能需要两台磁带机,那么n是多少 时,系统才没有死锁的危险? 【解答】对于三个进程,每个进程能够有两个驱动 器。对于4个进程,驱动器可以按照(2,2,1, 1)的方法进行分配,使前面两个进程先结束。对 于5个进程,可以按照(2,1,1,1,1)的方法 进行分发,使一个进程先结束。对于六个进程, 每个进程都拥有一个磁带驱动器同时需要另外一 个驱动器,产生了死锁。因此,对于n<6的系统 来说是无锁的。
【例】_____是指多个进程因竞争资源而造成 的一种僵局,若无外力作用,这些进程都 将永远不能再向前推进 【答案】死锁
【例】死锁是指系统的全部进程都处于阻塞 状态 【解答】错 死锁是指系统中涉及死锁的进程全部处于阻 塞状态,而不处于死锁状态的进程则不一 定。
【例】操作系统处理死锁,只要采用预防, 解除,检测,避免等方法中的一种就足够 了 【解答】错误 因为操作系统要兼顾资源的使用效率和安全 性两方面,常见的是将预防,解除,检测, 避免等四种处理方法混合使用。例如,只 有检测死锁而无解除死锁的方法,检测出 死锁又有什么用?
【例】如果系统在所有进程运行前,一次性 地将其在整个运行过程所需的全部资料分 配给进程,即所谓”静态分配“,是预防 死锁发生的。 【解答】正确
【例】多个进程竞争比进程数目少的资源分 配情况进行安全分析,如果该时刻状态是 安全的,则存在一个安全序列,且这个安 全序列是唯一的。 【解答】错误 系统在调用银行家算法进行安全检查时,只 要找到一个安全序列就可断定系统是安全 的。但安全序列可能不止一个。
(2)在P3发出资源请求(0,1,0,0)后,假设系统把资源分配给P3, 则个进程已分配资源数为: P1(0,0,1,2);P2(2,0,0,0);P3(0,1,3,4);P4(2,3,5,4);P5(0,3,3, 2) 此时系统可用资源为(2,0,0,0),各进程仍需要资源向量为: P1(0,0,0,0);P2(0,7,5,0);P3(6,5,2,2);P4(2,0,0,2);P5(0,3,2, 0) 满足资源需求的进程执行序列为: 进程名 可用资源数 P1完成后 (2,0,1,2) P4完成后 (4,3,6.6) P5完成后 (4,6,9,8) 此时可用资源不能满足P2,P3的需求,即此时系统状态是不 安全的,将拒绝资源请求
【例】假设某系统中有4种资源 (R1,R2,R3,R4),在某时刻系统中共有5个 进程,进程P1,P2,P3,P4,P5的最大 资源需求数量和此刻已分配到资源数向量 分别如下 系统中当前可用资源向量为(2,1,0,0),问 1 当前系统是否是安全的? 2 如果进程P3发出资源请求向量(0,1,0,0),系 统能否将资源分配给它?
【例】避免死锁的实质在于:____ 【答案】如何使系统不进入不安全状态
【例】最有代表性的避免死锁算法,是 Dijkstra的____ 【答案】银行家算法
【例】当发现有进程死锁时,便应立即把它 们从死锁状态中解脱出来,常采用的两种 方法是_____和_____ 【答案】剥夺资源;撤销进程
【例】在避免死锁的方法中,允许进程动态地申请 资源,系统在进行资源分配之前,先计算资源分 配的安全性,是否能进入_____.否则,将不分配 资源给进程,来为每个进程分配其所需资源,直 至最大需求,使每个进程按顺序完成。若系统不 存在一个安全序列,则系统处于不安全状态。 虽然并非所有不安全状态都是死锁状态,但当系统 进入不安全状态后,便可能进而进入死锁状态; 反之,只有系统处于安全状态,系统便可避免进 入死锁状态。因此,避免死锁的实质在于:如何 使系统不进入不安全状态。 【安全状态】
【例】通过撤消进程可进行死锁恢复,还可 以采用()方法解除死锁 A 阻塞进程 B 资源剥夺 C 提高进程优先级 D 降低进程优先级 【解答】B 采用资源剥夺法,将剥夺的资源 分配给死锁进程,以解决死锁。
【例】以下关于资源分配图的描述中正确的 是( ) A有向边包含进程指向资源类的分配边和资源 类指向进程申请边两类 B 矩阵框表示进程,其中的原点表示申请同 一类资源的各个进程 C 圆圈结点表示资源类 D 资源分配图是一个有向图,用于表示某时 刻系统资源与进程之间的状态 【答案】D
【例】在银行家算法的数据结构中,其中最 大需求矩阵Max,分配矩阵Allocation和需求 矩阵Need三者之间的关系是( ) A Need[i,j]=Allocation[i,j]-Max[i,j] B Need[i,j]=Max[i,j]+Allocation[i,j] C Need[i,j]=Max[i,j]-Allocation[i,j] D Need[i,j]=Max[i,j]*Allocation[i,j] 【答案】C
死锁习题
【例】某系统采用了银行家算法,则下列叙 述正确的是() A 系统处于不安全状态时一定会发生死锁 B 系统处于不安全状态时可能会发生死锁 C 系统处于安全状态时,可能会发生死锁 D 系统处于安全状态时,一定会发生死锁 【解答】B
【例】在下列选项中,属于解除死锁的方法 是() A 剥夺资源法 B 资源分配图简化法 C 银行家算法 D 资源静态分配法 【解答】A
【答案】 1 当前系统是安全的 2 系统不能将资源分配给它
【例】产生死锁的4个必要条件是 ___,___,___,___ 【答案】互斥条件;请求和保持条件;不剥 夺条件;环路等待条件
【例】目前用于处理死锁的方法可归结为以 下四种:____,____,____,_____ 【答案】预防死锁;避免死锁;检测死锁; 解除死锁,
【例】在死锁的预防中,摒弃”请求和保持 “条件的方法的缺点是_____ 【答案】资源严重浪费;进程延迟运行
【例】当由于为进程分配资源使系统处于不 安全状态时,系统一定会导致死锁。( ) 【答案】错。当由于进程分配资源系统处于 不安全状态时,系统可能会导致死锁。
【例】采用资源静态分配算法可以预防死锁 的发生。( ) 【答案】对
【例】某一系统有两个进程和三个相同资源。 每个进程最多需要两个资源。这种情况下 有没有可能发生死锁?为什么? 【解答】这个系统是无锁的。假设每个进程 都有一个资源。还有一个自由的资源,每 个进程都可以请求并得到该资源,则这种 情况下,该进程就会结束并把两个资源都 释放掉,从而不会发生死锁
【例】系统死锁可利用( )来描述。 A 进程 B 程序 C 系统流程图 D 资源分配图 【答案】D
【例】按序分配资源是为了( ) A 死锁的检测 B 死锁的预防 C 死锁的避免 D 死锁的解除 【答案】B
【例】死锁的预防是根据()而采取措施实 现的 A 配置足够的系统资源 B 使进程的推进顺序合理 C 破坏死锁的第2、3、4个必要条件 D 防止系统进入不安全状态 【解答】C
【例】在下列解决死锁的办法中,属于死锁 预防策略的是() A 化简进程的资源分配图 B 银行家算法 C 资源的有序分配法 D 死锁检测法 【解答】C
【例】死锁产生的必要条件有4个,要预防死锁发生, 必须破坏死锁的四个必要条件之一,但破坏() 条件是不太实际的。 实现起来最简单的条件是() A 请求和保持 B互斥 C 不剥夺 D 环路等待 【解答】B。因为这是由设备的固有特性决定的 A 采用静态分配方法实现,在进程开始运行前,将 它需要的全部资源分配给它。在运行过程中,不 再请求。这是早期操作系统采用的方法,但资源 的利用率不高。