




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