簡介
作業是一個比程式更為廣泛的概念,它不僅包含了通常的程式和數據,而且還應配有一份作業說明書,系統根據該說明書來對程式的運行進行控制。在批處理系統中,是以作業為基本單位從外存調入記憶體的。
作業控制語言列表是指作業控制語言要控制作業數量以及作業相關信息列表或作業要執行哪些操作的列表,即作業步,不同作業,作業步一般是有所區別的。在計算機系統,有多種作業類型,如CPU 繁忙型、I/O 繁忙型、批量型、終端型。不同作業類型對應優先權一般是不相同的,作業控制語言列表顯示不同作業類型列表,方便調度程式進行作業調度。
作業控制語言列表內容
作業控制語言列表一般包括:作業的基本描述、作業控制描述和資源請求描述。作業基本描述主要包括用戶名、作業名、使用的程式語言名、允許的最大處理時間等。而作業控制描述則大致包括作業在執行過程中的控制方式,例如是脫機控制還是在線上控制、各種作業步的操作順序以及作業不能正常執行時的處理等。資源請求描述包括要求記憶體大小、外設種類和台數、處理機優先權、所需處理時間、所需庫函式或實用程式等。
作業步
在一個作業中,每一次程式的執行稱為一個作業步,一個作業可包含幾個作業步。一般的,一個作業由以下相對獨立的三步組成:① “編譯”作業步,通過執行編譯程式對源程式進行編譯,產生若干個目標程式段;② “連結裝配”作業步,將“編譯”作業步所產生的若干個目標程式段裝配成可執行的目標程式;③ “運行”作業步,將可執行的目標程式讀入記憶體並控制其運行。
一個作業中的各步是順序執行的,因此一個作業步的輸出可以作為下一個作業步的輸入。
大型伺服器系統中用戶的作業可以由一個或多個作業步構成。只有一個作業步的作業叫做單步作業;由多個作業步構成的作業叫做多步作業。不論單步作業還是多步作業都必須包含三個作業控制語言基本語句(JCL Statement)。它們分別是:
(1)作業語句(JOB):標識一個作業的開始,提供必要的運行參數。
(2)執行語句(EXEC):標識一個 作業步的開始,定義本作業步所要執行的程式或過程。
(3)數據定義語句(DD):用於描述應用程式所需要的數據檔案。
作業控制語言由九種語句組成,除了上一節中討論過的三種基本語句外,還有以下六種附加語句:
(1)/* 語句:表示六內數據結束或調用JES 控制語句;
(2)//*語句:注釋語句,由第4到第80列寫出注釋內容;
(3)//語句: 空語句,用以標記一個作業的結束;
(4)PROC 語句:流內過程(IN-STREAM PROCEDURE)或編目過程(CATALOGED PROCEDURE)的起始標記。
(5)PEND語句:標誌一個流內過程的結束。
(6)Command語句:操作員用這個語句在輸入流中寫入操作命令。
作業控制語言基本命令及功能
基本命令
在大部分作業控制語言中所用到的命令大致為下列這些:
1.用某個編譯程式對一個程式進行編譯.
2.把某個程式中所用到的全部過程連線起來.
3.執行某個連結程式.
4.定義一份檔案,
5.把一份檔案寫入到目錄表中.
6.從目錄表中撤除一份檔案.
7.請求裝上某盤磁帶.
8.把存貯器轉貯為八進制或十六進制.
9.對某份檔案進行複製.
10.為了今後繼續運行而把某一進程的狀態保存起來(檢驗點).
功能
作業控制語言的主要功能有四點。
(1)能提供作業的提交;
(2)能控制作業和作業步的執行;
(3)能提供對各種軟硬體資源的使用;
(4)其它各種功能,如日曆、時間、帳號等。
作業調度
調度在計算機中是分配工作所需資源的方法。資源可以指虛擬的計算資源,如執行緒、進程或數據流;也可以指硬體資源,如處理器、網路連線或擴展卡。作業調度的基本任務是從後備佇列中按照一定的算法,選擇出若干個作業,為它們分配運行所需的資源(首先是分配記憶體)。在將它們調入記憶體後,便分別為它們建立進程,使它們都成為可能獲得處理機的就緒進程,並按照一定的算法將它們插入就緒佇列。