首页 > 试题广场 >

采用有序分配资源的策略,破坏了产生死锁的( )必要条件:

[单选题]
采用有序分配资源的策略,破坏了产生死锁的( )必要条件:
  • 互斥
  • 不剥夺
  • 请求和保持
  • 环路等待
所谓死锁(Deadlock),是指多个进程在运行 过程中因争夺资源而造成的一种僵局(DeadlyEmbrace),当进程处于这种僵持状态时,若无 外力作用,它们都将无法再向前推进。

死锁的发生必须具备下列四个必要条件。

(1) 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由 一个进程占用。如果此时还有其它进程请求该资源,则请求者只能等待,直至占有该资源 的进程用毕释放。

(2) 请求和保持条件:指进程已经保持了至少一个资源,但又提出了新的资源请求,而 该资源又已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。

(3) 不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完 时由自己释放。

(4) 环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,…,Pn}中的 P0 正在等待一个 P1 占用的资源;P1 正在等待 P2 占用的资源,……,Pn 正在等待已被 P0 占用的资源。

在有序分配资源时,系统将所有资源按类型进行线性排队,并赋予不同的序号。例如, 令输入机的序号为 1,打印机的序号为 2,磁带机为 3,磁盘为 4。所有进程对资源的请求 必须严格按照资源序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现 环路,因而摒弃了“环路等待”条件。事实上,在采用这种策略时,总有一个进程占据了 较高序号的资源,此后它继续申请的资源必然是空闲的,因而进程可以一直向前推进。

参考:计算机操作系统(第3版)汤子瀛,第3章,3.5、3.6小节。
发表于 2017-06-05 15:56:37 回复(0)