版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章作業(yè)管理
2.0本章學(xué)習(xí)目標(biāo)
2.1操作系統(tǒng)與用戶的接口
2.2作業(yè)管理概述
2.3批處理方式下的作業(yè)管理
2.4小結(jié)
★
*2.0本章學(xué)習(xí)目標(biāo)
★對用戶來說,他們所關(guān)心的不是操作系統(tǒng)的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),
而是操作系統(tǒng)的外部特性。以用戶觀點(diǎn)研究操作系統(tǒng),要求
操作系統(tǒng)能為用戶提供更多的服務(wù),以方便用戶對計算機(jī)的
使用,這就是操作系統(tǒng)的作業(yè)管理功能。
★本章學(xué)習(xí)目標(biāo):
1.掌握作業(yè)與作業(yè)管理概念。
2.理解作業(yè)狀態(tài)及其轉(zhuǎn)換。.4
3.領(lǐng)會作業(yè)調(diào)度與作業(yè)控制。X
**
*2.1操作系統(tǒng)與用戶的接口
★用戶利用計算機(jī)解決問題,大致可分成兩個步驟:
首先是編制程序,其次是使程序在計算機(jī)上運(yùn)行。
★這兩步都離不開操作系統(tǒng)的支持。
★操作系統(tǒng)是用戶與計算機(jī)之間的接口,用戶是通過操作系統(tǒng)
來使用計算機(jī)的。
★操作系統(tǒng)向用戶提供了兩類使用接口:
一類用于程序一級,.
另一類用于作業(yè)控制一級。見圖2.1所示。發(fā)(
***
圖2.1操作系統(tǒng)向用戶提供的兩類接口
2.1.1程序級接口
*★由一組系統(tǒng)調(diào)用命令(又稱廣義指令)組成。
★系統(tǒng)調(diào)用命令:可看成是機(jī)器指令的擴(kuò)充,因為從調(diào)用形
式上看,執(zhí)行一條系統(tǒng)調(diào)用命令相當(dāng)于執(zhí)行了一條功能很強(qiáng)
的機(jī)器指令。與機(jī)器指令不同之處在于:系統(tǒng)調(diào)用命令由操
作系統(tǒng)核心解釋執(zhí)行。
★系統(tǒng)調(diào)用:是操作系統(tǒng)向用戶提供的程序一級的服務(wù),用
戶程序借助于系統(tǒng)調(diào)用命令來向操作系統(tǒng)提出各種資源要求
和服務(wù)請求。例如,用c語言編寫程序時,可在程序中直接使
用系統(tǒng)調(diào)用命令getchar(void),以從標(biāo)準(zhǔn)輸入設(shè)備中讀取下
一個字符。
*1
★不同的操作系統(tǒng)所提供的系統(tǒng)調(diào)用命令的條數(shù)、調(diào)用格式
和所完成的功能等都不盡相同。
★例如,在匯編一級,IBM360/370機(jī)器中系統(tǒng)調(diào)用命令(訪
管指令)的格式是“SVCN〃,IBM-PC機(jī)提供的系統(tǒng)調(diào)用命令
(軟中斷指令)的格式是"INTN〃,等等。
★一般的系統(tǒng)向用戶提供幾十到幾百條系統(tǒng)調(diào)用命令。而操
作系統(tǒng)內(nèi)已事先編制好實(shí)現(xiàn)這些系統(tǒng)調(diào)用功能的子程序或過程。
從用戶程序進(jìn)入系統(tǒng)調(diào)用的步驟及執(zhí)行過程如下:
★首先,把系統(tǒng)調(diào)用命令所需要的參數(shù)或參數(shù)區(qū)首地址裝
入指定的通用寄存器;
★然后,設(shè)置一條調(diào)用指令(如:“訪管”指令或“軟中
斷”指令);
★當(dāng)用戶程序執(zhí)行到該條調(diào)用指令時,就轉(zhuǎn)到系統(tǒng)調(diào)用的
處理程序。
★其處理過程見圖2.2所示。j、
**
*用戶程序系統(tǒng)調(diào)用處理機(jī)構(gòu)系統(tǒng)子程序
圖2.2系統(tǒng)調(diào)用的處理過程
*1
即:
(1)保留用戶程序的現(xiàn)場,將系統(tǒng)調(diào)用的命令號等參數(shù)
放入約定的存儲單元。
(2)根據(jù)系統(tǒng)調(diào)用命令號,訪問系統(tǒng)調(diào)用入口表,找到
相應(yīng)子程序的入口地址,然后轉(zhuǎn)去執(zhí)行。
(3)恢復(fù)現(xiàn)場,并把系統(tǒng)調(diào)用命令的返回參數(shù)或參數(shù)區(qū)
首地址放入指定的通用寄存器中,供用戶程序使用。
yL*東
2.1.2作業(yè)級接口
★這類接口是系統(tǒng)為用戶在作業(yè)一級請求操作系統(tǒng)服務(wù)而設(shè)置
的,
★用戶可利用這類接口組織作業(yè)的工作流程和控制作業(yè)的運(yùn)行。
★這類接口又分為:聯(lián)機(jī)接口、脫機(jī)接口。
AA/
*1.聯(lián)機(jī)接口
★由一組鍵盤操作命令組成,是用戶以交互方式請求操作系統(tǒng)
服務(wù)的手段。用戶通過終端或控制臺打入操作命令,向系統(tǒng)提
出服務(wù)請求。
★用戶每打完一條命令,控制就轉(zhuǎn)入操作系統(tǒng)的命令解釋程序,
系統(tǒng)對該命令解釋執(zhí)行,完成指定的操作。執(zhí)行完畢,控制又
轉(zhuǎn)回到終端或控制臺,用戶可接著打入下一條命令。如此反復(fù),
直到作業(yè)完成。
★鍵盤操作命令的作業(yè)控制方式靈活方便,用戶可根據(jù)運(yùn)行情
況隨時干預(yù)自己的作業(yè),但是,系統(tǒng)的資源利用率不太率治
**2.脫機(jī)接口
★由一組作業(yè)控制命令(又稱:作業(yè)控制語言)組成,供脫
機(jī)用戶使用。
★所謂脫機(jī)用戶,是指:
用戶不能直接干預(yù)其作業(yè)的運(yùn)行,而是事先把對系統(tǒng)的請求用
作業(yè)控制語言寫成一份作業(yè)說明書,連同作業(yè)的程序和數(shù)據(jù)一
起,提交給系統(tǒng)。
★當(dāng)系統(tǒng)調(diào)度該作業(yè)執(zhí)行時,由操作系統(tǒng)對作業(yè)說明書上的
命令逐條解釋執(zhí)行,直至遇到“撤離”命令而停止該作業(yè)為止.
\關(guān)洋
★這種接口主要用于批處理方式操作系統(tǒng),
★其優(yōu)點(diǎn)是:作業(yè)的操作過程由系統(tǒng)自動調(diào)度或由系統(tǒng)管理員
干預(yù),因而,系統(tǒng)資源利用率高,系統(tǒng)運(yùn)行作業(yè)的效率高。
★其不足是:用戶與系統(tǒng)隔離,由于用戶不能干預(yù)他自己作業(yè)
的運(yùn)行,使用戶作業(yè)的調(diào)試周期增長。
★所有計算機(jī)的用戶都是通過上述接口與操作系統(tǒng)發(fā)生聯(lián)系的。
作業(yè)管理涉及的是作業(yè)控制級接口的管理。
*
課堂練習(xí)
P42:二:1-2
**
*2.2作業(yè)管理概述
★作業(yè)管理的主要任務(wù)是:解決作業(yè)的輸入/輸出問題,
也就是說,作業(yè)管理的任務(wù)是:
★建立作業(yè),使之執(zhí)行,并在完成任務(wù)后將其撤消。
★作業(yè)的輸入/輸出過程是:在操作系統(tǒng)提供的有關(guān)命令
控制之下完成的。
AA/
¥**
2.2.1作業(yè)、作業(yè)步、作業(yè)流
一個作業(yè):用戶在一次上機(jī)算題過程中或一次事物處理過程中,
要求計算機(jī)系統(tǒng)所做工作的總稱。
例如,用戶用C語言編寫了一個C程序(取名:user),他將通過
計算機(jī)系統(tǒng)完成圖2.3所示工作:
AA/
圖2?3作業(yè)、作業(yè)步
編輯:由控制臺編輯輸入C源程序(user.c)存到磁盤上;
編譯:對C源程序進(jìn)行編譯,得到相應(yīng)的目標(biāo)程序
(user.obj)存到磁盤上;
鏈接:對目標(biāo)程序連接裝配,得到一個可執(zhí)行的程序
(user.exe)存到磁盤上;
執(zhí)行:執(zhí)行可執(zhí)行程序,并輸出結(jié)果。
★以上幾個步驟的總和就是一個作業(yè),*''
★其中每個步驟就稱為一個作業(yè)步。之
***
★一個作業(yè)一般可分成若干個作業(yè)步,各作業(yè)步之間相對獨(dú)立,
又相互關(guān)聯(lián)。
★作業(yè)步之間的關(guān)系表現(xiàn)為:
(1)前一個作業(yè)步往往產(chǎn)生下一個作業(yè)步運(yùn)行時需要的數(shù)據(jù)
(文件)。如圖2.4所示。
用戶用C語言編寫的源程序,通過編輯形成一個USER.C源程序,它是第
二個作業(yè)步編譯的對象,而編譯產(chǎn)生的目標(biāo)模塊(USER.OBJ)則是第三個
作業(yè)步的鏈接對象,鏈接裝配好的可執(zhí)行文件(USER.EXE)裝入主存后正
是執(zhí)行的對象。
USER.CUSER.OBJUSER.EXE
編輯--------編譯--------^連接-------^執(zhí)行*/
第1作業(yè)步第2作業(yè)步第3作業(yè)步第4作業(yè)步K
圖2.4作業(yè)步之間的關(guān)系
**'
(2)往往只有前一個作業(yè)步運(yùn)行成功,才能繼續(xù)運(yùn)行下一
個作業(yè)步。
★若源程序有錯,編譯一定不會成功,且系統(tǒng)會列出編譯中
的錯誤。這時,需返回到編輯狀態(tài)進(jìn)行修改,修改正確后再
進(jìn)行編譯,只有編譯的出錯信息為零時才能進(jìn)行下一個作業(yè)
步;只有當(dāng)鏈接成功后,程序才能執(zhí)行。
★系統(tǒng)在完成每一個作業(yè)步時,可以建立一個或幾個進(jìn)程,
作業(yè)步所完成的工作是這些進(jìn)程的執(zhí)行結(jié)果(有關(guān)進(jìn)程的概
念將在第3章學(xué)習(xí))。
★作業(yè)流:在批處理系統(tǒng)中,把一批作業(yè)安排在輸入除劣
然后依次讀入系統(tǒng)進(jìn)行處理,從而形成了作業(yè)流。去M
*
課堂練習(xí)
P42:二:3-4
yL*東
2.2.2作業(yè)管理的任務(wù)
★用戶怎樣把他的作業(yè)提交給操作系統(tǒng),操作系統(tǒng)又是
怎樣組織、調(diào)度它們運(yùn)行的,這些都屬于作業(yè)管理范疇。
★作業(yè)管理的主要任務(wù)是:作業(yè)調(diào)度和作業(yè)控制。
AA/
**
¥1.作業(yè)調(diào)度
★作業(yè)調(diào)度:根據(jù)一定的算法,從輸入到系統(tǒng)的一批作業(yè)中,
選出若干個作業(yè),分配必要的資源,如內(nèi)存空間、外部設(shè)備
等,為它們建立相應(yīng)的用戶作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)進(jìn)程,
最后,把這些作業(yè)的程序和數(shù)據(jù)調(diào)入內(nèi)存,等待進(jìn)程調(diào)度程
序去調(diào)度執(zhí)行。
★作業(yè)調(diào)度的目標(biāo)是:使作業(yè)運(yùn)行最大限度地發(fā)揮各種資源
的利用率,并保持系統(tǒng)內(nèi)各種活動的充分并行。
*2.作業(yè)控制
作業(yè)控制:在操作系統(tǒng)支持下,用戶如何組織其作業(yè)并控制作
業(yè)的運(yùn)行。作業(yè)控制包括兩個方面:
(1)從用戶角度來說,作業(yè)控制就是:用戶通過作業(yè)控制級
接口,組織和控制其作業(yè)在計算機(jī)上的運(yùn)行;即作業(yè)控制就是:
用戶在上機(jī)操作過程中對作業(yè)的各種干預(yù)。
(2)從系統(tǒng)管理角度,作業(yè)控制就是:系統(tǒng)接受、分析并執(zhí)
行用戶發(fā)出的控制命令,對作業(yè)的運(yùn)行進(jìn)行管理和控制。
作業(yè)控制方式有兩種:
(1)脫機(jī)作業(yè)控制:也稱為作業(yè)的自動控制方式,它是為
脫機(jī)用戶服務(wù)的。脫機(jī)作業(yè)控制方式在批處理系統(tǒng)中提供。
(2)聯(lián)機(jī)作業(yè)控制:也稱為作業(yè)的直接控制方式,它是為
聯(lián)機(jī)用戶或終端用戶服務(wù)的。在分時系統(tǒng)中一般提供聯(lián)機(jī)控
制方式。
AA/
*
課堂練習(xí)
P42:二:5
2.3批處理方式下的作業(yè)管理
★在分時系統(tǒng)和實(shí)時系統(tǒng)中,一般沒有作業(yè)的概念,因而也無
作業(yè)管理,
★但在批處理系統(tǒng)中,作業(yè)管理是很必要、很重要的一個功能。
2.3.1作業(yè)構(gòu)成
2.3.2作業(yè)控制塊JCB(JobControlBlock)
2.3.3作業(yè)進(jìn)入系統(tǒng)和作業(yè)建立
2.3.4作業(yè)狀態(tài)及其轉(zhuǎn)換
2.3.5作業(yè)調(diào)度及調(diào)度算法
2.3.6作業(yè)控制**
2.3.7作業(yè)完成《
2.3.1作業(yè)構(gòu)成
★作業(yè)由三部分組成,即:程序、數(shù)據(jù)、作業(yè)說明書。
★程序和數(shù)據(jù):完成用戶要求的業(yè)務(wù)處理工作;
★作業(yè)說明書:體現(xiàn)用戶對其作業(yè)的控制意圖。例如,程序
采用何種語言書寫,是否需要進(jìn)行修改、編譯,程序運(yùn)行出錯
時怎么處理,運(yùn)行作業(yè)需要哪些資源等。
★作業(yè)說明書主要包含三方面內(nèi)容,即:
作業(yè)的基本情況描述、
作業(yè)控制描述、作業(yè)資源要求描述。
其主要內(nèi)容見圖2.5所示。
「用戶名
¥作業(yè)名
作業(yè)基本情況描述《使用語言
完成作業(yè)的最遲時間
作業(yè)優(yōu)先級
「控制方式
作業(yè)控制描述《操作順序
出錯處理
「估計運(yùn)行時間
內(nèi)存空間需求量
作業(yè)資源要求描述〈外存空間需求量
輸入輸出設(shè)備類型和數(shù)里
庫函數(shù)或?qū)嵱贸绦?/p>
圖2.5作業(yè)說明書的主要內(nèi)容
*2,1.2作業(yè)控制塊JCB
(JobControlBlock)
★操作系統(tǒng)根據(jù)作業(yè)說明書生成一個稱為作業(yè)控制塊JCB的表格。
★系統(tǒng)為每一個作業(yè)建立一個JCB,JCB包含了對作業(yè)進(jìn)行管理
控制所必要的信息。
★JCB:在作業(yè)整個運(yùn)行中始終存在,且內(nèi)容不斷變化,只有當(dāng)
作業(yè)完成退出系統(tǒng)時,才清除該作業(yè)的JCB。因此,JCB是作業(yè)在
系統(tǒng)中存在的標(biāo)志。
★JCB中的信息:主要根據(jù)用戶提供的作業(yè)控制信息以及系統(tǒng)
為作業(yè)分配資源的情況來填寫,并且根據(jù)作業(yè)運(yùn)行情況動存叁。
**
一般JCB包含以下內(nèi)容:
(1)用戶名和作業(yè)名;
(2)作業(yè)優(yōu)先數(shù);
(3)作業(yè)在外存中存放的地址及長度;
(4)作業(yè)對資源需求及分配使用情況,如內(nèi)存需求量及地址、
輸入輸出設(shè)備類型和臺數(shù)及臺號;
(5)作業(yè)要求運(yùn)行時間;
(6)作業(yè)進(jìn)入系統(tǒng)時間以及作業(yè)運(yùn)行時間計數(shù)等;
(7)有關(guān)類型說明,如程序類型、作業(yè)類型、控制方式也
(8)作業(yè)狀態(tài)。
JCB內(nèi)容是作業(yè)調(diào)度的依據(jù)。&r
*
課堂練習(xí)
P43:6
**
*2.3.3作業(yè)進(jìn)入系統(tǒng)和作業(yè)建立
★當(dāng)系統(tǒng)操作員在輸入設(shè)備上,將各個用戶提交的作業(yè)準(zhǔn)備好
后,輸入“START”命令,啟動操作系統(tǒng)的預(yù)輸入程序工作。
★預(yù)輸入程序:從輸入設(shè)備上接收作業(yè)信息(包括:作業(yè)說明
書、程序、數(shù)據(jù)),把作業(yè)組織成文件送到磁盤上的特定空間
(稱為輸入井);同時,根據(jù)作業(yè)說明書內(nèi)容和有關(guān)信息為該作
業(yè)建立一個JCB。此時,作業(yè)建立完成。
作業(yè)(作業(yè)說明書、程序、數(shù)據(jù))
輸入設(shè)備
輸入井(JCB、程序、數(shù)據(jù))
*
課堂練習(xí)
P43:8
yL*東
2.3.4作業(yè)狀態(tài)及其轉(zhuǎn)換
★一個作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行結(jié)束,
一般要經(jīng)歷四個階段:進(jìn)入、后備、運(yùn)行和完成,
★相應(yīng)地,作業(yè)亦有四種狀態(tài)。
1.進(jìn)入狀態(tài)
作業(yè)的信息正在從輸入設(shè)備上預(yù)輸入到輸入井,此時,稱作業(yè)
處于進(jìn)入狀態(tài)。
2.后備狀態(tài)
★當(dāng)作業(yè)的全部信息都已輸入,且由操作系統(tǒng)將其存放在輸入
井中,并為該作業(yè)建立一個JCB,此時,稱作業(yè)處于后備狀態(tài)。
★系統(tǒng)將所有處于后備狀態(tài)的作業(yè)的JCB組成后備作業(yè)隊列,
等待作業(yè)調(diào)度程序的調(diào)度。
**r
3.運(yùn)行狀態(tài)
★一個后備作業(yè)被作業(yè)調(diào)度程序選中,分配了必要的資源,
調(diào)入內(nèi)存運(yùn)行,稱作業(yè)處于運(yùn)行狀態(tài)。
★作業(yè)管理按照作業(yè)步順序,依次為每個作業(yè)步創(chuàng)建一作
業(yè)步主進(jìn)程,使其參與CPU的競爭。每個進(jìn)程又可以創(chuàng)建若
干子進(jìn)程。這些進(jìn)程有的正占用處理機(jī)執(zhí)行,有的因等待
某個事件發(fā)生而處于等待狀態(tài),有的處于就緒狀態(tài),(有
關(guān)進(jìn)程及其調(diào)度的概念將在第3章學(xué)習(xí)),但從宏觀上看,
該作業(yè)已處于運(yùn)行狀態(tài)。*
4.完成狀態(tài)
★當(dāng)作業(yè)正常運(yùn)行完畢或因發(fā)生錯誤非正常終止時,作業(yè)
進(jìn)入完成狀態(tài)。
★此時,系統(tǒng)將收回該作業(yè)所占用的全部資源,并清除有
關(guān)的JCB和PCB(進(jìn)程控制塊,第3章學(xué)習(xí))。
★然后,系統(tǒng)將作業(yè)運(yùn)行情況及作業(yè)輸出結(jié)果(存放在磁
盤上的輸出井中)輸出到輸出設(shè)備(如打印機(jī))。
輸出井(作業(yè)運(yùn)行情況、結(jié)果)
輸出設(shè)備
*
圖2.6作業(yè)狀態(tài)及轉(zhuǎn)換
*
課堂練習(xí)
P43:7
**
*2.3.5作業(yè)調(diào)度及調(diào)度算法
1.作業(yè)調(diào)度
作業(yè)調(diào)度的主要任務(wù)是:
★按照某種調(diào)度算法,從后備作業(yè)隊列中,挑選一批合理搭配
的作業(yè)進(jìn)入運(yùn)行狀態(tài);
★同時,為選中的作業(yè)分配內(nèi)存和外部設(shè)備資源,為其建立有
關(guān)的進(jìn)程;
★當(dāng)作業(yè)執(zhí)行結(jié)束進(jìn)入完成狀態(tài)時,做好釋放資源等善后工作。
決¥
**r
2.作業(yè)調(diào)度算法
★作業(yè)調(diào)度算法決定:選擇哪一個后備作業(yè)進(jìn)入運(yùn)行狀態(tài)。作
業(yè)調(diào)度算法是作業(yè)調(diào)度的關(guān)鍵,其好壞直接影響到系統(tǒng)的效率。
★選擇調(diào)度算法要考慮的因素很多,而且這些因素往往是相互
矛盾的。
★一般應(yīng)考慮以下三個基本目標(biāo):
(1)盡量提高系統(tǒng)的作業(yè)吞吐量,即每天處理盡可能多的作業(yè)。
(2)盡量使CPU和外部設(shè)備保持忙碌狀態(tài),以提高資源利用率。
(3)對各種作業(yè)公平合理,使所有用戶都滿意。
★實(shí)際上,對于一個具體系統(tǒng)來說,如果考慮的因素過多,
必將導(dǎo)致調(diào)度算法復(fù)雜化,增加系統(tǒng)開銷,反而不利于提高
系統(tǒng)效率。
★因此,大多數(shù)操作系統(tǒng)都采用比較簡單但有效的作業(yè)調(diào)度
算法。
AA/
yL*東
3.評價作業(yè)調(diào)度算法優(yōu)劣的性能指標(biāo)
通常有兩個。
1)作業(yè)平均周轉(zhuǎn)時間T
★某作業(yè)i從進(jìn)入時刻Ts到完成時刻Tc所經(jīng)歷的時間稱
為該作業(yè)的周轉(zhuǎn)時間Ti,有:
Ti=Tc-Ts
★則n個作業(yè)的平均周轉(zhuǎn)時間為
n
T=(STi)/n
i=l
yL**
2)作業(yè)平均帶權(quán)周轉(zhuǎn)時間W
★作業(yè)i的周轉(zhuǎn)時間Ti與實(shí)際運(yùn)行時間Tr之比稱
為作業(yè)i的帶權(quán)周轉(zhuǎn)時間Wi,有
Wi=Ti/Tr
★則n個作業(yè)的平均帶權(quán)周轉(zhuǎn)時間為
n
W=(SWi)/n
i=l
★通常,
用T來衡量不同調(diào)度算法對同一作業(yè)流的調(diào)度性能;
用W來衡量同一調(diào)度算法對不同作業(yè)流的調(diào)度性能;
★T和W越短,系統(tǒng)對作業(yè)的吞吐量越大,系統(tǒng)的性能越
高,因此,T和W愈短愈好。
AA/
*
4、主要作業(yè)調(diào)度算法
通常有三種調(diào)度算法:
先來先服務(wù)算法、短作業(yè)優(yōu)先算法、最高響應(yīng)比作業(yè)優(yōu)先算法。
**
1)先來先服務(wù)算法
★該算法按照作業(yè)建立時間的先后次序來選擇作業(yè),
先進(jìn)入系統(tǒng)的作業(yè)優(yōu)先調(diào)度。
★例如:假定有三個作業(yè)按表2.1第二列所示提交給
系統(tǒng),各作業(yè)的估計運(yùn)行長度如表中第三列所示。
表2.13個作業(yè)提交與運(yùn)行情況表
作業(yè)號提交時間估計運(yùn)行長度
110:002小時
210:061小時
310:150?25小時
***
按照先來先服務(wù)的原則,可以計算出它們各自在系統(tǒng)中
的開始運(yùn)行時間,完成時間、周轉(zhuǎn)時間。計算結(jié)果如表2.2。
表2.23個作業(yè)先來先服務(wù)的調(diào)度結(jié)果
作業(yè)號開始運(yùn)行時間完成時間周轉(zhuǎn)時間
110:0012:002.00小時
212:0013:002.90小時
313:0013:153.00小時
★三個作業(yè)的平均周轉(zhuǎn)時間T和平均帶權(quán)周轉(zhuǎn)時間W為:
T=(2.00+2.90+3.00)/3=2.63A
W=(2.00/2+2.90/1+3.00/0.25)/3=5.301
***
★顯然,對于短作業(yè)3而言,它本來只需運(yùn)行15分鐘,但
因為稍來遲一點(diǎn),就需在系統(tǒng)中呆三個小時,等待了2小時
45分鐘后才得以運(yùn)行,等待時間以實(shí)際運(yùn)行時間,因此它
對這種算法很不滿意。因此,
★這種調(diào)度算法的優(yōu)點(diǎn)是:實(shí)現(xiàn)簡單和看似公平。
★其缺點(diǎn)是:沒有考慮到系統(tǒng)中各種資源的充分利用;短作
業(yè)用戶不滿意,因為短作業(yè)等待處理的時間可能比實(shí)際運(yùn)行
時間長得多。
★針對此不足加以改進(jìn),則出現(xiàn)了第二種作業(yè)調(diào)度算法。
yL*東
2)短作業(yè)優(yōu)先算法
★該算法總是優(yōu)先選擇估計運(yùn)行時間最短的作業(yè)。
★例如:假定還是上例表2.1中的三個作業(yè),現(xiàn)按照短作業(yè)
優(yōu)先原則進(jìn)行調(diào)度,調(diào)度結(jié)果如表2.3所示。
AA/
*
*表2.33個作業(yè)短作業(yè)優(yōu)先的調(diào)度結(jié)果
作業(yè)號開始運(yùn)行時間完成時間周轉(zhuǎn)時間
110:0012:002.00小時
312:0012:152.00小時
212:1513:153?15小時
★三個作業(yè)的平均周轉(zhuǎn)時間T和平均帶權(quán)周轉(zhuǎn)時間W為:
T=(2.00+2.00+3.15)/3=2.38
W=(2.00/2+2.00/0.25+3.15/1)/3=4.05
★顯然,不論是T還是肌短作業(yè)優(yōu)先調(diào)度算法的都小于
先來先服務(wù)調(diào)度算法的。q
*1
★實(shí)踐證明,假定系統(tǒng)中所有作業(yè)是同時到達(dá)的,則采用短
作業(yè)優(yōu)先算法可以得到最短的作業(yè)平均周轉(zhuǎn)時間。
★但是,由于該算法只考慮作業(yè)運(yùn)行時間而完全忽略了作業(yè)
等待時間的長短,因此有可能發(fā)生這種情況:一個長作業(yè)進(jìn)入
系統(tǒng)后,由于不斷有較短的作業(yè)進(jìn)入系統(tǒng),使它一直得不到機(jī)
會運(yùn)行。這種現(xiàn)象被稱為“饑餓”。使該算法對長作業(yè)不公平。
★為克服此缺點(diǎn),又出現(xiàn)了第三種作業(yè)調(diào)度算法。分*4
3)最高響應(yīng)比作業(yè)優(yōu)先算法
★響應(yīng)比R定義為:系統(tǒng)對作業(yè)的響應(yīng)時間與作業(yè)估計運(yùn)行
時間的比值,即:
R=響應(yīng)時間/估計運(yùn)行時間
=(作業(yè)等待時間+估計運(yùn)行時間)/估計運(yùn)行時間
=1+作業(yè)等待時間/估計運(yùn)行時間
★該算法優(yōu)先選擇響應(yīng)比最高的作業(yè)運(yùn)行。
yL**
★例如:假定有四個作業(yè)按表2.4第二列所示提交給系統(tǒng),
它們的估計運(yùn)行長度如表中第三列所示。
表2.44個作業(yè)提交與運(yùn)行情況表
作業(yè)號提交時間估計運(yùn)行長度
18:002.0小時
28:300.5小時
39:000.1小時
49:300.2小時
*
按照最高響應(yīng)比作業(yè)優(yōu)先的原則,可以計算出它們各自在
系統(tǒng)中的開始運(yùn)行時間、完成時間、周轉(zhuǎn)時間。計算結(jié)果
如表2.5所示。
表2.54個作業(yè)最高響應(yīng)比作業(yè)優(yōu)先的調(diào)度結(jié)果
作業(yè)號開始運(yùn)行時間完成時間周轉(zhuǎn)時間
18:0010:002.00小時
310:0010:06L10小時
210:0610:362?10小時
410:3610:481.30小時
¥**
★8點(diǎn)鐘時,只有作業(yè)1提交,因此系統(tǒng)直接調(diào)度運(yùn)行它;
★在運(yùn)行完作業(yè)1后,時間為10點(diǎn)整,其它三個作業(yè)都已提
交,它們在系統(tǒng)中的等待時間分別為L5小時、1小時和0.5
小時,此時它們的響應(yīng)比分別為:
作業(yè)2R=l+1.5/0.5=4
作業(yè)3R=l+1.0/0.1=11
作業(yè)4R=l+0.5/0.2=3.5
★顯然,作業(yè)3的R最高,系統(tǒng)選擇作業(yè)3投入運(yùn)行;兒、
★作業(yè)3完成后,時間為10:06,剩下的兩個作業(yè)在系統(tǒng)中的等
待時間分別為L6小時和0.6小時,此時它們的響應(yīng)比分別為:
作業(yè)2R=l+1.6/0.5=4.2
作業(yè)4R=l+0.6/0.2=4.0
★顯然,作業(yè)2的R最高,系統(tǒng)選擇作業(yè)2投入運(yùn)行;
★當(dāng)作業(yè)4完成后,只剩作業(yè)4,系統(tǒng)直接將其投入運(yùn)行即可。
★這四個作業(yè)的平均周轉(zhuǎn)時間T和平均帶權(quán)周轉(zhuǎn)時間W分別為:
T=(2.00+1.10+2.10+1.30)/4=1.625
W=(2.00/2+1.10/0.1+2.10/0.5+1.30/0.2)/4=5.675.
**'
★從R公式可見,作業(yè)的R與作業(yè)的估計運(yùn)行時間成反比:
★作業(yè)的估計運(yùn)行時間越短,其R越高,因此短作業(yè)會優(yōu)先被調(diào)度;
★作業(yè)的估計運(yùn)行時間越長,其R越低,同時作業(yè)的R會隨著它的
等待時間的增加而增加,只要等待時間足夠長,該作業(yè)總會由于響
應(yīng)比高而被調(diào)度,因此長作業(yè)也不會發(fā)生“饑餓”現(xiàn)象。
★顯然,該算法是上述兩種算法的綜合:它克服了上述兩種算法
的缺點(diǎn),結(jié)合了上述兩種算法的優(yōu)點(diǎn)。
★但該算法也有不足:每次調(diào)度都需要針對后備作業(yè)隊中的所有
作業(yè)計算響應(yīng)比并進(jìn)行比較選擇,系統(tǒng)會付出較大的時空開銷。
**
5.作業(yè)調(diào)度時機(jī)
一般,
★當(dāng)磁盤上的輸入井中有一道作業(yè)建立(可能它的
優(yōu)先級最高),
★或內(nèi)存中的一道作業(yè)運(yùn)行結(jié)束時(可能CPU空閑),
★系統(tǒng)就會啟動作業(yè)調(diào)度程序開始工作。
*
課堂練習(xí)
P43-44:9-16
**
*2.3.6作業(yè)控制
★在批處理系統(tǒng)中,系統(tǒng)向用戶提供作業(yè)控制語言
JCL(JobControlLanguage),使用戶將自己對作
業(yè)的控制意圖寫成作業(yè)說明書,
★JCL:一種特殊的程序語言,通常包含:
作業(yè)描述、資源說明、作業(yè)執(zhí)行、作業(yè)流程控制、
等作業(yè)控制語句。
AA/
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自主考試羽毛球類題目及答案
- 敢不敢挑戰(zhàn)做卷子題目及答案
- 張佳寧高考題目及答案
- 八下中考卷的題目及答案
- 辦公室員工培訓(xùn)組織與實(shí)施制度
- 問題線索會商研判制度
- 酒吧營銷制度
- 大數(shù)據(jù)清洗工具比較
- 項目管理關(guān)鍵技術(shù)要點(diǎn)
- 輪崗鍛煉制度
- 2025年國防科工局面試模擬題庫解析
- 老舊小區(qū)改造的國內(nèi)外現(xiàn)狀與發(fā)展趨勢
- 《人工智能導(dǎo)論》高職人工智能通識課程全套教學(xué)課件
- 2025年四川醫(yī)療衛(wèi)生事業(yè)單位《衛(wèi)生公共基礎(chǔ)知識》考試真題及答案
- 食堂檔口承包合同協(xié)議書
- 云南公務(wù)接待管理辦法
- 農(nóng)行監(jiān)控錄像管理辦法
- 急性呼吸衰竭的診斷與治療
- 職業(yè)技能認(rèn)定考評員培訓(xùn)
- DB11∕T 1448-2024 城市軌道交通工程資料管理規(guī)程
- 職業(yè)技術(shù)學(xué)院數(shù)字媒體技術(shù)應(yīng)用專業(yè)人才培養(yǎng)方案(2024級)
評論
0/150
提交評論