我知道死锁和饥饿的定义,但是我仍然对这几点感到困惑(无法得出正确的定义)
a)僵局是饥饿的极端情况
b)死锁和饥饿是两个不相关的概念
c)饥饿只会导致僵局
最佳答案
死锁:这是指所有进程都无法访问资源,因为每个进程都在等待另一个进程并且存在一个周期。
饥饿:是指由于存在高优先级进程访问资源而导致低优先级进程无法访问所需资源的情况。在这种情况下,整个过程系统并未停止。
由于只有低优先级的进程无法访问处于饥饿状态的资源,而处于死锁状态的进程则无法访问其所需的资源,因此死锁是处于饥饿状态的一种极端情况,极端性的标准是无法访问该进程的进程总数资源。
死锁和饥饿相关,因为这两种情况都是进程无法访问资源的情况。
饥饿不会导致死锁,因为饥饿的低优先级进程会一直等待,而其他高优先级的进程则会运行完毕。
有传言说,他们在1973年关闭麻省理工学院的IBM 7094时,发现了一个低优先级的流程,该流程已于1967年提交,但尚未运行。
‡在Operating System Concepts book中由亚伯拉罕·西尔伯沙茨(Abraham Silberschatz),彼得·B·加尔文(Peter B.Galvin),格雷格·加涅(Greg Gagne)提及