實時排程和死鎖(銀行家演算法)

2021-10-05 03:47:24 字數 1269 閱讀 4920

實現實時排程的基本條件

(1)提供詳細的排程資訊

(2)系統處理能力強

(3)具有快速切換機制

(4)採用搶占式排程機制

實時排程演算法的分類

(1)非搶占式輪狀排程演算法

(2)非搶占式優先排程演算法

(3)基於時鐘終端搶占式優先順序排程演算法

(4)立即搶占的優先順序排程演算法

非搶占式輪狀排程演算法:常用語工業生產的群控系統中,要求不太嚴格

非搶占式優先排程演算法:要求較為嚴格,根據任務的優先順序安排等待位置。可用於有一定要求的實時控制系統最後中

最早截止時間優先演算法思想:根據人物的開始截至時間來確定任務的優先順序,即任務的開始截止時間越早,其優先順序越高可採用非搶占排程方式,也可採用搶占排程方式 非搶占式排程方式用於非週期實時任務

最低鬆弛度優先演算法思想:根據實時任務的鬆弛度來確定任務的優先順序,鬆弛度越低,其優先權越高鬆弛度=任務必須完成的時間-任務本身的執行時間-當前時間實現時按鬆弛度排序的實時任務就緒佇列當一任務的最低鬆弛度為0時,立即搶占cpu 死鎖死鎖是指多個程序在執行過程中因爭奪資源而造成的一種僵局,若無外力作用,他們都將無法再向前推進

產生死鎖的原因

(1)競爭資源 消耗性資源 不可搶占性資源

(2)程序推進順序不當

產生死鎖的必要條件

(1)互斥條件

(2)請求與保持條件

(3)不剝奪條件

(4)環路等待條件

處理死鎖的方法

(1)預防死鎖

(2)避免死鎖

(3)檢測死鎖

(4)解除死鎖

安全狀態:系統能按某種程序推進順序,為每個程序分配所需資源,直到最大需求,使每個程序都可順利完成。這樣的序列成為安全序列。

***不安全狀態:***不存在安全序列

銀行家演算法

死鎖,銀行家演算法

我們知道作業系統中很多種資源,如cpu,記憶體,io裝置等,每種資源又有很多例項,對於這些資源,程序該如何訪問?請求 獲取 申請空閒資源 使用 占用 程序占用資源 釋放 資源狀態由占用變為空閒 為了更好的了解死鎖,我們將資源分類 1 預防死鎖。這是一種較簡單和直觀的事先預防的方法。方法是通過設定某些...

死鎖與銀行家演算法

死鎖定義 死鎖是指兩個或兩個以上的程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖程序。死鎖條件 1 互斥條件 指程序對所分配到的資源進行排它性使用,即在一段時間內某資源...

避免死鎖 銀行家演算法

了解了什麼是死鎖,以及死鎖產生的原因,懂得如何去避免死鎖。在前面 作業系統之 死鎖問題 已經提到。在死鎖的避免上有現今有兩種比較著名的方案,一是有序資源分配法,二是銀行家演算法。這裡講述一下銀行家演算法。銀行家演算法 banker s algorithm 是乙個避免死鎖 deadlock 的著名演算...