處理機排程 基本概念

2021-08-31 18:32:53 字數 2410 閱讀 2613

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

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

處理機排程的層次

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

(1)高階排程(長程排程、作業排程)

外存的後備佇列的程序調入記憶體,為他們建立程序、分配必要的資源,並將它們放入就緒佇列

作業排程的主要任務:

接納多少作業——取決於多道程式度

接納哪些作業——取決於採用的排程演算法

注:系統執行並不一定存在高階排程的情況:

批處理系統:作業進入系統後先駐留外存,故需要有作業排程。

分時系統:為及時響應,作業由終端直接送入記憶體,故不需作業排程。

實時系統中,通常也不需作業排程。

(2)中級排程(記憶體排程)

目的:提高記憶體的利用率和系統的吞吐量根據條件將一些程序調入或再調出記憶體(掛起和喚醒)

(3)低階排程(短程排程、程序排程)

根據某種演算法,決定就緒佇列的哪個程序獲取cpu。是最基本的一種排程,在三種基本os中都有

a.程序排程的任務

①記錄系統中所有程序的有關情況(記錄在pcb中)

②確定分配處理機的原則(演算法)

③分配處理機給程序(儲存、更新cpu現場)

④從程序收回處理機

b.程序排程機制

①排隊器(各類佇列的排列次序)

②分派器(分配cpu給程序)

③上下文切換器:

兩對上下文切換:a、儲存當前程序的上下文到pcb,裝入分派程式的上下文 b、移出分派程式的上下文,裝入新程序的cpu現場資訊(方法:兩組暫存器,一組供系統態使用,另一組**用程式使用)

c.程序排程方式及其比較:

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

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

* 搶占方式(preemptive mode)

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

比較:

三種排程的頻率和複雜度

程序排程:執行頻率最高,演算法不能太複雜,以免占用太多的cpu時間。分時系統通常10~100ms便進行一次。

作業排程:乙個作業執行完畢退出系統時即觸發重新排程乙個新作業入記憶體,週期較長,大約幾分鐘一次。因而也允許作業排程演算法花費較多的時間。

中級排程:執行頻率基本上介於上述兩種排程之間。

==》程序排程什麼時候發生:

①正在執行的程序結束

②正在執行的程序阻塞

③正在執行的程序未完成轉就緒(時間片完)

④就緒了更高優先順序的程序(搶占式)

帶權周轉時間 w= t/ts帶權周轉時間越大,優先順序越高

作為使用者:希望自己作業的周轉時間最短

作為計算機管理者:希望平均周轉時間最短

響應時間快:針對分時系統。使用者輸入乙個請求(如擊鍵)到系統給出首次響應(如螢幕顯示)的時間

均衡性:系統響應時間的快慢與使用者所請求的複雜性相適應。

截止時間的保證:針對實時系統的效能指標。開始截止時間和完成截止時間。任務必須按規定的時間開始或完成,排程方式和演算法必須能保證該要求。

優先權準則:三大基本os在排程演算法的選擇時都可遵循。可以使關鍵任務達到更好的指標。

(2)面向系統的準則

*系統吞吐量高:批處理系統的重要指標。

單位時間內所完成的作業數,跟作業本身(與作業平均長度密切相關)和排程演算法都有關係;

*處理機利用率好(主要針對大中型主機)

*各類資源的平衡利用(主要針對大中型主機)

不同系統需求各有側重

a.批處理系統:平均周轉時間短,系統吞吐量高,處理機利用率好

b.分時系統:響應時間快,均衡性

c.實時系統:截至時間的保證,可**性

處理機排程基本概念

多道程式環境下,動態的把處理機分配給就緒佇列中的乙個程序使之執行。提高處理機的利用率 改善系統效能,很大程度上取決於處理機排程的效能。處理機排程便成為os設計的中心問題之一。分配的任務由處理機排程程式完成。作業進入系統駐留在外存的後備佇列上,再至調入記憶體執行完畢,可能要經歷下述 排程。又稱作業排程...

處理機排程的概念,層次

按照某種演算法選擇乙個程序將處理機分配給它 要做什麼 排程發生在 發生頻率 對程序狀態的影響 高階排程 作業排程 按照某種規則,從後備佇列中選擇合適的作業將其調入記憶體,並為其建立程序 外存 記憶體 面向作業 最低無 建立態 就緒態 中級排程 記憶體排程 按照某種規則,從掛起佇列中選擇合適的程序將其...

處理機排程的概念 層次

總結當有一堆任務要處理,但由於資源有限,這些事情沒法同時處理。這就需要確定某種規則來決定處理這些任務的順序,這就是 排程 研究的問題。在多道程式系統中,程序的數量往往是多於處理機的個數的,這樣不可能同時並行地處理各個程序。處理機排程,就是從就緒佇列中按照一定的演算法選擇乙個程序並將處理機分配給它執行...