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