饥饿与僵局(操作系统)

Mud*_*ini 5 operating-system deadlock

我知道死锁和饥饿的定义,但我仍然对这几点感到困惑(无法得出哪一个是正确的)

  • a)死锁是饥饿的极端情况
  • b)僵局和饥饿是两个不相关的概念
  • c)饥饿只会导致僵局

dis*_*ame 10

死锁:当所有进程都无法访问资源时,因为每个进程都在等待另一个进程并且存在一个循环.

饥饿:当低优先级进程无法访问所需的资源时,因为存在访问资源的高优先级进程.在这种情况下,整个过程系统尚未停止.


因为,只有低优先级的进程不会有饥饿对资源的访问,而在僵局没有进程访问他们需要因此资源死锁是饿死的极端情况下,用偏激的是进程无法访问的总数标准资源.


死锁和饥饿是相关的,因为两者都是进程无法访问资源的情况.


饥饿不会导致死锁,因为一个饥饿的低优先级进程一直在等待,而其他具有高优先级的进程则会完成.

有传言称,当他们于1973年在麻省理工学院关闭IBM 7094时,他们发现了一个低优先级的流程,该流程已于1967年提交但尚未运行.‡


‡ Abraham Silberschatz,Peter B. Galvin,Greg Gagne 在操作系统概念书中提到过

  • 我们能说如果出现僵局就一定会出现饥饿吗? (2认同)
  • @MuditKumarSaini:当然!饥饿 - 低优先级进程无法获得所需的资源。死锁 - 没有进程获取所需资源。 (2认同)