[計(jì)算機(jī)軟件及應(yīng)用]CPU.ppt_第1頁
[計(jì)算機(jī)軟件及應(yīng)用]CPU.ppt_第2頁
[計(jì)算機(jī)軟件及應(yīng)用]CPU.ppt_第3頁
[計(jì)算機(jī)軟件及應(yīng)用]CPU.ppt_第4頁
[計(jì)算機(jī)軟件及應(yīng)用]CPU.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余50頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第二講 進(jìn)QQ179412340 重點(diǎn):進(jìn)程的并發(fā)執(zhí)行、進(jìn)程的狀態(tài)及切 換、處理機(jī)對進(jìn)程的調(diào)度算法 難點(diǎn):FCFS、優(yōu)先級調(diào)度算法、時(shí)間輪轉(zhuǎn)法、短進(jìn)程優(yōu)先調(diào)度算法、最短剩余時(shí)間調(diào)度算法、最高響應(yīng)比調(diào)度算法,一、 程序的順序執(zhí)行和并發(fā)執(zhí)行1.程序的順序執(zhí)行,程序的順序執(zhí)行:具有獨(dú)立功能的程序獨(dú)占CPU直至得到最終結(jié)果的過程(如:單道批處理系統(tǒng)) 順序環(huán)境: 計(jì)算機(jī)系統(tǒng)中 只有一個(gè)程序在運(yùn)行 該程序獨(dú)占系統(tǒng)中所有資源 其執(zhí)行不受外界影響,順序執(zhí)行的特征 順序性:按照程序結(jié)構(gòu)所指定的次序(可能有分支或循環(huán)) 封閉性:獨(dú)占全部資源,計(jì)算機(jī)的狀態(tài)只由于該程序的控制邏輯所決定,不

2、受外界影響。 可再現(xiàn)性:初始條件相同則結(jié)果相同。如:可通過空指令控制時(shí)間關(guān)系。(程序執(zhí)行結(jié)果的確定性,程序運(yùn)行結(jié)果與程序執(zhí)行速度無關(guān),只要初始狀態(tài)相同,結(jié)果應(yīng)相同) 現(xiàn)在的操作系統(tǒng)多為并發(fā)執(zhí)行,具有許多新的特征。引入并發(fā)執(zhí)行的目的是為了提高資源利用率。,2.程序的并發(fā)執(zhí)行 程序的并發(fā)執(zhí)行:指一組在邏輯上互相獨(dú)立的程序或程序段在執(zhí)行時(shí)間上客觀上互相重疊,即一個(gè)程序或程序段的執(zhí)行尚未結(jié)束,另一個(gè)程(段)的執(zhí)行已經(jīng)開始的方式。 并發(fā)執(zhí)行的特征 間斷(異步)性:“走走停停”,一個(gè)程序可能走到中途停下來,失去原有的時(shí)序關(guān)系;,失去封閉性:共享資源,受其他程序的控制邏輯的影響。如:一個(gè)程序?qū)懙酱鎯ζ髦械臄?shù)

3、據(jù)可能被另一個(gè)程序修改,失去原有的不變特征。 失去可再現(xiàn)性:失去封閉性 失去可再現(xiàn)性;外界環(huán)境在程序的兩次執(zhí)行期間發(fā)生變化,失去原有的可重復(fù)特征。并發(fā)程序執(zhí)行的結(jié)果與其執(zhí)行的相對速度有關(guān),是不確定的。,資源共享:系統(tǒng)中資源被多個(gè)程序使用 個(gè)并發(fā)程序間獨(dú)立的相對速度、起始時(shí)間 程序之間可相互作用(相互制約) 可分為直接作用和間接作用,并發(fā)執(zhí)行的優(yōu)點(diǎn),并發(fā)程序,并發(fā)環(huán)境: 一定時(shí)間內(nèi),物理機(jī)器上有兩個(gè)或兩個(gè)以上的程序同時(shí)處于開始運(yùn)行但尚未結(jié)束的狀態(tài),并且次序不是事先確定的,引入并發(fā)的目的: 為了提高資源利用率,從而提高系統(tǒng)效率,并發(fā)程序示例有兩個(gè)進(jìn)程A 、B,如圖所示,在順序環(huán)境下,A先執(zhí)行,B再

4、執(zhí)行 CPU利用率= 40/80 = 50% DEV1利用率= 15/80 =18.75% DEV2利用率= 25/80 =31.25%,在并發(fā)環(huán)境下 CPU利用率 = 89% DEV1并發(fā)環(huán)境下利用率= 33% DEV2并發(fā)環(huán)境下利用率= 66%,二 、進(jìn)程2.1 進(jìn)程定義,進(jìn)程由以下幾個(gè)方面組成: 1)一個(gè)可執(zhí)行程序,包括初始代碼和數(shù)據(jù) 2)一個(gè)獨(dú)立的用戶地址空間 3)系統(tǒng)資源,由OS分配給進(jìn)程的系統(tǒng)資源,包括:I/O設(shè)備、文件等 4)進(jìn)程運(yùn)行及處理機(jī)調(diào)度進(jìn)程切換時(shí)所要涉及到的數(shù)據(jù)。,進(jìn)程:一個(gè)具有一定獨(dú)立功能的程序在一個(gè)數(shù)據(jù)集合上的一次動態(tài)執(zhí)行過程。簡言之,進(jìn)程是程序的一次執(zhí)行活動。在現(xiàn)

5、在操作系統(tǒng)中,用戶程序以進(jìn)程方式占用系統(tǒng)資源。,操作系統(tǒng)負(fù)責(zé)創(chuàng)建進(jìn)程、為進(jìn)程分配資源、調(diào)度進(jìn)程占用處理機(jī)等。 進(jìn)程描述了程序的動態(tài)執(zhí)行過程; 反映系統(tǒng)中程序執(zhí)行的并發(fā)性、隨機(jī)性和資源共享 多進(jìn)程,提高了對硬件資源的利用率,但又帶來額外的空間和時(shí)間開銷,增加了OS 的復(fù)雜性;,2.2 進(jìn)程特征,動態(tài)性: 進(jìn)程對應(yīng)程序的執(zhí)行 進(jìn)程是動態(tài)產(chǎn)生,動態(tài)消亡的 進(jìn)程在其生命周期內(nèi),在基本狀態(tài)之間轉(zhuǎn)換 獨(dú)立性:各進(jìn)程的地址空間相互獨(dú)立,除非采用進(jìn)程間通信手段; 并發(fā)性:任何進(jìn)程都可以同其他進(jìn)程一起向前推進(jìn) 異步性:每個(gè)進(jìn)程都以其相對獨(dú)立的不可預(yù)知的速度向前推進(jìn),進(jìn)程控制塊(process control b

6、lock,PCB),由操作系統(tǒng)管理控制進(jìn)程而使用的標(biāo)識和特性信息集合稱之為進(jìn)程控制塊(process control block,PCB),每個(gè)進(jìn)程對應(yīng)一個(gè)PCB。 一個(gè)PCB包含以下信息: 1)進(jìn)程標(biāo)識信息:本進(jìn)程的標(biāo)識;本進(jìn)程的產(chǎn)生者標(biāo)識等。 2)進(jìn)程運(yùn)行的現(xiàn)場信息:進(jìn)程運(yùn)行所需的數(shù)據(jù)或地址寄存器等。 3)進(jìn)程控制信息:進(jìn)程的狀態(tài)信息、進(jìn)程優(yōu)先級、進(jìn)程存儲管理信息等。 進(jìn)程執(zhí)行完后,進(jìn)程從系統(tǒng)退出,其所對應(yīng)的PCB也隨之消失,2.3 進(jìn)程-與程序的區(qū)別,進(jìn)程是動態(tài)的,程序是靜態(tài)的:程序是有序代碼的集合;通常對應(yīng)著文件、靜態(tài)和可以復(fù)制。進(jìn)程是程序的執(zhí)行。 進(jìn)程是暫時(shí)的,程序是永久的:進(jìn)程是一

7、個(gè)狀態(tài)變化的過程,程序可長久保存。 進(jìn)程與程序的組成不同:進(jìn)程的組成包括程序、數(shù)據(jù)和PCB(process control block 進(jìn)程控制塊)。 進(jìn)程與程序的對應(yīng)關(guān)系:通過多次執(zhí)行,一個(gè)程序可對應(yīng)多個(gè)進(jìn)程;通過調(diào)用關(guān)系,一個(gè)進(jìn)程可包括多個(gè)程序。 舉例:正在運(yùn)行的Web瀏覽器是一個(gè)進(jìn)程,正在運(yùn)行的Windows資源管理器是一個(gè)進(jìn)程,正在運(yùn)行的Visual C編程環(huán)境也是一個(gè)進(jìn)程,2.4 進(jìn)程并發(fā)示例,3個(gè)進(jìn)程并發(fā)執(zhí)行的圖示,假設(shè)處理機(jī)正在執(zhí)行A,程序計(jì)數(shù)器(PC Program counter):為了保證程序(在操作系統(tǒng)中理解為進(jìn)程)能夠連續(xù)地執(zhí)行下去,程序計(jì)數(shù)器(指令計(jì)數(shù)器)在程序開始執(zhí)

8、行前,必須將它的起始地址,即程序的一條指令所在的內(nèi)存單元地址送入PC,因此程序計(jì)數(shù)器(PC)的內(nèi)容即是從內(nèi)存提取的一條指令的地址。當(dāng)執(zhí)行指令時(shí),CPU將自動修改PC的內(nèi)容,即每執(zhí)行一條指令PC增加一個(gè)量,這個(gè)量等于指令所含的字節(jié)數(shù),以便使其保持的總是將要執(zhí)行的下一條指令的地址。由于大多數(shù)指令都是按順序來執(zhí)行的,所以修改的過程通常只是簡單的對PC加1。,單進(jìn)程的軌跡,進(jìn)程的軌跡(trace):一個(gè)進(jìn)程的執(zhí)行指令序列,用于描述單個(gè)進(jìn)程的行為。,3進(jìn)程并發(fā)執(zhí)行的軌跡:理解處理器的行為,如何在三個(gè)進(jìn)程間交替執(zhí)行,規(guī)定:每個(gè)進(jìn)程僅允許最多連續(xù)執(zhí)行6個(gè)指令周期,之后被中斷(避免獨(dú)占),A,B,C,disp

9、atcher,dispatcher,dispatcher,A,C,I/O請求,2.5 進(jìn)程的狀態(tài),新建狀態(tài)(new):剛剛創(chuàng)建的進(jìn)程,輔存中。 就緒態(tài)(Ready) :一個(gè)進(jìn)程已經(jīng)具備運(yùn)行條件,但由于無CPU暫時(shí)不能運(yùn)行的狀態(tài),當(dāng)調(diào)度給其CPU時(shí),立即可以運(yùn)行。既一個(gè)進(jìn)程獲得了除處理機(jī)之外的一切所需資源。位于“就緒隊(duì)列”中 執(zhí)行態(tài)(Running) :進(jìn)程占有了包括CPU在內(nèi)的全部資源,正在CPU上運(yùn)行。在單機(jī)環(huán)境下,每一時(shí)刻最多只有一個(gè)進(jìn)程處于運(yùn)行狀態(tài)。,等待態(tài)(阻塞態(tài))(waiting,Blocked) :指進(jìn)程因等待某種事件的發(fā)生而暫停運(yùn)行的狀態(tài)(暫停時(shí)不占用處理機(jī)。即使CPU空閑,該進(jìn)

10、程也不可運(yùn)行)。位于“等待隊(duì)列”中。 終止(退出狀態(tài),Exit):終止后進(jìn)程移入該狀態(tài),它不再有執(zhí)行資格。終止可能是正常結(jié)束也可能是中途終止。,導(dǎo)致進(jìn)程狀態(tài)轉(zhuǎn)換的事件類型,狀態(tài)轉(zhuǎn)換:在進(jìn)程運(yùn)行過程中,由于進(jìn)程自身進(jìn)展情況及外界環(huán)境的變化,基本狀態(tài)可以依據(jù)一定的條件相互轉(zhuǎn)換 導(dǎo)致進(jìn)程狀態(tài)轉(zhuǎn)換的事件類型 NuLL 新建:創(chuàng)建執(zhí)行一個(gè)程序的新進(jìn)程 新建 就緒:OS準(zhǔn)備好了接納一個(gè)進(jìn)程,進(jìn)程進(jìn)入內(nèi)存,為該進(jìn)程分配除處理機(jī)之外的一切資源。 就緒 運(yùn)行:OS調(diào)度程序從就緒隊(duì)列選擇一個(gè)新的進(jìn)程運(yùn)行(占據(jù)CPU),運(yùn)行 就緒: 運(yùn)行進(jìn)程用完了時(shí)間片,不得不讓出處理機(jī)的使用權(quán) 運(yùn)行進(jìn)程被更高優(yōu)先級進(jìn)程中斷(被更

11、高優(yōu)先級進(jìn)程剝奪了處理機(jī)),因?yàn)橐桓邇?yōu)先級進(jìn)程處于就緒狀態(tài) 運(yùn)行阻塞:當(dāng)一進(jìn)程等待某一事件的發(fā)生時(shí),如:OS尚未完成系統(tǒng)服務(wù)調(diào)用、對一資源的訪問尚不能進(jìn)行、初始化I/O 且必須等待結(jié)果、等待某一進(jìn)程提供輸入 (IPC) 阻塞就緒:當(dāng)進(jìn)程所等待的事件發(fā)生時(shí),進(jìn)入就緒隊(duì)列,重新等到處理機(jī)的調(diào)度。,進(jìn)程狀態(tài)轉(zhuǎn)換圖,進(jìn) 程在OS內(nèi)用PCB表示(process control Block) ,PCB是進(jìn)程的屬性之一。包含:進(jìn)程控制信息(調(diào)度和狀態(tài)信息、進(jìn)程狀態(tài) 、優(yōu)先級、與調(diào)度有關(guān)的信息、數(shù)據(jù)結(jié)構(gòu):隊(duì)列等、進(jìn)程間通信 、進(jìn)程特權(quán)、內(nèi)存管理信息、I/O狀態(tài)信息,2.7 進(jìn)程控制塊PCB,2.8 進(jìn)程操作創(chuàng)

12、建和終止,創(chuàng)建進(jìn)程 給新進(jìn)程分配一個(gè)唯一的PID:在基本表中增加一個(gè)項(xiàng)目 給進(jìn)程分配空間:進(jìn)程映像、PCB 初始化PCB 設(shè)置正確的連接:置入相應(yīng)隊(duì)列中 創(chuàng)建或擴(kuò)充其他數(shù)據(jù)結(jié)構(gòu):如記帳文件等,導(dǎo)致進(jìn)程創(chuàng)建的事件 新的批作業(yè)(批處理系統(tǒng)中) 交互登錄(分時(shí)系統(tǒng)) OS為提供一項(xiàng)服務(wù)而創(chuàng)建 由已有的進(jìn)程生成(用戶進(jìn)程規(guī)定創(chuàng)建的,并發(fā)執(zhí)行) 提交一個(gè)程序執(zhí)行 父進(jìn)程、子進(jìn)程、進(jìn)程樹,進(jìn)程何時(shí)中止?,程序執(zhí)行Halt指令 用戶退出登錄 進(jìn)程執(zhí)行一個(gè)中止服務(wù)請求 出錯(cuò)及失敗因素,進(jìn)程中止的原因,正常結(jié)束 給定時(shí)限到 缺少內(nèi)存 存儲器出界 保護(hù)性出錯(cuò) 例子: 寫只讀文件 算術(shù)錯(cuò) 超出時(shí)間 進(jìn)程等待超過對某

13、事件的最大值,進(jìn)程中止的原因,I/O 失敗 無效指令 如試圖執(zhí)行數(shù)據(jù) 特權(quán)指令 操作系統(tǒng)干預(yù) 如當(dāng)死鎖發(fā)生時(shí) 父進(jìn)程請求中止某一子進(jìn)程 父進(jìn)程中止,所以子進(jìn)程也中止,進(jìn)程在執(zhí)行過程中,能通過系統(tǒng)調(diào)用創(chuàng)建多個(gè)進(jìn)程 子進(jìn)程資源的獲得: 物理資源(CPU時(shí)間、內(nèi)存、I/O設(shè)備、文件)初始化數(shù)據(jù)(或者輸入數(shù)據(jù)) 創(chuàng)建新進(jìn)程后: 父進(jìn)程與子進(jìn)程并發(fā)執(zhí)行,2.9 進(jìn)程操作創(chuàng)建,三、 CPU對進(jìn)程的調(diào)度,多道程序的關(guān)鍵是調(diào)度:對CPU資源進(jìn)行合理的分配使用,以提高處理機(jī)利用率,并使各用戶公平地得到處理機(jī)資源。 處理機(jī)調(diào)度是OS的重要功能之一。 WHAT:按什么原則分配CPU 進(jìn)程調(diào)度算法 WHEN:何時(shí)分配

14、CPU 進(jìn)程調(diào)度的時(shí)機(jī) HOW: 如何分配CPU CPU調(diào)度過程(進(jìn)程的上下文切換),處理器調(diào)度的類型,處理器調(diào)度 對CPU資源進(jìn)行合理地分配使用,以提高CPU的利用率,使各用戶公平地得到CPU資源。 處理器調(diào)度的目標(biāo) 以滿足系統(tǒng)目標(biāo)(如響應(yīng)時(shí)間、吞吐率、處理器效率)的方式,把進(jìn)程分配在一個(gè)處理器或多個(gè)處理器上執(zhí)行。,處理器調(diào)度的準(zhǔn)則,面向用戶的準(zhǔn)則 響應(yīng)時(shí)間 (min): 周轉(zhuǎn)時(shí)間(min) (結(jié)束時(shí)間-進(jìn)入系統(tǒng)時(shí)間):從進(jìn)入系統(tǒng)直至完成所經(jīng)歷的時(shí)間。 面向系統(tǒng)的準(zhǔn)則 吞吐量(max):系統(tǒng)在單位時(shí)間內(nèi)完成的作業(yè)數(shù)。 CPU利用率(max) 公平 資源的平衡使用 系統(tǒng)開銷 (min),3.1

15、 處理器調(diào)度的分級,1)長程調(diào)度(高級調(diào)度/作業(yè)調(diào)度):決定從外存的批處理隊(duì)列中選擇哪個(gè)(些)作業(yè)被系統(tǒng)接收做進(jìn)一步運(yùn)行,并為它們創(chuàng)建進(jìn)程,分配必要的資源。作業(yè)一旦被高調(diào)選中,相應(yīng)的進(jìn)程及進(jìn)程組才會產(chǎn)生,才能去占用系統(tǒng)資源。進(jìn)程狀態(tài):創(chuàng)建 長程調(diào)度程序決定OS可以接納一個(gè)還是多個(gè)進(jìn)程 創(chuàng)建的進(jìn)程越多,每個(gè)進(jìn)程執(zhí)行時(shí)間百分比就越小。 每當(dāng)一個(gè)進(jìn)程終止時(shí)或空閑時(shí)間片超過了一定的域值 ,調(diào)度程序可能會決定增加一個(gè)或多個(gè)新進(jìn)程,或調(diào)用長程調(diào)度程序。,2)中程調(diào)度(中級調(diào)度):決定將哪些進(jìn)程調(diào)入內(nèi)存,為占用處理機(jī)做好準(zhǔn)備。當(dāng)然也會有一些進(jìn)程被剝奪內(nèi)存的使用權(quán)。將進(jìn)程的部分或全部加載到內(nèi)存中,提高內(nèi)存利用

16、率。進(jìn)程狀態(tài):創(chuàng)建就緒 3)短程調(diào)度(低級調(diào)度、進(jìn)程調(diào)度、分派程序dispatcher ):決定就緒隊(duì)列中哪個(gè)進(jìn)程將獲得處理機(jī)。選擇哪個(gè)進(jìn)程在處理機(jī)上執(zhí)行,執(zhí)行最頻繁) 進(jìn)程狀態(tài):就緒運(yùn)行 當(dāng)可能導(dǎo)致當(dāng)前進(jìn)程掛起或可能剝奪當(dāng)前正在運(yùn)行的進(jìn)程的事件發(fā)生時(shí),調(diào)用短程調(diào)度程序。包括如下事件: 時(shí)鐘中斷、I/O中斷、操作系統(tǒng)調(diào)用、信號,用于調(diào)度的隊(duì)列圖,批作業(yè),CPU,釋放,超時(shí),短程調(diào)度,內(nèi)存就緒隊(duì)列,就緒、掛起隊(duì)列,阻塞、掛起隊(duì)列,阻塞隊(duì)列,事件等待,事件發(fā)生,交互用戶,長程調(diào)度,中程調(diào)度,3.2 進(jìn)程調(diào)度算法-基本類型,非搶占調(diào)度(Non Preemptive):就緒進(jìn)程不可以從運(yùn)行進(jìn)程手中搶占

17、CPU。一旦進(jìn)程處于運(yùn)行狀態(tài),它就不斷執(zhí)行直到終止或者為等待I/O或請求某些操作系統(tǒng)服務(wù)而阻塞時(shí),才把CPU讓給另一進(jìn)程。 特點(diǎn):系統(tǒng)開銷小,但當(dāng)一個(gè)緊急任務(wù)到達(dá)時(shí),不能立刻投入運(yùn)行,實(shí)時(shí)性差。 如:有三個(gè)進(jìn)程P1、P2、P3先后到達(dá),它們分別需要20、4、2個(gè)單位時(shí)間運(yùn)行完畢,若它們按照P1、P2、P3的順序執(zhí)行且不可剝奪,則三個(gè)進(jìn)程各自的周轉(zhuǎn)時(shí)間為20、24、26個(gè)工作單位。,搶占調(diào)度(Preemptive):某個(gè)進(jìn)程正在運(yùn)行時(shí)可以被系統(tǒng)以某種原則剝奪已分配給它的處理機(jī),將處理機(jī)分配給其它進(jìn)程。,允許調(diào)度程序根據(jù)某種策略中止當(dāng)前運(yùn)行進(jìn)程的執(zhí)行,將其轉(zhuǎn)移到就緒狀態(tài),并選擇另一個(gè)進(jìn)程投入運(yùn)行。

18、 時(shí)機(jī): 一個(gè)新進(jìn)程到達(dá)時(shí) 一個(gè)中斷的發(fā)生 將一個(gè)被阻塞進(jìn)程置為就緒態(tài) 周期性的時(shí)間中斷,比較: 搶占策略可能會導(dǎo)致較大的開銷,但是可對所有進(jìn)程提供較好的服務(wù),避免任一個(gè)進(jìn)程獨(dú)占CPU太長時(shí)間 通過使用有效的進(jìn)程切換機(jī)制以及提供比較大的主存,使得大部分程序都在主存中,剝奪的代價(jià)可以相對比較低。,3.3 調(diào)度算法 先來先服務(wù)FCFS,先來先服務(wù)FCFS (First-Come-First-Served) 按照進(jìn)程進(jìn)入就緒隊(duì)列的先后次序選調(diào)度。FCFS屬于不可搶占策略。一旦一個(gè)進(jìn)程占有了處理機(jī),它就一直運(yùn)行下去,直到該進(jìn)程完成工作或因等待某事件而不能運(yùn)行時(shí)才能釋放除處理器。,評價(jià) 非搶占調(diào)度 對于

19、長進(jìn)程有利,而不利于短進(jìn)程。 有利于CPU繁忙型的進(jìn)程,而不利于I/O繁忙型的進(jìn)程 不能用于分時(shí)系統(tǒng)。 改進(jìn) FIFO自身對于單處理器系統(tǒng)并不是很有吸引力,通常與優(yōu)先級策略結(jié)合,維護(hù)多個(gè)隊(duì)列,每個(gè)優(yōu)先級一個(gè)隊(duì)列,每個(gè)隊(duì)列采用FCFS的方法。如反饋法。,最短作業(yè)優(yōu)先(shortest-job-first,SJF),原則: 非剝奪的,從進(jìn)程的就緒隊(duì)列中挑選那些所需運(yùn)行時(shí)間最短的進(jìn)程進(jìn)入主存運(yùn)行。如果兩個(gè)進(jìn)程剩余時(shí)間相同,則使用FCFS來調(diào)度。 SJF是一個(gè)非搶占的策略,它一旦選中某個(gè)進(jìn)程后,就保證該進(jìn)程盡可能快地完成運(yùn)行并退出。,問題: 需要知道或至少需要估計(jì)每個(gè)進(jìn)程所需要的處理時(shí)間。通常一進(jìn)程沒

20、有這方面的信息,只能估計(jì)。 評價(jià): 有利于短進(jìn)程??梢宰C明:SJF算法平均等待時(shí)間最小 長進(jìn)程就可能被餓死:只要有持續(xù)不斷的短進(jìn)程存在 。 缺少剝奪機(jī)制,不適用于對分時(shí)系統(tǒng)或事務(wù)處理環(huán)境,最短剩余時(shí)間調(diào)度SRT(shortest remaining Timer,SRT),原理: 對SJF增加了剝奪機(jī)制,將SJF算法用于分時(shí)環(huán)境。從就緒隊(duì)列中選擇進(jìn)程運(yùn)行到完成時(shí)所需時(shí)間最短的進(jìn)程優(yōu)先得到處理。它可能比當(dāng)前運(yùn)行的進(jìn)程具有更短的剩余時(shí)間,只要滿足條件的新進(jìn)程就緒,調(diào)度程序就進(jìn)行剝奪。,優(yōu)點(diǎn): 既不偏愛長進(jìn)程,也不像RR算法那樣會產(chǎn)生額外的中斷,從而減少了開銷。 周轉(zhuǎn)時(shí)間方面,SRT比SJF性能要好,

21、短作業(yè)可以立即被選擇執(zhí)行。 SRT問題: 需要知道或至少需要估計(jì)每個(gè)進(jìn)程所需要的處理時(shí)間。 只要有持續(xù)不斷的短進(jìn)程存在,長進(jìn)程就可能被餓死 它必須記錄過去的服務(wù)時(shí)間,從而增加了開銷。,優(yōu)先級調(diào)度,優(yōu)先級 每個(gè)進(jìn)程都有一個(gè)優(yōu)先級,調(diào)度程序總是選擇具有較高優(yōu)先級的進(jìn)程。 靜態(tài)優(yōu)先級(static) 優(yōu)先數(shù)在進(jìn)程創(chuàng)建時(shí)分配,生存期內(nèi)不變。 響應(yīng)速度慢,開銷小。 適合批處理進(jìn)程 動態(tài)優(yōu)先級(dynamic) 進(jìn)程創(chuàng)建時(shí)繼承優(yōu)先級,生存期內(nèi)可以修改。 響應(yīng)速度快,開銷大。,問題 低優(yōu)先級的進(jìn)程可能會餓死(無窮阻塞)。如果一直有高優(yōu)先級的就緒進(jìn)程的話。 改進(jìn) 一個(gè)進(jìn)程的優(yōu)先級隨著它的時(shí)間或執(zhí)行歷史而變化老化策略(aging)。,輪轉(zhuǎn)調(diào)度RR (Round Robin),輪轉(zhuǎn)調(diào)度(或稱時(shí)間片調(diào)度(time slicing) :其就緒隊(duì)列按進(jìn)程達(dá)到的時(shí)間來排序。以一定的時(shí)間間隔周期性產(chǎn)生一個(gè)時(shí)鐘中斷,當(dāng)中斷發(fā)生時(shí),按照FCF

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論