死鎖:
死鎖的原因:
(1) 因為系統資源不足。
(2) 程序執行推進的順序不合適,保證有先後順序。
(3) 資源分配不當等。
死鎖的必要條件.
產生死鎖的四個必要條件:
(1) 互斥條件:乙個資源每次只能被乙個程序使用。
(2) 請求與保持條件:乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。
(3) 不剝奪條件: 程序已獲得的資源,在末使用完之前,不能強行剝奪。
(4) 迴圈等待條件:若干程序之間形成一種頭尾相接的迴圈等待資源關係。存在乙個程序等待序列,其中p1等待p2所占有的某一資源,p2等待p3所占有的某一 源,……,而pn等待p1所占有的的某一資源,形成乙個程序迴圈等待環。
解決死鎖的四個方式.
1)忽略該問題。例如鴕鳥演算法,該演算法可以應用在極少發生死鎖的的情況下。為什麼叫鴕鳥演算法呢,(鴕鳥策略)
2)檢測死鎖並且恢復。(檢測與解除策略)
3)仔細地對資源進行動態分配,以避免死鎖。(避免策略)
4)通過破除死鎖四個必要條件之一,來防止死鎖產生。(預防策略)
作業系統 程序概念
程序是具有獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的獨立單位 1 程序是程式的一次執行過程,是對cpu的抽象,是正在執行的程式的抽象 2 每個程序具有獨立的位址空間 3 作業系統通過排程將cpu的控制權交給某個程序 又稱程序描述符,程序屬性,是作業系統用於管理控制程序...
作業系統 程序概念
三 pcb包含哪些資訊 四 程序狀態及狀態轉換 五 程序的特性 六 程序佇列 七 上下文切換 程序是具有獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的獨立單位 動態性 獨立性 併發性是程序的三大特性。在程式執行的過程中,它的狀態是在不斷變化的。例如乙個程式在執行過程中,它...
作業系統 作業管理死鎖
死鎖 兩個或兩個程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象。死鎖產生 競爭資源 共享資源數量不足 程序排程順序不當 死鎖的必要條件,預防死鎖的方法 互斥條件 資源排他性使用 請求保持條件 自己保持乙個資源,不釋放 新資源被占用,請求被阻塞 系統規定程序執行之前,一次性申請所...