第三章 處理機排程與演算法

2021-08-29 04:04:19 字數 2475 閱讀 2653

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

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

作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述**排程。

1.高階排程(high scheduling)

又稱作業排程或長程排程(long-term scheduling),接納排程(admission scheduling)

主要在早期批處理階段,處理在外存上的作業。 決定外存後備佇列中的哪些作業調入記憶體; 為它們建立程序、分配必要的資               源; 將新建立的程序排在就緒佇列上,準備執行。

2.中級排程(intermediate-level scheduling)

又稱交換排程或中程排程(medium-term scheduling)

引入目的:提高記憶體利用率和系統吞吐量。根據條件將一些程序調出或再調入記憶體。

3.低階排程(low level scheduling)

也稱為程序排程、微觀排程或短程排程(short-term scheduling)

決定記憶體就緒佇列中的哪個程序獲得處理機,進行分配工作。是最基本的一種排程,在三種基本os中都有。

1非搶占方式(non-preemptive mode)

一旦處理機分配給某程序,該程序一直執行。決不允許其他程序搶占已分配執行程序的處理機。

排程時機:程式完成; 發生某事件阻塞;

特點:實現簡單、系統開銷小; 功能也簡單,適用於大多數批處理os,但在要求較嚴格的實時系統,不宜採用該方式

2搶占方式(preemptive mode)

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

排程時機:程式完成; 發生某事件阻塞;新程序就緒;

特點:搶占的原則有很多種:優先權高的可以搶占優先順序低的程序的處理機。短作業(程序)可以搶占長作業(程序)                 的處理機。各程序按時間片執行,乙個時間片用完時重新進行排程。

1、先來先服務排程演算法fcfs

一種最簡單的排程演算法,按先後順序進行排程。既可用於作業排程,也可用於程序排程。 按照作業提交,或程序變為就緒狀態的先後次序分派cpu; 新作業只有當當前作業或程序執行完或阻塞才獲得cpu執行 被喚醒的作業或程序不立即恢復執行,通常等到當前作業或程序出讓cpu。 (所以,預設即是非搶占方式)

不足:不利於短作業

2. 短作業(程序)優先排程演算法sjf/spf

優點: 通過上表可見採用sjf/spf演算法,平均周轉時間、平均帶權周轉時間都有明顯改善。sjf/spf排程演算法能有效的降低作業的平均等待時間,提高系統吞吐量。

不足:1). 對短作業有利,但同時造成了對長作業的不利。      

2).由於作業(程序)的長短含主觀因素,不一定能真正做到短作業優先。

3).未考慮作業的緊迫程度,因而不能保證緊迫性作業(程序)的及時處理。

3. 高優先權優先排程演算法hpf

照顧緊迫性作業,使其獲得優先處理而引入排程演算法。常用於批處理系統中的作業排程演算法,以及多種作業系統中的程序排程演算法

優先權的型別

靜態優先權:建立程序時確定,整個執行期間保持不變。一般利用某一範圍的乙個整數來表示,又稱為優先數。

動態優先權:建立程序時賦予的優先權可隨程序的推進或隨其等待時間的增加而改變。

4,高響應比優先排程演算法hrrn

短作業優先演算法是一種比較好的演算法(相當於根據作業長度設定的靜態優先權演算法),適用於短作業較多的批處理系統中,         其主要不足是長作業的執行得不到保證。

hrrn為每個作業引入動態優先權,使作業的優先順序隨著等待時間的增加而以速率a提高:  

優先權 =(等待時間+要求服務時間)/要求服務時間

= 響應時間 / 要求服務時間

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

將系統中所有的就緒程序按照fcfs原則,排成乙個佇列。 每次排程時將cpu分派給隊首程序,讓其執行乙個時間片。時間片的長度從幾個ms到幾百ms。 在乙個時間片結束時,發生時鐘中斷。 排程程式據此暫停當前程序的執行,將其送到就緒佇列的末尾,並通過上下文切換執行當前就緒的隊首程序。

6,多級反饋佇列演算法fb

1)設定多個就緒佇列,各佇列有不同的優先順序,優先順序從第乙個佇列依次降低。

2) 賦予各佇列程序執行時間片大小不同, 優先權越高,時間片越短。

僅當優先權高的佇列(如第一佇列)空閒時,排程程式才排程第二佇列中的程序執行;僅當第1~(i-1)佇列均空時,才會排程第i佇列中的程序執行。

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

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

第三章 處理機排程與死鎖

處理機的 排程 1.高階排程 外存 週期較長,花費較多的時間 2.中級排程 記憶體 執行頻率介於另外兩種排程之間 3.低階排程 程序 執行頻率最高,演算法不能太複雜 面向使用者的準則 1.響應時間快 2.均衡性 3.截止時間的保證 4.優先權準則 面向系統的準則 1.系統吞吐量高 2.處理機利用率高...

第三章 處理機排程與死鎖

短作業優先 sjf 優先順序排程演算法 psa 高響應比優先排程 hrrn 優先權 等待時間 要求服務時間 要求服務時間。程序排程的任務 儲存處理機的現場資訊 按某種演算法選取程序 把處理器分配給程序。程序排程方式 非搶占式 一旦把處理機分配給某程序以後,就一直執行,直到完畢。搶占式 排程程式根據某...