計算機(jī)作業(yè)管理_第1頁
計算機(jī)作業(yè)管理_第2頁
計算機(jī)作業(yè)管理_第3頁
計算機(jī)作業(yè)管理_第4頁
計算機(jī)作業(yè)管理_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論