第2章處理器管理課件_第1頁
第2章處理器管理課件_第2頁
第2章處理器管理課件_第3頁
第2章處理器管理課件_第4頁
第2章處理器管理課件_第5頁
已閱讀5頁,還剩147頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章 處理器管理計算機系統(tǒng)中,最寶貴的資源是CPU。為了提高它的利用率,需要引入多道程序設計的概念。12.1 多道程序設計2.1.1 程序的順序執(zhí)行程序:是一個在時間上嚴格有序的指令集合。一個計算問題往往按照一定的順序執(zhí)行,執(zhí)行的順序由編制的程序確定。輸入數(shù)據(jù)處 理輸出結果23例 如:423輸出342處理354輸入數(shù)據(jù)三數(shù)據(jù)二數(shù)據(jù)一數(shù)據(jù)過程4程序的順序執(zhí)行,資源利用率低t數(shù)據(jù)三數(shù)據(jù)二數(shù)據(jù)一0469141820232630程序的順序執(zhí)行圖黑線:表示輸入紅線:表示處理灰線:表示輸出52.1.2 程序的并行執(zhí)行tt1t2數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3t3t46423輸出342處理354輸入數(shù)據(jù)三數(shù)據(jù)二數(shù)據(jù)一t

2、0469131215162072.1.3 多道程序設計 多道程序設計:讓多個程序(作業(yè))同時進入主存儲器并行執(zhí)行8在多道程序設計環(huán)境下,系統(tǒng)具有如下特點:資源利用率高系統(tǒng)吞吐量大 程序間制約性t046913121516209 舉例說明:有A、B兩個任務需要計算機完成,各自流程:A: 計算50ms ,打印100ms,再計算50ms打印100ms結束B: 計算50ms,輸入數(shù)據(jù)80ms,再計算100ms,打印100ms結束0tBA50150200300350430530630CPU利用率=250/630*100%=39.7%0tBA5015010018020030040010 多道程序設計環(huán)境:內

3、存中允許有多個程序存在,它們輪流地使用著CPU。11執(zhí)行的并發(fā)性:從宏觀上看,同時在內存的多個程序都在執(zhí)行著,在按照自己程序規(guī)定的步驟向前推進;從微觀上看,由于CPU在任何時刻只能執(zhí)行一個程序,因此這些程序輪流占用CPU,交替地執(zhí)行著。122009-44一個計算問題的程序分成三個可以獨立執(zhí)行的程序模塊:輸入程序、處理程序和打印程序,每一批數(shù)據(jù)都需順序被這些模塊執(zhí)行。當有多批數(shù)據(jù)時,這三個程序模塊中可以并行運行的是( )A輸入程序、處理程序和打印程序B輸入程序和處理程序C處理程序和打印程序D打印程序和輸入程序A132010-4 5.多道程序設計的意義是()A.允許多個作業(yè)同時入駐主存儲器,中央處

4、理器輪流執(zhí)行各個作業(yè),各個作業(yè)有可能同時使用所需的外圍設備B.允許多個作業(yè)輪流入駐主存儲器,中央處理器輪流執(zhí)行各個作業(yè),各個作業(yè)同時使用所需的外圍設備C.允許多個作業(yè)輪流入駐主存儲器,中央處理器輪流執(zhí)行各個作業(yè),各個作業(yè)輪流使用所需的外圍設備D.允許多個作業(yè)同時入駐主存儲器,中央處理器輪流執(zhí)行各個作業(yè),各個作業(yè)不同時使用所需的外圍設備A142010-4 6.采用多道程序設計方法的計算機系統(tǒng),()A.提高了處理器的利用率和增加了完成計算所需的總時間,提高了單位時間內的算題能力B.提高了處理器的利用率和增加了完成計算所需的總時間,降低了單位時間內的算題能力C.降低了處理器的利用率和單位時間內的算題

5、能力,增加了完成計算所需的總時間D.提高了處理器的利用率和單位時間內的算題能力,可能延長完成某算題所需的總時間D152.2 進程的概念“進程(Process)”是現(xiàn)代操作系統(tǒng)設計中的一個基本概念,也是一個管理實體。它最早被用于美國麻省理工學院的MULTICS系統(tǒng)和IBM的CTSS/360系統(tǒng),不過那里稱其為“任務(Task)”,其實是兩個等同的概念。16 進程是一個程序關于某個數(shù)據(jù)集合的一次執(zhí)行過程。172.2.2 為什么引入進程提高資源利用率正確描述程序的執(zhí)行情況18192.2.3 進程的屬性(1)進程是動態(tài)概念,而程序是靜態(tài)概念20(2)程序和進程無一一對應關系,一個程序可能對應多個進程;

6、一個進程可以包含多個程序21(3)多個進程可并發(fā)執(zhí)行 并發(fā): 兩個或以上進程在同一時間段內都向前推進。22(4)進程的存在是暫時的,因為它有一個從創(chuàng)建到撤銷,有一個生命周期;程序存在是永久的。23(5) 進程的狀態(tài)通常在操作系統(tǒng)中,進程至少要有三種基本狀態(tài)(進程控制狀態(tài)):運行態(tài)、就緒態(tài)和等待態(tài)(等待態(tài))。 2425 (1) 運行態(tài)(running) 運行狀態(tài)是指當進程已經分配到CPU,它所在的程序正在處理機上執(zhí)行時的狀態(tài)。 (2) 就緒態(tài)(ready) 就緒態(tài)是指進程已具備了運行條件,因為其它進程正占用CPU,所以暫時不能運行而處于等待分配CPU的狀態(tài)。在操作系統(tǒng)中,處于就緒態(tài)的進程數(shù)目可以

7、是多個。26(3) 等待態(tài) 等待狀態(tài)是指進程等待某種事件的發(fā)生(例如等待某一輸入、輸出操作的完成,等待其它進程發(fā)來的信號等)而暫時不能運行的狀態(tài)。27進程在其生存期內不斷發(fā)生狀態(tài)轉化從一種狀態(tài)轉化成為另一種狀態(tài)282010-4 7.進程有三種基本狀態(tài),不可能的狀態(tài)轉換是()A.運行態(tài)到就緒態(tài)、運行態(tài)到等待態(tài)B.就緒態(tài)到運行態(tài)、等待態(tài)到就緒態(tài)C.運行態(tài)到就緒態(tài)、等待態(tài)到就緒態(tài)D.運行態(tài)到就緒態(tài)、等待態(tài)到運行態(tài)D29應注意的問題:進程從等待態(tài)不能直接轉換到運行態(tài)。一個進程由運行態(tài)轉換為等待態(tài)一般是由進程自己主動提出的。一個進程由等待態(tài)變?yōu)榫途w態(tài)總是由外界事件引起的而不是有該進程自己引起的。主動等待

8、被喚醒30思考進程所請求的一次打印輸出結束后,將使進程狀態(tài)從( ) A、運行態(tài)變?yōu)榫途w態(tài) B、運行態(tài)變?yōu)榈却龖B(tài) C、就緒態(tài)變?yōu)檫\行態(tài) D、等待態(tài)變?yōu)榫途w態(tài) D312. 下列進程狀態(tài)轉換中,哪一個是不正確的( ) A. 就緒運行 B. 運行等待 C. 就緒等待 D. 等待就緒C32 3.某進程在運行過程中需要等待從磁盤上讀入數(shù)據(jù),此時該進程的狀態(tài)將( )。A.從就緒變?yōu)檫\行 B.從運行變?yōu)榫途w C.從運行變?yōu)榈却?D.從等待變?yōu)榫途w C334.在單CPU環(huán)境下,存在10個進程,這些進程中處于運行態(tài)的進程最多有( )個,最少( )個;處于就緒態(tài)的進程最多有( )個,最少( )個;處于等待態(tài)的進程最

9、多( )個,最少( )個1090100345進程的基本屬性是( )A進程是動態(tài)的、多個進程可以含有相同的程序和多個進程可以并發(fā)運行B進程是動態(tài)的、多個進程對應的程序必須是不同的和多個進程可以并發(fā)運行C進程是動態(tài)的、多個進程可以含有相同的程序和多個進程不能并發(fā)運行D進程是靜態(tài)的、多個進程可以含有相同的程序和多個進程可以并發(fā)運行A3527讓多個程序同時進入計算機系統(tǒng)的主存儲器并行執(zhí)行,這種程序設計方法稱為_。28一個程序在一個數(shù)據(jù)集上的一次執(zhí)行稱為一個_。多道程序設計 進程 3622、引入進程的原因是( )A、提高資源的利用率B、提高程序運行的速度C、概念“程序”不能正確描述程序的執(zhí)行情況D、使多

10、個程序能并發(fā)運行E、概念“進程”能正確描述程序的執(zhí)行情況ACE372.3 進程控制塊一、 進程的組成部分 進程包括三部分:程序、數(shù)據(jù)、進程控制塊,這三部分統(tǒng)稱為“進程映象” “進程控制塊”PCB(Process Control Block):用于表示一個進程相關信息的數(shù)據(jù)結構。它是進程存在的唯一標志。38 進程控制塊一般應包括如下內容:(1)標識信息(進程名) 它是惟一的對應進程的一個標志符或數(shù)字。(2)說明信息進程狀態(tài)、等待原因、進程程序及數(shù)據(jù)存放位置39(3)現(xiàn)場信息 保留進程讓出CPU時,CPU內的各種信息,以便能繼續(xù)運行時得以恢復 主要指各種寄存器中的內容(psw寄存器)書簽40(4)

11、管理信息如進程優(yōu)先權,隊列指針等 表示進程獲取CPU的優(yōu)先級別41二、 PCB的作用(1)PCB是進程存在的惟一標志 系統(tǒng)創(chuàng)建進程時,就為之創(chuàng)建一個PCB;進程結束時,系統(tǒng)又回收其PCB,進程便隨之消亡。 42(2)操作系統(tǒng)依據(jù)進程控制塊對進程進行控制和管理。 例如,當進程因某種原因而暫停運行時,其斷點現(xiàn)場信息要保存在PCB中。 431、每個進程都有一個進程控制塊,用以記錄各個進程執(zhí)行時的情況,保存在各個進程控制塊中的信息允許( )A、本進程查閱B、編譯進程讀取C、操作系統(tǒng)修改D、當前運行進程修改C44三、 進程控制 系統(tǒng)創(chuàng)建、撤消進程,完成進程各種狀態(tài)的轉換等功能是通過進程控制原語實現(xiàn)的 原

12、語:執(zhí)行過程不可中斷的,具有特定功能的程序段。45 用于進程控制的原語有:創(chuàng)建原語、撤消原語、阻塞原語、喚醒原語。46(1)創(chuàng)建原語 主要工作:為一個程序分配一個工作區(qū)和建立一個進程控制塊,并置狀態(tài)為就緒狀態(tài) (2)撤銷原語 主要工作:進程完成后,收回其工作區(qū)和進程控制塊47(3)阻塞原語 進程運行過程中發(fā)生等待事件時,將進程狀態(tài)改為等待態(tài)。(4)喚醒進程原語當進程所等待的事件出現(xiàn)時,把進程狀態(tài)改為就緒態(tài)482010-721.控制進程的原語有()A.創(chuàng)建原語B.撤銷原語C.等待原語D.喚醒原語E.延遲原語ABCD492.4 進程隊列 為了對系統(tǒng)中的進程控制塊進行有效的管理,通常把所有的PCB統(tǒng)

13、一組織起來,形成若干個隊列50 一般把具有相同狀態(tài)的進程的PCB組成隊列,形成運行隊列、就緒隊列、等待隊列等5152出隊入隊隊列管理一個進程從所在隊列中退出一個進程排入到一個指定的隊列系統(tǒng)中負責進程入隊和出隊的工作53PCB10模擬:PCB1進程等待,歸于等待隊列1的過程PCB20542.5 中斷和中斷處理2.5.1 中斷聚精會神看書中,聽到敲門聲晚上12點熟睡中,鬧鐘響起某程序段執(zhí)行過程中,執(zhí)行到x=y/0指令時中 斷55中 斷 由于某些事件的出現(xiàn),中止現(xiàn)行進程的運行,而由操作系統(tǒng)去處理出現(xiàn)的事件,待適當?shù)臅r候讓被中止的進程繼續(xù)運行,這個過程稱為中斷56中斷源引起中斷的事件中斷處理程序 對出

14、現(xiàn)的事件進行處理的程序572.5.2 中斷類型 從中斷事件的性質來說,一般分為成下述幾類:硬件故障中斷 程序中斷 外部中斷 輸入/輸出中斷 訪管中斷 58硬件故障中斷 由機器故障造成的,如電源故障,主存出錯等 59 由于程序執(zhí)行到某條機器指時可能出現(xiàn)的各種問題而引起的中斷。 如:定點操作數(shù)溢出,除數(shù)為0,地址越界等程序中斷 60有各種外部事件引起的中斷 ,如:按中斷鍵,定時時鐘的時間周期到外部中斷 61 輸入輸出控制系統(tǒng)發(fā)現(xiàn)外圍設備完成了輸入輸出操作而引起的中斷,或在執(zhí)行輸入輸出操作時通道或外圍設備產生錯誤而引起的中斷 輸入/輸出中斷 62 正在運行的進程為了請求調用操作系統(tǒng)的某個功能而執(zhí)行一

15、條訪管指令所引起的中斷 訪管中斷 6322.中斷有若干類型,它們是()A.硬件故障中斷B.軟件中斷C.外部中斷D.輸入/輸出中斷E.程序中斷ACDE64總 結: 硬件故障中斷、程序中斷、外部中斷 輸入/輸出中斷這四類中斷是由于外界原因迫使正在運行的程序被打斷,稱為強迫性中斷事件。 而訪管中斷為正在運行的進程所期待的,故稱為自愿性中斷事件652.5.3 中斷響應 自愿中斷事件是由處理器執(zhí)行指令時根據(jù)指令中的操作碼捕俘到的。強迫性中斷事件是由硬件的中斷裝置發(fā)現(xiàn)的 中斷發(fā)生時,硬件的中斷裝置暫停現(xiàn)行進程的運行,而讓操作系統(tǒng)的中斷處理程序占用CPU,此過程稱為中斷響應66指令n指令n+1中斷處理程序斷

16、 點程序A67程序狀態(tài)字(Program Status Word:PSW) : 用來控制指令執(zhí)行順序并且保留和指示與程序有關的系統(tǒng)狀態(tài)。1.5.3 程序狀態(tài)字程序基本狀態(tài)中斷碼中斷屏蔽位68程序狀態(tài)字PSW存放與寄存器中,該寄存器被稱為“程序狀態(tài)字寄存器”69當前psw 存放在程序狀態(tài)字寄存器中的,當前正在運行的進程的PSW舊 psw保護好的被中斷進程的PSW新 psw中斷處理程序的PSW705、一個正在運行的進程由于某個事件被中斷后,中斷裝置都要進行交換PSW的工作,以完成( )A、中斷檢查B、中斷響應C、中斷處理D、中斷請求B712.5.4 中斷處理 中斷處理程序對中斷事件的處理分兩步進行

17、:保護被中斷進程的現(xiàn)場信息根據(jù)中斷事件轉入相應的中斷處理程序進行具體處理721.硬件故障處理2.程序中斷處理3.外部中斷處理4.輸入/輸出中斷處理5.訪管中斷事件處理必須進行人工干預與程序的具體編制有關,不同用戶往往有不同處理要求,所以可轉交給用戶自行處理根據(jù)中斷鍵的編號把處理轉交給一個特定的例行程序分為“I/O正常結束”和“I/O異常結束”732009-421進程控制塊是對進程進行管理和調度的信息集合,所含信息是( )A標識信息B說明信息C網絡信息D現(xiàn)場信息E管理信息22操作系統(tǒng)中有許多進程隊列,它們是( )A就緒隊列B掛起隊列C運行隊列D要求使用設備的等待隊列E等待其他資源的隊列ABDEA

18、CDE742009-429訪管中斷是進程為請求調用操作系統(tǒng)的某個功能,執(zhí)行 _ 所引起的中斷。48說明中斷發(fā)生和中斷響應的處理過程。(需說明程序狀態(tài)字在此過程中是如何變化的。)訪管指令752009-73、進程控制塊中的說明信息是( )A、進程狀態(tài)、進程等待原因、進程程序存放位置、進程數(shù)據(jù)存放位置B、進程狀態(tài)、通用寄存器內容、控制寄存器內容、進程程序存放位置C、通用寄存器內容、控制寄存器內容、進程程序存放位置、進程數(shù)據(jù)存放位置D、進程狀態(tài)、進程等待原因、通用寄存器內容、控制寄存器內容A764、等待狀態(tài)的進程是處于隊列中的,設備的等待隊列的組織方式是( )A、系統(tǒng)有一個等待隊列B、系統(tǒng)為每個設備各

19、建立一個隊列C、系統(tǒng)為每個設備類各建立一個隊列D、系統(tǒng)為每個設備類和設備各建立一個隊列B775、關于中斷的分類,屬于強迫性中斷的是( )A、硬件故障中斷、程序中斷、外部中斷、輸入/輸出中斷B、訪管中斷、程序中斷、外部中斷、輸入/輸出中斷c、硬件故障中斷、訪管中斷、外部中斷、輸入輸出中斷D、硬件故障中斷、程序中斷、訪管中斷、輸入/輸出中斷A7830.計算機系統(tǒng)有多種中斷事件,其中的硬件故障中斷事件的處理必須_。人工干預792.6 處理器調度 在系統(tǒng)運行過程中,就緒進程的數(shù)目往往多于CPU的數(shù)目,這就將導致它們爭奪資源。此時就要求系統(tǒng)根據(jù)一定的算法,由進程調度程序從就緒隊列中選擇一個進程,使之在C

20、PU上運行。80磁盤CPU一批作業(yè)小貼士:CPU不能直接訪問外存內存條需要選擇若干個調入內存作業(yè)調度進程A進程B進程C進程D進程調度分配CPU的調度81調度的層次 高級調度(作業(yè)調度、宏觀調度)按一定原則對外存上的作業(yè)進行調度,并建立進程PCB。它決定允許哪些作業(yè)競爭系統(tǒng)資源。由于這種調度決定哪些作業(yè)可以進入系統(tǒng),所以也稱收容調度。82 低級調度(進程調度、處理機調度)它決定了存在就緒進程時,哪一個就緒進程將分配到中央處理機,并且把中央處理機實際分配給這個進程(即低級調度是將處理機分配給進程)。83作業(yè)流進程“運行”作業(yè)進入“輸入井”等待執(zhí)行作業(yè)被裝入主存儲器,作業(yè)進程“就緒”預輸入進程調度作

21、業(yè)調度外存的一片存儲區(qū)域圖2-11 作業(yè)調度與進程調度的層次關系842011-446、請給出處理器的兩級調度的名稱。請說明兩級調度的過程。852.6.2 作業(yè)調度算法 在設計調度算法時,原則:公平性平衡資源使用極大的流量(吞吐量)862.調度算法周轉時間:假定作業(yè)i提交給系統(tǒng)的時間為Si,其完成的時間為Ei。那么該作業(yè)的周轉時間Ti為 Ti=EiSi平均周轉時間:對于一批n個作業(yè)而言,它們的平均周轉時間T為 T=(T1+T2+Tn)/n87“先來先服務”作業(yè)調度算法以作業(yè)提交(到達外存輸入井)的先后次序,作為作業(yè)調度程序挑選作業(yè)的依據(jù),這就是先來先服務作業(yè)調度算法的基本思想。88思考:有3個作

22、業(yè);它們按照1、2、3的順序,同時提交給系統(tǒng),采用先來先服務的作業(yè)調度算法。求每個作業(yè)的周轉時間以及它們的平均周轉時間。(忽略系統(tǒng)調度所花費的時間及內存的使用情況)89作業(yè)J1J2J30242730T90進程名到達時間執(zhí)行用時完成時間周轉時間J102424J20327J30330242730平均周轉時間:(24+27+30)/3=27911、某單道系統(tǒng)中,現(xiàn)有1-4四個作業(yè)在后備作業(yè)隊列里等待處理。它們到達系統(tǒng)和所需的計算時間如下表所示:采用先來先服務作業(yè)調度算法對作業(yè)進行調度。試計算出每個作業(yè)被選中的順序(忽略系統(tǒng)調度時間)。各自的周轉時間是多少?平均周轉時間是多少?作業(yè)到達時間所需CPU的

23、時間19:0070分鐘29:4030分鐘39:5010分鐘410:105分鐘92作業(yè)1239:0010:1010:4010:50T410:5593 注意:不是先進入的一定被先選中,只有滿足必要條件的作業(yè)才可能被選中94思考:有5個作業(yè)(假定都是計算型的),它們進入后備作業(yè)隊列的到達時間如下表所示(注意,不是同時到達)。設供用戶使用的主存空間為100K,作業(yè)調度和進程調度均采用先來先服務算法,試求每個作業(yè)的周轉時間和它們的平均周轉時間。(忽略系統(tǒng)調度時間,都沒有輸入/輸出請求)。ABCDE60KB20KB10KB95TABCDE10.1內存(100KB)A(15K)15K10.810.310.5

24、B(60K)60K11.3D(10K)10K11.7作業(yè)C、E何時運行?96TABCDE10.1內存(100KB)A(15K)15K10.8B(60K)60K11.3D(10K)10K11.7作業(yè)完成時回收內存75KC(50K)E(20K)12.112.397FCFS算法利于長作業(yè),而不利于短作業(yè)FCFS算法利于CPU繁忙型作業(yè),而不利于I/O繁忙型作業(yè)課后12題98短作業(yè)優(yōu)先”作業(yè)調度算法作業(yè)調度程序工作時,總是從后備作業(yè)隊列中挑選所需計算時間最少、且資源能夠得到滿足的作業(yè)進入內存投入運行,這就是“短作業(yè)優(yōu)先”作業(yè)調度算法的基本思想。99思考:有3個作業(yè);它們按照1、2、3的順序,同時提交給

25、系統(tǒng),采用短作業(yè)優(yōu)先調度算法。求每個作業(yè)的周轉時間以及它們的平均周轉時間。(忽略系統(tǒng)調度所花費的時間及內存的使用情況)100作業(yè)J1J2J303630T101作業(yè)名到達時間執(zhí)行用時完成時間周轉時間J102430J2033J30363036平均周轉時間:(30+3+6)/3=13102作業(yè)所需CPU的時間110233845有四個作業(yè)同時提交給系統(tǒng),畫出短作業(yè)優(yōu)先算法下執(zhí)行情況圖12340T3816261031、某單道系統(tǒng)中,現(xiàn)有1-4四個作業(yè)在后備作業(yè)隊列里等待處理。它們到達系統(tǒng)和所需的計算時間如下表所示:采用短作業(yè)優(yōu)先作業(yè)調度算法對作業(yè)進行調度。試計算出每個作業(yè)被選中的順序(忽略系統(tǒng)調度時間)

26、。各自的周轉時間是多少?平均周轉時間是多少?作業(yè)到達時間所需CPU的時間19:0070分鐘29:4030分鐘39:5010分鐘410:105分鐘104作業(yè)1239:0010:1010:5510:25T410:15105思考:有5個作業(yè)(假定都是計算型的),它們進入后備作業(yè)隊列的到達時間如下表所示(注意,不是同時到達)。設供用戶使用的主存空間為100K,作業(yè)調度和進程調度均采用短作業(yè)算法,試求每個作業(yè)的周轉時間和它們的平均周轉時間。(忽略系統(tǒng)調度時間,都沒有輸入/輸出請求)。ABCDE60KB20KB10KB106TABCDE10.1內存(100KB)A(15K)15K10.810.310.55

27、0K11.0E(20K)20K11.4C(50K)D(20K)11.812.3107思考:若采用短作業(yè)優(yōu)先調度算法,假定系統(tǒng)內有如下耗時的進程:20(分鐘),6(分鐘),1,5,4,3,8然后又有有些用時小于5分鐘的多個作業(yè)陸續(xù)進入系統(tǒng)。會導致什么后果?108響應比高者優(yōu)先”作業(yè)調度算法 所謂一個作業(yè)的響應比,響應比已等待時間/計算時間“響應比高者優(yōu)先”的作業(yè)調度算法,既照顧到了短作業(yè)的利益,也照顧到了長作業(yè)的利益,是一種折中的作業(yè)調度算法。109例如:某單道程序設計系統(tǒng)中有三個作業(yè)A、B、C,具體情況詳見下表:當三個作業(yè)全部到達輸入井后,系統(tǒng)以響應比高者優(yōu)先調度算法選擇作業(yè),忽略調度用時,分

28、析作業(yè)執(zhí)行情況作業(yè)名需計算時間到達輸入井時間ABC8:509:009:301.5小時0.4小時1.0小時110作業(yè)ABC9:3012:24TA的響應比=40/90=4/9B的響應比=30/24=5/4C的響應比=0/60=09:30時各作業(yè)響應比9:549:54時各作業(yè)響應比A的響應比=64/90=32/45C的響應比=24/60=2/511.24111例題4:有4個作業(yè),它們進入后備作業(yè)隊列的到達時間如下表所示。假設當四個作業(yè)全部到達后采用響應比高者優(yōu)先的作業(yè)調度算法,求每個作業(yè)的周轉時間以及它們的平均周轉時間。(忽略系統(tǒng)調度時間)1122011-451、有A、B、C、D、E5個作業(yè)在某單道

29、計算機系統(tǒng)里等待處理。他們需要執(zhí)行的時間分別為2、8、6、4、10分鐘。首先讓作業(yè)A執(zhí)行,對其余作業(yè)采用響應比高者優(yōu)先算法進行調度。在忽略調度等所需時間下,寫出各作業(yè)被選中執(zhí)行時的次序及被選中時的響應比。1134、優(yōu)先級調度算法5、均衡調度算法114CPU1152.6.3 進程調度算法進程切換一個進程讓出CPU由另外一個進程占用CPU的過程116進程切換的時機進程由運行狀態(tài)變?yōu)榈却隣顟B(tài)進程由運行狀態(tài)變?yōu)榫途w狀態(tài)進程由等待狀態(tài)變?yōu)榫途w狀態(tài)進程結束后被撤銷中斷117 常用的進程調度算法有:先來先服務(FCFS)、優(yōu)先數(shù)法、時間片輪轉法118先來先服務調度算法 基本思想是:以到達就緒隊列的先后次序為

30、標準來選擇占用處理機的進程。一個進程一旦占有處理機,就一直使用下去,直至正常結束或因等待某事件的發(fā)生而讓出處理機。 119例題假定在單CPU條件下,有如下要執(zhí)行的進程,見下表請用FCFS算法畫出執(zhí)行情況圖并求出平均周轉時間進程到達時間運行時間P1010P211P322P431P545120解:根據(jù)FCFS調度算法的思想,各進程調度順序為P1、P2、P3、 P4 、 P5進程到達時間運行時間完成時間周轉時間P1010P211P322P431P54510111913141010111115121TP1P5P4P3P20104111314191222優(yōu)先數(shù)調度算法 基本思想是:為系統(tǒng)中的每個進程規(guī)定

31、一個優(yōu)先數(shù),就緒隊列中具有最高優(yōu)先數(shù)的進程有優(yōu)先獲得處理機的權利。如果幾個進程的優(yōu)先數(shù)相同,則對它們實行先來先服務的調度。 123進程的調度方式非搶占式 是指某一進程一旦占用CPU,便一直運行下去,直到它運行結束或因某種原因被等待才交出CPU,否則不能從該進程搶走CPU.特點:簡單,系統(tǒng)開銷小 對緊急任務和短作業(yè)不公平。124可搶占方式 是指某進程正在運行時,系統(tǒng)可基于某種原則,將其占用的CPU剝奪,分配給其它進程。其原則主要有:優(yōu)先權高的進程可以剝奪優(yōu)先權低的進程的CPU.短進程可以剝奪長進程的CPU.時間片用完后交出CPU重新調度已確定將CPU交給誰。125 特點:實時系統(tǒng)、分時系統(tǒng)中使用

32、,方式靈活,但系統(tǒng)開銷較大。126例題假定在單CPU條件下,有如下要執(zhí)行的進程,見下表,請用非搶占優(yōu)先級(設數(shù)字越大,優(yōu)先級越高)算法畫出執(zhí)行情況圖并求出平均周轉時間進程到達時間運行時間優(yōu)先級P10103P2116P3223P4311P5455127解:根據(jù)優(yōu)先級高者優(yōu)先調度算法的思想,各進程調度順序為P1、P2、P5、P3、P4進程到達時間運行時間完成時間周轉時間P1010P211P322P431P54510111618191010161612128確定進程的優(yōu)先數(shù)的因素: 根據(jù)進程的類型。 系統(tǒng)進程大于用戶進程。 根據(jù)進程執(zhí)行任務的重要性。 處理緊急事件的優(yōu)先級要高。根據(jù)進程程序的性質。

33、CPU繁忙型作業(yè),影響系統(tǒng)整體的效率發(fā)揮,給予較低的優(yōu)先數(shù);I/O繁忙型進程給予較高優(yōu)先數(shù),充分發(fā)揮CPU和外部設備并行工作能力。129根據(jù)對資源的要求。 系統(tǒng)有處理機、內存和外部設備等,占用CPU時間短,內存容量少的進程給予的優(yōu)先級高一些,可以提高系統(tǒng)的吞吐量。根據(jù)用戶的請求。1303.時間片輪轉調度算法 Round-Robin Scheduling: RR算法 基本思想是:為就緒隊列中的每一個進程分配一個稱為“時間片”的時間段,在使用完一個時間片后,也要強迫其釋放處理機,讓給另一個進程使用。它自己則返回到就緒隊列末尾,排隊等待下一次調度的到來。 131132例題 有四個進程A,B,C,D,

34、設他們依次進入就緒隊列,相差時間很短,可近似認為同時到達,它們分別需要運行12,5,3和6個時間單位。請畫出時間片q=1與q=4時運行的情況133DACB0T11172026134 時間片輪轉調度算法經常用在分時操作系統(tǒng)中。 在時間片輪轉調度算法中,時間片大小的設定是一個影響系統(tǒng)效率發(fā)揮的重要因素。 135 太長: 太短: 確定因素:系統(tǒng)對響應時間的要求、就緒隊列進程數(shù)目(成反比)、進程切換時間、CPU運行速度RR算法退化為FCFS算法CPU頻繁切換,導致系統(tǒng)開銷較大136在分時系統(tǒng)中,經常采用時間片輪轉調度算法。 例如:某分時系統(tǒng)用戶數(shù)為10個,時間片為100毫秒,若對于終端用戶的每個要求處理器需花費300毫秒左右的時間給出應答,則相應時間大致為( )3秒1372011.46、假定一個分時系統(tǒng)允許20個終端用戶同時工作。若分配給每個終端用戶的時間片為50毫秒,而對終端用戶的每個請求需處理200毫秒給出應答,那么終端的最長響應時間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論