问题 问答题

简述死锁的防止。

答案

参考答案:

解析:要防止死锁的发生,只要采用的资源分配策略能使这4个条件中的一个条件不成立。只有允许进程共享设备才能使互斥使用资源条件不成立,而计算机系统中大多数资源必须互斥使用,所以无法互斥条件不成立而防止死锁。 ①静态分配资源和释放已占资源。使占有并等待资源的条件不成立,常用两种方法。 · 静态分配资源:静态分配是要求每一个进程在开始执行前中请它所需要的全部资源,当系统能满足里程资源申请要求且把资源分配给进程后,该进程才能开始执行。这种策略也称预分配资源。此法实现简单,但降低了资源的利用率。 ·释放已占资源:这种分配策略是只有在进程没有占用资源时,才允许它申请资源。若进程已占某种资源又要中请其他资源,则它应归还所占的资源后再中请新资源。 ②抢夺式分配资源。要使不可抢夺其他进程占用的资源条件不成立,可以这样做:一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时,系统可以抢夺该进程已占有的资源。 目前抢夺式分配策略只适用于主存空间和处理器,而对打印机、磁带机等不能采用这种分配策略。 ③按序分配资源。使循环等待条件不成立可采用按序分配的资源分配策略。具体做法是把系统中所有资源排一个顺序,对每一个资源确定编号,规定任何一个进程申请两个以上的资源时,总是先申请编号最小的资源,再申请编号大的资源。可以证明这种策略分配资源时不会出现循环等待资源的情况。

单项选择题
单项选择题