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