操作系統(tǒng)課件第三章_第1頁(yè)
操作系統(tǒng)課件第三章_第2頁(yè)
操作系統(tǒng)課件第三章_第3頁(yè)
操作系統(tǒng)課件第三章_第4頁(yè)
操作系統(tǒng)課件第三章_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章 處理機(jī)調(diào)度與死鎖操作系統(tǒng)Page 12022/10/12第三章 處理機(jī)調(diào)度與死鎖重點(diǎn)掌握進(jìn)程調(diào)度算法,各適用于何種情況 理解常用的幾種實(shí)時(shí)調(diào)度算法 理解產(chǎn)生死鎖的原因 掌握銀行家算法避免死鎖難點(diǎn)多道程序設(shè)計(jì)中的各種調(diào)度算法 響應(yīng)比高者優(yōu)先調(diào)度算法的計(jì)算過(guò)程 銀行家算法 Page 22022/10/12第三章 處理機(jī)調(diào)度與死鎖知識(shí)點(diǎn)處理機(jī)調(diào)度及調(diào)度算法多處理機(jī)環(huán)境下的進(jìn)程(線程)調(diào)度方式產(chǎn)生死鎖的原因和必要條件預(yù)防死鎖的方法,死鎖的檢測(cè)與解除 銀行家算法Page 32022/10/12第三章 處理機(jī)調(diào)度與死鎖處理機(jī)是計(jì)算機(jī)系統(tǒng)中的重要資源在多道程序環(huán)境下,進(jìn)程數(shù)目通常多于處理機(jī)的數(shù)目系統(tǒng)

2、必須按一定方法動(dòng)態(tài)地把處理機(jī)分配給就緒隊(duì)列中的一個(gè)進(jìn)程處理機(jī)利用率和系統(tǒng)性能(吞吐量、響應(yīng)時(shí)間)在很大程度上取決于處理機(jī)調(diào)度分配處理機(jī)的任務(wù)是由進(jìn)程調(diào)度程序完成的。它是操作系統(tǒng)設(shè)計(jì)的中心問(wèn)題之一。WHAT:按什么原則分配CPU進(jìn)程調(diào)度算法WHEN:何時(shí)分配CPU 進(jìn)程調(diào)度的時(shí)機(jī) HOW:如何分配CPU CPU調(diào)度過(guò)程(進(jìn)程的上下文切換)Page 42022/10/12第三章 處理機(jī)調(diào)度與死鎖 處理機(jī)調(diào)度的基本概念 調(diào)度算法 實(shí)時(shí)調(diào)度 多處理機(jī)系統(tǒng)中的調(diào)度 產(chǎn)生死鎖的原因和必要條件 預(yù)防死鎖的方法 死鎖的檢測(cè)與解除Page 52022/10/12處理機(jī)調(diào)度的基本概念 高級(jí)、中級(jí)和低級(jí)調(diào)度進(jìn)程調(diào)度

3、的任務(wù)確定算法的原則進(jìn)程調(diào)度方式調(diào)度隊(duì)列模型選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則Page 62022/10/12處理機(jī)調(diào)度的基本概念作業(yè)是用戶在一次解題或一個(gè)事務(wù)處理過(guò)程中要求計(jì)算機(jī)系統(tǒng)所做工作的集合,包括用戶程序、所需的數(shù)據(jù)及命令等作業(yè)的狀態(tài):一個(gè)作業(yè)進(jìn)入系統(tǒng)到運(yùn)行結(jié)束,一般需要經(jīng)歷收容、運(yùn)行、完成三個(gè)階段,與之相對(duì)應(yīng)的是作業(yè)的三種狀態(tài)后備狀態(tài)運(yùn)行狀態(tài)完成狀態(tài)Page 72022/10/12運(yùn)行狀態(tài)處理機(jī)調(diào)度的基本概念后備狀態(tài)完成狀態(tài)就緒阻塞執(zhí)行I/O完成I/O請(qǐng)求時(shí)間片完作業(yè)注冊(cè)作業(yè)調(diào)度進(jìn)程調(diào)度終止作業(yè)作業(yè)狀態(tài)間轉(zhuǎn)換Page 82022/10/123.1 處理機(jī)調(diào)度的基本概念 3.1.1 高級(jí)

4、、中級(jí)和低級(jí)調(diào)度 1. 高級(jí)調(diào)度(High Scheduling) 2. 低級(jí)調(diào)度(Low Level Scheduling) 3. 中級(jí)調(diào)度(Intermediate-Level Scheduling) Page 92022/10/12高級(jí)、中級(jí)和低級(jí)調(diào)度高級(jí)調(diào)度(High Scheduling) 作業(yè)調(diào)度或長(zhǎng)程調(diào)度(Long-Term Scheduling)主要任務(wù)是按一定的原則對(duì)外存上處于后備狀態(tài)的作業(yè)進(jìn)行選擇,給選中的作業(yè)分配內(nèi)存、輸入/輸出設(shè)備等必要的資源,并建立相應(yīng)的進(jìn)程,放入就緒隊(duì)列,以使該作業(yè)的進(jìn)程獲得競(jìng)爭(zhēng)處理機(jī)的權(quán)利也稱為接納調(diào)度(Admission Scheduling)高

5、級(jí)調(diào)度的時(shí)間尺度通常是分鐘、小時(shí)或天Page 102022/10/12高級(jí)、中級(jí)和低級(jí)調(diào)度在每次作業(yè)調(diào)度時(shí),須決定:接納多少個(gè)作業(yè) 即允許多少個(gè)作業(yè)同時(shí)在內(nèi)存中運(yùn)行,取決于多 道程序度(Degree of Multiprogramming)作業(yè)太多 服務(wù)質(zhì)量下降作業(yè)太少 資源利用率低接納哪些作業(yè) 取決于作業(yè)調(diào)度算法先來(lái)先服務(wù)短作業(yè)優(yōu)先作業(yè)優(yōu)先權(quán)調(diào)度響應(yīng)比調(diào)度周轉(zhuǎn)時(shí)間太長(zhǎng)系統(tǒng)吞吐量太低 適當(dāng)?shù)恼壑远嗟莱绦蚨龋杭丛试S多少個(gè)作業(yè)同時(shí)在內(nèi)存中運(yùn)行。周轉(zhuǎn)時(shí)間:從作業(yè)被提交給系統(tǒng)開始,到作業(yè)完成為止的這段時(shí)間間隔。吞吐量:是指在單位時(shí)間內(nèi)系統(tǒng)所完成的作業(yè)數(shù)。Page 112022/10/12高級(jí)、中級(jí)和低

6、級(jí)調(diào)度低級(jí)調(diào)度 進(jìn)程調(diào)度或短程調(diào)度(Short-Term Scheduling)主要任務(wù)是按照某種策略和方法選取一個(gè)處于就緒狀態(tài)的進(jìn)程,將處理機(jī)分配給它常見的低級(jí)調(diào)度有非搶占式和搶占式兩種低級(jí)調(diào)度的時(shí)間尺度通常是毫秒級(jí)的。由于低級(jí)調(diào)度算法的頻繁使用,要求在實(shí)現(xiàn)時(shí)做到高效Page 122022/10/12高級(jí)、中級(jí)和低級(jí)調(diào)度中級(jí)調(diào)度(Intermediate-Level Scheduling) 中程調(diào)度(Medium-Term Scheduling)引入目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。使那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用寶貴的內(nèi)存資源,而將它們調(diào)至外存上去等待主要任務(wù)是按照給定的原則和策略,將

7、處于外存對(duì)換區(qū)中的重又具備運(yùn)行條件的就緒進(jìn)程調(diào)入內(nèi)存,或?qū)⑻幱趦?nèi)存就緒狀態(tài)或內(nèi)存阻塞狀態(tài)的進(jìn)程交換到外存對(duì)換區(qū)Page 132022/10/12處理機(jī)調(diào)度的基本概念 高級(jí)、中級(jí)和低級(jí)調(diào)度 進(jìn)程調(diào)度的任務(wù) 確定算法的原則 進(jìn)程調(diào)度方式 調(diào)度隊(duì)列模型 選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則Page 142022/10/12進(jìn)程調(diào)度的任務(wù) 進(jìn)程調(diào)度的任務(wù) 是控制、協(xié)調(diào)進(jìn)程對(duì)CPU的競(jìng)爭(zhēng),即按一定的調(diào)度算法從就緒隊(duì)列中選中一個(gè)進(jìn)程,把CPU的使用權(quán)交給被選中的進(jìn)程Page 152022/10/12處理機(jī)調(diào)度的基本概念 高級(jí)、中級(jí)和低級(jí)調(diào)度 進(jìn)程調(diào)度的任務(wù) 確定算法的原則 進(jìn)程調(diào)度方式 調(diào)度隊(duì)列模型 選擇調(diào)度

8、方式和調(diào)度算法的若干準(zhǔn)則Page 162022/10/12確定算法的原則 具有公平性 資源利用率高(特別是CPU利用率) 在交互式系統(tǒng)情況下要追求響應(yīng)時(shí)間(越短越好) 在批處理系統(tǒng)情況下要追求系統(tǒng)吞吐量Page 172022/10/12處理機(jī)調(diào)度的基本概念 高級(jí)、中級(jí)和低級(jí)調(diào)度 進(jìn)程調(diào)度的任務(wù) 確定算法的原則 進(jìn)程調(diào)度方式 調(diào)度隊(duì)列模型 選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則Page 182022/10/12進(jìn)程調(diào)度方式非搶占方式(Non-preemptive Mode)搶占方式(Preemptive Mode)Page 192022/10/12進(jìn)程調(diào)度方式非搶占方式(Non-preemptive

9、Mode) 當(dāng)某一進(jìn)程正在處理機(jī)上執(zhí)行時(shí),即使有某個(gè)更為重要或緊迫的進(jìn)程進(jìn)入就緒隊(duì)列,該進(jìn)程仍繼續(xù)執(zhí)行,直到其完成或發(fā)生某種事件而進(jìn)入完成或阻塞狀態(tài)時(shí),才把處理機(jī)分配給更為重要或緊迫的進(jìn)程引起進(jìn)程調(diào)度的因素正在執(zhí)行的進(jìn)程執(zhí)行完畢, 或因發(fā)生某事件而不能再繼續(xù)執(zhí)行執(zhí)行中的進(jìn)程因提出I/O請(qǐng)求而暫停執(zhí)行;在進(jìn)程通信或同步過(guò)程中執(zhí)行了某種原語(yǔ)操作,如wait、Block、Wakeup原語(yǔ)優(yōu)點(diǎn):算法簡(jiǎn)單,系統(tǒng)開銷小缺點(diǎn):緊急任務(wù)不能及時(shí)響應(yīng);短進(jìn)程到達(dá)要等待長(zhǎng)進(jìn)程運(yùn)行結(jié)束Page 202022/10/12進(jìn)程調(diào)度方式搶占方式(Preemptive Mode) 當(dāng)某一進(jìn)程正在處理機(jī)上執(zhí)行時(shí),若有某個(gè)更為

10、重要或緊迫的進(jìn)程進(jìn)入就緒隊(duì)列,則立即暫停正在執(zhí)行的進(jìn)程,將處理機(jī)分配給這個(gè)更為重要或緊迫的進(jìn)程搶占式調(diào)度主要有以下原則優(yōu)先權(quán)原則 允許高優(yōu)先權(quán)的新到進(jìn)程搶占當(dāng)前進(jìn)程的處理機(jī)短作業(yè)(進(jìn)程)優(yōu)先原則允許執(zhí)行時(shí)間短的新到進(jìn)程搶占當(dāng)前進(jìn)程的處理機(jī) 時(shí)間片原則 時(shí)間片用完后停止執(zhí)行,重新進(jìn)行調(diào)度,適用于分時(shí)系統(tǒng) 優(yōu)點(diǎn):適于時(shí)間要求嚴(yán)格的實(shí)時(shí)系統(tǒng)缺點(diǎn):調(diào)度算法復(fù)雜,系統(tǒng)開銷大Page 212022/10/12處理機(jī)調(diào)度的基本概念 高級(jí)、中級(jí)和低級(jí)調(diào)度 進(jìn)程調(diào)度的任務(wù) 確定算法的原則 進(jìn)程調(diào)度方式 調(diào)度隊(duì)列模型 選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則Page 222022/10/12調(diào)度隊(duì)列模型僅有進(jìn)程調(diào)度的調(diào)度

11、隊(duì)列模型具有高級(jí)和低級(jí)調(diào)度的調(diào)度隊(duì)列模型同時(shí)具有三級(jí)調(diào)度的調(diào)度隊(duì)列模型Page 232022/10/12調(diào)度隊(duì)列模型僅有進(jìn)程調(diào)度的調(diào)度隊(duì)列模型在分時(shí)系統(tǒng)中,通常僅設(shè)有進(jìn)程調(diào)度系統(tǒng)把這些進(jìn)程組織成一個(gè)就緒隊(duì)列每個(gè)進(jìn)程在執(zhí)行時(shí),可能有以下幾種情況進(jìn)程獲得CPU正在執(zhí)行任務(wù)在給定時(shí)間片內(nèi)已完成,釋放處理機(jī)后為完成狀態(tài)任務(wù)在時(shí)間片內(nèi)未完成,進(jìn)入就緒隊(duì)列末尾在執(zhí)行期間因某事件而阻塞Page 242022/10/12調(diào)度隊(duì)列模型僅有進(jìn)程調(diào)度的調(diào)度隊(duì)列模型就緒隊(duì)列阻塞隊(duì)列進(jìn)程調(diào)度CPU進(jìn)程完成等待事件交互用戶事件出現(xiàn)時(shí)間片完P(guān)age 252022/10/12調(diào)度隊(duì)列模型具有高級(jí)和低級(jí)調(diào)度的調(diào)度隊(duì)列模型在批處

12、理系統(tǒng)中,不僅需要進(jìn)程調(diào)度,而且還要有作業(yè)調(diào)度就緒隊(duì)列的形式在批處理系統(tǒng)中,常用高優(yōu)先權(quán)隊(duì)列。進(jìn)程進(jìn)入就緒隊(duì)列時(shí),按優(yōu)先權(quán)高低插入相應(yīng)位置,調(diào)度程序總是把處理機(jī)分配給就緒隊(duì)首進(jìn)程設(shè)置多個(gè)阻塞隊(duì)列根據(jù)事件的不同設(shè)置多個(gè)隊(duì)列提高效率Page 262022/10/12調(diào)度隊(duì)列模型進(jìn)程調(diào)度CPU進(jìn)程完成時(shí)間片完就緒隊(duì)列12等待事件等待事件等待事件n12n事件出現(xiàn)事件出現(xiàn)事件出現(xiàn)后備隊(duì)列作業(yè)調(diào)度與上一模型的主要區(qū)別:就緒隊(duì)列的形式; 設(shè)置多個(gè)阻塞隊(duì)列阻隊(duì)列塞2阻隊(duì)列塞n阻隊(duì)列塞1Page 272022/10/12調(diào)度隊(duì)列模型同時(shí)具有三級(jí)調(diào)度的調(diào)度隊(duì)列模型就緒隊(duì)列進(jìn)程調(diào)度就緒,掛起隊(duì)列中級(jí)調(diào)度阻塞,掛起隊(duì)

13、列阻塞隊(duì)列等待事件進(jìn)程完成時(shí)間片完作業(yè)調(diào)度交互型作業(yè)后備隊(duì)列批量作業(yè)掛起掛起事件出現(xiàn)事件出現(xiàn)CPUPage 282022/10/12處理機(jī)調(diào)度的基本概念 高級(jí)、中級(jí)和低級(jí)調(diào)度 進(jìn)程調(diào)度的任務(wù) 確定算法的原則 進(jìn)程調(diào)度方式 調(diào)度隊(duì)列模型選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則如果你是用戶,你希望系統(tǒng)如何為你服務(wù),如何考慮?如果你是調(diào)度者,從系統(tǒng)整體角度出發(fā),應(yīng)如何考慮?Page 292022/10/123.1.3 選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則 1. 面向用戶的準(zhǔn)則 2. 面向系統(tǒng)的準(zhǔn)則 Page 302022/10/123.1.3 選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則 1. 面向用戶的準(zhǔn)則 (1) 周轉(zhuǎn)

14、時(shí)間短。 (2) 響應(yīng)時(shí)間快。 (3) 截止時(shí)間的保證。 (4) 優(yōu)先權(quán)準(zhǔn)則。 Page 312022/10/12選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則面向用戶的準(zhǔn)則周轉(zhuǎn)時(shí)間短平均周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間:進(jìn)程(或作業(yè))的周轉(zhuǎn)時(shí)間T與系統(tǒng)為它提供服務(wù)的時(shí)間TS之比,即W=T/TS 。而平均帶權(quán)周轉(zhuǎn)時(shí)間則可表示為: Page 322022/10/12選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則面向用戶的準(zhǔn)則響應(yīng)時(shí)間快響應(yīng)時(shí)間是指從用戶通過(guò)鍵盤提交一個(gè)請(qǐng)求開始,直至系統(tǒng)中首次產(chǎn)生響應(yīng)為止的時(shí)間交互式系統(tǒng)用周轉(zhuǎn)時(shí)間衡量不是最佳截止時(shí)間保證截止時(shí)間是指某任務(wù)必須開始執(zhí)行的最遲時(shí)間或必須完成的最遲時(shí)間截止時(shí)間是實(shí)時(shí)系統(tǒng)中的重

15、要指標(biāo)Page 332022/10/12選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則面向用戶的準(zhǔn)則 周轉(zhuǎn)時(shí)間短 響應(yīng)時(shí)間快 截止時(shí)間保證批處理系統(tǒng)分時(shí)系統(tǒng)實(shí)時(shí)系統(tǒng)等待時(shí)間短優(yōu)先權(quán)Page 342022/10/12選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則面向用戶的準(zhǔn)則等待時(shí)間短等待時(shí)間是在就緒隊(duì)列中等待所花的時(shí)間調(diào)度算法并不影響進(jìn)程運(yùn)行和執(zhí)行I/O的時(shí)間量;只影響進(jìn)程在就緒隊(duì)列中等待所花費(fèi)的時(shí)間優(yōu)先權(quán)準(zhǔn)則在批處理、實(shí)時(shí)和分時(shí)系統(tǒng)中都可以選擇優(yōu)先權(quán)準(zhǔn)則,以便讓緊急任務(wù)先處理有時(shí)還選擇搶占式調(diào)度方式Page 352022/10/12選擇調(diào)度方式和調(diào)度算法的若干準(zhǔn)則面向系統(tǒng)的準(zhǔn)則系統(tǒng)吞吐量高吞吐量指單位時(shí)間內(nèi)系統(tǒng)所完成的

16、作業(yè)數(shù)作業(yè)調(diào)度的方式和算法對(duì)吞吐量的大小有較大影響處理機(jī)利用率高各類資源的平衡利用使內(nèi)存、外存和I/O設(shè)備的利用率高基于這樣的準(zhǔn)則,你設(shè)計(jì)操作系統(tǒng)的調(diào)度策略應(yīng)如何?Page 362022/10/12第三章 處理機(jī)調(diào)度與死鎖處理機(jī)調(diào)度的基本概念 調(diào)度算法 實(shí)時(shí)調(diào)度 多處理機(jī)系統(tǒng)中的調(diào)度產(chǎn)生死鎖的原因和必要條件 預(yù)防死鎖的方法 死鎖的檢測(cè)與解除Page 372022/10/12調(diào)度算法在OS中調(diào)度的實(shí)質(zhì)是一種資源分配,因而調(diào)度算法是指:根據(jù)系統(tǒng)的資源分配策略所規(guī)定的資源分配算法問(wèn)題提出如何制定分配策略:對(duì)不同的系統(tǒng)和系統(tǒng)目標(biāo),通常采用不同的算法,如短作業(yè)優(yōu)先,時(shí)間片輪轉(zhuǎn)等有些算法適用于作業(yè)調(diào)度,有

17、些適用于進(jìn)程調(diào)度,有些兩者皆可Page 382022/10/12調(diào)度算法 先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法 高優(yōu)先權(quán)優(yōu)先調(diào)度算法 基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法Page 392022/10/12先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法先來(lái)先服務(wù)(FCFS)/先進(jìn)先出(FIFO)調(diào)度算法按照作業(yè)/進(jìn)程進(jìn)入系統(tǒng)的先后次序進(jìn)行調(diào)度,先進(jìn)入系統(tǒng)者先調(diào)度;即啟動(dòng)等待時(shí)間最長(zhǎng)的作業(yè)/進(jìn)程是一種最簡(jiǎn)單的調(diào)度算法,即可用于作業(yè)調(diào)度,也可用于進(jìn)程調(diào)度幾個(gè)術(shù)語(yǔ)到達(dá)時(shí)間、服務(wù)時(shí)間、開始時(shí)間完成時(shí)間、等待時(shí)間周轉(zhuǎn)時(shí)間:完成時(shí)間-到達(dá)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間:周轉(zhuǎn)時(shí)間/服務(wù)時(shí)間Page 402022/10/12先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法進(jìn)程名到達(dá)時(shí)間服

18、務(wù)時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間平均04A13B25C32D44E044476先來(lái)先服務(wù)(先進(jìn)先出):712101214111418141225.53.592.8AAAABBBCCCCCDDEEEE05101518tPage 412022/10/12先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法 先來(lái)先服務(wù)(先進(jìn)先出)優(yōu)缺點(diǎn) 比較有利于長(zhǎng)作業(yè)(進(jìn)程),而不利于短作業(yè)(進(jìn)程) 有利于CPU繁忙型作業(yè)(進(jìn)程) ,而不利于I/O繁忙型作業(yè)(進(jìn)程) 用于批處理系統(tǒng),不適于分時(shí)系統(tǒng)Page 422022/10/12先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法短作業(yè)(進(jìn)程)優(yōu)先調(diào)度算法SJ(P)F短作業(yè)(進(jìn)程)優(yōu)先調(diào)度算法SJ(P)

19、F,以要求運(yùn)行時(shí)間長(zhǎng)短進(jìn)行調(diào)度,即啟動(dòng)要求運(yùn)行時(shí)間最短的作業(yè)可以分別用于作業(yè)調(diào)度和進(jìn)程調(diào)度短作業(yè)優(yōu)先(SJF)的調(diào)度算法,是從后備隊(duì)列中選擇一個(gè)或若干個(gè)估計(jì)運(yùn)行時(shí)間最短的作業(yè),將它們調(diào)入內(nèi)存運(yùn)行;而短進(jìn)程優(yōu)先(SPF)調(diào)度算法,則是從就緒隊(duì)列中選出一估計(jì)運(yùn)行時(shí)間最短的進(jìn)程,將處理機(jī)分配給它,使它立即執(zhí)行并一直執(zhí)行到完成,或發(fā)生某事件而被阻塞放棄處理機(jī)時(shí),再重新調(diào)度Page 432022/10/12先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間平均04A13B25C32D44E0441短作業(yè)/短進(jìn)程優(yōu)先(SJF/SPF):4633/26988/391399/

20、413181616/540/52.1AAAABBBCCCCCDDEEEE05101518tPage 442022/10/12FCFS/SJF調(diào)度算法的性能先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法SJF能有效地降低作業(yè)的平均等待時(shí)間,提高系統(tǒng)吞吐量 作業(yè)調(diào)度 情況 算法進(jìn)程名ABCDE平均到達(dá)時(shí)間01234服務(wù)時(shí)間43524FCFS完成時(shí)間47121418周轉(zhuǎn)時(shí)間461011149帶權(quán)周轉(zhuǎn)時(shí)間1225.53.52.8SJF完成時(shí)間4918613周轉(zhuǎn)時(shí)間4816398帶權(quán)周轉(zhuǎn)時(shí)間12.673.11.52.252.1SJF平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間明顯改善Page 452022/10/12先來(lái)先服務(wù)和短作業(yè)優(yōu)

21、先算法SJ(P)F調(diào)度算法也存在不容忽視的缺點(diǎn)對(duì)長(zhǎng)作業(yè)不利。嚴(yán)重的是,若一長(zhǎng)作業(yè)(進(jìn)程)進(jìn)入系統(tǒng)的后備隊(duì)列(就緒隊(duì)列),由于調(diào)度程序總是優(yōu)先調(diào)度那些(即使是后進(jìn)來(lái)的)短作業(yè)(進(jìn)程),將導(dǎo)致長(zhǎng)作業(yè)(進(jìn)程)長(zhǎng)期不被調(diào)度饑餓完全未考慮作業(yè)(進(jìn)程)的緊迫程度,因而不能保證緊迫性作業(yè)(進(jìn)程)會(huì)被及時(shí)處理由于作業(yè)(進(jìn)程)的長(zhǎng)短只是根據(jù)用戶所提供的估計(jì)執(zhí)行時(shí)間而定的,而用戶又可能會(huì)有意或無(wú)意地縮短其作業(yè)的估計(jì)運(yùn)行時(shí)間,致使該算法不一定能真正做到短作業(yè)優(yōu)先調(diào)度。Page 462022/10/12調(diào)度算法先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法高優(yōu)先權(quán)優(yōu)先調(diào)度算法基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法Page 472022/10/12高優(yōu)

22、先權(quán)優(yōu)先(HPF,Highest Priority First)調(diào)度算法優(yōu)先權(quán)調(diào)度算法的類型非搶占式優(yōu)先權(quán)調(diào)度算法搶占式優(yōu)先權(quán)調(diào)度算法Page 482022/10/12高優(yōu)先權(quán)優(yōu)先(HPF,Highest Priority First)調(diào)度算法優(yōu)先權(quán)調(diào)度算法的類型非搶占式優(yōu)先權(quán)調(diào)度算法特點(diǎn):系統(tǒng)一旦把處理機(jī)分配給就緒隊(duì)列中優(yōu)先權(quán)最高的進(jìn)程后,該進(jìn)程便一直執(zhí)行下去,直至完成,或因發(fā)生某事件使該進(jìn)程放棄處理機(jī)時(shí),系統(tǒng)才將處理機(jī)重新分配給另一優(yōu)先權(quán)最高的進(jìn)程主要用于批處理系統(tǒng)中,也可用于某些對(duì)實(shí)時(shí)性要求不嚴(yán)的實(shí)時(shí)系統(tǒng)中Page 492022/10/12高優(yōu)先權(quán)優(yōu)先(HPFHighest Priori

23、ty First)調(diào)度算法優(yōu)先權(quán)調(diào)度算法的類型搶占式優(yōu)先權(quán)調(diào)度算法把處理機(jī)分配給優(yōu)先權(quán)最高的進(jìn)程,但在執(zhí)行期間,只要出現(xiàn)另一個(gè)優(yōu)先權(quán)更高的進(jìn)程,則進(jìn)程調(diào)度程序就立即停止當(dāng)前進(jìn)程的執(zhí)行,并將處理機(jī)分配給新到的優(yōu)先權(quán)最高的進(jìn)程注意:只要系統(tǒng)中出現(xiàn)一個(gè)新的就緒進(jìn)程,就進(jìn)行優(yōu)先權(quán)比較該調(diào)度算法,能更好地滿足緊迫作業(yè)的要求,故而常用于要求比較嚴(yán)格的實(shí)時(shí)系統(tǒng)中,以及對(duì)性能要求較高的批處理和分時(shí)系統(tǒng)中Page 502022/10/12高優(yōu)先權(quán)優(yōu)先調(diào)度算法優(yōu)先權(quán)的類型靜態(tài)優(yōu)先權(quán)動(dòng)態(tài)優(yōu)先權(quán)Page 512022/10/12高優(yōu)先權(quán)優(yōu)先調(diào)度算法優(yōu)先權(quán)的類型靜態(tài)優(yōu)先權(quán)靜態(tài)優(yōu)先權(quán)在創(chuàng)建進(jìn)程時(shí)確定,且在進(jìn)程的整個(gè)運(yùn)行期

24、間保持不變。一般地,優(yōu)先權(quán)是利用某一范圍內(nèi)的一個(gè)整數(shù)來(lái)表示的,例如,07或0255, 又把該整數(shù)稱為優(yōu)先數(shù)確定進(jìn)程靜態(tài)優(yōu)先權(quán)的依據(jù)進(jìn)程類型:系統(tǒng)進(jìn)程,用戶進(jìn)程進(jìn)程對(duì)資源的需求用戶要求Page 522022/10/12確定進(jìn)程優(yōu)先權(quán)的依據(jù)有如下三個(gè)方面:進(jìn)程類型。系統(tǒng)進(jìn)程的優(yōu)先權(quán)高于一般用戶進(jìn)程。 (2) 進(jìn)程對(duì)資源的需求。如進(jìn)程的估計(jì)執(zhí)行時(shí)間及內(nèi)存需要量少的進(jìn)程,應(yīng)賦予較高的優(yōu)先權(quán)。 (3) 用戶要求。由用戶進(jìn)程的緊迫程度和用戶所付費(fèi)用的多少來(lái)確定優(yōu)先權(quán)。 Page 532022/10/12高優(yōu)先權(quán)優(yōu)先調(diào)度算法優(yōu)先權(quán)的類型靜態(tài)優(yōu)先權(quán)靜態(tài)優(yōu)先權(quán)在創(chuàng)建進(jìn)程時(shí)確定,且在進(jìn)程的整個(gè)運(yùn)行期間保持不變。一

25、般地,優(yōu)先權(quán)是利用某一范圍內(nèi)的一個(gè)整數(shù)來(lái)表示的,例如,07或0255, 又把該整數(shù)稱為優(yōu)先數(shù)確定進(jìn)程靜態(tài)優(yōu)先權(quán)的依據(jù)進(jìn)程類型:系統(tǒng)進(jìn)程,用戶進(jìn)程進(jìn)程對(duì)資源的需求用戶要求靜態(tài)優(yōu)先權(quán)特點(diǎn)系統(tǒng)開銷小、不夠精確、一般用在要求不高的系統(tǒng)中問(wèn)題:用戶將優(yōu)先權(quán)設(shè)的較高,對(duì)其他進(jìn)程不利! 短進(jìn)程優(yōu)先對(duì)長(zhǎng)進(jìn)程不利!Page 542022/10/12高優(yōu)先權(quán)優(yōu)先調(diào)度算法動(dòng)態(tài)優(yōu)先權(quán)隨進(jìn)程的推進(jìn)或隨其等待時(shí)間的增加而改變,以獲得更好的調(diào)度性能可規(guī)定,在就緒隊(duì)列中的進(jìn)程,隨其等待時(shí)間的增長(zhǎng),其優(yōu)先權(quán)以速率a提高具有相同優(yōu)先權(quán)初值的進(jìn)程,則最先進(jìn)入就緒隊(duì)列,其將因其動(dòng)態(tài)優(yōu)先權(quán)變得最高而優(yōu)先獲得處理機(jī),此即FCFS算法具有

26、各不相同的優(yōu)先權(quán)初值的就緒進(jìn)程,則優(yōu)先權(quán)初值低的進(jìn)程,在等待了足夠的時(shí)間后,其優(yōu)先權(quán)便可能升為最高,從而可以獲得處理機(jī)當(dāng)采用搶占式優(yōu)先權(quán)調(diào)度算法時(shí),如果再規(guī)定當(dāng)前進(jìn)程的優(yōu)先權(quán)以速率b下降,則可防止一個(gè)長(zhǎng)作業(yè)長(zhǎng)期地壟斷處理機(jī)Page 552022/10/12進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間靜態(tài)優(yōu)先權(quán)開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間平均靜態(tài)優(yōu)先權(quán),非搶占式(1為高優(yōu)先權(quán))高優(yōu)先權(quán)優(yōu)先調(diào)度算法04A413B225C332D544E1044148418111010/311161414/516181515/29.42.93考慮一下?lián)屨际?,情況如何?Page 562022/10/12高優(yōu)先權(quán)優(yōu)先調(diào)度算法高響應(yīng)比

27、優(yōu)先調(diào)度算法(HRF)是FCFS和SJF的結(jié)合,克服了兩種算法的缺點(diǎn)調(diào)度策略:響應(yīng)比最高的作業(yè)優(yōu)先啟動(dòng)因等待時(shí)間+服務(wù)時(shí)間=該作業(yè)的響應(yīng)時(shí)間,故該優(yōu)先權(quán)又相當(dāng)于響應(yīng)比RP。據(jù)此,又可表示為Page 572022/10/12高優(yōu)先權(quán)優(yōu)先調(diào)度算法對(duì)HRF的小結(jié)等待時(shí)間相同的作業(yè),則要求服務(wù)的時(shí)間愈短,其優(yōu)先權(quán)愈高,要求服務(wù)的時(shí)間相同的作業(yè),則等待時(shí)間愈長(zhǎng),其優(yōu)先權(quán)愈高,長(zhǎng)作業(yè),優(yōu)先權(quán)隨等待時(shí)間的增加而提高,其等待時(shí)間足夠長(zhǎng)時(shí),其優(yōu)先權(quán)便可升到很高, 從而也可獲得處理機(jī)是一種折衷,既照顧了短作業(yè),又考慮了作業(yè)到達(dá)的先后次序,又不會(huì)使長(zhǎng)作業(yè)長(zhǎng)期得不到服務(wù)。缺點(diǎn):要進(jìn)行響應(yīng)比計(jì)算,增加了系統(tǒng)開銷對(duì)短作業(yè)

28、有利是先來(lái)先服務(wù)對(duì)長(zhǎng)作業(yè)有利Page 582022/10/12調(diào)度算法先來(lái)先服務(wù)和短作業(yè)優(yōu)先算法高優(yōu)先權(quán)優(yōu)先調(diào)度算法基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法Page 592022/10/12基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法簡(jiǎn)單的時(shí)間片輪轉(zhuǎn)法(RRRound Robin)系統(tǒng)將所有的就緒進(jìn)程按先來(lái)先服務(wù)的原則排成一個(gè)隊(duì)列,每次調(diào)度時(shí),把CPU分配給隊(duì)首進(jìn)程,并令其執(zhí)行一個(gè)時(shí)間片當(dāng)執(zhí)行的時(shí)間片用完時(shí),由一個(gè)計(jì)時(shí)器發(fā)出時(shí)鐘中斷請(qǐng)求,調(diào)度程序便停止該進(jìn)程的執(zhí)行,并將其放就緒隊(duì)列尾;然后,再把處理機(jī)分配給就緒隊(duì)列中新的隊(duì)首時(shí)間片的大小從幾ms到幾百ms優(yōu)點(diǎn):公平。保證就緒隊(duì)列中所有進(jìn)程在一給定的時(shí)間內(nèi),均能獲得一時(shí)間片的處理機(jī)

29、執(zhí)行時(shí)間缺點(diǎn):緊迫任務(wù)響應(yīng)慢。UNIX中采用:時(shí)間片+優(yōu)先權(quán)Page 602022/10/12基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間開始時(shí)間完成時(shí)間周轉(zhuǎn)時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間平均ABCDEABCDEABCEACEC05101518t04A03B05C02D04E012349121517181515/41212/31818/599/21717/414.24.02若到達(dá)時(shí)間為0、1、2、3、4,又如何?Page 612022/10/12基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法分時(shí)系統(tǒng)中常用時(shí)間片輪轉(zhuǎn)法時(shí)間片選擇問(wèn)題固定時(shí)間片可變時(shí)間片時(shí)間片大小與時(shí)間片大小有關(guān)的因素系統(tǒng)響應(yīng)時(shí)間就緒進(jìn)程個(gè)數(shù)CPU能力 Page

30、622022/10/123.2.3 基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法 2. 時(shí)間片大小的確定(1)系統(tǒng)對(duì)響應(yīng)時(shí)間的要求 數(shù)目N和時(shí)間片q成反比,即T=Nq,因此在進(jìn)程數(shù)一定時(shí),作為分時(shí)系統(tǒng)首先就是必須滿足系統(tǒng)對(duì)響應(yīng)時(shí)間的要求。時(shí)間片的長(zhǎng)短將正比于系統(tǒng)所要求的響應(yīng)時(shí)間。(2)就緒隊(duì)列中進(jìn)程的數(shù)目 在分時(shí)系統(tǒng)中,就緒隊(duì)列上所有的進(jìn)程數(shù),是隨著在終端上機(jī)的用戶數(shù)目而改變的,但系統(tǒng)應(yīng)保證,當(dāng)所有終端用戶上機(jī)時(shí),獲得較好的響應(yīng)時(shí)間。(3)系統(tǒng)的處理能力 系統(tǒng)的處理能力是必須保證用戶鍵入的常用命令能在一個(gè)時(shí)間片內(nèi)處理完畢,否則將無(wú)法保證得到滿意的響應(yīng)時(shí)間,而且會(huì)使平均周轉(zhuǎn)時(shí)間及帶權(quán)周轉(zhuǎn)時(shí)間都很長(zhǎng)。 Page 63

31、2022/10/122. 多級(jí)隊(duì)列調(diào)度前臺(tái)的就緒隊(duì)列是交互性作業(yè)的進(jìn)程,采用時(shí)間片輪轉(zhuǎn)。后臺(tái)的就緒隊(duì)列是批處理作業(yè)的進(jìn)程,采用優(yōu)先權(quán)或短作業(yè)優(yōu)先算法。調(diào)度方式有兩種:(1) 優(yōu)先調(diào)度前臺(tái),若前臺(tái)無(wú)可運(yùn)行進(jìn)程,才調(diào)度后臺(tái)。(2) 分配占用CPU的時(shí)間比例,如:前臺(tái)80%,后臺(tái)20%。3.2.3 基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法 Page 642022/10/12基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法多級(jí)反饋隊(duì)列調(diào)度算法 設(shè)置多個(gè)就緒隊(duì)列,并為各個(gè)隊(duì)列賦予不同的優(yōu)先級(jí)第一個(gè)隊(duì)列的優(yōu)先級(jí)最高,第二個(gè)隊(duì)列次之,其余各隊(duì)列的優(yōu)先權(quán)逐個(gè)降低該算法賦予各個(gè)隊(duì)列中進(jìn)程執(zhí)行時(shí)間片的大小也各不相同,在優(yōu)先權(quán)愈高的隊(duì)列中,為每個(gè)進(jìn)程所規(guī)定的執(zhí)行時(shí)間片就愈小。例如,第二個(gè)隊(duì)列的時(shí)間片要比第一個(gè)隊(duì)列的時(shí)間片長(zhǎng)一倍,第i+1個(gè)隊(duì)列的時(shí)間片要比第i個(gè)隊(duì)列的時(shí)間片長(zhǎng)一倍Page 652022/10/12就緒隊(duì)列1基于時(shí)間片的輪轉(zhuǎn)調(diào)度算法就緒隊(duì)列2就緒隊(duì)列3就緒隊(duì)列nS1S2S3至CPU至CPU至CPU至CPU(時(shí)間片:S1S2S3)調(diào)度方式高低優(yōu)先級(jí)時(shí)間片小大Sn按FIFO原則排隊(duì)等待調(diào)度尚未完成轉(zhuǎn)入第二隊(duì)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論