? ? ? ? 作業(yè)是一個(gè)比程序更為廣泛的概念,它不僅包含了通常的程序和數(shù)據(jù),而且配有一份作業(yè)說明書,系統(tǒng)根據(jù)該說明書對程序的運(yùn)行進(jìn)行控制。在多道批處理系統(tǒng)中,會(huì)將作業(yè)作為基本單位從外存調(diào)入內(nèi)存。
? ? ? ? 在多道批處理系統(tǒng)中,作業(yè)是用戶提交給系統(tǒng)的一項(xiàng)相對獨(dú)立的工作。操作員把用戶提交的作業(yè)通過相應(yīng)的輸入設(shè)備輸入磁盤存儲(chǔ)器,并保存在一個(gè)后備作業(yè)隊(duì)列中,再由作業(yè)調(diào)度程序?qū)⑵鋸耐獯嬲{(diào)入內(nèi)存。? ?
? ? ? ? 作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行結(jié)束,通常需要經(jīng)歷收容、運(yùn)行和完成三個(gè)階段。相應(yīng)的作業(yè)也就有“后備狀態(tài)”、“運(yùn)行狀態(tài)”、“完成狀態(tài)”。
(1)收容階段。
? ? ? ? 操作員把用戶提交 的作業(yè)通過某種輸入方式或SPOOLing系統(tǒng)輸入到硬盤(外存)上,再為該作業(yè)建立JCB(作業(yè)控制塊,其中保存了系統(tǒng)對作業(yè)進(jìn)行管理和調(diào)度所需的全部信息),并把它放入作業(yè)后備隊(duì)列(位于外存)中。相應(yīng)地、此時(shí)作業(yè)的狀態(tài)為“后備狀態(tài)”。
由誰來創(chuàng)建JCB?? ? ? ? “作業(yè)注冊”程序。

(2)運(yùn)行階段。
? ? ? ? 當(dāng)作業(yè)被作業(yè)調(diào)度(見調(diào)度)選中后,便為它分配必要的資源和建立進(jìn)程,并將它放入就緒隊(duì)列。一個(gè)作業(yè)從第一次進(jìn)入就緒狀態(tài)開始,直到它運(yùn)行結(jié)束前,在此期間都處于“運(yùn)行狀態(tài)”。
(3) 完成階段。
? ? ? ? 當(dāng)作業(yè)運(yùn)行完成、或者發(fā)生異常情況而提前結(jié)束時(shí),作業(yè)便進(jìn)入完成階段,相應(yīng)的作業(yè)狀態(tài)為“完成狀態(tài)”。此時(shí)系統(tǒng)中的“終止作業(yè)”程序 會(huì)回收已分配給該作業(yè)的作業(yè)控制塊JCB和所有資源,并將作業(yè)運(yùn)行結(jié)果信息形成輸出文件后輸出。

? ? ? ? 一個(gè)作業(yè)可以細(xì)分為多個(gè)進(jìn)程,正如一個(gè)進(jìn)程可以劃分為多個(gè)線程一樣。這樣便不難理解,作業(yè)運(yùn)行,其實(shí)就是多個(gè)進(jìn)程在進(jìn)行進(jìn)程的三態(tài)轉(zhuǎn)換。