資源描述:
《05 處理機(jī)調(diào)度》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第五章處理機(jī)調(diào)度15.1調(diào)度的類型和模型雖然處理機(jī)調(diào)度的主要目的都是為了分配處理機(jī),但在不同的OS中采用的調(diào)度方式不是完全相同的??梢詮牟煌慕嵌葘?duì)處理機(jī)調(diào)度進(jìn)行分類:一種是常用的分類方法,即按調(diào)度的層次分類,把調(diào)度分為作業(yè)、中級(jí)和進(jìn)程三種調(diào)度;另一種是較常用的分類方法,即按OS的類型分類,把調(diào)度分為批處理調(diào)度、分時(shí)調(diào)度、實(shí)時(shí)調(diào)度和多處理機(jī)調(diào)度。25.1.1作業(yè)調(diào)度1.作業(yè)狀態(tài)及其狀態(tài)變遷從作業(yè)控制方式來(lái)分,作業(yè)可分為批處理型作業(yè)和交互型作業(yè),這里所指的作業(yè)狀態(tài)是批處理型作業(yè)的狀態(tài)。批處理型作業(yè)實(shí)體是由用戶提交的程序、數(shù)據(jù)文件以及表達(dá)控制該作業(yè)執(zhí)行過(guò)程的作業(yè)
2、說(shuō)明書(shū)三部分組成。作業(yè)從提交給系統(tǒng)直到它完成后離開(kāi)系統(tǒng)前的整個(gè)活動(dòng)過(guò)程常劃分為若干階段。每階段所處的狀態(tài)稱為作業(yè)狀態(tài)3(1)提交狀態(tài)程序員把已存儲(chǔ)作業(yè)實(shí)體的某種介質(zhì),如卡片、紙帶、軟盤(pán),上交給機(jī)房后或用戶通過(guò)終端鍵盤(pán)向計(jì)算機(jī)鍵入其作業(yè)時(shí)所處的狀態(tài)為提交狀態(tài)。(2)后備狀態(tài)系統(tǒng)操作員把載有作業(yè)實(shí)體的某種介質(zhì),放在相應(yīng)的輸入設(shè)備上,輸入到計(jì)算機(jī)系統(tǒng)硬盤(pán)的輸入井中(相應(yīng)的盤(pán)區(qū)專門(mén)用來(lái)存放作業(yè)實(shí)體信息的)等待調(diào)度運(yùn)行時(shí)的狀態(tài),稱為后備狀態(tài)。(3)運(yùn)行狀態(tài)硬盤(pán)輸入井中處于后備狀態(tài)的作業(yè),被作業(yè)調(diào)度選中送入內(nèi)存中投入運(yùn)行時(shí)的狀態(tài),稱為運(yùn)行狀態(tài)。(4)完成狀態(tài)作業(yè)正常運(yùn)行
3、結(jié)束或因發(fā)生錯(cuò)誤而終止時(shí),釋放其占有的全部資源,準(zhǔn)備離開(kāi)系統(tǒng)時(shí)作業(yè)的狀態(tài),稱為完成狀態(tài)。452.作業(yè)調(diào)度及其功能作業(yè)調(diào)度是按照某種調(diào)度算法從后備作業(yè)隊(duì)列中選擇作業(yè)裝入內(nèi)存運(yùn)行。完成作業(yè)調(diào)度功能的程序稱為作業(yè)調(diào)度程序。作業(yè)調(diào)度程序通常要完成如下工作:記錄作業(yè)情況選擇作業(yè)分配資源,建立作業(yè)的進(jìn)程作業(yè)善后處理65.1.2中級(jí)調(diào)度引入中級(jí)調(diào)度的主要目的是為了提高內(nèi)存的利用率和系統(tǒng)吞吐量。中級(jí)調(diào)度實(shí)質(zhì)上是決定允許哪些進(jìn)程有資格參與競(jìng)爭(zhēng)處理機(jī)資源,實(shí)際上是存儲(chǔ)器管理中的對(duì)換功能。實(shí)施的方法是“掛起”和“解除掛起”一些進(jìn)程,將進(jìn)程的程序和數(shù)據(jù)在內(nèi)存與外存間進(jìn)行對(duì)換,以達(dá)到
4、短期調(diào)整系統(tǒng)負(fù)荷的作用。中級(jí)調(diào)度實(shí)中級(jí)調(diào)度通常配置于具有掛起功能的操作系統(tǒng)中。72.引起中級(jí)調(diào)度的原因存儲(chǔ)分配請(qǐng)求受阻就緒隊(duì)列太長(zhǎng)進(jìn)程等待I/O緊縮存儲(chǔ)空間解除掛起優(yōu)先級(jí)高的進(jìn)程到來(lái)85.1.3進(jìn)程調(diào)度進(jìn)程調(diào)度是按照某種調(diào)度算法從就緒狀態(tài)的進(jìn)程中選擇一個(gè)進(jìn)程到處理機(jī)上運(yùn)行。負(fù)責(zé)進(jìn)程調(diào)度功能的內(nèi)核程序稱為進(jìn)程調(diào)度程序。進(jìn)程調(diào)度程序運(yùn)行的頻率很高,在分時(shí)系統(tǒng)中通常是幾十毫秒就運(yùn)行一次。進(jìn)程調(diào)度是處理機(jī)的最基本的一種調(diào)度,在任何一種OS中都必須配置這級(jí)調(diào)度。進(jìn)程調(diào)度程序在系統(tǒng)中以原語(yǔ)形式存在,它為進(jìn)程在系統(tǒng)內(nèi)活動(dòng)提供支持。9進(jìn)程調(diào)度與作業(yè)調(diào)度的區(qū)別在于,進(jìn)程調(diào)度才
5、是真正讓某個(gè)就緒狀態(tài)的進(jìn)程到處理機(jī)上運(yùn)行;而作業(yè)調(diào)度選擇的是后備狀態(tài)的作業(yè)裝入內(nèi)存運(yùn)行,是個(gè)宏觀的概念,使作業(yè)只是具有了競(jìng)爭(zhēng)處理機(jī)的機(jī)會(huì),將來(lái)真正在處理機(jī)上運(yùn)行的是該作業(yè)的相應(yīng)進(jìn)程。101.進(jìn)程調(diào)度的功能記錄系統(tǒng)中所有進(jìn)程的狀態(tài)信息決定分配策略實(shí)施處理機(jī)的分配和回收112.引起進(jìn)程調(diào)度的原因進(jìn)程運(yùn)行結(jié)束進(jìn)程阻塞進(jìn)程被激活系統(tǒng)調(diào)用返回時(shí)間片用完高優(yōu)先級(jí)進(jìn)程到來(lái)123.進(jìn)程調(diào)度的方式(1)非搶占方式這種調(diào)度方式是,一旦把處理機(jī)分配給某進(jìn)程后,就讓該進(jìn)程一直執(zhí)行下去,直至該進(jìn)程完成或由于等待某事件發(fā)生而被阻塞時(shí),OS才收回處理機(jī),并再把處理機(jī)分配給其他進(jìn)程,OS不
6、強(qiáng)行收回正在執(zhí)行的進(jìn)程所占用的處理機(jī)。優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單、系統(tǒng)開(kāi)銷(xiāo)小,適用于大多數(shù)的批處理系統(tǒng)環(huán)境。缺點(diǎn)是它難于滿足緊迫任務(wù)立即執(zhí)行的要求,因而在實(shí)時(shí)要求比較嚴(yán)格的實(shí)時(shí)系統(tǒng)中不宜采用這種調(diào)度方式。13(2)搶占方式這種調(diào)度方式,允許進(jìn)程調(diào)度程序根據(jù)某種原則,去停止某個(gè)正在執(zhí)行的進(jìn)程,將已分配給當(dāng)前正在執(zhí)行的進(jìn)程的處理機(jī)收回,重新分配給另一個(gè)進(jìn)程。搶占的原則有下面三點(diǎn):①時(shí)間片原則。②優(yōu)先級(jí)原則。③短進(jìn)程優(yōu)先原則。搶占調(diào)度方式適用于分時(shí)系統(tǒng)和大多數(shù)實(shí)時(shí)系統(tǒng)中。145.2調(diào)度算法的性能評(píng)價(jià)在設(shè)計(jì)系統(tǒng)調(diào)度程序時(shí),首先要決定選擇什么調(diào)度算法,然后依據(jù)此算法來(lái)編制相應(yīng)的調(diào)
7、度程序。選擇調(diào)度算法時(shí)要考慮的因素很多,如系統(tǒng)各類資源的均衡使用;用戶作業(yè)到達(dá)系統(tǒng)的時(shí)間;對(duì)用戶公平并使用戶滿意;作業(yè)的優(yōu)先級(jí);對(duì)內(nèi)存和外設(shè)的要求以及整個(gè)系統(tǒng)的效率等。但這些因素之間往往相互矛盾,很難兼顧。因此,選擇調(diào)度算法時(shí)應(yīng)將那些對(duì)系統(tǒng)運(yùn)行影響較大的關(guān)鍵因素作為主要依據(jù)。151.系統(tǒng)設(shè)計(jì)目標(biāo)系統(tǒng)設(shè)計(jì)目標(biāo)是選擇算法的主要依據(jù),由于目標(biāo)不同,系統(tǒng)的設(shè)計(jì)要求自然也不同。批處理系統(tǒng)所主要追求的是大的系統(tǒng)吞吐量,要求充分發(fā)揮和提高計(jì)算機(jī)的效率;實(shí)時(shí)系統(tǒng)所主要關(guān)心的是不丟失實(shí)時(shí)信息和及時(shí)加以處理;而分時(shí)系統(tǒng)則主要注重于保證用戶的請(qǐng)求能及時(shí)響應(yīng),使用戶有獨(dú)占計(jì)算機(jī)的感
8、覺(jué)。162.均衡地處理系統(tǒng)和用戶的要求一般說(shuō)來(lái),用戶