题目
系统产生死锁是指(1)。产生死锁的基本原因是(2)和(3),产生死锁的四个必要条件是互斥条件、(4)、不剥夺条件和(5)。
(1)
A.系统发生重大故障
B.若干进程同时处于阻塞状态
C.若干进程正在等待永远不可能得到的资源
D.请求的资源数大于系统提供的资源数
E.若干进程等待被其它进程所占用而又不可能被释放的资源
第1题
阅读下列说明和图,回答问题1到问题3,将解答填入对应栏内。
[说明]
操作系统中,死锁(Deadlock)是指多个进程在运行的过程中因争夺资源而造成的一种僵局。当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
面对死锁问题有两个解决方案:预防死锁和避免死锁。
预防死锁是一种较简单和直观的事先预防方法。该方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或多个,以此来预防死锁的发生。预防死锁由于较易实现,已被广泛应用,但由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量的降低。
避免死锁同样是属于事先预防的策略,但它无须事先采取各种限制措施去破坏产生死锁的四个必要条件,而是在资源分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。
银行家算法(Banker's algorithm)是Dijkstra于1965年提出的一个经典的避免死锁的算法。形象地描述银行发放贷款不能使有限可用资金匮乏而导致整个银行无法运转的思路,也就是说每次请求贷款,银行要考虑他能否凭着贷款完成项目,并还清贷款使银行运转正常。令Request(i)是进程P(i)请求向量,如果Request(i)[j]=k则进程P(i)希望请韵类资源k个。具体算法步骤如下:
(1)如果Request(i)>Need(i)则出错(请求量超过申报的最大量),否则转到(2);
(2)如果Request(i)>Available则P(i)等待,否则转(3);
(3)系统对P(i)所请求的资源实施试探分配,并更改数据结构中的数值;
(4)Available=Available-Request(i);
A1location(i) =Allocation(i) +Request(i);
Need(i)=Need(i)-Request(i);
(5)执行安全性算法,如果是安全的,则承认试分配,否则废除试分配,让进程P(i)继续等待。
所谓系统是安全的,是指系统中的所有进程能够按照某一种次序分配资源,并且依次运行完成,这种进程序列{P1,P2,…,Pn)就是安全序列。如果存在这样一个安全序列,则系统是安全的;如果系统不存在这样一个安全序列,则系统是不安全的。
简述产生死锁的四个必要条件。
第3题
A.系统处于不安全状态时一定会产生死锁
B.系统处于不安全状态时可能会产生死锁
C.系统处于安全状态时一定会产生死锁
D.系统处于安全状态时可能会产生死锁
第5题
A.死锁产生的原因是进程推进顺序不当
B.环路是死锁产生的必要条件
C.采用银行家算法能有效地实现死锁避免
D.当系统中只有一个进程时也可能会产生死锁
E.系统出现死锁是因为进程调度不当 计算机组成原理部分
第6题
A.由于产生死锁的基本原因是系统资源不足,因而预防死锁的有效方法,是根据系统规模,配置足够的系统资源
B.由于产生死锁的另一基本原因是系统资源不足,因而预防死锁的有效方法,是使进程的推进顺序合法
C.因为只要系统不进入不安全状态,便不会产生死锁,故预防死锁的有效方法,是防止系统进入不安全状态
D.可以通过破坏产生死锁的四个必要条件之一或其中几个的方法,来预防发生死锁
第10题
A、由于产生死锁的基本原因是系统资源不足,因而预防死锁的有效方法,是根据系统规模,配置足够的系统资源。
B、由于产生死锁的另一种基本原因是进程推进顺序不当,因而预防死锁的有效方法,是使进程的推进顺序合法。
C、因为只要系统不进入不安全状态,便不会产生死锁,故预防死锁的有效方法,是防止系统进入不安全状态。
D、可以通过破坏产生死锁的四个必要条件之一或其中几个的方法,来预防发生死锁。
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!