




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