從用戶的角度看,作業(yè)是系統(tǒng)為完成一個(gè)用戶的計(jì)算任務(wù)(或一次事務(wù)處理)所做的工作總和。例如,對(duì)于用戶編制的源程序,需經(jīng)過對(duì)源程序的編譯、連接編輯或連接裝入及運(yùn)行產(chǎn)生計(jì)算結(jié)果。這其中的每一個(gè)步驟,常稱為作業(yè)步,作業(yè)步的順序執(zhí)行即完成了一個(gè)作業(yè)。
從系統(tǒng)的角度看,作業(yè)則是一個(gè)比程序更廣的概念。它由程序、數(shù)據(jù)和作業(yè)說明書組成。系統(tǒng)通過作業(yè)說明書控制文件形式的程序和數(shù)據(jù),使之執(zhí)行和操作。而且,在批處理系統(tǒng)中,作業(yè)是占據(jù)內(nèi)存的基本單位。
用戶的作業(yè)可以通過直接的方式,由用戶自己按照作業(yè)步順序操作;也可以通過間接的方式,由用戶率先編寫的作業(yè)步依次執(zhí)行的說明,一次交給操作系統(tǒng),由系統(tǒng)按照說明依次處理。前者稱為聯(lián)機(jī)方式,后者稱為脫機(jī)方式。
1 作業(yè)狀態(tài)及其轉(zhuǎn)換
一個(gè)作業(yè)從交給計(jì)算機(jī)系統(tǒng)到執(zhí)行結(jié)束退出系統(tǒng),一般都要經(jīng)歷提交、后備、執(zhí)行和完成 4 個(gè)狀態(tài)。其狀態(tài)轉(zhuǎn)換如圖 1 所示。
(1)提交狀態(tài)。作業(yè)由輸入設(shè)備進(jìn)入外存儲(chǔ)器(也稱輸入井)的過程稱為提交狀態(tài)。處于提交狀態(tài)的作業(yè),其信息正在進(jìn)入系統(tǒng)。
(2)后備狀態(tài)。當(dāng)作業(yè)的全部信息進(jìn)入外存后,系統(tǒng)就為該作業(yè)建立一個(gè)作業(yè)控制塊(Job Control Block, JCB)。系統(tǒng)通過 JCB 感知作業(yè)的存在。 JCB 主要內(nèi)容包括作業(yè)名、作業(yè)狀態(tài)、資源要求、作業(yè)控制方式、作業(yè)類型及作業(yè)優(yōu)先權(quán)等。
(3)執(zhí)行狀態(tài)。一個(gè)后備作業(yè)被作業(yè)調(diào)度程序選中而分配了必要的資源并進(jìn)入了內(nèi)存,作業(yè)調(diào)度程序同時(shí)為其建立了相應(yīng)的進(jìn)程后,該作業(yè)就由后備狀態(tài)變成了執(zhí)行狀態(tài)。
(4)完成狀態(tài)。當(dāng)作業(yè)正常運(yùn)行結(jié)束,它所占用的資源尚未全部被系統(tǒng)回收時(shí)的狀態(tài)為完成狀態(tài)。

2 用戶接口
用戶接口也稱為用戶界面,其含義有兩種,一種是指用戶與操作系統(tǒng)交互的途徑和通道,即操作系統(tǒng)的接口;另一種是指這種交互環(huán)境的控制方式,即操作環(huán)境。
2.1 操作系統(tǒng)的接口
操作系統(tǒng)的接口又可分成命令接口和程序接口。
- 命令接口包含鍵盤命令和作業(yè)控制命令;
- 程序接口又稱為編程接口或系統(tǒng)調(diào)用,程序經(jīng)編程接口請(qǐng)求系統(tǒng)服務(wù),即通過系統(tǒng)調(diào)用程序與操作系統(tǒng)通信。系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。系統(tǒng)調(diào)用對(duì)用戶屏蔽了操作系統(tǒng)的具體動(dòng)作而只提供有關(guān)功能。系統(tǒng)調(diào)用大致分為設(shè)備管理、文件管理、進(jìn)程控制、進(jìn)程通信和存儲(chǔ)管理等。
2.2 操作環(huán)境
操作環(huán)境支持命令接口和程序接口,提供友好的、易用的操作平臺(tái)。
操作系統(tǒng)的交互界面已經(jīng)從早期的命令驅(qū)動(dòng)方式,發(fā)展到菜單驅(qū)動(dòng)方式、圖符驅(qū)動(dòng)方式和視窗操作環(huán)境。
3 作業(yè)調(diào)度
處理器調(diào)度通常分為三級(jí)調(diào)度,即高級(jí)調(diào)度 、 中級(jí)調(diào)度和低級(jí)調(diào)度。
- 高級(jí)調(diào)度。高級(jí)調(diào)度也稱為作業(yè)調(diào)度。高級(jí)調(diào)度的主要功能是在批處理作業(yè)的后備作業(yè)隊(duì)列中選擇一個(gè)或者一組作業(yè),為它們建立進(jìn)程,分配必要的資源,使它們能夠運(yùn)行起來 。
- 中級(jí)調(diào)度。中級(jí)調(diào)度也稱為交換調(diào)度,中級(jí)調(diào)度決定進(jìn)程在內(nèi)存 、 外存之間的調(diào)入 、 調(diào)出。其主要功能是在內(nèi)存資源不足時(shí)將某些處于等待狀態(tài)或就緒狀態(tài)的進(jìn)程調(diào)出內(nèi)存,騰出空間后,再將外存上的就緒進(jìn)程調(diào)入內(nèi)存。
- 低級(jí)調(diào)度。低級(jí)調(diào)度也稱為進(jìn)程調(diào)度,低級(jí)調(diào)度的主要功能是確定處理器在就緒進(jìn)程間的分配。作業(yè)調(diào)度主要完成從后備狀態(tài)到執(zhí)行狀態(tài)的轉(zhuǎn)變,以及從執(zhí)行狀態(tài)到完成狀態(tài)的轉(zhuǎn)變。
作業(yè)調(diào)度算法有:
先來先服務(wù) ( First Come and First Served,F(xiàn)CFS ) 。按作業(yè)到達(dá)的先后次序調(diào)度,它不利于短作業(yè);
短作業(yè)優(yōu)先 ( ShortJobFirst,SJF ) 。按作業(yè)的估計(jì)運(yùn)行時(shí)間調(diào)度,估計(jì)運(yùn)行時(shí)間短的作業(yè)優(yōu)先調(diào)度。它不利于長(zhǎng)作業(yè),可能會(huì)使一個(gè)估計(jì)運(yùn)行時(shí)間長(zhǎng)的作業(yè)遲遲得不到執(zhí)行。
響應(yīng)比高者優(yōu)先 (Highest Response ratio Next , HRN)。 是對(duì) FCFS 先來先服務(wù)方式和 SJF 短作業(yè)方式的一種綜合平衡。 FCFS 方式只考慮每個(gè)作業(yè)的等待時(shí)間而未考慮執(zhí)行時(shí)間的長(zhǎng)短,而 SJF 方式只考慮執(zhí)行時(shí)間而未考慮等待時(shí)間的長(zhǎng)短。因此,這兩種調(diào)度算法在某些極端情況下會(huì)帶來某些不便 。HRN 調(diào)度策略則同時(shí)考慮每個(gè)作業(yè)的等待時(shí)間長(zhǎng)短和估計(jì)需要的執(zhí)行時(shí)間長(zhǎng)短,從中選出響應(yīng)比最高的作業(yè)投入執(zhí)行。響應(yīng)比 R 的定義如下:
R =( W + T ) /T =1 + W / T
其中 T 為該作業(yè)估計(jì)需要的執(zhí)行時(shí)間, W 為作業(yè)在后備狀態(tài)隊(duì)列中的等待時(shí)間。每當(dāng)要進(jìn)行作業(yè)調(diào)度時(shí),系統(tǒng)計(jì)算每個(gè)作業(yè)的響應(yīng)比,選擇其中 R 最大者投入執(zhí)行。這樣,即使是長(zhǎng)作業(yè),隨著它等待時(shí)間的增加, W/T 也就隨著增加,也就有機(jī)會(huì)獲得調(diào)度執(zhí)行。這種算法是介于 FCFS 和 SJF 之間的一種折中算法。由于長(zhǎng)作業(yè)也有機(jī)會(huì)投入運(yùn)行,在同一時(shí)間內(nèi)處理的作業(yè)數(shù)顯然要少于 SJF 法,也即采用 HRN 方式其吞吐量將小于采用 SJF 法時(shí)的吞吐量。另外,由于每次調(diào)度前要計(jì)算響應(yīng)比,系統(tǒng)開銷也要相應(yīng)增加 。
- 優(yōu)先級(jí)調(diào)度。根據(jù)作業(yè)的優(yōu)先級(jí)別,先調(diào)度優(yōu)先級(jí)高的作業(yè)。