資源描述:
《10 處理機調(diào)度》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、操作系統(tǒng)原理第10章進程調(diào)度(處理機調(diào)度)廣東郵電職業(yè)技術(shù)學(xué)院計算機系isdooropen@126.comhttp://grid.hust.edu.cn/smartxu/進程調(diào)度的概念進程調(diào)度的概念系統(tǒng)能夠按照某種算法動態(tài)地將處理機分配給合適的就緒進程,使之執(zhí)行,這一過程稱為進程調(diào)度,實現(xiàn)進程調(diào)度的程序稱為進程調(diào)度程序。進程調(diào)度的功能記住系統(tǒng)中所有進程的狀態(tài)和執(zhí)行情況根據(jù)調(diào)度算法,決定把處理機分配給哪個就緒進程,分配多長時間分配處理機回收處理機進程調(diào)度的概念引起進程調(diào)度的原因正在運行的進程順利地完成任務(wù)而正常結(jié)束。正在運行
2、的進程因出現(xiàn)錯誤或故障而異常結(jié)束。進程提出了IO請求,或需要等待某事件的發(fā)生。進程為實現(xiàn)與其它進程的同步而執(zhí)行了某些原語,如P操作、阻塞原語block導(dǎo)致自己阻塞而離開處理機,或執(zhí)行V操作、喚醒原語wakeup,喚醒了等待隊列中的就緒進程。分時系統(tǒng)中,分配給進程的時間片已用完。在一些系統(tǒng)中,就緒進程的高優(yōu)先級高于運行中的進程時,它可以搶占處理機,從而引起新的進程調(diào)度(這與調(diào)度方式有關(guān))。進程調(diào)度的概念選擇進程調(diào)度算法的因素系統(tǒng)的設(shè)計目標(biāo)或系統(tǒng)的類型進程的類型系統(tǒng)資源的均衡使用及其利用率對用戶的公平程度進程調(diào)度的性能評價處理
3、機的利用率系統(tǒng)吞吐量。指單位時間內(nèi)處理機所完成的進程數(shù)。輪轉(zhuǎn)時間(turnaround)響應(yīng)時間可靠性、進程在就緒隊列中的等待時間與執(zhí)行時間的比值也是一個重要的評價指標(biāo)。進程調(diào)度的類型按運行的進度分長程調(diào)度長程調(diào)度,又叫作業(yè)調(diào)度,或高級調(diào)度,其主要功能是按照某種算法,從存放在系統(tǒng)外存中的作業(yè)隊列中選擇作業(yè)進入內(nèi)存,為它們創(chuàng)建進程、分配必要的資源,并將進程送入就緒隊列,做好執(zhí)行前的準(zhǔn)備。中程調(diào)度中程調(diào)度,又叫交換調(diào)度,或中級調(diào)度,它能在短期內(nèi)調(diào)整系統(tǒng)的負荷,提高內(nèi)存的利用率和系統(tǒng)吞吐量。它提供“掛起”和“解除掛起”等功能,將
4、那些暫時不能運行的進程從寶貴的內(nèi)存調(diào)到外存上去等待,以減緩內(nèi)存的緊張。在內(nèi)存有空閉時,按照一定的算法,將那些在外存上等待并已獲得了運行條件的進程重新從外存調(diào)入內(nèi)存,并置為就緒狀態(tài),掛入就緒隊列上等待調(diào)度。。短程調(diào)度短程調(diào)度,又叫進程調(diào)度,或低級調(diào)度,其主要功能是按照某種算法,從就緒隊列中選擇進程,然后將處理機分配給該進程,使之處于運行中。進程調(diào)度的類型按占有處理機的能力分剝奪方式所謂剝奪方式,又稱為可搶占方式,是指當(dāng)一個進程正在處理機上運行時,如果出現(xiàn)了更高優(yōu)先級即更為重要緊迫的就緒進程,系統(tǒng)就立即暫停當(dāng)前進程,強行將處理
5、機分配給更重要緊迫的進程。非剝奪方式非剝奪方式,又稱為不可搶占方式,是指當(dāng)系統(tǒng)把處理機分配給一個進程后,就讓這個進程在處理機上一直運行下去時,直到進程運行完畢或阻塞,或時間片用完,決不允許優(yōu)先級更高的、更重要緊迫的就緒進程強行占用處理機。進程調(diào)度進程調(diào)度的職能進程調(diào)度亦可稱為處理機調(diào)度,它協(xié)調(diào)和控制各進程對CPU的使用。進程調(diào)度算法先來先服務(wù)FCFS輪轉(zhuǎn)調(diào)度分級輪轉(zhuǎn)法優(yōu)先數(shù)法進程調(diào)度時的狀態(tài)圖進程調(diào)度算法先來先服務(wù)調(diào)度算法先來先服務(wù)(Firstcomefirstserved,FCFS)調(diào)度算法是最為簡單的一種進程調(diào)度算法,
6、它根據(jù)進程進入就緒隊列的先后次序來分配處理機,實現(xiàn)的是非剝奪調(diào)度方式。當(dāng)一個進程獲得處理機并運行后,它將一直占用處理機,直到該進程完成其任務(wù),或因等待某個事件或資源而不能繼續(xù)運行時才釋放處理機。先來先服務(wù)算法簡單,容易實現(xiàn),但效率較低,因為它實際上只考慮作業(yè)在系統(tǒng)中等待時間的長短,不考慮作業(yè)要求運行時間的長短,可能會造成新來的短作業(yè)需要長時間地等待長作業(yè)的運行,平均周轉(zhuǎn)時間較大。先來先服務(wù)調(diào)度FCFSP1P2…鏈頭Pn?就緒隊列按進程創(chuàng)建的時間先后排序程序2程序1程序n……PCB集合就緒狀態(tài)創(chuàng)建時間就緒狀態(tài)創(chuàng)建時間就緒狀態(tài)
7、創(chuàng)建時間中斷現(xiàn)場保護區(qū)中斷現(xiàn)場保護區(qū)中斷現(xiàn)場保護區(qū)輪轉(zhuǎn)調(diào)度最初的隊列形成可按照FCFS或者按照優(yōu)先級排隊為每個進程分配一個時間片,輪流運行P1P2…鏈頭Pn?程序2程序1程序n……剛從CPU上退下來的進程就緒狀態(tài)調(diào)度信息就緒狀態(tài)調(diào)度信息就緒狀態(tài)調(diào)度信息中斷現(xiàn)場保護區(qū)中斷現(xiàn)場保護區(qū)中斷現(xiàn)場保護區(qū)分級輪轉(zhuǎn)法????輪轉(zhuǎn)?鏈頭指針??FCFS最高優(yōu)先級最低優(yōu)先級次高優(yōu)先級剛從CPU上退下來的進程優(yōu)先級法P1P2…鏈頭Pn?就緒隊列按進程的優(yōu)先級排序程序2程序1程序n……中斷現(xiàn)場保護區(qū)就緒狀態(tài)優(yōu)先級就緒狀態(tài)優(yōu)先級就緒狀態(tài)優(yōu)先級中斷
8、現(xiàn)場保護區(qū)中斷現(xiàn)場保護區(qū)進程調(diào)度時的狀態(tài)調(diào)度時的進程狀態(tài)變遷圖低優(yōu)先數(shù)就緒高優(yōu)先數(shù)就緒運行因等待I/O而阻塞請求I/O首先選擇超過時間片I/O完成其次選擇多處理機調(diào)度多處理機系統(tǒng)簡介多處理機系統(tǒng)的定義在同一個計算機系統(tǒng)中安裝多個處理機,使它們協(xié)調(diào)工作,以完成用戶規(guī)定的任務(wù)。這樣的計算機系統(tǒng)就叫多處理機系