處理機排程與死鎖

2021-08-26 05:21:49 字數 1261 閱讀 6995

1.程序排程的功能

儲存處理機的現場資訊,按某種演算法選取程序,把處理器分配給程序

2、程序排程方式

非搶占方式:,一旦把處理機分配給某程序後,不管它要執行多長時間,都一直讓它執行下去,決不會因為時鐘中斷等原因而搶占正在執行程序的處理機,也不允許 其它程序搶占已經分配給它的處理機。直至該程序完成,自願釋放處理機,或發生某事件 而被阻塞時,才再把處理機分配給其他程序。

搶占方式:允許排程程式根據某種原則去暫停某個正在執行的程序,將已分配給該 程序的處理機重新分配給另一程序。

搶占排程方式的原則有:優先權原則,短程序優先原則,時間片原則

優先權原則:高優先權的程序到來時,會停止正在進行的程序,將處理機分配給優先權高的程序。

短程序優先原則:當到來的程序執行時間更短,會停止正在執行的程序,將處理機分配給執行時間短的程序。

時間片原則:各程序按時間片輪流執行,適用於分時系統

3、程序排程演算法

1)先來先服務演算法fcfs

選擇最先進入佇列的程序分配處理機,有利於長程序

2)短程序優先演算法

是從 就緒佇列中選出乙個估計執行時間最短的程序,將處理機分配給它

3)高優先權優先排程演算法

系統將從後備佇列中 選擇若干個優先權最高的作業裝入記憶體,分為搶占式高優先權和非搶占式高優先權排程演算法。

4)基於時間片的輪轉排程演算法

系統按先來先服務的原則把所有程序排成一隊,再為隊首的程序分配處理機,執行乙個時間片之後放入隊尾,

再去呼叫下乙個程序。

5)多級反饋佇列排程演算法

演算法過程:

4、死鎖

1)產生死鎖的原因:競爭非剝奪性資源,程序推進順序不當

2)產生死鎖的必要條件:

此時程序阻塞,且不放棄已經占用的資源

3)處理死鎖的方法

預防死鎖,避免死鎖,檢測死鎖和解除死鎖

預防死鎖:破壞掉產生死鎖的必要條件中的乙個即可,如在分配資源時必須一次性把程序所需的資源全部分配給程序,否則就

不 分配;程序在申請某個資源無法獲取時,就會釋放掉原來已經保持的資源;破壞環路

避免死鎖:系統安全狀態的程序不會出現死鎖,系統不安全狀態可能會死鎖。要保證系統處於安全狀態。安全狀態,是指系統能按某種程序順序(p1,p2,…,pn)(稱〈p1,p2,…,pn〉序 列為安全序列),來為每個程序 pi分配其所需資源,直至滿足每個程序對資源的最大需求, 使每個程序都可順利地完成。

使用銀行家演算法來避免死鎖

死鎖解除:剝奪資源和撤銷程序

處理機排程與死鎖

1 非搶占方式 non preemptive mode 一旦處理機分配給某程序,該程序一直執行。決不允許其他程序搶占已分配執行程序的處理機。2 搶占方式 preemptive mode 允許排程程式根據某種原則,暫停某個正在執行的程序,將處理機重新分配給另一程序。程序排程方式比較 3 中級排程 in...

課後習題 處理機排程與死鎖

part a 高階排程與低階排程的主要任務是什麼,為什麼要引進中級排程?高階排程又稱為作業排程,用於決定把外存後備佇列中的那些作業調入記憶體,為它們分配必要的資源,並建立程序 低階排程又稱為程序排程,用來決定就緒佇列中哪個程序先獲得處理機,並將處理機分配給選中的程序,然他投入執行 中級排程又稱為記憶...

第三章處理機排程與死鎖 處理機排程

一 處理機排程的基本概念 作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述 排程。又稱作業排程或長程排程 long term scheduling 接納排程 admission scheduling 主要在早期批處理階段,處理在外存上的作業。決定外存後備佇列中的哪些作業調入...