饥饿 (操作系统)

计算机科学中,饥饿(starvation)是指在并发计算中,进程一直无法获得运行所需的必要资源而发生的问题[1]调度互斥锁算法、资源泄漏等都可能导致饥饿,或者在被DoS攻击(如fork炸弹)时主动产生饥饿。

在并发计算中,如果饥饿不可能发生,这个算法就被称为是“starvation-free”(无饥饿)、“lockout-freed”(无闭锁)的[2],或者称其拥有“有限旁路”(finite bypass)[3]。这一属性是存活英语Liveness的例子,也是互斥锁算法的两个条件之一(另一个是正确性)。

相关条目 编辑

参考资料 编辑

  1. ^ Tanenbaum, Andrew. Modern Operating Systems. Prentice Hall. 2001: 184–185. ISBN 0-13-092641-8. 
  2. ^ Herlihy, Maurice; Shavit, Nir. The Art of Multiprocessor Programming. Elsevier. 2012: 24. ISBN 9780123977953. 
  3. ^ Raynal, Michel. Concurrent Programming: Algorithms, Principles, and Foundations. Springer Science & Business Media. 2012: 10–11. ISBN 3642320279.