作業系統 死鎖和飢餓

2021-09-30 01:29:47 字數 957 閱讀 4375

死鎖:如果一組程序中的每乙個程序都在等待由該程序中的其他程序才能引發的事件,那麼該組程序是死鎖的。

飢餓:指系統不能保證某個程序的等待時間上界,從而使該程序長時間等待,當等待時間給程序推進和響應帶來明顯影響時,稱發生了程序飢餓。當飢餓到一定程度的程序所賦予的任務即使完成也不再具有實際意義時稱該程序被餓死。

死鎖源於多個程式對資源的爭奪不僅對不可搶占資源進行爭奪時會引起死鎖,而且對可消耗資源進行爭奪時,也會引起死鎖。

飢餓如果乙個執行緒因為處理器時間全部被其他執行緒搶走而得不到處理器執行時間,這種狀態被稱之為飢餓,一般是由高優先順序執行緒吞噬所有的低優先順序執行緒的處理器時間引起的。

死鎖:互斥條件,不可剝奪條件,請求和保持條件,迴圈等待條件

飢餓:沒有其產生的必要條件,隨機性很強。並且飢餓可以被消除,因此也將忙等待時發生的飢餓稱為活鎖。

相同:二者都是由於競爭資源而引起的。

不同:

死鎖:砍樹你需要乙個斧子,但是斧子又需要木頭來做,這就發生了死鎖。

飢餓:排隊過程中,總有人插隊到你前面,你一直處於排隊狀態,這就發生了飢餓。

作業系統死鎖

作業系統死鎖,在作業系統課程當中屬於比較關注的乙個知識點,在這裡做個簡單的梳理。死鎖的四個必要條件 作業系統中有若干程序併發執行,它們不斷申請 使用 釋放系統資源,雖然系統的進 程協調 通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能 繼續執行,否則就阻塞的情況。此時,若不借...

作業系統 死鎖

多執行緒以及多程序改善了系統資源的利用率並提高了系統 的處理能力。然而,併發執行也帶來了新的問題 死鎖。死鎖是指多個程序在執行過程中因爭奪資源而造成的一種僵局,當前程序處於這種狀態時,若無外力作用,它們都將無法再向前推進。關於死鎖的一些結論 競爭資源 當系統中供多個程序共享的資源如印表機 公用佇列等...

作業系統 死鎖

把需要排他性使用的物件稱為資源。資源可以是硬體也可以是軟體,比如印表機或者資料庫中的乙個加鎖記錄。資源可以分為兩類 可搶占資源和不可搶占資源。搶占這個詞,在程序和執行緒排程時就提到了這個概念,那時是程序或者執行緒可以搶占cpu,即搶占式排程。儲存器也可以搶占,如記憶體換頁。一般來說,可搶占資源不會引...