版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章作業(yè)管理山東交通學院沈祥玖中國水利水電出版社
第六章作業(yè)管理
前面幾章我們詳細討論了操作系統(tǒng)的文件管理、存儲管理、進程管理和設備管理,這是操作系統(tǒng)對計算機系統(tǒng)軟、硬件資源的管理。那么用戶如何來使用計算機呢?本章將對這方面的內容加以介紹,也就是作業(yè)管理的相關知識說明。
1.作業(yè)的概念2.作業(yè)調度3.用戶與操作系統(tǒng)的接口4.作業(yè)控制5.本章小結所謂作業(yè),就是用戶在一次運算過程中,或一次事務處理中要求計算機所做的全部工作。用戶在使用計算機運算或處理信息時,往往先將自己想做的處理過程用某種程序設計語言表達出來,也就是編制源程序,然后把源程序和初始數(shù)據(jù)輸入到計算機系統(tǒng),經過編譯、連接、運行等步驟后,得到處理結果。
6.1.作業(yè)的概念例如用戶用C語言編了一個程序,在編輯完源程序之后,為得到程序的運行結果,計算機將做如下處理:首先編譯源程序,進行詞法、語法的檢查,得到相應的目標程序;然后將目標程序連接生成可執(zhí)行文件;運行這個可執(zhí)行文件,并輸出結果。作業(yè)就是嚴格按照上述次序執(zhí)行完成的。在處理作業(yè)過程中,所經過的如編譯、連接、運行等步驟等稱為作業(yè)步。一個作業(yè)的各作業(yè)步之間并非相互獨立,它們在邏輯上是順序執(zhí)行的:上一個作業(yè)步的輸出是下一個作業(yè)步的輸入,即前一作業(yè)步運行所產生的結果,正好是下一作業(yè)步所需要的數(shù)據(jù);只有上一個作業(yè)步順利完成,下一個作業(yè)步才可繼續(xù)運行。
若源程序有錯,系統(tǒng)在編譯過程中會給出編輯中出現(xiàn)的錯誤,重新修改后,再重新進行編譯,如此反復直至編譯成功為止。只有編譯無錯誤時才能進行連接裝配,連接成功后即可運行程序輸出結果。在批處理系統(tǒng)中,常把一批作業(yè)安排在輸入設備上,然后按某種調度算法依次讀入系統(tǒng)中進行相應處理,從而形成一個作業(yè)流。作業(yè)流中的各作業(yè)用專門的標志卡或語句隔開。小系統(tǒng)一般有一個作業(yè)流,大系統(tǒng)可以同時有幾個作業(yè)流。
back作業(yè)調度又稱為高級調度,它是根據(jù)某種調度算法,從后備作業(yè)隊列中選出若干個作業(yè),為它們分配必要的系統(tǒng)資源后,使之進入內存運行。這個調度過程是由作業(yè)調度程序完成的。一旦某個作業(yè)被選中,系統(tǒng)就為該作業(yè)創(chuàng)建相應的作業(yè)進程,并把這些進程交給進程調度程序去調度執(zhí)行,即進程調度。進程調度又稱低級調度。6.2.作業(yè)調度
一個作業(yè)從提交給系統(tǒng),一般需要經歷“提交”、“收容”、“執(zhí)行”、“完成”四個階段,我們將作業(yè)在每一階段所處的狀態(tài)分別叫做“提交”、“后備”、“運行”、“完成”。這四種狀態(tài)的轉換過程如圖6-2-1所示。6.2.1作業(yè)的狀態(tài)及其轉換一個作業(yè)被提交給機房后或用戶通過終端鍵盤向計算機中鍵入其作業(yè)時所處的狀態(tài)叫做提交狀態(tài)。1.提交狀態(tài)作業(yè)由輸入設備(如讀卡機)進入外存儲器的過程叫做收容。輸入方式可以是脫機輸入或是假脫機輸入。當作業(yè)的全部信息調入外存后,系統(tǒng)就要為該用戶作業(yè)建立一個作業(yè)控制塊(JCB)。JCB包含了對該作業(yè)管理控制的必要信息,是以后進行作業(yè)調度的依據(jù)。一旦收容過程完成,系統(tǒng)就把JCB加入到后備作業(yè)隊列中等候作業(yè)調度程序調度。此時的作業(yè)就處于后備狀態(tài)。2.后備狀態(tài)在運行過程中,系統(tǒng)對作業(yè)進行管理的必要信息。作業(yè)名估計執(zhí)行時間優(yōu)先數(shù)(用于調度)作業(yè)說明書文件名程序類型(需調用的系統(tǒng)程序)資源要求:(靜態(tài),或中間可以隨作業(yè)步變化--效率不高;動態(tài)分配作業(yè)狀態(tài):提交、后備、執(zhí)行、就緒、等待、完成;作業(yè)控制表(JCB,JobControlBlock)
作業(yè)調度Spooling輸入
運行狀態(tài)
進程調度完成狀態(tài)
執(zhí)行
就緒
阻塞圖
6-2-1作業(yè)狀態(tài)轉換過程
提交收容用戶進程調度I/O等待進程一個后備作業(yè)被作業(yè)調度程序選中,分配了必要的資源,建立一組相應的進程后,此作業(yè)就進入執(zhí)行狀態(tài)。處于運行狀態(tài)的作業(yè)以進程的方式參與多道程序系統(tǒng)的并發(fā)執(zhí)行,它可以被進程調度程序選中而在處理機上執(zhí)行;也可能在等待某種事件處于阻塞狀態(tài);也可能一切就緒,只等進程調度程序來調度。3.執(zhí)行狀態(tài)總之,從宏觀上看,它已處于運行狀態(tài)。為了便于管理,對處于運行狀態(tài)的作業(yè)根據(jù)其活動情況又把它分為三種狀態(tài):就緒狀態(tài)、執(zhí)行狀態(tài)和阻塞狀態(tài)。三種狀態(tài)間的轉換,前面進程一章已經介紹過,不再重復。作業(yè)就在進程的狀態(tài)轉換過程中,以走走停停的方式前進,直至運行結束。值得注意的是,作業(yè)執(zhí)行過程中,每個作業(yè)步結束,作業(yè)調度程序都將檢查該作業(yè)步是否為正常結束。若是正常結束,則繼續(xù)把下一個作業(yè)步投入執(zhí)行,直到該作業(yè)的全部作業(yè)步執(zhí)行完畢。若其中某一個作業(yè)步是非正常結束,則停止執(zhí)行以后的作業(yè)步,并給出錯誤信息。當作業(yè)運行結束或因發(fā)生錯誤中途終止時,作業(yè)進入完成狀態(tài)。這時,系統(tǒng)將它的JCB從現(xiàn)行作業(yè)隊列中刪除,并將作業(yè)占用的資源收回。然后,系統(tǒng)將作業(yè)運行情況及作業(yè)輸出結果編制成輸出文件送入外存。最后,以脫機方式或假脫機方式將該作業(yè)的輸出文件打印輸出。4.完成狀態(tài)1、作業(yè)調度程序完成作業(yè)調度功能的程序稱為作業(yè)調度程序。它通常作為一個進程在系統(tǒng)中執(zhí)行。6.2.2.作業(yè)調度作業(yè)調度程序通常具備以下功能:(1)按照某種調度算法從后備作業(yè)隊列中挑選作業(yè)投入運行。(2)為選中的作業(yè)分配必要的資源(如主存和外設),并建立有關的進程。(3)記錄進入系統(tǒng)的作業(yè)情況。通常為每一個作業(yè)配置一個作業(yè)控制塊(JCB),用來記錄作業(yè)在其生命期各階段的狀況。(4)作業(yè)結束時,完成該作業(yè)的善后處理工作,如釋放資源,撤消該作業(yè)的全部進程(PCB表)和作業(yè)控制塊JCB表等。其中,關鍵問題是確定作業(yè)調度算法,即按照什么原則選取作業(yè)投入運行。調度算法的選擇與系統(tǒng)追求的目標聯(lián)系密切,而這些目標往往是相互矛盾的。一般來說,系統(tǒng)所追求的目標主要有如下幾個:(1)較高的系統(tǒng)吞吐率,即要求每天處理盡可能多的作業(yè)。(2)最高的資源利用率,即使處理機和外部設備得到最充分的利用。(3)使所有用戶都感到滿意,即對各種作業(yè)應公平合理。
顯然,為了實現(xiàn)較高的系統(tǒng)吞吐率,系統(tǒng)該選擇處理短小的作業(yè),而這勢必與目標(3)沖突,因為大作業(yè)的用戶肯定不滿意;如果讓大作業(yè)運行,這使得CPU的利用率較高,但小作業(yè)的等待時間過長,用戶會有意見,并且這也與目標(1)矛盾。
因此可以看出,設計一個能滿足所有目標的調度算法是不可能的,我們只能根據(jù)系統(tǒng)的使用環(huán)境來確定使用何種調度算法。實際上,對于一個具體系統(tǒng)來說,如果考慮的因素過多,必然導致調度算法復雜化,增加系統(tǒng)的開銷,這樣反而不利于提高資源利用率。因此,大多數(shù)操作系統(tǒng)都采用比較簡單、有效的作業(yè)調度算法。操作系統(tǒng)使用的作業(yè)調度算法很多,但在實際的系統(tǒng)設計時,一般將那些對系統(tǒng)運行影響較大的關鍵因素作為調度算法考慮的主要依據(jù)。下面只簡單介紹幾個調度算法。
2、調度算法先來先服務算法是最簡單的調度方法。其基本原則是按照作業(yè)到達系統(tǒng)的先后次序來選擇作業(yè)運行。這種算法優(yōu)先考慮等待時間最長的作業(yè),不管作業(yè)運行時間的長短。FCFS策略是屬于不可搶占策略。表面看來,對所有作業(yè)是公平的,并且一個作業(yè)的等待時間是可預測的。但是如果一個大作業(yè)到達系統(tǒng)運行時,就會使許多小作業(yè)等待很長時間,增加了平均的作業(yè)周轉時間,因而許多小作業(yè)來說,就有失公平了。(1)先來先服務調度算法FCFS按照作業(yè)的優(yōu)先級高低來調度,使高優(yōu)先級作業(yè)優(yōu)先執(zhí)行的調度策略稱為優(yōu)先級調度算法。
作業(yè)的優(yōu)先級可以由系統(tǒng)自動地按一定原則賦給它,也可以由系統(tǒng)外部來進行安排,甚至可由用戶指定作業(yè)的優(yōu)先級。但在許多采用優(yōu)先級調度的系統(tǒng)中,通常采用可變優(yōu)先級策略,即作業(yè)的優(yōu)先級不是固定的,往往隨許多因素的變化而變化。(2)優(yōu)先級調度算法短作業(yè)優(yōu)先調度算法是從作業(yè)的后備隊列中挑選那些運行時間(估計時間)最短的作業(yè)投入內存運行。這樣就減小了在后備隊列中等待作業(yè)數(shù),同時也降低了作業(yè)的平均等待時間,提高了系統(tǒng)的吞吐量。
(3)短作業(yè)優(yōu)先調度算法但從另一方面來說,由于各個作業(yè)調度的時間變化范圍較大,作業(yè)(尤其是大作業(yè))的等待時間難以預先估計,因此,對用戶而言,作業(yè)的完成時間是不確定的。這種調度算法明顯偏向短作業(yè),所以某些用戶有可能將運行時間估計過低,以爭取優(yōu)先運行。為糾正這一情況,當一個作業(yè)的運行時間遠遠超出其預先估計時,系統(tǒng)將停止這個作業(yè),或對超時部分加價收費。針對短作業(yè)優(yōu)先調度策略的缺點,Hansen提出了最高響應比優(yōu)先調度策略。這是一個非搶占的調度策略,按照此策略系統(tǒng)為每個后備作業(yè)隊列中的作業(yè)計算響應比,挑選響應比最高的作業(yè)投入運行。4)最高響應比優(yōu)先調度算法作業(yè)的響應比計算公式如下:響應比=(等待時間+要求的服務時間)/要求的服務時間由上式可以看出,作業(yè)的響應比隨著等待時間的增長而提高,只要作業(yè)在系統(tǒng)中等待時間足夠長,那么它總會有機會獲得運行。
這種調度算法,雖然從調度性能來說不如短作業(yè)優(yōu)先的算法好,但是它既照顧了用戶到來的先后次序,又考慮了要求系統(tǒng)服務時間的長短。所以,它是一種較好的調度算法。其缺點是,每當調度作業(yè)時,要進行響應比的計算,算法相對復雜一些。back我們已經知道,用戶是通過操作系統(tǒng)使用計算機的,操作系統(tǒng)是用戶和計算機之間的接口。那么用戶又是如何使用操作系統(tǒng)的呢?用戶是通過什么樣的手段和方法取得操作系統(tǒng)的服務呢?換句話說,用戶和操作系統(tǒng)之間的接口是什么呢?6.3.用戶與操作系統(tǒng)的接口通過前面的學習我們知道,用戶為計算機配置操作系統(tǒng)的目的就是希望在操作系統(tǒng)的協(xié)助下,用戶能夠方便、靈活、安全有效地使用計算機,利用其系統(tǒng)資源來解決問題。而要使操作系統(tǒng)提供有效的服務,它就必須支持與用戶的通信。這個通信就是指信息的交流:用戶請求系統(tǒng)得到特定的服務,而系統(tǒng)把服務的結果提供給用戶。
這種通信可以是直接的,如用戶可以在終端上以會話方式與系統(tǒng)交互;通信也可以是間接的,如在批處理方式下可以通過提交的作業(yè)或程序來實現(xiàn)與系統(tǒng)的通信。操作系統(tǒng)中負責管理這種通信的部分稱為用戶接口。用戶接口是計算機系統(tǒng)與用戶之間交互作用和通信的通路。對絕大多數(shù)用戶而言,一個計算機系統(tǒng)是否好用,是否容易被接受,在很大程度上取決于這個用戶接口。操作系統(tǒng)提供了兩類接口:一類用于程序一級,就是操作系統(tǒng)提供了一組系統(tǒng)調用命令,用戶在程序中可直接用這些系統(tǒng)調用命令向操作系統(tǒng)各種資源要求和服務請求。操作系統(tǒng)則按用戶的要求進行資源的分配、回收等一系列工作。另一類用于作業(yè)控制一級,就是操作系統(tǒng)提供作業(yè)控制語言或操作控制命令,讓用戶提出對他的作業(yè)進行加工的步驟,操作系統(tǒng)按用戶的作業(yè)控制語句或操作控制命令來控制作業(yè)的執(zhí)行。下面我們分別加以介紹。1、什么是系統(tǒng)調用所謂系統(tǒng)調用,就是用戶在程序中調用操作系統(tǒng)所提供的一些子功能。它實際上是操作系統(tǒng)提供給用戶獲得系統(tǒng)服務的一種手段。系統(tǒng)調用是一種特殊的過程調用,這種調用通常是由特殊的機器指令實現(xiàn)的。6.3.1系統(tǒng)調用系統(tǒng)調用在程序一級上為用戶提供與操作系統(tǒng)的接口,使得用戶可以通過系統(tǒng)調用請求系統(tǒng)服務。系統(tǒng)調用屬于操作系統(tǒng)核心,一條系統(tǒng)調用命令對應操作系統(tǒng)的一個功能模塊,做一次系統(tǒng)調用相應地執(zhí)行一個子程序,這個子程序是屬于操作系統(tǒng)核心里的一個子程序。
在高級語言中,當用戶程序執(zhí)行與系統(tǒng)調用相對應的機器指令時,便轉入操作系統(tǒng)核心執(zhí)行,當系統(tǒng)調用對應的子程序執(zhí)行完后,就再返回用戶程序,接著執(zhí)行下面的部分。因此,執(zhí)行一條系統(tǒng)調用命令就好像執(zhí)行了一條功能很強的機器指令。
所不同的是,指令系統(tǒng)的指令是由機器硬件或固件(微程序)解釋執(zhí)行的,而系統(tǒng)調用命令由操作系統(tǒng)核心解釋執(zhí)行。從用戶的角度看,操作系統(tǒng)提供了系統(tǒng)調用命令之后,好像擴大了機器的指令系統(tǒng),使用戶感覺處理機的功能更強了,使用也更為方便。因此,人們常把系統(tǒng)調用命令稱為廣義指令,把包含有廣義指令的計算機稱為虛擬處理機。用戶程序通過程序中的系統(tǒng)調用命令去調用操作系統(tǒng)的服務,雖然系統(tǒng)調用只對應了一條機器指令,但在操作系統(tǒng)內部可能引起多個子程序的嵌套調用。系統(tǒng)調用及返回和系統(tǒng)調用中的子程序嵌套如下圖6-3-1所示:
┊系統(tǒng)調用命令
┊┊系統(tǒng)調用命令
┊┊系統(tǒng)調用命令┊
用戶程序
系統(tǒng)功能系統(tǒng)子功能系統(tǒng)子功能圖
6-3-1系統(tǒng)調用示意圖
對于不同的操作系統(tǒng)來說,它們所提供的系統(tǒng)調用的條數(shù)、格式和所完成的功能不盡相同,這正如不同型號的計算機有不同的指令系統(tǒng)一樣。而一旦一個操作系統(tǒng)設計完成,那么它所提供的系統(tǒng)調用的條數(shù)、格式和所完成的功能就確定了。一般來說,操作系統(tǒng)可提供數(shù)十條乃至上百條系統(tǒng)調用命令。這些命令用于完成不同的功能,如完成進程控制的、文件管理的、設備操作的、訪問系統(tǒng)的等等。1)設備管理:設備的讀寫和控制;Ioctl 設備配置Open 設備打開Close 設備關閉Read 讀設備Write 寫設備系統(tǒng)調用的功能2)文件管理:文件讀寫和文件控制;Open 文件打開Close 文件關閉Read 讀文件Write 寫文件seek 讀寫指針定位Creat 文件創(chuàng)建Stat 讀文件狀態(tài)Mount 安裝文件系統(tǒng)chmod 修改文件屬性3)進程控制:創(chuàng)建、中止、暫停等控制;Fork 創(chuàng)建進程Exit 進程自我終止Wait 阻塞當前進程Sleep 進程睡眠Getpid 讀父進程標識4)進程通信:消息隊列、共享存儲區(qū)、socket等通信渠道的建立、使用和刪除;5)存儲管理:內存的申請和釋放;6)系統(tǒng)管理:設置和讀取時間、讀取用戶和主機標識等;gtime 讀取時間Stime 設置時間getuid 讀取用戶標識雖然不同的系統(tǒng),系統(tǒng)調用命令格式可能有很大的差別,但從用戶程序到系統(tǒng)調用的步驟及其執(zhí)行過程卻是基本相同的。當用戶程序執(zhí)行到系統(tǒng)調用命令時,系統(tǒng)就轉去執(zhí)行系統(tǒng)調用的處理程序。2、系統(tǒng)調用的執(zhí)行過程該處理程序主要完成如下任務:(1)做好執(zhí)行系統(tǒng)調用命令的準備,將用戶程序的執(zhí)行“現(xiàn)場”保存起來,如各個寄存器的內容,并將系統(tǒng)調用命令中的有關參數(shù)放入約定存儲單元等。(2)根據(jù)系統(tǒng)調用命令的功能號,訪問系統(tǒng)調用入口表,找到入口地址,轉入執(zhí)行相應的系統(tǒng)調用子程序。(3)系統(tǒng)調用命令執(zhí)行完后,把系統(tǒng)恢復到執(zhí)行系統(tǒng)調用指令之前的狀態(tài)。這包括恢復“現(xiàn)場”。把系統(tǒng)調用命令的返回參數(shù)或參數(shù)區(qū)首址放入指定的通用寄存器中,以供用戶使用。實際上系統(tǒng)調用語句本身是硬件提供的(機器指令),但其所調用的功能是操作系統(tǒng)提供的。每種機器的機器指令集中都有一條系統(tǒng)調用指令。系統(tǒng)調用命令是操作系統(tǒng)提供給用戶使用的程序一級的接口,這給用戶使用計算機系統(tǒng)資源帶來很大方便。另外,為了組織作業(yè)的工作流程和控制作業(yè)的運行,操作系統(tǒng)又為用戶提供了作業(yè)控制級的接口。這類接口針對聯(lián)機用戶和脫機用戶又分別做了不同的設置。6.3.2作業(yè)級的用戶接口它是由一組鍵盤操作命令組成。用戶通過控制臺或終端打入操作命令,向系統(tǒng)提出要求。用戶每打完一條命令,控制就轉入操作系統(tǒng)的命令解釋程序,對該命令解釋執(zhí)行,完成指定的操作。之后,控制又轉回到控制臺或終端,用戶又可打入下一條命令。如此反復,直到完成一個作業(yè)為止。1.聯(lián)機用戶或交互式用戶的接口在微型機系統(tǒng)中,通常把這組鍵盤操作命令分成兩類:(1)內部命令。這類命令的特點是程序短小,使用頻繁。因此,在系統(tǒng)啟動時,這些命令的實現(xiàn)程序就被引導到內存而且常駐于內存中。命令解釋程序常以子程序調用方式來使用它們。(2)外部命令。這類命令的實現(xiàn)程序較長,各自獨立地作為一個文件而駐留在磁盤上,只在需要時才從磁盤調入內存后執(zhí)行。顯然,利用鍵盤操作命令用戶可以根據(jù)運行情況隨時干預自己的作業(yè)。因此,這種作業(yè)控制方式具有靈活方便的特點,但是,這種方式下系統(tǒng)的資源利用率不太高。
它是由一組作業(yè)控制命令(或稱作業(yè)控制語言)組成。所謂脫機用戶,是指用戶不能直接干預作業(yè)的運行,他必須事先用作業(yè)控制命令寫成一份作業(yè)說明書(或作業(yè)控制卡片),連同作業(yè)一起提交給系統(tǒng)。當系統(tǒng)調度到該作業(yè)時,由操作系統(tǒng)的命令解釋程序對作業(yè)說明書上的命令逐條解釋執(zhí)行,直至遇到“撤離”命令而停止該作業(yè)為止。2.脫機用戶或批處理用戶的接口作業(yè)說明書主要包括作業(yè)情況和作業(yè)資源要求兩方面的內容。前者主要指,用戶名、作業(yè)名、使用語言、作業(yè)控制方式、作業(yè)優(yōu)先級、完成作業(yè)的最遲時間等。后者包括內存和外存的空間要求量、輸入輸出設備的類型、臺數(shù)、輸出量、估計的計算時間等。這種各用戶以作業(yè)控制命令(或稱作業(yè)控制語言)編寫出作業(yè)說明書,然后將各自的作業(yè)連同作業(yè)說明書一起交給系統(tǒng)的作業(yè)控制方式,其優(yōu)點是作業(yè)的操作過程由系統(tǒng)自動調度或由系統(tǒng)操作員干預,因此系統(tǒng)的資源利用率高,系統(tǒng)運行作業(yè)的效率高;其主要缺點是用戶與系統(tǒng)隔絕,由于用戶不可能對運行中產生的所有問題都預料到,因此即使是很小的錯誤也往往使整個作業(yè)中途下機。這樣,用戶作業(yè)的調試周期會較長。綜上所述,操作系統(tǒng)與用戶的接口有兩類:一類是程序級的,即系統(tǒng)調用或稱操作系統(tǒng)的編程界面;另一類是作業(yè)級的,即鍵盤操作命令和作業(yè)控制命令,或稱操作系統(tǒng)的用戶界面。
back盡管計算機系統(tǒng)能夠按照程序自動地運行,但還是有必要對它進行一些干預,這是因為:(1)程序往往需要經過反復調試才能糾正其語法錯誤和邏輯錯誤。因此,在作業(yè)的一次運行周期內,應使系統(tǒng)盡可能多地和全面地暴露程序中的錯誤,并把它們顯示出來,這樣就可以縮短程序的調試周期。6.4.作業(yè)控制(2)程序在運行的過程中,用戶往往要對作業(yè)的執(zhí)行步驟進行必要的指揮和干預,例如,如何輸入數(shù)據(jù),如何進行編譯、連接、運行等。(3)在系統(tǒng)出現(xiàn)意外故障,例如出現(xiàn)死鎖時,往往需要操作員的干預。(4)程序運行結束時,該如何處理,也需要用戶告知系統(tǒng)。用戶對作業(yè)的這種干預,就是所謂作業(yè)控制。作業(yè)控制主要有兩種方式:脫機作業(yè)控制和聯(lián)機作業(yè)控制。在批處理系統(tǒng)中,通常提供這兩種控制方式,系統(tǒng)可以通過某種命令在這兩種方式之間進行切換。在分時系統(tǒng)中,一般只提供聯(lián)機控制方式。所謂脫機控制,就是用戶將自己對作業(yè)的控制意圖,連同源程序和數(shù)據(jù),甚至包括發(fā)生故障時的處理手段,一起輸入到系統(tǒng)中去,讓系統(tǒng)根據(jù)用戶的控制意圖來控制作業(yè)的運行而不再需要用戶的干預。6.4.1脫機控制方式實現(xiàn)脫機控制的方法一種是編寫作業(yè)說明書,另一種是使用作業(yè)控制卡。作業(yè)說明書和作業(yè)控制卡都是用作業(yè)控制語言來書寫的。作業(yè)控制卡是指用戶將其控制意圖用作業(yè)控制語言中的相關控制命令表達出來,穿孔在若干張卡片上(稱為作業(yè)控制卡),并把它們插入到用戶程序和數(shù)據(jù)卡片之中適當?shù)奈恢蒙?,一起送入系統(tǒng),從而控制作業(yè)的運行。
從形式上看,控制卡同用戶程序和數(shù)據(jù)卡沒有什么不同,但為了區(qū)分,常把控制卡的第一列穿上一個標志符,如:“//”或“$”。于是,系統(tǒng)將根據(jù)卡片上的信息,以及控制卡片在卡片疊中的位置控制作業(yè)的運行。作業(yè)控制卡是早期的控制方式,其缺點是控制卡片的放置過于分散,使用不夠靈活方便,不便于修改控制要求。作業(yè)說明書方式是指用戶借助于說明書來表達其對作業(yè)的控制意圖的一種形式。如前面所述,說明書就是用戶根據(jù)系統(tǒng)提供的作業(yè)控制語言,編寫成用于作業(yè)控制的類似于源程序的程序。與控制卡方式不同,說明書是集中輸入系統(tǒng)的,因此在使用上更加靈活一些,其功能也比控制卡強些。只要系統(tǒng)提供較好的JCL,就容易編制出控制有效的說明書。作業(yè)控制語言通常包含以下幾類語句:(1)作業(yè)描述語句。它們用來向系統(tǒng)說明一個新作業(yè)的開始和上一個作業(yè)的結束,還給出了作業(yè)的屬性,如該作業(yè)的用戶名、用戶賬號、作業(yè)名、作業(yè)類別及作業(yè)優(yōu)先數(shù)等。
(2)資源說明語句。它們用來說明作業(yè)(或作業(yè)步)所用設備的邏輯名和對應的物理設備類型,說明作業(yè)所用文件的組織方式以及作業(yè)對CPU的使用時間限制、存儲空間和輸出行數(shù)的限制。當作業(yè)(或作業(yè)步)所用的CPU時間或要求的內存量或輸出行數(shù)超過說明中的最大值時,則系統(tǒng)中斷該作業(yè)(或作業(yè)步)的執(zhí)行。(3)執(zhí)行語句。它們用來說明一個作業(yè)步的開始,以及該作業(yè)步所要執(zhí)行的程序名及使用的參數(shù),例如進行編譯的作業(yè)步要指定編譯程序名。(4)作業(yè)流程控制語句。它們用來說明某個作業(yè)步在執(zhí)行時的流程控制,像發(fā)生某事件后應做何處理等,如IF-THEN語句。(5)其他說明。例如是否周期或定時地運行作業(yè)等等。不同的操作系統(tǒng),提供的作業(yè)控制語言在語句的格式和種類及其實現(xiàn)等方面各不相同。用戶需要使用某個系統(tǒng)來脫機運行作業(yè)時,應該仔細閱讀該系統(tǒng)的作業(yè)控制語言使用說明,針對所要使用的系統(tǒng)編寫出正確的作業(yè)說明書。所謂聯(lián)機控制就是采用人機對話的方式來控制作業(yè)的運行。由于聯(lián)機控制能及時地反映作業(yè)的運行情況和系統(tǒng)的狀態(tài),因此,用戶可以根據(jù)當前的情況決定下一步應該采取的行動。不同的系統(tǒng)提供的聯(lián)機控制方式不同,但一般可以提供如下一種或幾種方式:即命令驅動方式、菜單驅動方式、會話式程序設計語言方式。6.4.2聯(lián)機控制方式用戶通過終端設備輸入一條條命令來控制自己的作業(yè)的運行。系統(tǒng)接到用戶的指令后,執(zhí)行系統(tǒng)提供的命令處理程序,對輸入的命令進行解釋、執(zhí)行。當命令執(zhí)行完畢后,顯示輸出執(zhí)行的結果,并準備好接收下一條命令。如此反復執(zhí)行,直到作業(yè)運行結束。
1.命令驅動方式命令驅動方式雖然可使用戶靈活地控制作業(yè)運行,但對初次使用系統(tǒng)的用戶來說,需要盡快地熟悉各種命令的格式和功能。近幾年許多系統(tǒng)提供了菜單驅動方式,使用菜單驅動方式的好處是:用戶可以不用事先記住各種命令的格式、功能以及使用方法,用戶可以按照屏幕的提示,像在飯館選菜一樣,控制系統(tǒng)完成各種任務。2.菜單驅動方式菜單驅動方式的缺點是:
由于一個系統(tǒng)中可供選擇的功能很多,不可能把所有的功能都列在屏幕上,因此,用戶選擇一個功能往往要經過多級屏幕。這樣不僅系統(tǒng)為屏幕更換付出了較大的時間開銷,而且使熟練的用戶感到麻煩。因此,有些系統(tǒng)同時提供了命令驅動和菜單驅動這兩種方式供用戶選擇:熟悉系統(tǒng)的用戶用命令方式,初學者用菜單方式。上面我們講的命令驅動方式可以通過鍵入命令來達到控制作業(yè)運行的目的,但是,在某些情況下,用戶會需要反
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 夫妻門衛(wèi)合同范例
- 畜牧購銷合同范例
- 家庭干預合同范例
- 燈具買賣全款合同范例
- 挖山土方合同范例
- 倉庫基地出租合同范例
- 滄州公租房合同范例
- 購房合伙合同范例
- 勞動合伙合同范例
- 武漢科技大學《文字與標志設計》2023-2024學年第一學期期末試卷
- 智能基礎設施設計與優(yōu)化
- 《中國心力衰竭診斷和治療指南(2024)》解讀
- 中醫(yī)烤燈的應用與護理
- 變頻控制柜知識講座
- 2024年3月河北定向選調生面試及參考答案全套
- 智能建造專業(yè)職業(yè)規(guī)劃
- 2024屆浦東新區(qū)初三英語期末練習卷及答案
- 地下室坡道施工方案樣本
- 保安報價方案
- 四年級下冊運算率計算題100道
- 《跨境電商應用英語1》課程標準
評論
0/150
提交評論