




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 1頁第三章第三章 作業(yè)管理作業(yè)管理 n 3.1 作業(yè)管理概述作業(yè)管理概述n 3.2 批處理作業(yè)的管理批處理作業(yè)的管理n 3.3 交互式作業(yè)的管理交互式作業(yè)的管理n 3.4 操作系統(tǒng)與用戶的接口操作系統(tǒng)與用戶的接口n 3.5 本章小節(jié)本章小節(jié)機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 2頁3.4 操作系統(tǒng)與用戶的接口操作系統(tǒng)與用戶的接口n3.4.1 命令接口命令接口(作業(yè)級接口作業(yè)級接口)n3.4.2 程序接口程序接口n3.4.3 圖形接口圖形接口機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 3頁3.1 作業(yè)管理概述作業(yè)管理概述n1.作
2、業(yè)作業(yè) n 把用戶在一次解題過程中要求計算機所做工作的集合把用戶在一次解題過程中要求計算機所做工作的集合稱為一個作業(yè)。稱為一個作業(yè)。n 在計算機上運行用戶作業(yè)時,通常要經歷以下在計算機上運行用戶作業(yè)時,通常要經歷以下4步:步: n (1)編輯,即采用某種高級語言按一定算法編寫源程編輯,即采用某種高級語言按一定算法編寫源程序,將源程序通過某種手段送入計算機內;序,將源程序通過某種手段送入計算機內;n (2)編譯,即調用上述高級語言的編譯程序,對源程編譯,即調用上述高級語言的編譯程序,對源程序進行編譯,產生目標代碼程序;序進行編譯,產生目標代碼程序;n (3)鏈接,即將目標代碼及調用的各種庫代碼連
3、接裝鏈接,即將目標代碼及調用的各種庫代碼連接裝配成一個可執(zhí)行代碼;配成一個可執(zhí)行代碼;n (4)運行,即提供程序運行時所需數(shù)據(jù),運行程序并運行,即提供程序運行時所需數(shù)據(jù),運行程序并產生計算結果。產生計算結果。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 4頁n2.作業(yè)步作業(yè)步 n 任何一個作業(yè)都要經過若干加工步驟任何一個作業(yè)都要經過若干加工步驟才能得到結果,作業(yè)的每一個加工步驟才能得到結果,作業(yè)的每一個加工步驟稱為一個稱為一個“作業(yè)步作業(yè)步”。每個作業(yè)步都對。每個作業(yè)步都對應一個程序的執(zhí)行,各作業(yè)步之間總是應一個程序的執(zhí)行,各作業(yè)步之間總是相互聯(lián)系的,并在邏輯上是順序執(zhí)行的,相互聯(lián)系的,并
4、在邏輯上是順序執(zhí)行的,前一個作業(yè)步的輸出信息往往作為后一前一個作業(yè)步的輸出信息往往作為后一個作業(yè)步的輸入,如個作業(yè)步的輸入,如圖圖31所示。實際所示。實際上每個作業(yè)所經歷的加工步驟是可以不上每個作業(yè)所經歷的加工步驟是可以不同的。同的。3.1 作業(yè)管理概述作業(yè)管理概述機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 5頁3.1 作業(yè)管理概述作業(yè)管理概述圖31作業(yè)控制過程機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 6頁3.1 作業(yè)管理概述作業(yè)管理概述 3. 3.作業(yè)控制方式作業(yè)控制方式 指用戶根據(jù)操作系統(tǒng)提供的手段來說明作業(yè)加工步驟指用戶根據(jù)操作系統(tǒng)提供的手段來說明作業(yè)加工步驟的方式。的方式
5、。 (1)(1)批處理控制方式批處理控制方式 用戶使用用戶使用 “ “作業(yè)控制語言作業(yè)控制語言”對作業(yè)執(zhí)行的控制意圖編對作業(yè)執(zhí)行的控制意圖編寫成一份寫成一份“作業(yè)控制說明書作業(yè)控制說明書”,連同該作業(yè)的源程序和初,連同該作業(yè)的源程序和初始數(shù)據(jù)一同提交給計算機系統(tǒng),操作系統(tǒng)將按照用戶說明始數(shù)據(jù)一同提交給計算機系統(tǒng),操作系統(tǒng)將按照用戶說明的控制意圖來控制作業(yè)的執(zhí)行。的控制意圖來控制作業(yè)的執(zhí)行。 采用該方式對作業(yè)進行控制時,其控制意圖是事先在采用該方式對作業(yè)進行控制時,其控制意圖是事先在脫機情況下說明的,且作業(yè)完全由操作系統(tǒng)自動控制執(zhí)行。脫機情況下說明的,且作業(yè)完全由操作系統(tǒng)自動控制執(zhí)行。因此,該控
6、制方式又稱自動控制方式或脫機控制方式。因此,該控制方式又稱自動控制方式或脫機控制方式。 采用該方式的作業(yè)稱采用該方式的作業(yè)稱“批處理作業(yè)批處理作業(yè)”,又稱,又稱“脫機作脫機作業(yè)業(yè)”。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 7頁3.1 作業(yè)管理概述作業(yè)管理概述 (2)(2)交互式控制方式交互式控制方式 用戶使用操作系統(tǒng)提供的用戶使用操作系統(tǒng)提供的“操作控制命令操作控制命令”來表來表達對作業(yè)執(zhí)行的控制意圖。執(zhí)行時,用戶逐條輸入命達對作業(yè)執(zhí)行的控制意圖。執(zhí)行時,用戶逐條輸入命令,操作系統(tǒng)每接到一條命令,就根據(jù)命令的要求控令,操作系統(tǒng)每接到一條命令,就根據(jù)命令的要求控制作業(yè)的執(zhí)行,直至作業(yè)
7、執(zhí)行結束。制作業(yè)的執(zhí)行,直至作業(yè)執(zhí)行結束。 采用交互方式時,在作業(yè)執(zhí)行過程中操作系統(tǒng)與采用交互方式時,在作業(yè)執(zhí)行過程中操作系統(tǒng)與用戶之間需不斷交互信息,用戶必須在聯(lián)機方式下通用戶之間需不斷交互信息,用戶必須在聯(lián)機方式下通過對計算機的直接操作來控制作業(yè)的執(zhí)行。因此,交過對計算機的直接操作來控制作業(yè)的執(zhí)行。因此,交互式控制方式又稱聯(lián)機控制方式?;ナ娇刂品绞接址Q聯(lián)機控制方式。 采用交互式控制方式的作業(yè)稱為采用交互式控制方式的作業(yè)稱為“交互式作業(yè)交互式作業(yè)”,又稱又稱“聯(lián)機作業(yè)聯(lián)機作業(yè)”,對于來自終端的作業(yè)也稱為,對于來自終端的作業(yè)也稱為“終終端作業(yè)端作業(yè)”。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課
8、件 第 8頁3.2 批處理作業(yè)的管理批處理作業(yè)的管理n3.2.1 3.2.1 批處理作業(yè)輸入批處理作業(yè)輸入n3.2.2 3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n3.2.3 3.2.3 作業(yè)調度算法作業(yè)調度算法n3.2.4 3.2.4 批處理作業(yè)的控制批處理作業(yè)的控制機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 9頁3.2 批處理作業(yè)的管理批處理作業(yè)的管理 n 根據(jù)作業(yè)進入系統(tǒng)的過程,可將作業(yè)管根據(jù)作業(yè)進入系統(tǒng)的過程,可將作業(yè)管理功能分成三部分:理功能分成三部分:n (1)(1)作業(yè)輸入:把作業(yè)裝入輔存輸入井中,作業(yè)輸入:把作業(yè)裝入輔存輸入井中,并按照進入的先后順序形成后備作業(yè)隊列的并
9、按照進入的先后順序形成后備作業(yè)隊列的過程。過程。 n (2)(2)作業(yè)調度:按某種調度策略選擇后備作業(yè)調度:按某種調度策略選擇后備作業(yè)隊列中的若干作業(yè)裝入主存運行的過程。作業(yè)隊列中的若干作業(yè)裝入主存運行的過程。n (3)(3)作業(yè)控制:在操作系統(tǒng)控制下,用戶作業(yè)控制:在操作系統(tǒng)控制下,用戶如何組織他的作業(yè)并控制作業(yè)的運行。如何組織他的作業(yè)并控制作業(yè)的運行。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 10頁3.2.1 批處理作業(yè)輸入批處理作業(yè)輸入n 用戶根據(jù)自己的實際要求組織批處理作業(yè),并用戶根據(jù)自己的實際要求組織批處理作業(yè),并把準備好的作業(yè)提交給計算機系統(tǒng),操作系統(tǒng)完成把準備好的作業(yè)提
10、交給計算機系統(tǒng),操作系統(tǒng)完成將該批處理作業(yè)向系統(tǒng)成批輸入。將該批處理作業(yè)向系統(tǒng)成批輸入。 n1 1作業(yè)控制語言作業(yè)控制語言n 每個批處理作業(yè)都包括源程序、初始數(shù)據(jù)和作每個批處理作業(yè)都包括源程序、初始數(shù)據(jù)和作業(yè)控制說明書三部分,其中說明書是用作業(yè)控制語業(yè)控制說明書三部分,其中說明書是用作業(yè)控制語言書寫的,刻畫了用戶對作業(yè)的基本情況描述和資言書寫的,刻畫了用戶對作業(yè)的基本情況描述和資源需求描述,規(guī)定了用戶對作業(yè)執(zhí)行的控制要求。源需求描述,規(guī)定了用戶對作業(yè)執(zhí)行的控制要求。作業(yè)基本情況描述含用戶名、作業(yè)名、使用的編程作業(yè)基本情況描述含用戶名、作業(yè)名、使用的編程語言名、允許的最大處理時間等;資源需求描述
11、含語言名、允許的最大處理時間等;資源需求描述含需求的主存大小、外設種類及臺數(shù)、處理器優(yōu)先級、需求的主存大小、外設種類及臺數(shù)、處理器優(yōu)先級、所需運行時間、需求庫函數(shù)等;作業(yè)執(zhí)行的控制要所需運行時間、需求庫函數(shù)等;作業(yè)執(zhí)行的控制要求包括作業(yè)的控制方式、作業(yè)步的執(zhí)行順序、作業(yè)求包括作業(yè)的控制方式、作業(yè)步的執(zhí)行順序、作業(yè)的異常處理等。的異常處理等。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 11頁n 作業(yè)控制語言作業(yè)控制語言JCLJCL由若干作業(yè)控制語句由若干作業(yè)控制語句組成,每個控制語句包含了表示特征的關鍵組成,每個控制語句包含了表示特征的關鍵字、指示控制要求的若干參數(shù)。在脫機方式字、指示控制
12、要求的若干參數(shù)。在脫機方式下,系統(tǒng)提供下,系統(tǒng)提供JCLJCL將作業(yè)的控制要求編寫成將作業(yè)的控制要求編寫成作業(yè)控制說明書的形式,并通過作業(yè)控制說作業(yè)控制說明書的形式,并通過作業(yè)控制說明書對作業(yè)實施運行控制,其主要功能如下:明書對作業(yè)實施運行控制,其主要功能如下:n (1)(1)作業(yè)的提交。作業(yè)的提交。n (2)(2)控制作業(yè)和作業(yè)步的執(zhí)行。控制作業(yè)和作業(yè)步的執(zhí)行。n (3)(3)各種軟硬件資源的使用。各種軟硬件資源的使用。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 12頁3.2.1 批處理作業(yè)輸入批處理作業(yè)輸入n2 2作業(yè)控制塊作業(yè)控制塊n 作業(yè)控制塊作業(yè)控制塊JCBJCB是批處理作業(yè)存
13、在的標志,其中存有是批處理作業(yè)存在的標志,其中存有系統(tǒng)對于作業(yè)進行管理所需要的全部信息,它們被保存于系統(tǒng)對于作業(yè)進行管理所需要的全部信息,它們被保存于輔存存儲區(qū)域中。輔存存儲區(qū)域中。 JCBJCB中所包含的信息數(shù)量及內容因系統(tǒng)中所包含的信息數(shù)量及內容因系統(tǒng)而異,但一般應包含:而異,但一般應包含:n 作業(yè)名、作業(yè)狀態(tài)、作業(yè)類別、作業(yè)優(yōu)先級、作業(yè)控作業(yè)名、作業(yè)狀態(tài)、作業(yè)類別、作業(yè)優(yōu)先級、作業(yè)控制方式、資源需求量、進入系統(tǒng)時間、開始運行時間、運制方式、資源需求量、進入系統(tǒng)時間、開始運行時間、運行時間、作業(yè)完成時間和所需主存地址及外設種類及臺數(shù)行時間、作業(yè)完成時間和所需主存地址及外設種類及臺數(shù)等。等。
14、n (1)(1)作業(yè)控制塊的建立作業(yè)控制塊的建立n 當作業(yè)開始由輸入設備輸入到輔存的輸入井時當作業(yè)開始由輸入設備輸入到輔存的輸入井時, ,系統(tǒng)系統(tǒng)輸入程序即為其建立一個輸入程序即為其建立一個JCB JCB ,并對其進行初始化。初始,并對其進行初始化。初始化的大部分信息取自作業(yè)控制說明書,其它的部分信息如化的大部分信息取自作業(yè)控制說明書,其它的部分信息如作業(yè)進入系統(tǒng)時間和作業(yè)開始運行時間等則由資源管理器作業(yè)進入系統(tǒng)時間和作業(yè)開始運行時間等則由資源管理器給出。給出。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 13頁n (2) (2)作業(yè)控制塊的使用作業(yè)控制塊的使用n 需要訪問需要訪問JCBJ
15、CB的程序主要有系統(tǒng)輸?shù)某绦蛑饕邢到y(tǒng)輸入程序、作業(yè)調度程序、作業(yè)控制程入程序、作業(yè)調度程序、作業(yè)控制程序和系統(tǒng)輸出程序等。序和系統(tǒng)輸出程序等。n (3)(3)作業(yè)控制塊的撤銷作業(yè)控制塊的撤銷n 當作業(yè)完成后,其當作業(yè)完成后,其JCBJCB由系統(tǒng)輸出由系統(tǒng)輸出程序撤銷,程序撤銷, 隨即其作業(yè)也撤銷。隨即其作業(yè)也撤銷。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 14頁3.2.1 批處理作業(yè)輸入批處理作業(yè)輸入n3 3作業(yè)表作業(yè)表n 每個作業(yè)都有一個每個作業(yè)都有一個JCBJCB,所有作業(yè),所有作業(yè)的的JCBJCB就構成了一個作業(yè)表。作業(yè)表存就構成了一個作業(yè)表。作業(yè)表存放在輔存固定區(qū)域中,長度是
16、固定的,放在輔存固定區(qū)域中,長度是固定的,它限制了系統(tǒng)所能同時容納的作業(yè)數(shù)量。它限制了系統(tǒng)所能同時容納的作業(yè)數(shù)量。系統(tǒng)輸入程序、作業(yè)調度程序、系統(tǒng)輸系統(tǒng)輸入程序、作業(yè)調度程序、系統(tǒng)輸出程序都需要訪問作業(yè)表,因而存在互出程序都需要訪問作業(yè)表,因而存在互斥問題。斥問題。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 15頁3.2.1 批處理作業(yè)輸入批處理作業(yè)輸入n4 4批處理作業(yè)的建立批處理作業(yè)的建立n 作業(yè)建立的前提條件是首先向系統(tǒng)申請獲得一個空的作業(yè)建立的前提條件是首先向系統(tǒng)申請獲得一個空的作業(yè)表項和足夠的輸入井空間。建立時,一個作業(yè)必須將作業(yè)表項和足夠的輸入井空間。建立時,一個作業(yè)必須將
17、作業(yè)所包括的全部程序和數(shù)據(jù)輸入到輔存中保存起來,并作業(yè)所包括的全部程序和數(shù)據(jù)輸入到輔存中保存起來,并建立該作業(yè)對應的建立該作業(yè)對應的JCB JCB 。因此,作業(yè)的建立過程包括兩個。因此,作業(yè)的建立過程包括兩個階段:建立階段:建立JCBJCB階段和作業(yè)輸入階段。階段和作業(yè)輸入階段。n (1) (1) 建立建立JCBJCBn 建立建立JCBJCB的過程就是申請和填寫一張含空白表項的作業(yè)的過程就是申請和填寫一張含空白表項的作業(yè)表的過程。由于操作系統(tǒng)所允許的作業(yè)表的長度是固定的,表的過程。由于操作系統(tǒng)所允許的作業(yè)表的長度是固定的,即作業(yè)表中存放的即作業(yè)表中存放的JCBJCB個數(shù)是確定的,因此當作業(yè)表中
18、無空個數(shù)是確定的,因此當作業(yè)表中無空白表項時,系統(tǒng)將無法為用戶建立作業(yè),作業(yè)建立將會失白表項時,系統(tǒng)將無法為用戶建立作業(yè),作業(yè)建立將會失敗。敗。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 16頁n(2)(2)作業(yè)的輸入作業(yè)的輸入n 將作業(yè)的源程序、初始數(shù)據(jù)和作業(yè)控制說明書將作業(yè)的源程序、初始數(shù)據(jù)和作業(yè)控制說明書通過輸入設備輸入到輔存并完成初始化的過程。作通過輸入設備輸入到輔存并完成初始化的過程。作業(yè)輸入時,操作系統(tǒng)通過業(yè)輸入時,操作系統(tǒng)通過“預輸入命令預輸入命令”啟動啟動SPOOLingSPOOLing系統(tǒng)中的系統(tǒng)中的“預輸入程序預輸入程序”工作,就可把作工作,就可把作業(yè)信息存放到業(yè)信息
19、存放到“輸入井輸入井”中。預輸入程序根據(jù)作業(yè)中。預輸入程序根據(jù)作業(yè)控制說明書中的作業(yè)標識語句區(qū)分作業(yè),把作業(yè)登控制說明書中的作業(yè)標識語句區(qū)分作業(yè),把作業(yè)登記到作業(yè)表中,并把作業(yè)中的各個文件存到記到作業(yè)表中,并把作業(yè)中的各個文件存到“輸入輸入井井”中。被輸入的作業(yè)處于中。被輸入的作業(yè)處于“后備狀態(tài)后備狀態(tài)”,并在,并在“輸入井輸入井”中等待處理。采用中等待處理。采用SPOOLingSPOOLing系統(tǒng)的輸入系統(tǒng)的輸入方式時,由于輔存中的輸入井空間大小有限,若輸方式時,由于輔存中的輸入井空間大小有限,若輸入井中無足夠大小的空間存放該作業(yè),則作業(yè)建立入井中無足夠大小的空間存放該作業(yè),則作業(yè)建立仍然會
20、失敗。仍然會失敗。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 17頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n1 1作業(yè)調度程序作業(yè)調度程序n 作業(yè)調度不僅要按某種調度算法從后備作業(yè)隊列中選擇作業(yè)調度不僅要按某種調度算法從后備作業(yè)隊列中選擇作業(yè)裝入主存,還要為選中的作業(yè)分配所需資源,為作業(yè)進作業(yè)裝入主存,還要為選中的作業(yè)分配所需資源,為作業(yè)進入入CPUCPU運行作好準備。完成作業(yè)調度功能的控制程序稱為作運行作好準備。完成作業(yè)調度功能的控制程序稱為作業(yè)調度程序。通常作業(yè)調度程序要完成下述工作:業(yè)調度程序。通常作業(yè)調度程序要完成下述工作:n (1)(1)按照某種調度算法從后備作業(yè)隊列中選
21、取作業(yè)。按照某種調度算法從后備作業(yè)隊列中選取作業(yè)。n (2)(2)為被選中的作業(yè)分配主存和外設資源。為被選中的作業(yè)分配主存和外設資源。 n (3)(3)為選中的作業(yè)開始運行做好一切準備工作。這種準為選中的作業(yè)開始運行做好一切準備工作。這種準備工作包括:修改作業(yè)狀態(tài)為運行態(tài),為運行作業(yè)創(chuàng)建進程,備工作包括:修改作業(yè)狀態(tài)為運行態(tài),為運行作業(yè)創(chuàng)建進程,構造和填寫作業(yè)運行時所需的表格,如作業(yè)表等。構造和填寫作業(yè)運行時所需的表格,如作業(yè)表等。n (4)(4)在作業(yè)運行完成或由于某種原因需要撤離系統(tǒng)時,在作業(yè)運行完成或由于某種原因需要撤離系統(tǒng)時,還要完成作業(yè)的善后處理工作。包括回收分給它的全部資源,還要完
22、成作業(yè)的善后處理工作。包括回收分給它的全部資源,為輸出必要信息編制輸出文件,撤銷該作業(yè)的全部進程和作為輸出必要信息編制輸出文件,撤銷該作業(yè)的全部進程和作業(yè)控制塊等,最終將其從現(xiàn)行作業(yè)隊列中刪除。業(yè)控制塊等,最終將其從現(xiàn)行作業(yè)隊列中刪除。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 18頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n2 2作業(yè)狀態(tài)作業(yè)狀態(tài)n 作業(yè)從提交到系統(tǒng)直到離開系統(tǒng)前的整個活動可劃分為若干階段。作業(yè)從提交到系統(tǒng)直到離開系統(tǒng)前的整個活動可劃分為若干階段。作業(yè)在每個階段所處的狀態(tài)稱為作業(yè)的狀態(tài)。通常作業(yè)的狀態(tài)分成四種:作業(yè)在每個階段所處的狀態(tài)稱為作業(yè)的狀態(tài)。通常作業(yè)的狀態(tài)分
23、成四種:n (1)(1)提交狀態(tài):一個作業(yè)經過輸入設備進入到輸入井提交狀態(tài):一個作業(yè)經過輸入設備進入到輸入井 ,系統(tǒng)為其建,系統(tǒng)為其建立作業(yè)控制塊。這時的作業(yè)處于提交狀態(tài)。立作業(yè)控制塊。這時的作業(yè)處于提交狀態(tài)。n (2)(2)后備狀態(tài):系統(tǒng)將已進入輸入井的作業(yè)插入到輸入井后備隊列后備狀態(tài):系統(tǒng)將已進入輸入井的作業(yè)插入到輸入井后備隊列中,等待作業(yè)調度程序的調度運行,這時的作業(yè)處于后備狀態(tài)。中,等待作業(yè)調度程序的調度運行,這時的作業(yè)處于后備狀態(tài)。n (3)(3)運行狀態(tài):處于后備狀態(tài)的作業(yè)被作業(yè)調度程序選中進入主存,運行狀態(tài):處于后備狀態(tài)的作業(yè)被作業(yè)調度程序選中進入主存,系統(tǒng)就為它分配必要的資源,
24、建立相應的進程,這時處于運行狀態(tài)。系統(tǒng)就為它分配必要的資源,建立相應的進程,這時處于運行狀態(tài)。n (4)(4)完成狀態(tài):作業(yè)完成其全部運行并釋放其所占全部資源而正常完成狀態(tài):作業(yè)完成其全部運行并釋放其所占全部資源而正常結束或異常終止時,此時就處在完成狀態(tài)。此時作業(yè)調度程序對該作業(yè)結束或異常終止時,此時就處在完成狀態(tài)。此時作業(yè)調度程序對該作業(yè)進行一系列善后處理,并退出系統(tǒng)。進行一系列善后處理,并退出系統(tǒng)。n 作業(yè)狀態(tài)的轉換是一個在其生命周期中的連續(xù)過程,對應的狀態(tài)轉作業(yè)狀態(tài)的轉換是一個在其生命周期中的連續(xù)過程,對應的狀態(tài)轉換圖換圖如如圖圖32所示。所示。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程
25、課件 第 19頁緩輸出程序緩輸出初始數(shù)據(jù)提交狀態(tài)完成狀態(tài)后備狀態(tài)運行狀態(tài) 初始數(shù)據(jù)源程序輸出設備作業(yè)控制說明書輸入井運行等待就緒輸出井輸入設備作業(yè)調度預輸入作業(yè)調度程序預輸入程序圖32 狀態(tài)轉換圖3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 20頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n3 3作業(yè)調度的影響因素作業(yè)調度的影響因素n 對于每個用戶來說,都希望自己的作業(yè)盡快執(zhí)行,但就計算機系統(tǒng)而言,對于每個用戶來說,都希望自己的作業(yè)盡快執(zhí)行,但就計算機系統(tǒng)而言,既要考慮用戶的需求又要有利于整個系統(tǒng)效率的提高,因此作業(yè)調度中應該綜既要考慮用戶的需
26、求又要有利于整個系統(tǒng)效率的提高,因此作業(yè)調度中應該綜合考慮多方面的因素。主要考慮的因素有:合考慮多方面的因素。主要考慮的因素有:n (1)(1)公平性公平性 :公平對待每個用戶:公平對待每個用戶, ,讓用戶滿意,不能無故或無限制地拖延讓用戶滿意,不能無故或無限制地拖延某一用戶作業(yè)的執(zhí)行。某一用戶作業(yè)的執(zhí)行。 n (2)(2)均衡使用資源:使同時裝入主存的作業(yè)在執(zhí)行時盡可能利用系統(tǒng)各種均衡使用資源:使同時裝入主存的作業(yè)在執(zhí)行時盡可能利用系統(tǒng)各種不同資源,極大提高資源的使用率。因此應將計算型和不同資源,極大提高資源的使用率。因此應將計算型和I/OI/O型兩種作業(yè)合理搭型兩種作業(yè)合理搭配,使得系統(tǒng)各
27、種資源發(fā)揮最佳效益。配,使得系統(tǒng)各種資源發(fā)揮最佳效益。n (3) (3) 提高系統(tǒng)吞吐量提高系統(tǒng)吞吐量 :通過縮短每個作業(yè)的周轉時間,實現(xiàn)單位時間內:通過縮短每個作業(yè)的周轉時間,實現(xiàn)單位時間內盡可能為更多作業(yè)服務,從而提高計算機系統(tǒng)的吞吐能力。盡可能為更多作業(yè)服務,從而提高計算機系統(tǒng)的吞吐能力。n (4)(4)平衡系統(tǒng)和用戶需求:每個用戶都希望自己的作業(yè)立即投入運行并很平衡系統(tǒng)和用戶需求:每個用戶都希望自己的作業(yè)立即投入運行并很快獲得運行結果,但系統(tǒng)必需考慮系統(tǒng)的整體性能的提高,有時卻難以滿足用快獲得運行結果,但系統(tǒng)必需考慮系統(tǒng)的整體性能的提高,有時卻難以滿足用戶需求。戶需求。 n 上述這些因
28、素可能不能兼顧,應根據(jù)系統(tǒng)的設計目標來決定優(yōu)先考慮的調上述這些因素可能不能兼顧,應根據(jù)系統(tǒng)的設計目標來決定優(yōu)先考慮的調度因素。度因素。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 21頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n4 4作業(yè)調度的性能指標作業(yè)調度的性能指標n (1)(1) CPUCPU利用率:利用率:CPUCPU利用率是利用率是CPUCPU的有效運行時間與總的有效運行時間與總的運行時間之比。因此,比值越大,其的運行時間之比。因此,比值越大,其CPUCPU利用率越高。利用率越高。n (2)(2) 吞吐能力:吞吐能力是指單位時間內完成作業(yè)的吞吐能力:吞吐能力是指單位時間內完
29、成作業(yè)的數(shù)量。因此,完成的數(shù)量越多,其吞吐能力越強。數(shù)量。因此,完成的數(shù)量越多,其吞吐能力越強。n (3)(3) 周轉時間:作業(yè)的周轉時間是指從作業(yè)被提交進周轉時間:作業(yè)的周轉時間是指從作業(yè)被提交進入輸入井開始,到作業(yè)執(zhí)行完成的這段時間間隔,應包括四入輸入井開始,到作業(yè)執(zhí)行完成的這段時間間隔,應包括四個部分:等待作業(yè)調度的時間,等待進程調度的時間,占據(jù)個部分:等待作業(yè)調度的時間,等待進程調度的時間,占據(jù)CPUCPU執(zhí)行的時間,及進程等待執(zhí)行的時間,及進程等待I/OI/O操作完成的時間。設操作完成的時間。設TcTci i為為作業(yè)作業(yè)i i的完成時間,的完成時間,TsTsi i為作業(yè)進入輸入井的時
30、間,則作業(yè)為作業(yè)進入輸入井的時間,則作業(yè)i i的周轉時間定義為:的周轉時間定義為:T Ti i= Tc= Tci i -Ts -Tsi in 很顯然,作業(yè)的周轉時間越短,作業(yè)越早被調度并運行。很顯然,作業(yè)的周轉時間越短,作業(yè)越早被調度并運行。n (4)(4)平均周轉時間平均周轉時間T T:指所有作業(yè)周轉時間的平均值。長:指所有作業(yè)周轉時間的平均值。長作業(yè)對作業(yè)對T T值的影響大,而短作業(yè)影響小。很顯然,對系統(tǒng)來值的影響大,而短作業(yè)影響小。很顯然,對系統(tǒng)來說,希望進入系統(tǒng)的作業(yè)平均周轉時間越小越好。說,希望進入系統(tǒng)的作業(yè)平均周轉時間越小越好。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 2
31、2頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n (5) (5) 平均帶權周轉時間平均帶權周轉時間: :由于系統(tǒng)中的短作業(yè)由于系統(tǒng)中的短作業(yè)所占比例更大,為了增加短作業(yè)對所占比例更大,為了增加短作業(yè)對T T值的影響,引值的影響,引入平均帶權周轉時間的概念。若作業(yè)入平均帶權周轉時間的概念。若作業(yè)i i的帶權周轉的帶權周轉時間定義為作業(yè)的周轉時間與作業(yè)的運行時間之時間定義為作業(yè)的周轉時間與作業(yè)的運行時間之比,即為:比,即為:W Wi i=T=Ti i/tr/tri in 其中其中trtri i為作業(yè)為作業(yè)i i占據(jù)占據(jù)CPUCPU的運行時間的運行時間, ,則作業(yè)平則作業(yè)平均帶權周轉時間均帶權周轉
32、時間W W定義為它們平均值。定義為它們平均值。n 批處理系統(tǒng)設計的目標是設法減少作業(yè)的平批處理系統(tǒng)設計的目標是設法減少作業(yè)的平均周轉時間及平均帶權周轉時間,設法提高系統(tǒng)均周轉時間及平均帶權周轉時間,設法提高系統(tǒng)的吞吐量,并兼顧用戶的容忍程度,從而使系統(tǒng)的吞吐量,并兼顧用戶的容忍程度,從而使系統(tǒng)運行效率最高。一般認為運行效率最高。一般認為T T和和W W越小,系統(tǒng)對作業(yè)越小,系統(tǒng)對作業(yè)的吞吐量越大,系統(tǒng)的性能越高。的吞吐量越大,系統(tǒng)的性能越高。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 23頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度n5 5批處理作業(yè)調度階段批處理作業(yè)調度階段 n 對于
33、批處理作業(yè)而言,要經歷作業(yè)調度和進程調度才對于批處理作業(yè)而言,要經歷作業(yè)調度和進程調度才能獲得處理器;對于交互式作業(yè)則一般只需進行進程調度能獲得處理器;對于交互式作業(yè)則一般只需進行進程調度即可。因此,對于批處理作業(yè)的調度,系統(tǒng)必須先進行作即可。因此,對于批處理作業(yè)的調度,系統(tǒng)必須先進行作業(yè)調度創(chuàng)建好進程,才能進行進程調度。業(yè)調度創(chuàng)建好進程,才能進行進程調度。 n 作業(yè)調度是批處理作業(yè)運行的前提,稱高級調度;進作業(yè)調度是批處理作業(yè)運行的前提,稱高級調度;進程調度是作業(yè)調度的后續(xù),稱低級調度。由于作業(yè)調度往程調度是作業(yè)調度的后續(xù),稱低級調度。由于作業(yè)調度往往發(fā)生在一個批處理作業(yè)執(zhí)行完畢,另一個需要
34、調入主存往發(fā)生在一個批處理作業(yè)執(zhí)行完畢,另一個需要調入主存時,因此作業(yè)調度周期較長且速度慢、花費時間長;而進時,因此作業(yè)調度周期較長且速度慢、花費時間長;而進程調度頻率快、速度快且花費時間短。此外,在分時系統(tǒng)程調度頻率快、速度快且花費時間短。此外,在分時系統(tǒng)或具有虛擬存儲器的操作系統(tǒng)中,為了提高內存利用率和或具有虛擬存儲器的操作系統(tǒng)中,為了提高內存利用率和作業(yè)吞吐量,引進了中級調度。批處理操作系統(tǒng)多級調度作業(yè)吞吐量,引進了中級調度。批處理操作系統(tǒng)多級調度模型圖如圖模型圖如圖3-3所示。所示。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 24頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度圖
35、3-3批處理操作系統(tǒng)多級調度模型機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 25頁n(1)高級調度高級調度n 高級調度又稱作業(yè)調度。在多道批處理操作系高級調度又稱作業(yè)調度。在多道批處理操作系統(tǒng)中,作業(yè)是用戶要求計算機系統(tǒng)完成的一項相對統(tǒng)中,作業(yè)是用戶要求計算機系統(tǒng)完成的一項相對獨立的工作,通過預輸入過程提交的作業(yè)被輸入到獨立的工作,通過預輸入過程提交的作業(yè)被輸入到磁盤輸入井中,并保存在一個批處理后備作業(yè)隊列磁盤輸入井中,并保存在一個批處理后備作業(yè)隊列中。高級調度將按照系統(tǒng)預定的作業(yè)調度算法,決中。高級調度將按照系統(tǒng)預定的作業(yè)調度算法,決定把后備隊列作業(yè)中的部分滿足其資源要求的作業(yè)定把后備
36、隊列作業(yè)中的部分滿足其資源要求的作業(yè)調入主存,為裝入作業(yè)創(chuàng)建新的進程,并分配所需調入主存,為裝入作業(yè)創(chuàng)建新的進程,并分配所需資源,為作業(yè)做好運行前的準備工作并啟動它們運資源,為作業(yè)做好運行前的準備工作并啟動它們運行,當作業(yè)完成后還為它做好善后工作。在批處理行,當作業(yè)完成后還為它做好善后工作。在批處理操作系統(tǒng)中,作業(yè)首先進入系統(tǒng)在輔存上的后備作操作系統(tǒng)中,作業(yè)首先進入系統(tǒng)在輔存上的后備作業(yè)隊列等候調度,因此,作業(yè)調度是必須的,它執(zhí)業(yè)隊列等候調度,因此,作業(yè)調度是必須的,它執(zhí)行的頻率較低,并和到達系統(tǒng)的作業(yè)的數(shù)量與速率行的頻率較低,并和到達系統(tǒng)的作業(yè)的數(shù)量與速率有關。有關。3.2.2 批處理作業(yè)的
37、調度批處理作業(yè)的調度機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 26頁n(2)低級調度低級調度n 該調度是按某種原則決定就緒隊列中的哪個進程能獲得該調度是按某種原則決定就緒隊列中的哪個進程能獲得處理器運行。低級調度中執(zhí)行分配處理器運行。低級調度中執(zhí)行分配CPU的程序稱分派程序,的程序稱分派程序,它是操作系統(tǒng)最核心部分,執(zhí)行十分頻繁。低級調度策略優(yōu)它是操作系統(tǒng)最核心部分,執(zhí)行十分頻繁。低級調度策略優(yōu)劣直接影響整個系統(tǒng)性能,因而,這部分代碼要求精心設計,劣直接影響整個系統(tǒng)性能,因而,這部分代碼要求精心設計,并常駐內存。有兩類低級調度方式:并常駐內存。有兩類低級調度方式:n 剝奪方式:當一個進
38、程正在執(zhí)行,若另有更高優(yōu)先級或剝奪方式:當一個進程正在執(zhí)行,若另有更高優(yōu)先級或緊迫的進程產生,則立即暫停正在執(zhí)行的進程,把處理器分緊迫的進程產生,則立即暫停正在執(zhí)行的進程,把處理器分配給更緊迫的進程使用。配給更緊迫的進程使用。n 非剝奪方式:一旦某個進程開始執(zhí)行后便不再出讓處理非剝奪方式:一旦某個進程開始執(zhí)行后便不再出讓處理器,除非該進程運行結束或發(fā)生了某個事件不能繼續(xù)執(zhí)行。器,除非該進程運行結束或發(fā)生了某個事件不能繼續(xù)執(zhí)行。3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 27頁n 所以,高級調度選中一個作業(yè)且把它裝所以,高級調度選中一個作業(yè)且把它
39、裝入主存時,就應為該作業(yè)創(chuàng)建一個進程,若入主存時,就應為該作業(yè)創(chuàng)建一個進程,若有多個作業(yè)被裝入主存,則應同時存在多個有多個作業(yè)被裝入主存,則應同時存在多個進程。這些新建進程的初始狀態(tài)為就緒狀態(tài),進程。這些新建進程的初始狀態(tài)為就緒狀態(tài),然后由低級調度來選擇當前可占用處理器的然后由低級調度來選擇當前可占用處理器的就緒進程,進程運行中由于某種原因狀態(tài)發(fā)就緒進程,進程運行中由于某種原因狀態(tài)發(fā)生變化,當它讓出處理器時,低級調度就再生變化,當它讓出處理器時,低級調度就再選另一個作業(yè)的就緒進程去運行。所以只有選另一個作業(yè)的就緒進程去運行。所以只有作業(yè)調度與進程調度相互配合才能實現(xiàn)多道作業(yè)調度與進程調度相互配
40、合才能實現(xiàn)多道作業(yè)的并發(fā)執(zhí)行。作業(yè)的并發(fā)執(zhí)行。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 28頁n(3)中級調度中級調度n 中級調度又稱平衡負載調度。高級調度完成作業(yè)裝入中級調度又稱平衡負載調度。高級調度完成作業(yè)裝入主存并創(chuàng)建作業(yè)進程,低級調度選擇當前可占用處理器的就主存并創(chuàng)建作業(yè)進程,低級調度選擇當前可占用處理器的就緒進程,中級調度則決定主存中所能容納的進程個數(shù)。這些緒進程,中級調度則決定主存中所能容納的進程個數(shù)。這些進程將允許參與競爭處理器和有關資源,有些暫時不能運行進程將允許參與競爭處理器和有關資源,有些暫時不能運行的進程被調出主存并處于掛起狀態(tài);當掛起進程具備了運行的進程被調出主
41、存并處于掛起狀態(tài);當掛起進程具備了運行條件,且主存又有空閑區(qū)域時,再由中級調度決定把一部分條件,且主存又有空閑區(qū)域時,再由中級調度決定把一部分這樣的進程重新調回主存工作。這樣的進程重新調回主存工作。n 因此,中級調度根據(jù)存儲資源量和進程的當前狀態(tài)來因此,中級調度根據(jù)存儲資源量和進程的當前狀態(tài)來決定輔存和主存中的進程的對換,使用的方法是通過把一些決定輔存和主存中的進程的對換,使用的方法是通過把一些進程換出主存,使之進入進程換出主存,使之進入“掛起掛起”狀態(tài),不參與低級調度,狀態(tài),不參與低級調度,起到短期平滑和調整系統(tǒng)負荷的作用。起到短期平滑和調整系統(tǒng)負荷的作用。n 圖圖3-4給出了批處理作業(yè)三級
42、調度層次關系。圖中作業(yè)給出了批處理作業(yè)三級調度層次關系。圖中作業(yè)狀態(tài)用矩形框標識,進程狀態(tài)用橢圓框標識,箭頭標識狀態(tài)狀態(tài)用矩形框標識,進程狀態(tài)用橢圓框標識,箭頭標識狀態(tài)的變更過程。的變更過程。3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 29頁3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 30頁n 從圖中可看出:當高級調度發(fā)生在作業(yè)裝入時,從圖中可看出:當高級調度發(fā)生在作業(yè)裝入時,作業(yè)的狀態(tài)由后備狀態(tài)變更為執(zhí)行狀態(tài),該調度過作業(yè)的狀態(tài)由后備狀態(tài)變更為執(zhí)行狀態(tài),該調度過程決定一個進程能否被創(chuàng)建;或者是
43、創(chuàng)建后能否被程決定一個進程能否被創(chuàng)建;或者是創(chuàng)建后能否被置成就緒狀態(tài)并參與競爭處理器資源獲得運行;或置成就緒狀態(tài)并參與競爭處理器資源獲得運行;或者當高級調度發(fā)生在進程終止運行時,作業(yè)的狀態(tài)者當高級調度發(fā)生在進程終止運行時,作業(yè)的狀態(tài)由執(zhí)行狀態(tài)變更為完成狀態(tài),并對該作業(yè)進行一系由執(zhí)行狀態(tài)變更為完成狀態(tài),并對該作業(yè)進行一系列善后處理,然后退出系統(tǒng);正常中級調度反映到列善后處理,然后退出系統(tǒng);正常中級調度反映到進程狀態(tài)上就是掛起和解除掛起,它根據(jù)系統(tǒng)的當進程狀態(tài)上就是掛起和解除掛起,它根據(jù)系統(tǒng)的當前負荷情況決定停留在主存中的進程數(shù);低級調度前負荷情況決定停留在主存中的進程數(shù);低級調度則是決定哪一個就
44、緒進程占有則是決定哪一個就緒進程占有CPU運行。此外,高運行。此外,高級調度涉及的范圍為粗線實體框部分,中級調度涉級調度涉及的范圍為粗線實體框部分,中級調度涉及的范圍為細線實體框部分,低級調度涉及的范圍及的范圍為細線實體框部分,低級調度涉及的范圍為細線虛體框部分。為細線虛體框部分。3.2.2 批處理作業(yè)的調度批處理作業(yè)的調度機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 31頁3.2.3作業(yè)調度算法作業(yè)調度算法n 作業(yè)調度算法是指依照某種原則或策略從后備作業(yè)調度算法是指依照某種原則或策略從后備作業(yè)隊列中選取作業(yè)的方法。一個作業(yè)調度算法的作業(yè)隊列中選取作業(yè)的方法。一個作業(yè)調度算法的選取是與它的
45、系統(tǒng)設計目標相一致的。理想的作業(yè)選取是與它的系統(tǒng)設計目標相一致的。理想的作業(yè)調度算法既能提高系統(tǒng)效率,又能使進入系統(tǒng)的作調度算法既能提高系統(tǒng)效率,又能使進入系統(tǒng)的作業(yè)及時得到計算結果。業(yè)及時得到計算結果。n 設計計算機系統(tǒng)時應根據(jù)系統(tǒng)的設計目標來決設計計算機系統(tǒng)時應根據(jù)系統(tǒng)的設計目標來決定采用的調度算法,目標不同,選擇調度算法的側定采用的調度算法,目標不同,選擇調度算法的側重點也有所不同,但選擇任何一種調度算法都必需重點也有所不同,但選擇任何一種調度算法都必需遵循一個必要條件,即系統(tǒng)所有的尚未分配的資源遵循一個必要條件,即系統(tǒng)所有的尚未分配的資源可以滿足被選作業(yè)的資源要求。下面介紹目前常用可以
46、滿足被選作業(yè)的資源要求。下面介紹目前常用的一些作業(yè)調度算法:的一些作業(yè)調度算法: 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 32頁3.2.3作業(yè)調度算法作業(yè)調度算法n1 1先來先服務算法先來先服務算法FCFSFCFSn FCFS FCFS是一種較簡單的作業(yè)調度算法,即每次調度都是是一種較簡單的作業(yè)調度算法,即每次調度都是按照作業(yè)進入按照作業(yè)進入“輸入井輸入井”后備作業(yè)隊列的先后次序來挑選后備作業(yè)隊列的先后次序來挑選作業(yè),優(yōu)先將最先進入隊列的作業(yè)調入主存,分配所需資作業(yè),優(yōu)先將最先進入隊列的作業(yè)調入主存,分配所需資源,創(chuàng)建相應的進程,放入進程就緒隊列準備運行。但要源,創(chuàng)建相應的進程,放入
47、進程就緒隊列準備運行。但要注意,不是先進入后備作業(yè)隊列的作業(yè)就一定被先選中,注意,不是先進入后備作業(yè)隊列的作業(yè)就一定被先選中,這要根據(jù)資源的分配情況來決定。這要根據(jù)資源的分配情況來決定。n FCFS算法是一種非剝奪式調度算法,容易實現(xiàn),體算法是一種非剝奪式調度算法,容易實現(xiàn),體現(xiàn)了公平,但效率不高,只顧及到作業(yè)等候時間,而沒考現(xiàn)了公平,但效率不高,只顧及到作業(yè)等候時間,而沒考慮作業(yè)要求服務時間的長短,慮作業(yè)要求服務時間的長短,可能使計算時間短的作業(yè)長可能使計算時間短的作業(yè)長期等待,從而平均周轉時間變長,系統(tǒng)的吞吐能力降低,期等待,從而平均周轉時間變長,系統(tǒng)的吞吐能力降低,系統(tǒng)效率也降低。系統(tǒng)效
48、率也降低。n 從表從表3 33 3中可以看出,顯然先來先服務調度算法利于中可以看出,顯然先來先服務調度算法利于長作業(yè),不利于短作業(yè),而大多數(shù)的作業(yè)是長作業(yè),不利于短作業(yè),而大多數(shù)的作業(yè)是I/OI/O繁忙的短作繁忙的短作業(yè)。所以先來先服務算法作為主調度算法是不常用的。業(yè)。所以先來先服務算法作為主調度算法是不常用的。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 33頁3.2.3作業(yè)調度算法作業(yè)調度算法機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 34頁3.2.3作業(yè)調度算法作業(yè)調度算法n2 2短作業(yè)優(yōu)先算法短作業(yè)優(yōu)先算法SJFSJF n SJF SJF以作業(yè)運行時間長短作為優(yōu)先級進行調度
49、,總是從以作業(yè)運行時間長短作為優(yōu)先級進行調度,總是從后備作業(yè)隊列中選取運行時間最短的作業(yè)調入主存運行。后備作業(yè)隊列中選取運行時間最短的作業(yè)調入主存運行。采用該算法時,要求作業(yè)需要運行的時間預估,并在作業(yè)采用該算法時,要求作業(yè)需要運行的時間預估,并在作業(yè)控制說明書中加以說明。作業(yè)調度時依據(jù)在輸入井中的作控制說明書中加以說明。作業(yè)調度時依據(jù)在輸入井中的作業(yè)提出的運行時間為標準,優(yōu)先選擇運行時間短且資源能業(yè)提出的運行時間為標準,優(yōu)先選擇運行時間短且資源能得到滿足的作業(yè)。得到滿足的作業(yè)。n SJFSJF是一種非剝奪式調度算法,克服了是一種非剝奪式調度算法,克服了FCFSFCFS偏愛長作業(yè)偏愛長作業(yè)的缺
50、點,易于實現(xiàn),可照顧占作業(yè)總數(shù)絕大部分的短作業(yè),的缺點,易于實現(xiàn),可照顧占作業(yè)總數(shù)絕大部分的短作業(yè),使它們能比長作業(yè)優(yōu)先調度執(zhí)行。實現(xiàn)時,后備作業(yè)隊列使它們能比長作業(yè)優(yōu)先調度執(zhí)行。實現(xiàn)時,后備作業(yè)隊列按作業(yè)相應優(yōu)先數(shù)由高到低順序排列即可。按作業(yè)相應優(yōu)先數(shù)由高到低順序排列即可。n 從表從表3 34 4中可以看出,該調度算法的性能較好,它強中可以看出,該調度算法的性能較好,它強調了資源的充分利用,有效地降低了作業(yè)的平均等待時間,調了資源的充分利用,有效地降低了作業(yè)的平均等待時間,使得單位時間內處理作業(yè)的個數(shù)最大,保證了作業(yè)吞吐量使得單位時間內處理作業(yè)的個數(shù)最大,保證了作業(yè)吞吐量最大。但應注意下列幾
51、個問題:最大。但應注意下列幾個問題:機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 35頁n (1) (1)該算法以預估的運行時間為標準,可能出該算法以預估的運行時間為標準,可能出現(xiàn)故意把運行時間估計的低一些,致使該算法不一現(xiàn)故意把運行時間估計的低一些,致使該算法不一定能真正做到短作業(yè)優(yōu)先調度。為了避免這一現(xiàn)象,定能真正做到短作業(yè)優(yōu)先調度。為了避免這一現(xiàn)象,若作業(yè)執(zhí)行時間超過所估計的時間,則可加價收費。若作業(yè)執(zhí)行時間超過所估計的時間,則可加價收費。 n (2)(2)該算法完全未考慮作業(yè)的緊迫程度,不能該算法完全未考慮作業(yè)的緊迫程度,不能保證部分緊迫程度特別強的作業(yè)及時得到運行。保證部分緊迫程
52、度特別強的作業(yè)及時得到運行。n (3)(3)由于系統(tǒng)可能不斷接受新作業(yè)進入由于系統(tǒng)可能不斷接受新作業(yè)進入“輸入輸入井井”,如果新進入,如果新進入“輸入井輸入井”的作業(yè)估計的運行時的作業(yè)估計的運行時間比較短,則將會使進入間比較短,則將會使進入“輸入井輸入井”較早但要求運較早但要求運行時間長的作業(yè)等待時間太長,對長作業(yè)極為不利。行時間長的作業(yè)等待時間太長,對長作業(yè)極為不利。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 36頁3.2.3作業(yè)調度算法作業(yè)調度算法機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 37頁3.2.3作業(yè)調度算法作業(yè)調度算法n3.3.響應比最高者優(yōu)先算法響應比最高者優(yōu)先
53、算法HRRFHRRFn 由于由于FCFSFCFS可能使后進入輸入井的諸多短作業(yè)處于等待狀可能使后進入輸入井的諸多短作業(yè)處于等待狀態(tài),而態(tài),而SJFSJF可能又使大作業(yè)等待時間過長。為了兼顧上述兩可能又使大作業(yè)等待時間過長。為了兼顧上述兩種算法,引入響應比最高者優(yōu)先算法。采用種算法,引入響應比最高者優(yōu)先算法。采用HRRFHRRF進行調度時,進行調度時,必須對必須對“輸入井輸入井”中的所有作業(yè)計算出各自的響應比,從資中的所有作業(yè)計算出各自的響應比,從資源能得到滿足的作業(yè)中選擇響應比最高的作業(yè)優(yōu)先裝入主存源能得到滿足的作業(yè)中選擇響應比最高的作業(yè)優(yōu)先裝入主存運行。響應比的定義為:運行。響應比的定義為:
54、n n 由于作業(yè)從進入輸入井到執(zhí)行完成就是該作業(yè)的響應過由于作業(yè)從進入輸入井到執(zhí)行完成就是該作業(yè)的響應過程,因此系統(tǒng)對該作業(yè)的響應時間就是作業(yè)的等待時間與運程,因此系統(tǒng)對該作業(yè)的響應時間就是作業(yè)的等待時間與運行時間之和。從響應比公式可以看出:行時間之和。從響應比公式可以看出:機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 38頁n (1) (1)等待時間同,則運行時間越短,響應比越等待時間同,則運行時間越短,響應比越高,有利于短作業(yè)。高,有利于短作業(yè)。n (2)(2)運行時間同,等待時間越長,響應比越高,運行時間同,等待時間越長,響應比越高,實現(xiàn)的是實現(xiàn)的是FCFSFCFS。n (3)(3)
55、對于長作業(yè),響應比隨等待時間增加而提對于長作業(yè),響應比隨等待時間增加而提高,當其等待時間足夠長時,其響應比便可提升高,當其等待時間足夠長時,其響應比便可提升到很高到很高,不至于發(fā)生饑餓現(xiàn)象,不至于發(fā)生饑餓現(xiàn)象 。n 從表從表3 35 5中可以看出,中可以看出, HRRFHRRF結合了結合了FCFSFCFS與與SJFSJF,兼顧了運行時間短和等候時間長的作業(yè),公,兼顧了運行時間短和等候時間長的作業(yè),公平且吞吐量大,但算法復雜,調度前,要先計算平且吞吐量大,但算法復雜,調度前,要先計算各個作業(yè)響應比各個作業(yè)響應比, ,并選擇響應比最大的作業(yè)投入運并選擇響應比最大的作業(yè)投入運行,增加開銷。行,增加開
56、銷。 機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 39頁3.2.3作業(yè)調度算法作業(yè)調度算法機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 40頁3.2.3作業(yè)調度算法作業(yè)調度算法n4.4.優(yōu)先數(shù)調度算法優(yōu)先數(shù)調度算法n 該算法為每個作業(yè)確定一個優(yōu)先數(shù),根據(jù)優(yōu)先數(shù)的不同讓作該算法為每個作業(yè)確定一個優(yōu)先數(shù),根據(jù)優(yōu)先數(shù)的不同讓作業(yè)排成多個隊列,調度時從后備隊列中優(yōu)先選取資源能滿足且優(yōu)業(yè)排成多個隊列,調度時從后備隊列中優(yōu)先選取資源能滿足且優(yōu)先數(shù)最高的作業(yè)裝入主存運行。當幾個作業(yè)的優(yōu)先數(shù)相同時,對先數(shù)最高的作業(yè)裝入主存運行。當幾個作業(yè)的優(yōu)先數(shù)相同時,對這些具有相同優(yōu)先數(shù)的作業(yè)再按照先來先服務原則
57、進行調度。這些具有相同優(yōu)先數(shù)的作業(yè)再按照先來先服務原則進行調度。 n 作業(yè)優(yōu)先數(shù)的確定原則可參照下列兩條:作業(yè)優(yōu)先數(shù)的確定原則可參照下列兩條:n (1)(1)對于某些時間要求緊迫的作業(yè)賦予較高的優(yōu)先級;對于某些時間要求緊迫的作業(yè)賦予較高的優(yōu)先級;n (2)(2)為了充分利用系統(tǒng)資源,對于為了充分利用系統(tǒng)資源,對于I/OI/O量大的作業(yè)給予較高的量大的作業(yè)給予較高的優(yōu)先級,對于優(yōu)先級,對于CPUCPU量大的作業(yè)給予較低的優(yōu)先級。量大的作業(yè)給予較低的優(yōu)先級。n 確定優(yōu)先數(shù)法確定優(yōu)先數(shù)法: :用戶提出;用戶提出;操作系統(tǒng)根據(jù)作業(yè)的緩急程度、操作系統(tǒng)根據(jù)作業(yè)的緩急程度、運行時間、作業(yè)類型、資源申請情況
58、等因素綜合考慮,分析這些運行時間、作業(yè)類型、資源申請情況等因素綜合考慮,分析這些因素在實現(xiàn)系統(tǒng)設計目標中的影響,決定各因素的比例,綜合得因素在實現(xiàn)系統(tǒng)設計目標中的影響,決定各因素的比例,綜合得出作業(yè)的優(yōu)先數(shù)。出作業(yè)的優(yōu)先數(shù)。根據(jù)作業(yè)在根據(jù)作業(yè)在“輸入井輸入井”中的等待時間動態(tài)地中的等待時間動態(tài)地改變其優(yōu)先數(shù)改變其優(yōu)先數(shù), ,可通過提高等待時間長的作業(yè)優(yōu)先數(shù),以縮短作業(yè)可通過提高等待時間長的作業(yè)優(yōu)先數(shù),以縮短作業(yè)的周轉時間和平均周轉時間。的周轉時間和平均周轉時間。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 41頁3.2.3作業(yè)調度算法作業(yè)調度算法n5.5.分類調度算法分類調度算法n 又稱均
59、衡調度算法,該算法根據(jù)系統(tǒng)運行情況和又稱均衡調度算法,該算法根據(jù)系統(tǒng)運行情況和作業(yè)對資源的需求先將作業(yè)進行分類,然后作業(yè)調度作業(yè)對資源的需求先將作業(yè)進行分類,然后作業(yè)調度程序輪流從不同的作業(yè)類中去挑選作業(yè),盡可能使得程序輪流從不同的作業(yè)類中去挑選作業(yè),盡可能使得使用不同資源的作業(yè)同時執(zhí)行。這樣不僅可以力求均使用不同資源的作業(yè)同時執(zhí)行。這樣不僅可以力求均衡地利用各種系統(tǒng)資源,發(fā)揮資源使用效率,使系統(tǒng)衡地利用各種系統(tǒng)資源,發(fā)揮資源使用效率,使系統(tǒng)的各種資源都在忙碌,而且可以減少作業(yè)等待使用相的各種資源都在忙碌,而且可以減少作業(yè)等待使用相同資源的時間,從而加快作業(yè)的執(zhí)行。同資源的時間,從而加快作業(yè)的
60、執(zhí)行。 n 因此,根據(jù)作業(yè)執(zhí)行性質的不同,可將待處理作因此,根據(jù)作業(yè)執(zhí)行性質的不同,可將待處理作業(yè)分成如下隊列:計算量大的作業(yè)隊列;業(yè)分成如下隊列:計算量大的作業(yè)隊列;I/OI/O量大的作量大的作業(yè)隊列;計算量與業(yè)隊列;計算量與I/OI/O量均衡的作業(yè)隊列。量均衡的作業(yè)隊列。n 調度時,在三個隊列中各取一些作業(yè)裝入主存,調度時,在三個隊列中各取一些作業(yè)裝入主存,這樣主存中的作業(yè)可均衡利用系統(tǒng)的各種資源。這樣主存中的作業(yè)可均衡利用系統(tǒng)的各種資源。機械工業(yè)出版社機械工業(yè)出版社操作系統(tǒng)教程課件 第 42頁3.2.3作業(yè)調度算法作業(yè)調度算法n6.6.算法綜合應用算法綜合應用 n 例例1 若某系統(tǒng)采用可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吊車勞務合同范例
- 雕塑制作雕塑設計合同范本
- 貸款服務費合同范本
- 廠區(qū)綠化垃圾清運合同范本
- 燈光設備短期租賃合同
- 十廉租房合同范本
- 公寓軟裝租房合同范本
- 廠房收購定金合同范本
- 單位與保安合同范例
- 醫(yī)療耗材服務合同范本
- 電機與電氣控制技術(第2版)全套完整教學課件
- 掘進機液壓培訓課件
- 多元線性回歸模型-課件
- 農產品質量安全風險防范措施
- 麻醉科臨床技術操作規(guī)范2022版
- 奉賢東部分區(qū)單元(FX3)地質災害危險性評估報告
- 現(xiàn)代企業(yè)管理專業(yè)實踐考核試題
- 支氣管鏡吸痰操作考核評分標準
- 2023年病歷書寫基本規(guī)范文
- 《中小學心理健康教育指導綱要(2012年修訂)》
- 新疆民族發(fā)展史和宗教演變史
評論
0/150
提交評論