作業調度是從處于“后備”狀態的隊列中選取作業投入運行。一個作業從交給計算機系統到執行結束退出系統,一般都要經歷提交、后備、執行和完成四個狀態。后備狀態是指把作業的全部信息進入外存后,為進入系統的作業建立作業控制塊,并把它加入到后備作業隊列中,等候作業調度程序調度;而當作業被作業調度程序選中,且分配了必要的資源,建立一組相應的進程后,該作業就進入了運行狀態。

本教程操作環境:windows7系統、Dell G3電腦。
作業調度的主要功能是根據作業控制塊中的信息,審查系統能否滿足用戶作業的資源需求,以及按照一定的算法,從外存的后備隊列中選取某些作業調入內存,并為它們創建進程、分配必要的資源。然后再將新創建的進程插入就緒隊列,準備執行。因此,有時也把作業調度稱為接納調度。
作業狀態
作業從進入系統到運行結束,一般要經歷進入、收容、運行、完成四個階段。相應地,一個作業從交給計算機系統到執行結束退出系統,一般都要經歷提交、后備、執行和完成四個狀態。
-
進入狀態:即提交狀態,作業由輸入設備進入外存儲器(也稱輸入井)的過程;處于提交狀態的作業,其信息正在進入系統。
-
后備狀態:當作業的全部信息進入外存后,系統就為該作業建立一個作業控制塊(JCB)。
操作員把作業輸入到直接存取的后援存取器后,為進入系統的作業建立作業控制塊,并把它加入到后備作業隊列中,等候作業調度程序調度。這一過程也稱為作業注冊。
-
運行狀態:作業被作業調度程序選中,且分配了必要的資源,建立一組相應的進程后,該作業就進入了運行狀態。它分為三種狀態:即就緒狀態、執行狀態、阻塞狀態。
一個后備作業被作業調度程序選中分配了必要的資源并進入了內存,作業調度程序同時為其建立了相應的進程后,該作業就由后備狀態變成了執行狀態。
-
完成狀態:當作業正常運行結束或因發生錯誤而終止時,作業進入完成階段。 一般來說,作業調度程序需從處于后備狀態的隊列中選取適當的作業投入運行。
作業調度的步驟如下:
-
(1)根據JCB屬性建立JCB控制表格,記錄作業各種工作狀態;
-
(2)采用選定的調度算法,從后備作業中選出一道或多道作業投入運行;
-
(3)為被選中的作業做好運行前的準備工作,包括創建進程及為相應的進程分配系統資源:
-
(4)作業運行結束后的善后處理工作。比如狀態登記、資源回收、輸出處理、作業的撤銷。
常用的作業調度算法
常用的作業調度算法有先來先服務、最短作業優先法、響應比高者優先和優先數法。
-
(1)先來先服務(FCFS)。按作業到達的先后次序調度,它不利于短作業。
-
(2)短作業優先(SJF)。按作業的估計運行時間調度,估計運行時間短的作業優先調度。它不利于長作業,可能會使一個估計運行時間長的作業遲遲得不到服務。
-
(3)響應比高者優先(HRN)。綜合上述兩者,既考慮作業估計運行時間,又考慮作業等待時間,響應比是:HRN=(估計運行時間+等待時間)/估計運行時間。
-
(4)優先級調度。根據作業的優先級別,優先級高者先調度。
此外,我們還需了解幾個重要概念。
1.作業的周轉時間 作業的周轉時間是指從作業提交到作業完成之間的時間間隔。作業i的周轉時間 Ti可用公式表示如下: Ti=Tei-Tsi 其中Tei為作業i的完成時間,Tsi為作業i的提交時間。
2.平均周轉時間 平均周轉時間是指多個作業的周轉時間的平均值。n個作業的平均周轉時間了可用公式表示如下: T=(T1+T2+…+Tn)/n
3.帶權周轉時間 帶權周轉時間是指作業周轉時間與作業實際運行時間的比。作業i的帶權周轉時間 Wi可用公式表示如下: Wi=Ti/Tri其中Ti為作業i的周轉時間,Tri為作業i的實際運行時間。
4.平均帶權周轉時間 平均帶權周轉時間是指多個作業的帶權周轉時間的平均值。
站長資訊網