處理機排程

2021-10-12 14:02:28 字數 1500 閱讀 4405

多道程式系統中,程序的數量往往多於處理機的個數,程序爭用處理機的情況在所難免。處理機排程是對處理機進行分配,即從就緒佇列中按照一定的演算法選擇乙個程序並將處理機分配給它執行,以實現程序併發執行。

乙個作業從提交到完成,經歷以下**排程:

作業排程:從外存中選擇乙個或多個作業,分配記憶體、輸入/輸出等必要資源,並建立相應的程序(作業包含乙個或多個程序)。作業排程執行效率低,通常幾分鐘一次。

中級排程:又稱記憶體排程,將暫時不能執行的程序調至外存等待(掛起態),記憶體寬鬆時,把具備執行條件的程序調入記憶體,修改其狀態為就緒態。作用是提高記憶體利用率和系統吞吐量

程序排程:又稱低階排程,按照某種策略從就緒佇列中選取乙個程序,將處理機分配給它。程序排程頻率很高,一般幾十毫秒一次。

總結:作業排程:外存→記憶體(就緒態);中級排程:就緒態與掛起態轉換;程序排程:就緒態→執行態

當某個程序正在處理機上執行時,若有某個更重要或緊迫的程序需要處理,即有優先權更高的程序進入就緒佇列,此時如何分配處理機。

用來比較評價排程演算法的準則:三個關鍵時間點是作業提交時間、開始執行時間、作業完成時間

cpu利用率:應盡可能使cpu保持「忙」狀態。

系統吞吐量:單位時間內cpu完成作業的數量。長作業會降低系統吞吐量,短作業則會提高。

周轉時間:從作業提交到作業完成所經歷的時間。是作業等待、就緒佇列排隊、處理機上執行及輸入輸出所花費時間的總和。

周 轉時

間=作業

完成時間

−作業提

交時

間周轉時間=作業完成時間-作業提交時間

周轉時間=作

業完成時

間−作業

提交時間

帶 權周

轉時間=

周轉時間

/實際運

行時間帶權

周轉時間

=周轉時

間/實際

執行時間

等待時間:程序處於等處理機狀態的時間之和。處理機排程演算法實際上並不影響作業執行或i/o時間,只影響作業等待時間

等 待時

間=開始

執行時間

−作業提

交時

間等待時間=開始執行時間-作業提交時間

等待時間=開

始執行時

間−作業

提交時間

響應時間:從使用者提交到系統首次產生響應所用的時間。

作業號提交時間

執行時間18

228.41

38.8

0.54

90.2

處理機排程

如果沒有處理機排程,則意味著必須等待當前程序執行完畢後下一程序才能執行,而程序常需等待外設的輸入,i o的速度相比處理機是非常慢的,因此這會對處理機資源造成嚴重浪費。引入排程後,可在執行程序等待輸入時把處理機排程給其他程序,從而提高處理機的利用率。作業排程 高階 在外存的作業中挑選乙個或多個作業,給...

處理機排程

又稱高階排程,其主要任務是按一定的原則從外存上處於後備狀態的作業中挑選乙個或多個作業,給它分配記憶體 輸入 輸出裝置等必要的資源,並建立相應的程序,以使它獲得競爭處理機的權利。記憶體與輔存之間的排程。每個作業只調入一次 調出一次。提高記憶體利用率和系統吞吐量。使暫時不能執行的程序,調至外存等待,把此...

處理機排程

高階排程 中級排程和低階排程 處理機制排程目標是滿足系統的目標 如響應時間 吞吐率 處理機速率 的方式。這個排程活動中分成三個層次 高階排程 中級排程和低階排程。高階排程 建立程序時執行,它需要決定是否把程序新增到當前活躍的程序集合中。由輸入機向輸入井傳輸的作業處於提交狀態,進入輸入井尚未被調入記憶...