作業系統筆記 處理機排程

2021-09-30 17:05:24 字數 3516 閱讀 8091

處理機排程概念

1) 多道程式環境下,動態的把處理機分配給就緒佇列中的乙個程序使之執行。

2)提高處理機的利用率、改善系統效能,很大程度上取決於處理機排程的效能。

3)處理機排程便成為os設計的中心問題之一。分配的任務由處理機排程程式完成。

**排程排程的實質就是一種資源分配。不同的系統和系統目標,通常採用不同的排程演算法——適合自己的才是最好的。

批處理系統為照顧為數眾多的短作業,應採用短作業優先的排程演算法;

分時系統為保證系統具有合理的響應時間,應採用輪轉法進行排程。

目前存在的多種排程演算法中,有的演算法適用於作業排程,有的演算法適用於程序排程;但有些演算法作業排程和程序排程都可以採用。

1.先來先服務排程演算法fcfs(first come first service)

2.短作業(程序)優先排程演算法sjf/spf(shortest job first) or (shortest process first)

3.高優先權優先排程演算法hpfhighest priority first

4.高響應比優先排程演算法hrrn(highest response raito next)

5.基於時間片的輪轉排程演算法rr (round robin)

分時系統新需求:及時響應使用者的請求;採用基於時間片的輪轉式程序排程演算法。

早期分時系統採用的是簡單的時間片輪轉法,進入90年代後廣泛採用多級反饋佇列排程演算法

1)時間片輪轉演算法

a.將系統中所有的就緒程序按照fcfs原則,排成乙個佇列

b.每次排程時將cpu分派給隊首程序,讓其執行乙個時間片。時間片的長度從幾個ms到幾百ms。(時間片長度的選擇要與完成乙個基本的互動過程所需的時間相當,保證乙個基本的互動過程可在乙個時間片內完成。過長會fcfs,過短會頻繁切換)

c.在乙個時間片結束時,發生時鐘中斷

d.排程程式據此暫停當前程序的執行,將其送到就緒佇列的末尾,並通過上下文切換執行當前就緒的隊首程序

**程序阻塞情況發生時,未用完時間片也要出讓cpu。

**能夠及時響應,但沒有考慮作業長短等問題。

2)多級反饋佇列排程演算法fb(multiple-level feed back queue)

1.什麼是實時系統

1)指系統能夠在限定的響應時間內提供所需水平的服務。

2)指計算的正確性不僅取決於程式的邏輯正確性,也取決於結果產生的時間,如果系統的時間約束條件得不到滿足,將會發生系統出錯。

實時任務:具有明確時間約束的計算任務,有軟/硬,隨機/週期性之分。

*硬實時任務:必須滿足任務對截止時間的要求

*軟實時任務:聯絡著乙個截止時間,但不嚴格,可偶爾錯過,不會對系統造成大的影響。

實時系統的任務往往帶有某種程度的緊迫性,因而實時系統的排程有某些特殊要求。

2.實現實時排程的基本條件

1)提供必要的資訊

為了實現實時排程,系統應向排程程式提供有關任務的下述資訊:

就緒時間。該任務成為就緒狀態的時間。

開始截止時間、完成截止時間。

處理時間。從開始執行到完成所需時間。

資源要求。任務執行時所需的一組資源。

優先順序。根據任務性質賦予不同優先順序。

2)系統處理能力足夠強

處理能力不足可能會出現某些實時任務不能得到及時處理,導致難以預料的後果。

如:系統中有m個週期性的硬實時任務,處理時間為ci,週期時間表示為pi,

單機系統中必須滿足條件

例:乙個系統,6個硬實時任務,週期都是50ms,每次處理時間10ms。根據公式,系統是不可排程的。106/50

3)採用搶占式排程機制

硬實時任務:廣泛採用搶占機制

小的實時系統:如能預知任務的開始截止時間,為簡化排程程式和對任務排程時所花費的系統開銷,可採用非搶占排程機制

4)具有快速切換機制

a.對外部中斷的快速響應能力。

利用快速硬體中斷機構,可在緊迫的外部事件請求中及時響應。

b.快速的任務分派能力。

使系統中的執行功能單位適當的小,提高切換速度。類如執行緒的思想

3. 實時排程演算法的分類

1)非搶占排程演算法

該演算法較簡單,用於一些小型實時系統或要求不太嚴格的實時系統中,又可分為:

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

非搶占式優先排程演算法。要求相對嚴格,根據任務的優先順序安排等待位置。可用於有一定要求的實時控制系統中。(精心設定可獲得百ms級的響應時間)

2)搶占式排程演算法

較嚴格的實時系統中(t約為數十ms),選擇採用搶占式優先權排程演算法。根據搶占發生時間可分為

基於時鐘:某高優先順序任務到達後並不立即搶占,而等下乙個時鐘中斷時搶占。

立即搶占:一旦出現外部中斷,只要當前任務未處於臨界區,就立即搶占處理機。

4.常用的幾種實時排程演算法

1)最早截止時間優先edf(earliest deadline first)

2)最低鬆弛度優先llf(least laxity first)

作業系統 處理機排程概念

乙個作業被提交後,必須經過處理機排程,才能獲得處理機執行,通常經過三個排程 高階排程 高階排程,長程排程 中級排程 中程排程 低階排程 短程排程 根據某種演算法,把外村上處於後備佇列中的那些作業調入記憶體,排程物件是作業 就是一些程式,資料,還有一些作業說明書。作業需要執行哪些步驟執行完。每乙個步驟...

作業系統之處理機排程

1.處理機即計算機的處理器,簡單理解就是cpu,多處理機指多核,即多個cpu同時工作,隨著工藝的提高,多個cpu可以整合在一塊晶元上,比如兩核,四核處理器。2.作業和程序的區別 1 作業是乙個比程式更加廣泛的概念,包含程式 資料和作業說明書 2 程序包含pcb 程式和資料集合 所以程式是程序的一部分...

處理機排程(作業系統12)

1.4 三個層次 低階排程 程序排程 1.5 三層排程的聯絡 對比 2 小結 在本篇中,你將掌握 當有一堆任務要處理,但由於資源有限,這些事情沒法同時處理。這就需要確定某種規則來決定處理這些任務的順序,這就是 排程 研究的問題。在多道程式系統中,程序的數量往往是多於處理機的個數的,這樣不可能同時並行...