作業系統 死鎖概述

2021-07-25 04:33:41 字數 964 閱讀 3728

各併發程序彼此互相等待對方所擁有的資源,且這些併發程序在得到對方的資源之前不會釋放自己所擁有的資源。從而造成大家都想得到資源而又都得不到資源,各併發程序不能繼續向前推進的狀態。

飢餓(starvation)指乙個程序一直得不到資源。

死鎖和飢餓都是由於程序競爭資源而引起的。飢餓一般不占有資源,死鎖程序一定占有資源。

可被多個程序多次使用,如所有硬體。

是在程序執行期間,由程序動態的建立和消耗的。

可搶占資源指某程序在獲得這類資源後,該資源可以再被其他程序或系統搶占。對於這類資源是不會引起死鎖的。

cpu 和記憶體均屬於可搶占性資源。

一旦系統把某資源分配給該程序後,就不能將它強行收回,只能在程序用完後自行釋放。

印表機等屬於不可搶占性資源。

死鎖是多個程序在執行過程中因爭奪資源而造成的一種僵局(deadly-embrace) ) ,若無外力作用,這些程序都將無法向前推進。

死鎖是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態,這些永遠在互相等待的程序稱為死鎖程序。

關於死鎖的一些結論:

死鎖會浪費大量系統資源,甚至導致系統崩潰。

作業系統死鎖

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

作業系統 死鎖

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

作業系統 死鎖

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