操作系統(tǒng)原理第五章處理器調(diào)度課件_第1頁(yè)
操作系統(tǒng)原理第五章處理器調(diào)度課件_第2頁(yè)
操作系統(tǒng)原理第五章處理器調(diào)度課件_第3頁(yè)
操作系統(tǒng)原理第五章處理器調(diào)度課件_第4頁(yè)
操作系統(tǒng)原理第五章處理器調(diào)度課件_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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)介

第五章

處理器調(diào)度一、三級(jí)調(diào)度的概念1、調(diào)度的層次1)作業(yè)調(diào)度又稱宏觀調(diào)度、高級(jí)調(diào)度或長(zhǎng)程調(diào)度。

用以決定把哪些后備隊(duì)列中的作業(yè)調(diào)入內(nèi)存,并為其創(chuàng)建進(jìn)程,分配必要的資源,最后將所創(chuàng)建的進(jìn)程插入就緒隊(duì)列。

從狀態(tài)觀點(diǎn),就是將一個(gè)或一批作業(yè)從后備狀態(tài)變?yōu)檫\(yùn)行狀態(tài)

2)交換調(diào)度

又稱中級(jí)調(diào)度或中程調(diào)度

從存儲(chǔ)器資源的角度,將進(jìn)程的部分或全部換出到外存上,將當(dāng)前所需部分換入到內(nèi)存以騰出空間讓更多的具備運(yùn)行條件的進(jìn)程進(jìn)入內(nèi)存。

從狀態(tài)觀點(diǎn),就是將進(jìn)程從活動(dòng)態(tài)變?yōu)殪o止的掛起態(tài),或者將進(jìn)程從掛起態(tài)變?yōu)榫途w態(tài)或等待態(tài)。

3)進(jìn)程調(diào)度又稱低級(jí)調(diào)度、微觀調(diào)度或短程調(diào)度。

它決定哪個(gè)進(jìn)程可獲得物理CPU,從狀態(tài)觀點(diǎn),就是將某個(gè)進(jìn)程從就緒態(tài)變?yōu)閳?zhí)行態(tài)。

2、作業(yè)的狀態(tài)及其轉(zhuǎn)換

作業(yè)由用戶程序、所需的數(shù)據(jù)和作業(yè)說(shuō)明書(shū)組成。

一個(gè)作業(yè)過(guò)程中所作的一項(xiàng)相對(duì)獨(dú)立的工作稱為一個(gè)作業(yè)步因此一個(gè)作業(yè)是由一些列作業(yè)步組成的。

作業(yè)輸入方式通常有5種:1)聯(lián)機(jī)輸入方式2)脫機(jī)輸入方式3)直接耦合方式4)SPOOLing系統(tǒng)5)網(wǎng)絡(luò)輸入方式

3、作業(yè)和進(jìn)程的關(guān)系任務(wù)實(shí)體和任務(wù)執(zhí)行2、作業(yè)調(diào)度的目標(biāo)與性能衡量

1)面向系統(tǒng)的準(zhǔn)則

系統(tǒng)吞吐量大

cpu利用率高

各類資源的平衡利用

2)面向用戶的準(zhǔn)則

周轉(zhuǎn)時(shí)間短(批處理系統(tǒng))

響應(yīng)時(shí)間快(分時(shí)系統(tǒng))

截止時(shí)間的保證(實(shí)時(shí)系統(tǒng))

優(yōu)先權(quán)準(zhǔn)則

三、進(jìn)程調(diào)度

操作系統(tǒng)為了對(duì)進(jìn)程進(jìn)行有效的監(jiān)控,需要維護(hù)一些與進(jìn)程相關(guān)的數(shù)據(jù)結(jié)構(gòu),記錄所有進(jìn)程的運(yùn)行情況,并在進(jìn)程讓出處理器或調(diào)度程序剝奪處于運(yùn)行狀態(tài)的進(jìn)程占用的處理器時(shí),選擇適當(dāng)?shù)倪M(jìn)程分配處理器,完成上下文的切換。我們把操作系統(tǒng)內(nèi)核中完成這些功能的部分稱為進(jìn)程調(diào)度。

1、進(jìn)程調(diào)度的功能1)記錄系統(tǒng)中所有進(jìn)程的執(zhí)行情況PCB2)選擇占有處理器的進(jìn)程3)進(jìn)行進(jìn)程上下文的切換2、進(jìn)程調(diào)度的方式1)非剝奪調(diào)度方式2)剝奪調(diào)度方式3、進(jìn)程調(diào)度時(shí)機(jī)進(jìn)程調(diào)度的原因進(jìn)程調(diào)度性能衡量:定形:可靠性和簡(jiǎn)潔性定量:CPU利用率、進(jìn)程在就緒隊(duì)列中的等待時(shí)間和運(yùn)行之間之比等

四、常用調(diào)度算法1)先來(lái)先服務(wù)2)短作業(yè)優(yōu)先3)時(shí)間片輪轉(zhuǎn)4)優(yōu)先權(quán)調(diào)度5)最高相應(yīng)比優(yōu)先調(diào)度6)多級(jí)隊(duì)列調(diào)度7)多級(jí)反饋隊(duì)列調(diào)度五、UNIX進(jìn)程調(diào)度1、UNIX系統(tǒng)的進(jìn)程的圖象(image)進(jìn)程圖象的組成

:進(jìn)程控制塊PCB

基本進(jìn)程控制塊

proc結(jié)構(gòu):存放進(jìn)程的最基本的控制和管理信息,不論該進(jìn)程是否處于運(yùn)行狀態(tài),系統(tǒng)都要訪問(wèn)的信息,必須常駐內(nèi)存;

擴(kuò)充進(jìn)程控制塊

user結(jié)構(gòu):存放進(jìn)程的管理和控制信息,這些信息只有當(dāng)進(jìn)程處于運(yùn)行狀態(tài)時(shí),系統(tǒng)才訪問(wèn),不一定常駐內(nèi)存。

2、UNIX進(jìn)程樹(shù)0進(jìn)程:系統(tǒng)初啟時(shí)由系統(tǒng)初啟程序建立,完成系統(tǒng)初啟的相應(yīng)工作后,創(chuàng)建1進(jìn)程;然后的工作有兩項(xiàng),其一是進(jìn)程交換(進(jìn)程圖象的管理);其二是進(jìn)程切換(進(jìn)程調(diào)度)。1進(jìn)程:為系統(tǒng)的每個(gè)聯(lián)機(jī)終端創(chuàng)建一個(gè)終端進(jìn)程,然后就做托管工作。2、3、…、n、n+1進(jìn)程:終端進(jìn)程,執(zhí)行程序是shell,該進(jìn)程執(zhí)行是接受和執(zhí)行用戶鍵入的shell命令,或shell命令程序。用戶創(chuàng)建的進(jìn)程:用戶的shell命令或shell程序所創(chuàng)建的進(jìn)程;用戶在其程序中創(chuàng)建的進(jìn)程。

(三)睡眠狀態(tài)

睡眠狀態(tài)是進(jìn)程等待某事件發(fā)生而被迫暫時(shí)讓出處理機(jī)時(shí)所取的狀態(tài)。p_stat為SSLEEP高優(yōu)先級(jí)睡眠狀態(tài);SWAIT低優(yōu)先級(jí)睡眠狀態(tài);p_flag中的SLOAD為1,表示該進(jìn)程圖象在內(nèi)存,否則不在內(nèi)存。(四)創(chuàng)建狀態(tài)

父進(jìn)程創(chuàng)建子進(jìn)程時(shí)所處的狀態(tài),目的是保證子進(jìn)程能完全復(fù)制父進(jìn)程的圖象。

在UNIX系統(tǒng)中,父進(jìn)程創(chuàng)建一個(gè)子進(jìn)程時(shí),子進(jìn)程要復(fù)制父進(jìn)程的全部的進(jìn)程圖象(除proc結(jié)構(gòu)外),當(dāng)有內(nèi)存空間時(shí),能很快完成復(fù)制工作,但若無(wú)內(nèi)存空間時(shí),就要在交換區(qū)中建立子進(jìn)程圖象的復(fù)本,這時(shí)父進(jìn)程將自己置為創(chuàng)建狀態(tài),以保證自己的圖象不被調(diào)出內(nèi)存。(五)僵死狀態(tài)僵死狀態(tài)是子進(jìn)程等待父進(jìn)程作善后處理時(shí)所處的狀態(tài)。

進(jìn)程轉(zhuǎn)換成僵死狀態(tài)后,就不能再轉(zhuǎn)換成其它任何狀態(tài);進(jìn)程已釋放它占用的所有資源(除proc結(jié)構(gòu)外)。p_stat為SZOMB(zombi,zombie還魂尸,僵尸)。

進(jìn)程控制的操作有進(jìn)程創(chuàng)建fork()、進(jìn)程睡眠sleep()、進(jìn)程喚醒wakeup()、進(jìn)程終止exit()和等待進(jìn)程終止wait()。

4、調(diào)度時(shí)機(jī)

1)現(xiàn)行進(jìn)程調(diào)用自己sleep或wait等進(jìn)入睡眠狀態(tài)2)現(xiàn)行進(jìn)程調(diào)用exit自我終止3)現(xiàn)行進(jìn)程的時(shí)間片到期且優(yōu)先權(quán)低于其他就緒進(jìn)程4)現(xiàn)行進(jìn)程在完成中斷和陷入處理后返回用戶態(tài)時(shí),他的優(yōu)先權(quán)已經(jīng)低于其他就緒進(jìn)程或者調(diào)度標(biāo)記被置位5)現(xiàn)行進(jìn)程從系統(tǒng)調(diào)用執(zhí)行結(jié)束后返回用戶態(tài)時(shí),他的優(yōu)先權(quán)已經(jīng)低于其他就緒進(jìn)程或者調(diào)度標(biāo)記被置位5、調(diào)度標(biāo)記設(shè)置

runrun:表示要求進(jìn)行調(diào)度,當(dāng)發(fā)現(xiàn)有就緒進(jìn)程優(yōu)先級(jí)高于當(dāng)前進(jìn)程時(shí),設(shè)置該標(biāo)識(shí)為1。在wakeup,setrun,setpri(設(shè)置優(yōu)先級(jí))過(guò)程和時(shí)鐘中斷處理例程進(jìn)行設(shè)置。設(shè)置為1在UNIXSystemV中,進(jìn)程優(yōu)先數(shù):P_pri=P_CPU/2+PUSER+P_nice+NZERO?

系統(tǒng)設(shè)置部分:PUSER和NZERO是基本用戶優(yōu)先數(shù)的閾值,分別為25和20。

CPU使用時(shí)間部分:P_CPU表示該進(jìn)程最近一次CPU使用時(shí)間。每次時(shí)鐘周期(時(shí)鐘脈沖的重復(fù)周期稱為時(shí)鐘周期)則該值加1(最多可達(dá)80)。此外,秒中斷對(duì)p_cpu執(zhí)行除以2的衰減操作。新創(chuàng)建進(jìn)程的P_CPU值為0,因而具有較高的優(yōu)先級(jí)。不同系統(tǒng)對(duì)P_CPU的計(jì)算方法有所不同。有的固定一個(gè)因子,有的會(huì)考慮系統(tǒng)負(fù)荷。

用戶設(shè)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論