版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 通過第二章的討論,我們知道,一個(gè)作業(yè)進(jìn)入系統(tǒng),并為之建立相應(yīng)的一個(gè)或多個(gè)進(jìn)程后,由進(jìn)程調(diào)度來給予分配處理機(jī),讓其在處理機(jī)上執(zhí)行,完成該作業(yè)的任務(wù),那么,一個(gè)用戶向系統(tǒng)注冊(cè)登記,提交作業(yè)后,什么時(shí)候得以真正進(jìn)入系統(tǒng),由誰來為其創(chuàng)建進(jìn)程呢?這是作業(yè)調(diào)度的任務(wù)。第五章 作業(yè)管理 根據(jù)計(jì)算機(jī)管理人員所制定的規(guī)則(如作業(yè)優(yōu)先數(shù)大小,要求資源的品種和數(shù)量、系統(tǒng)的均衡性等),從所有后備作業(yè)隊(duì)列上選擇一個(gè)或多個(gè)作業(yè)置于“運(yùn)行”狀態(tài),并為它們分配必要的資源(如主存空間、外部設(shè)備等),建立相應(yīng)的用戶作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)進(jìn)程(如輸入、輸出進(jìn)程),最后將它們的程序段調(diào)放主存以等待進(jìn)程調(diào)度程序的調(diào)度。顯然,由作業(yè)
2、調(diào)度程序選擇到的作業(yè)才有資格獲得處理機(jī),但不一定立刻就能占有它并在其上運(yùn)行。 至于一個(gè)已被調(diào)度程序調(diào)度到的作業(yè),什么時(shí)候能真正在處理機(jī)上運(yùn)行,則取決于“進(jìn)程調(diào)度”所遵循的調(diào)度策略和作業(yè)性質(zhì)。進(jìn)程調(diào)度又稱微觀調(diào)度或低級(jí)調(diào)度。作業(yè)調(diào)度與進(jìn)程調(diào)度之間的關(guān)系,可打個(gè)比喻來說明,前者像競(jìng)賽的“協(xié)調(diào)人”,它能確定參加比賽(競(jìng)爭(zhēng)處理機(jī))的全體“選手”,而后者像比賽場(chǎng)上的“裁判”,決定哪個(gè)“選手”將取得勝利(獲得物理處理機(jī))。 作業(yè)管理的主要功能是對(duì)用戶作業(yè)進(jìn)行合理調(diào)度,以提高系統(tǒng)的吞吐量或縮短作業(yè)的周轉(zhuǎn)時(shí)間,并提供用戶與操作系統(tǒng)的接口,以方便用戶對(duì)自己的作業(yè)在整個(gè)運(yùn)行過程中進(jìn)行控制。第五章 作業(yè)管理 5 作
3、業(yè)的基本概念 一、作業(yè)的定義 作業(yè):作業(yè)是由用戶提交給系統(tǒng)處理的一個(gè)基本任務(wù)(從用戶目光看),它是由用戶程序、數(shù)據(jù)以及對(duì)程序運(yùn)行進(jìn)行控制和處理的有關(guān)信息所組成(從系統(tǒng)角度看)。通常,一個(gè)作業(yè)又可分為若干個(gè)順序處理的作業(yè)步,例如,在對(duì)一個(gè)用某高級(jí)語言編制的源程序進(jìn)行調(diào)試處理時(shí),往往要經(jīng)過下述幾大步驟: 編輯這是調(diào)用編輯程序?qū)χ付ǖ脑闯绦蛭募M(jìn)行輸入或修改; 編譯對(duì)編輯后所得的文件進(jìn)行編譯、鏈接,以獲得可執(zhí)行的目標(biāo)代碼; 運(yùn)行對(duì)編譯、鏈接后的程序進(jìn)行運(yùn)行,完成預(yù)期功能。 作業(yè)步:作業(yè)由不同的順序相連的作業(yè)步組成。作業(yè)步是在一個(gè)作業(yè)的處理過程中,計(jì)算機(jī)所做的相對(duì)獨(dú)立的工作。 第五章 作業(yè)管理二、作業(yè)
4、的類型 (根據(jù)調(diào)度和控制的需要,可對(duì)作業(yè)進(jìn)行分類) 從調(diào)度的角度,可把作業(yè)分成: ()計(jì)算型作業(yè) 指任務(wù)中包含大量的計(jì)算,而其I/O較少的作業(yè),通常的科學(xué)計(jì)算便屬計(jì)算型作業(yè); ()I/O型作業(yè) 要求少量的計(jì)算而需大量I/O的作業(yè),如通常的事務(wù)處理便屬于I/O型作業(yè)。 為了提高系統(tǒng)的吞吐量,調(diào)度程序應(yīng)對(duì)這兩種作業(yè)進(jìn)行合理地組織和調(diào)度。 從控制角度可把作業(yè)分成:()脫機(jī)作業(yè) 在整個(gè)作業(yè)的運(yùn)行過程中,只需根據(jù)作業(yè)說明書中的說明對(duì)作業(yè)進(jìn)行控制,脫機(jī)作業(yè)通常是在批處理操作環(huán)境下運(yùn)行,故也稱為批量型作業(yè);()聯(lián)機(jī)作業(yè) 通常是用鍵盤命令直接控制作業(yè)的運(yùn)行,聯(lián)機(jī)作業(yè)通常在分時(shí)操作環(huán)境下運(yùn)行,故也稱為終端型作業(yè)
5、。第五章 作業(yè)管理三、三、 作業(yè)的狀態(tài)及其建立過程作業(yè)的狀態(tài)及其建立過程 1、作業(yè)的狀態(tài) 一個(gè)作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行完成,一般要由系統(tǒng)經(jīng)過多級(jí)調(diào)度才能實(shí)現(xiàn),通常要經(jīng)歷“進(jìn)入(提交)”、“收容(后備)”、“執(zhí)行”和“完成(終止)”四個(gè)階段,相應(yīng)地,作業(yè)就有四種狀態(tài): 1) 進(jìn)入狀態(tài)(提交狀態(tài)):進(jìn)入狀態(tài)(提交狀態(tài)): 當(dāng)操作員將用戶提交的作業(yè)通過某種輸入方式輸入到外存上時(shí),稱此階段為作業(yè)處于進(jìn)入狀態(tài)。第五章 作業(yè)管理2) 后備狀態(tài)(收容狀態(tài)):后備狀態(tài)(收容狀態(tài)): 當(dāng)作業(yè)所需全部信息已輸入到外存,由作業(yè)建立程序?yàn)橹⒁粋€(gè)作業(yè)控制塊,并插入到后備作業(yè)隊(duì)列中等待作業(yè)調(diào)度運(yùn)行為止。把作業(yè)在后備隊(duì)列上
6、等待調(diào)度的狀態(tài)稱為后備狀態(tài)。3)執(zhí)行狀態(tài):)執(zhí)行狀態(tài): 作業(yè)調(diào)度程序從處于后備狀態(tài)的作業(yè)隊(duì)列中選中一個(gè)作業(yè)調(diào)入內(nèi)存,并為這建立相應(yīng)的進(jìn)程后,由于此時(shí)的作業(yè)已具有獨(dú)立運(yùn)行的資格,如果處理機(jī)空閑,便可立即開始執(zhí)行,故稱此時(shí)的作業(yè)是進(jìn)入了運(yùn)行狀態(tài)。作業(yè)的運(yùn)行狀態(tài)又可進(jìn)一步分為“就緒”、“執(zhí)行”和“阻塞”三個(gè)基本狀態(tài)。 第五章 作業(yè)管理4) 終止?fàn)顟B(tài)(完成狀態(tài)):終止?fàn)顟B(tài)(完成狀態(tài)): 當(dāng)作業(yè)(進(jìn)程)的運(yùn)行正常完成或異常結(jié)束時(shí),進(jìn)程便自我終止,或被迫終止,此時(shí)作業(yè)便進(jìn)入終止?fàn)顟B(tài)。處于終止?fàn)顟B(tài)的作業(yè)被作業(yè)終止程序回收其作業(yè)控制塊,回收已分配給它的所有資源,然后作業(yè)隨之消亡。 下圖示出了作業(yè)的狀態(tài)及其轉(zhuǎn)換
7、。作業(yè)由進(jìn)入狀態(tài)到后備狀態(tài)的轉(zhuǎn)換,是由作業(yè)建立程序完成的;從后備狀態(tài)轉(zhuǎn)變?yōu)檫\(yùn)行狀態(tài)是由調(diào)度程序所引起;而作業(yè)由運(yùn)行狀態(tài)自愿或被迫地轉(zhuǎn)變?yōu)榻K止?fàn)顟B(tài),則是在有關(guān)作業(yè)終止的系統(tǒng)調(diào)用的作用下完成的。 第五章 作業(yè)管理第五章 作業(yè)管理進(jìn)入狀態(tài)后備狀態(tài)運(yùn)行狀態(tài)終止?fàn)顟B(tài)作業(yè)的狀態(tài)轉(zhuǎn)換作業(yè)建立作業(yè)調(diào)度作業(yè)調(diào)度(完成)SPOOLING輸入SPOOLING輸出輸入設(shè)備輔存輸入井內(nèi)存進(jìn)程創(chuàng)建占用CPU運(yùn)行輸出設(shè)備JOB調(diào)度與進(jìn)程調(diào)度作業(yè)調(diào)度進(jìn)程調(diào)度作業(yè)調(diào)度2、作業(yè)控制塊、作業(yè)控制塊JCB的建立的建立 在系統(tǒng)把作業(yè)信息輸入到外存輸入井之后,還要根據(jù)作業(yè)說明書內(nèi)容和有關(guān)作業(yè)信息在外存中的位置等建立作業(yè)控制表JCB,然后
8、插入作業(yè)后備隊(duì)列。JCB包含了系統(tǒng)對(duì)作業(yè)進(jìn)行管理所必須的信息。它們通常包含: 作業(yè)名作業(yè)類型作業(yè)在外存的存儲(chǔ)地址作業(yè)的狀態(tài)作業(yè)優(yōu)先權(quán)(為進(jìn)程調(diào)度算法提供參數(shù))資源要求指針第五章 作業(yè)管理3、作業(yè)和進(jìn)程的關(guān)系、作業(yè)和進(jìn)程的關(guān)系 作業(yè)可被看作是用戶向計(jì)算機(jī)提交任務(wù)的任務(wù)實(shí)體,例如一次計(jì)算、一個(gè)控制過程等。而進(jìn)程則是計(jì)算機(jī)為了完成用戶所提交的任務(wù)實(shí)體而設(shè)置的執(zhí)行實(shí)體,是系統(tǒng)分配資源的基本單位。顯然,計(jì)算機(jī)要完成一個(gè)任務(wù)實(shí)體,必須要有一個(gè)以上的執(zhí)行實(shí)體。也就是說,一個(gè)作業(yè)總是由一個(gè)以上的多個(gè)進(jìn)程組成的。那么作業(yè)是怎樣分解為進(jìn)程的呢?首先,系統(tǒng)必須為一個(gè)作業(yè)創(chuàng)建一個(gè)根進(jìn)程,然后,在執(zhí)行作業(yè)控制語句時(shí),根
9、據(jù)任務(wù)要求,系統(tǒng)或根進(jìn)程為其創(chuàng)建相應(yīng)的子進(jìn)程,然后,為各子進(jìn)程分配資源和調(diào)度各子進(jìn)程執(zhí)行以完成作業(yè)要求的任務(wù)。作業(yè):任務(wù)實(shí)體;進(jìn)程:執(zhí)行實(shí)體。第五章 作業(yè)管理 從用戶角度看,作業(yè)是向計(jì)算機(jī)系統(tǒng)提交的一個(gè)大任務(wù),該大任務(wù)可分成各個(gè)子任務(wù)子任務(wù)又可分成更小的任務(wù).每個(gè)子任務(wù)是用一條一條的指令或命令描述的,稱這種描述為子任務(wù)的正文段。所有子任務(wù)的正文段組成大任務(wù)的正文也就是通常所說的“作業(yè)的程序文本”。只有當(dāng)正文段被計(jì)算機(jī)執(zhí)行時(shí)才能體現(xiàn)出任務(wù)的功能。進(jìn)程是正文段的執(zhí)行實(shí)例(instance),是申請(qǐng)資源的基本單位。換句話說作業(yè)(任務(wù))是由多個(gè)進(jìn)程組成的,作業(yè)的資源需求量等于它的進(jìn)程擁有的資源數(shù)量之和
10、。第五章 作業(yè)管理5.2 作業(yè)控制方式 這是用戶通過OS提供的“用戶與OS的接口”向系統(tǒng)發(fā)出各種命令,以管理自己的作業(yè)和控制作業(yè)的運(yùn)行。根據(jù)作業(yè)性質(zhì)的不同,又可把作業(yè)控制方式分為: 批處理作業(yè)控制(脫機(jī)作業(yè)控制):這是OS利用作業(yè)說明書對(duì)用戶提交的批量型作業(yè)進(jìn)行控制; 終端型作業(yè)控制(聯(lián)機(jī)作業(yè)控制):用戶利用OS提供的一組鍵盤命令對(duì)自己的作業(yè)進(jìn)行控制。 第五章 作業(yè)管理作業(yè)的控制方式(細(xì)分):1、聯(lián)機(jī)輸入方式:外圍設(shè)備直接與主機(jī)相連,一臺(tái)主機(jī)可連接一臺(tái)或多臺(tái)外設(shè)。當(dāng)連接一臺(tái)外設(shè)時(shí),可能會(huì)造成CPU的浪費(fèi)。2、脫機(jī)I/O:在外圍機(jī)的控制下,實(shí)現(xiàn)程序和數(shù)據(jù)的輸入輸出。解決單臺(tái)設(shè)備聯(lián)機(jī)時(shí)的CPU浪費(fèi)
11、問題而使用的一種輸入方式。缺點(diǎn)是需人工干預(yù),如移動(dòng)存儲(chǔ)介質(zhì)和連接后援存儲(chǔ)器等。3、直接耦合方式:保留了脫機(jī)輸入方式的快速輸入的優(yōu)點(diǎn),又沒有脫機(jī)輸入方式的人工干預(yù)的缺點(diǎn)和具有較強(qiáng)的靈活性的輸入方式。直接耦合方式把主機(jī)和外圍低檔機(jī)通過一個(gè)公用的大容量的外存直接耦合起來,從而省去了脫機(jī)輸入中那種依靠人工干預(yù)來傳遞后援存儲(chǔ)器的過程。第五章 作業(yè)管理4、SPOOLing方式外圍設(shè)備同時(shí)聯(lián)機(jī)操作:(在聯(lián)機(jī)輸入方式中,如果一臺(tái)主機(jī)聯(lián)接多臺(tái)外設(shè),就形成了SPLOOing方式)。為了克服脫機(jī)輸入/輸出工作方式的缺點(diǎn),在通道技術(shù)及多道程序設(shè)計(jì)技術(shù)發(fā)展的基礎(chǔ)上,人們研制了一種稱為SPOOLing(Simultone
12、ous Peripheral Operations On Line)的操作方式,其含義是外圍設(shè)備同時(shí)聯(lián)機(jī)操作。該輸入方式的特點(diǎn)是:在有SPOOLing功能的計(jì)算機(jī)系統(tǒng)中,作業(yè)的輸入/輸出,不再單獨(dú)使用外轉(zhuǎn)處理機(jī)而由主機(jī)和相應(yīng)通道來承擔(dān)各種功能,而且,通??偸鞘褂弥苯哟嫒〉拇笕萘看疟P作為后援存儲(chǔ)器。 在SPOOLing系統(tǒng)中,多臺(tái)外圍設(shè)備通過通道或DMA器件和主機(jī)與外存連接起來。通道是一個(gè)獨(dú)立于CPU的專管輸入輸出的處理機(jī),它控制外設(shè)或外存與內(nèi)存之間的信息交換。第五章 作業(yè)管理第五章 作業(yè)管理注:滕子陽編現(xiàn)代操作系統(tǒng) 53 作業(yè)調(diào)度 只有批處理系統(tǒng)才必須具有作業(yè)調(diào)度。在分時(shí)系統(tǒng)中由于要進(jìn)行人機(jī)交
13、互,系統(tǒng)必須能及時(shí)響應(yīng),為此應(yīng)把用戶從終端輸入的作業(yè)直接送入內(nèi)存,因此,不再需要專門用于把作業(yè)從外存調(diào)入內(nèi)存的作業(yè)調(diào)度過程。對(duì)于實(shí)時(shí)系統(tǒng)中的實(shí)時(shí)任務(wù),因?yàn)橥ǔ?duì)其響應(yīng)的時(shí)間更為嚴(yán)格,故也不需要作業(yè)調(diào)度。第五章 作業(yè)管理一、作業(yè)調(diào)度 根據(jù)計(jì)算機(jī)管理人員所制定的規(guī)則從所有后備作業(yè)隊(duì)列上選擇一個(gè)或多個(gè)作業(yè)置于“運(yùn)行”狀態(tài),并為它們分配必要的資源,建立相應(yīng)的用戶作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)進(jìn)程,最后將它們的程序段調(diào)入主存以等待進(jìn)程調(diào)度程序的調(diào)度。即:審查系統(tǒng)能否滿足用戶作業(yè)的資源要求且按一定的算法選取作業(yè)調(diào)入內(nèi)存分配必要的資源,建立進(jìn)程,插入就緒隊(duì)列等待進(jìn)程調(diào)度程序的調(diào)度。第五章 作業(yè)管理作業(yè)調(diào)度程序要完
14、成的如下工作:(1)按照某種調(diào)度算法從后備作業(yè)隊(duì)列中挑選作業(yè);(2)為選中作業(yè)分配主存和外設(shè)資源;因此作業(yè)調(diào)度程序在挑選作業(yè)過程中要調(diào)用存儲(chǔ)管理程序和設(shè)備管理程序中的某些功能(如“建立原語”和“撤銷原語”);(3)為選中的作業(yè)建立相應(yīng)的進(jìn)程;(4)構(gòu)造和填寫作業(yè)運(yùn)行時(shí)所需的有關(guān)表格,如作業(yè)表(登記所有在主存中各作業(yè)的有關(guān)信息)等;(5)作業(yè)結(jié)束時(shí)完成該作業(yè)的善后處理工作,如收回資源,輸出必要的信息,該作業(yè)的全部進(jìn)程(PCB)和作業(yè)控制塊(JCB)。二、作業(yè)調(diào)度的功能二、作業(yè)調(diào)度的功能 根據(jù)計(jì)算機(jī)管理人員所制定的規(guī)則從所有后備作業(yè)隊(duì)列上選擇一個(gè)或多個(gè)作業(yè)置于“運(yùn)行”狀態(tài),并為它們分配必要的資源,
15、建立相應(yīng)的用戶作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)進(jìn)程,最后將它們的程序段調(diào)入主存以等待進(jìn)程調(diào)度程序的調(diào)度。即:審查系統(tǒng)能否滿足用戶作業(yè)的資源要求且按一定的算法選取作業(yè)調(diào)入內(nèi)存分配必要的資源,建立進(jìn)程,插入就緒隊(duì)列等待進(jìn)程調(diào)度程序的調(diào)度。第五章 作業(yè)管理三、作業(yè)調(diào)度的目標(biāo)三、作業(yè)調(diào)度的目標(biāo) 作業(yè)調(diào)度的目標(biāo)與整個(gè)系統(tǒng)的設(shè)計(jì)目標(biāo)有關(guān),總目標(biāo)是:(1)能更好地為用戶服務(wù);(2)能有效地改善系統(tǒng)性能。因此,調(diào)度目標(biāo)有以下兩方面:面向用戶的作業(yè)調(diào)度目標(biāo):面向用戶的作業(yè)調(diào)度目標(biāo): 作業(yè)的平均周轉(zhuǎn)時(shí)間盡可能短;保證截止時(shí)間前完成;優(yōu)先權(quán)高的作業(yè)得到優(yōu)先服務(wù)。面向系統(tǒng)的作業(yè)調(diào)度目標(biāo):面向系統(tǒng)的作業(yè)調(diào)度目標(biāo):系統(tǒng)能獲得大的
16、吞吐量吞吐量;使CPU“忙”;平衡利用資源。 由于這些目標(biāo)的相互沖突,任一調(diào)度算法要想同時(shí)滿足上述目標(biāo)是不可能的。例如,要想執(zhí)行盡可能多的作業(yè),調(diào)度算法就應(yīng)選擇那些估計(jì)執(zhí)行時(shí)間短的作業(yè)。而這對(duì)那些估計(jì)執(zhí)行時(shí)間長(zhǎng)的作業(yè)是不公平的,且它們的響應(yīng)時(shí)間將會(huì)變得非常慢;再如,要使提高CPU的利用率,就得選擇計(jì)算量大的作業(yè),這對(duì)I/O型作業(yè)是不公平的等等。所以要想設(shè)計(jì)一個(gè)理想的調(diào)度算是件十分困難的事。在實(shí)際系統(tǒng)中,選用的調(diào)度算法往往是兼顧某些目標(biāo)的一種折衷考慮的結(jié)果。下面我們列舉一些在設(shè)計(jì)調(diào)度算法應(yīng)考慮的因素: 第五章 作業(yè)管理 選擇的調(diào)度算法應(yīng)與系統(tǒng)的整個(gè)設(shè)計(jì)目標(biāo)一致。例如,批處理系統(tǒng)應(yīng)注重提高計(jì)算機(jī)的
17、效率,盡量增加系統(tǒng)的平均吞吐量(指單位時(shí)間內(nèi)的平均算題個(gè)數(shù));而分時(shí)系統(tǒng)中應(yīng)保證用戶能忍受的響應(yīng)時(shí)間和一定的資源利用率;實(shí)時(shí)系統(tǒng)的調(diào)度策略是在保證及時(shí)響應(yīng)和處理與時(shí)間有關(guān)的事件的前提下,才考慮系統(tǒng)資源的使用效率。 批處理提高平均吞吐量;分時(shí)響應(yīng)時(shí)間、資源利用率;實(shí)時(shí)實(shí)時(shí)性和可靠性。注意系統(tǒng)資源的均衡使用,使“I/O繁忙”的作業(yè)與“CPU繁忙”的作業(yè)搭配起來運(yùn)行。 應(yīng)保證提交的作業(yè)在規(guī)定的截止時(shí)間內(nèi)完成,而且應(yīng)設(shè)法縮短作業(yè)的平均周轉(zhuǎn)時(shí)間。 必須指出,對(duì)一個(gè)具體的系統(tǒng)而言,如果考慮的因素過多,必然使算法變得復(fù)雜,結(jié)果使系統(tǒng)的開銷增加,對(duì)提高資源利用反而不利。因此,大多數(shù)OS采用比較簡(jiǎn)單的調(diào)度算法。
18、 第五章 作業(yè)管理四、調(diào)度算法四、調(diào)度算法 . 先來先服務(wù)(FCFS)調(diào)度算法 這是一種最簡(jiǎn)單的作業(yè)調(diào)度算法。作業(yè)進(jìn)入系統(tǒng)后,由作業(yè)建立程序按作業(yè)進(jìn)入系統(tǒng)的先后次序,將它們插入后備隊(duì)列。每當(dāng)進(jìn)行作業(yè)調(diào)度時(shí),由作業(yè)調(diào)度程序順序掃描后備隊(duì)列,尋找當(dāng)前系統(tǒng)的可分配資源能滿足作業(yè)要求的第一個(gè)作業(yè),找出后,將其JCB從后備隊(duì)列移至現(xiàn)行作業(yè)隊(duì)列,并把作業(yè)狀態(tài)改為運(yùn)行,同時(shí)將它調(diào)入內(nèi)存,為之創(chuàng)建進(jìn)程,再將該進(jìn)程掛在就緒隊(duì)列上。 應(yīng)當(dāng)指出,作業(yè)調(diào)度中的FCFS算法,并不一定是選擇后備隊(duì)列中的第一個(gè)作業(yè)投入運(yùn)行,而是從后備隊(duì)列中選擇現(xiàn)有系統(tǒng)資源能滿足作業(yè)要求的第一個(gè)作業(yè),因此,F(xiàn)CFS算法只是對(duì)那些系統(tǒng)的可分配
19、資源能滿足要求的作業(yè)而言。 第五章 作業(yè)管理2. 最短作業(yè)優(yōu)先(SJF)調(diào)度算法 作業(yè)的長(zhǎng)短是以估計(jì)的作業(yè)運(yùn)行時(shí)間的長(zhǎng)短來衡量的。SJF算法的依據(jù)是作業(yè)的長(zhǎng)短。因此,SJF算法是從后備隊(duì)列選擇其估計(jì)運(yùn)行時(shí)間最短的作業(yè),且系統(tǒng)的可分配資源能滿足其要求的作業(yè),使之投入運(yùn)行。 該算法有利于短作業(yè)而不利于長(zhǎng)作業(yè),由于80以上的作業(yè)都是短作業(yè),故該算法能得到較多用戶的支持。該算法優(yōu)點(diǎn)是能明顯地縮短作業(yè)的等待時(shí)間,再由于作業(yè)自身執(zhí)行的時(shí)間又很短,致使系統(tǒng)中的短作業(yè)能很快地一個(gè)一個(gè)地完成,故SJF算法有利于提高系統(tǒng)的吞吐量,和減少作業(yè)的平均周轉(zhuǎn)時(shí)間。 缺點(diǎn):該算法不利于長(zhǎng)作業(yè);該算法也未考慮到優(yōu)先權(quán)因素;由
20、于作業(yè)長(zhǎng)短的估計(jì)運(yùn)行時(shí)間通常是由用戶提供的,用戶可能會(huì)意或無意地減少其作業(yè)的估計(jì)運(yùn)行時(shí)間,而致使該算法不是真正的短作業(yè)優(yōu)先調(diào)度算法。 第五章 作業(yè)管理3. 響應(yīng)比高者優(yōu)先(HRN)調(diào)度算法 該算法是將SJF算法與FCFS算法改進(jìn)后加以折衷而得。它除了考慮作業(yè)要求的運(yùn)行時(shí)間外,還考慮到作業(yè)的等待時(shí)間。在該算法中對(duì)響應(yīng)比的定義如下: 響應(yīng)比(作業(yè)等待時(shí)間作業(yè)要求的運(yùn)行時(shí)間)作業(yè)要求的運(yùn)行時(shí)間=1+作業(yè)等待時(shí)間 / 作業(yè)要求的運(yùn)行時(shí)間 該算法的缺點(diǎn)是,每次進(jìn)行作業(yè)調(diào)度時(shí),都要對(duì)每個(gè)作業(yè)的響應(yīng)比進(jìn)行計(jì)算,致使作業(yè)調(diào)度的開銷很大,此外,對(duì)緊迫作業(yè)也未能給予特殊照顧。 4. 優(yōu)先數(shù)調(diào)度算法 系統(tǒng)為每一個(gè)作
21、業(yè)確定一個(gè)優(yōu)先數(shù),存放于作業(yè)控制塊,優(yōu)先數(shù)高的作業(yè)優(yōu)先被調(diào)度選取。當(dāng)幾個(gè)作業(yè)有相同的優(yōu)先數(shù)時(shí),對(duì)這些具有相同優(yōu)先數(shù)的作業(yè)發(fā)先來先服務(wù)原則進(jìn)行調(diào)度。那么如何確定作業(yè)的優(yōu)先數(shù)?可根據(jù)作業(yè)的緩急程度、估計(jì)作業(yè)運(yùn)行的時(shí)間、作業(yè)等待時(shí)間,資源申請(qǐng)的情況等各種因素綜合權(quán)衡之后確定作業(yè)的優(yōu)先數(shù)。第五章 作業(yè)管理 例如:假設(shè)有四道作業(yè),它們的進(jìn)入時(shí)間和運(yùn)行時(shí)間由下表給出: 在單道程序環(huán)境下,分別采用先來先服務(wù)和最短作業(yè)優(yōu)先調(diào)度算,試分別說明它們的調(diào)度順序及平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間(不剝奪方式)。 作業(yè)號(hào) 進(jìn)入時(shí)間(時(shí)) 運(yùn)行時(shí)間(小時(shí)) 110004 21011 310206 410302第五章 作業(yè)管
22、理解:四道作業(yè)的運(yùn)行時(shí)間表如下:作業(yè)號(hào)進(jìn)入時(shí)間(時(shí))運(yùn)行時(shí)間(小時(shí))FCFSSJF完成時(shí)間(時(shí))周轉(zhuǎn)時(shí)間(小時(shí))完成時(shí)間(時(shí))周轉(zhuǎn)時(shí)間(小時(shí))110.00.410.4 0.410.4 0.4210.1111.4 1.312.2 2.1310.20.612.0 1.811.2 1410.30.212.2 1.910.6 0.3第五章 作業(yè)管理FCFS:調(diào)度順序是、 平均周轉(zhuǎn)時(shí)間J=(0.4+1.3+1.8+1.9)/4=1.35(小時(shí)) 平均帶權(quán)周轉(zhuǎn)時(shí)間W=(0.4/0.4+1.3/1+1.8/0.6+1.9/0.2)/4=3.7(小時(shí)) SJF:調(diào)度順序是、 平均周轉(zhuǎn)時(shí)間J=(0.4+2.1+
23、1+0.3)/4=0.95(小時(shí)) 平均帶權(quán)周轉(zhuǎn)時(shí)間W=(0.4/0.4+2.1/1+1/0.6+0.3/0.2)/4=1.55(小時(shí)) 說明:短作業(yè)優(yōu)先調(diào)度算法能明顯地降低作業(yè)的平均周轉(zhuǎn)時(shí)間。第五章 作業(yè)管理5.4 與用戶的接口(書中5.1) 用戶接口用戶接口 是計(jì)算機(jī)系統(tǒng)與其用戶之間進(jìn)行交互作用和通信的通路。對(duì)絕大多數(shù)用戶而言,一個(gè)計(jì)算機(jī)系統(tǒng)的可接受性在很大程度上取決于這個(gè)用戶接口。 用戶接口通常是以命令或系統(tǒng)調(diào)用命令或系統(tǒng)調(diào)用的形式呈現(xiàn)在用戶面前,前者提供給用戶在鍵盤終端上使用,后者則提供用戶在編程時(shí)調(diào)用。所以分別稱為程序接口和命令接口。下面分別述之。第五章 作業(yè)管理1、程序級(jí)接口、程序
24、級(jí)接口由一組系統(tǒng)調(diào)用組成由一組系統(tǒng)調(diào)用組成 程序接口程序接口:指用戶程序和OS之間的接口。這是操作系統(tǒng)為用戶程序訪問計(jì)算機(jī)資源而提供的接口,是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑。亦即程序接口是操作系統(tǒng)為正在運(yùn)行的程序提供服務(wù)并與之通信的一個(gè)設(shè)施。它供所有的用戶使用;同時(shí),也供操作系統(tǒng)的其它組成部分,特別是命令處理程序使用。程序接口的職責(zé)是裝入并創(chuàng)建一個(gè)準(zhǔn)備開始運(yùn)行的程序(進(jìn)程)。此外,這個(gè)接口還為程序正?;虍惓=K止給出適當(dāng)?shù)捻憫?yīng)。當(dāng)一個(gè)程序正在執(zhí)行時(shí),程序接口接受對(duì)系統(tǒng)服務(wù)及資源的申請(qǐng),并與操作系統(tǒng)的資源管理程序進(jìn)行通信。這個(gè)程序接口主要由一組系統(tǒng)調(diào)用(System Call)組成,通過系統(tǒng)調(diào)
25、用程序?qū)崿F(xiàn)與操作系統(tǒng)的通信。 第五章 作業(yè)管理 什么是系統(tǒng)調(diào)用呢? 系統(tǒng)調(diào)用: 指系統(tǒng)為用戶程序調(diào)用操作系統(tǒng)所提供的子程序。 它是一種特殊的過程調(diào)用,這種調(diào)用通常是由特殊的機(jī)器指令實(shí)現(xiàn)的。除了提供對(duì)操作系統(tǒng)子程序的調(diào)用外,這個(gè)指令還將系統(tǒng)轉(zhuǎn)入特權(quán)方式。因此,系統(tǒng)調(diào)用程序被看成是一個(gè)低級(jí)的過程,只能由匯編語言直接訪問。大多數(shù)用高級(jí)語言編寫的程序通過子程序庫(kù)來訪問這些系統(tǒng)調(diào)用。這些子程序執(zhí)行系統(tǒng)調(diào)用并完成其它的有關(guān)功能??傊?,它與一般的它與一般的函數(shù)調(diào)用不同,系統(tǒng)調(diào)用是通過中斷方式轉(zhuǎn)向相應(yīng)子程序的,函數(shù)調(diào)用不同,系統(tǒng)調(diào)用是通過中斷方式轉(zhuǎn)向相應(yīng)子程序的,它工作在核心態(tài)(即特權(quán)方式),而一般函數(shù)的調(diào)用
26、,仍僅它工作在核心態(tài)(即特權(quán)方式),而一般函數(shù)的調(diào)用,仍僅是在用戶態(tài)下的地址轉(zhuǎn)移。是在用戶態(tài)下的地址轉(zhuǎn)移。第五章 作業(yè)管理二、命令接口二、命令接口 為了便于用戶直接或間接地控制自己的作業(yè),操作系統(tǒng)向用戶提供了命令接口,用戶可通過該接口向作業(yè)發(fā)出命令以控制作業(yè)的運(yùn)行。該接口又可進(jìn)一步細(xì)分為聯(lián)機(jī)用戶接口和脫機(jī)用戶接口:1. 脫機(jī)命令接口:該接口是為批處理作業(yè)的用戶提供的,故也稱為批處理用戶接口。它是由一組作業(yè)控制語言JCL所組成。批處理作業(yè)的作戶不能直接與自己的作業(yè)交互作用,只能委托系統(tǒng)代替用戶對(duì)作業(yè)進(jìn)行控制和干預(yù),這里的作業(yè)控制語言JCL便是提供給批處理作業(yè)用戶,將所需實(shí)現(xiàn)的功能,委托系統(tǒng)代為控制的一種語言。用戶用JCL把對(duì)作業(yè)需進(jìn)行的控制和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水利工程石方施工合同
- 物流行業(yè)就業(yè)協(xié)議
- 船舶制造科技合同管理辦法
- 餐飲業(yè)生管人才招聘協(xié)議
- 警用摩托車駕駛員聘用協(xié)議
- 紡織品運(yùn)輸貨車租賃合同樣本
- 高速公路建設(shè)架子工合同
- 信息技術(shù)升級(jí)顧問聘用合同
- 建筑物無障礙設(shè)施工程合同模板
- 旅游景區(qū)管理員招聘協(xié)議
- 公司領(lǐng)導(dǎo)班子績(jī)效考核表格
- 衛(wèi)浴產(chǎn)品銷售訂貨單Excel模板
- 保安隊(duì)排班表
- (完整版)第二章-鑄鐵的結(jié)晶及組織形成課件
- SparkCCD6000操作規(guī)程操作版分解
- 工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)(2002年修訂本)
- EN779-2012一般通風(fēng)過濾器——過濾性能測(cè)定(中文版)
- 計(jì)量經(jīng)濟(jì)學(xué)論文
- 勞務(wù)分包的施工方案
- 實(shí)習(xí)律師申請(qǐng)表(模板)
- 電氣裝置安裝工程接地裝置施工及驗(yàn)收規(guī)范
評(píng)論
0/150
提交評(píng)論