飢餓 (操作系統)

計算機科學中,飢餓(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.