1. 程式人生 > >三、處理機管理(三)--作業排程

三、處理機管理(三)--作業排程

  • 作業排程

作業:使用者要求計算機系統所做的一個計算問題或一次事務處理的完整過程。

作業步:任何一個作業都要經過若干加工步驟之後,才能得到結果。每一個加工步驟為一個作業步。

作業控制塊:在把一個作業提交給系統時,系統也要開闢一個作業控制塊(Job control block, JCB),以便隨時記錄作業的資訊。被系統接納的佇列,在沒有投入執行之前,稱為後備作業。這些作業的PCB把他們連在一起,稱為後備作業佇列。

作業排程(高階排程):按照某種規則,從後備作業佇列中挑選作業進入記憶體,參與處理機的競爭,這個過程稱為作業排程。

作業排程程式:完成這項工作的程式。

作業排程演算法:作業排程程式中採用的規則。

作業的狀態:(1)提交狀態。一個作業進入輔助儲存器時的狀態。

                      (2)後備狀態(收容狀態)。在系統收到一個作業的全部資訊後,為他建立起作業控制塊JCB,並將JCB排到後備作                                                                                   業佇列中。

                      (3)執行狀態。參與CPU的競爭。

                      (4)完成狀態。作業執行結束。

  • 作業的排程演算法

週轉時間 = 完成時間 - 到達時間

平均週轉時間 = 各個作業的週轉時間之和 / 作業個數

加權週轉時間 = 週轉時間 / 執行時間(所需CPU時間)

平均加權週轉時間 = 各個作業的加權週轉時間之和 / 作業個數

所有作業的平均加權週轉時間越大,代表作業執行時,累計等待時間越長,也就是這個作業排程演算法的效率越低。

  • (1)“先來先服務”作業排程演算法

                         以作業進入後備作業佇列的先後次序,作為作業排程程式挑選作業的依據。重點考慮的是作業在後備作業佇列裡的等待時間,對短作業不利。

  • (2)“短作業優先”作業排程演算法

                         要求每個使用者對自己作業所需耗費的CPU時間做一個估計,作業排程程式工作時,總是從後備作業佇列中挑選所需CPU時間最少且資源能夠得到滿足的作業進入記憶體投入執行。

                        重點考慮的是作業所需的CPU時間,對長作業不利。

  • (3)“響應比高者優先”作業排程演算法     (折中的作業排程演算法)

                        響應比 = 作業已等待時間 / 所需CPU時間

短作業比較容易獲得較高的響應比,因為他的分母小;

長作業分母雖大,但是隨著等待時間的增加,比值也會逐漸上升,從而獲得較高的響應比。

 


參考自《作業系統實用教程》