資源描述:
《操作系統課件5.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、第六章處理機調度6.1處理機的多級調度(一)批處理系統中的處理機調度在多用戶批處理操作系統中,對處理機的分配分為兩級:作業(yè)調度和進程調度。(二)多任務操作系統中的處理機調度系統將用戶提交的任務處理為進程,一個進程又可以創(chuàng)建多個子進程,這些進程都是分配資源和處理機的單位。(三)多線程操作系統中的處理機調度系統為進程分配它所需要的資源,而處理機的分配單位則為線程。6.2作業(yè)調度6.2.1作業(yè)的狀態(tài)提交狀態(tài);后備狀態(tài);執(zhí)行狀態(tài);完成狀態(tài)6.2.2作業(yè)調度的功能作業(yè)調度的主要任務是完成作業(yè)從后備狀態(tài)到執(zhí)行狀態(tài)和從執(zhí)行狀態(tài)到完成狀態(tài)的轉變。作業(yè)調度功能:1.記錄已進入系統的各作業(yè)的情況
2、(JCB,JobControlBlock);2.按一定的調度算法,從后備作業(yè)中選擇一個或幾個作業(yè)進入系統內存;3.為被選中的作業(yè)創(chuàng)建進程,并且為其申請系統資源;4.作業(yè)結束后作善后處理工作。6.2.3作業(yè)控制塊(JCB,JobControlBlock)每個作業(yè)進入系統時由系統為其建立一個作業(yè)控制塊JCB(JobControlBlock),它是存放作業(yè)控制和管理信息的數據結構,主要信息見右圖。6.2.4調度性能的衡量作業(yè)調度算法規(guī)定了從后備作業(yè)中選擇作業(yè)進入系統內存的原則,這些原則的性能如何,就是本節(jié)所討論的問題。一、確定調度算法時應考慮的因素1.應與系統的整體設計目標一致2.
3、考慮系統中各種資源的負載均勻3.保證作業(yè)的執(zhí)行4.對一些專用資源的使用特性的考慮二、調度性能的衡量通常采用平均周轉時間和帶權平均周轉時間作業(yè)的周轉時間:ti=tci-tsiti:作業(yè)周轉時間tci:作業(yè)完成時間tsi:作業(yè)提交時間6.2.5先來先服務調度算法和短作業(yè)優(yōu)先調度算法先來先服務調度算法:先來先服務算法是按作業(yè)來到的先后次序進行調度的,換句話說,調度程序每次選擇的作業(yè)是等待時間最久的,而不管作業(yè)的運行時間的長短。這種調度算法突出的優(yōu)點是實現簡單,但效率較低,在一些實時的系統和一般應用程序中采用這種算法的較多。短作業(yè)優(yōu)先調度算法:短作業(yè)優(yōu)先調度算法考慮作業(yè)的運行時間,每
4、次總是選擇一個運行時間最小的作業(yè)調入內存(系統).在一般情況下這種調度算法比先來先服務調度算法的效率要高一些。實現相對先來先服務調度算法要困難些,如果作業(yè)的到來順序及運行時間不合適,會出現餓死現象,例如,系統中有一個運行時間很長的作業(yè)JN,和幾個運行時間小的作業(yè),然后,不斷地有運行時間小于JN的作業(yè)的到來,這樣,作業(yè)JN就得不到調度而餓死。另外,作業(yè)運行的估計時間也有問題。116.2.6其它幾種調度算法響應比高者優(yōu)先調度算法:先來先服務和短作業(yè)優(yōu)先算法都有其片面性,先來先服務調度算法只考慮作業(yè)的等待時間,而忽視了作業(yè)的運行時間,短作業(yè)優(yōu)先算法則相反,只考慮了作業(yè)的運行時間,而
5、忽視了作業(yè)的等待時間。響應比高者優(yōu)先調度算法是介于這兩種算法之間的一種拆衷的算法。這樣算法從理論上講是比較完備的,但作業(yè)調度程序要統計作業(yè)的等待時間,使用用戶的估計的運行時間,并要作浮點運算(這是系統程序最忌諱的)浪費大量的計算時間,這是系統程序所不允許的。優(yōu)先數調度算法優(yōu)先數調度算法是終合考慮各方面的因素(作業(yè)等待時間、運行時間、緩急程度,系統資源使用等),給每個作業(yè)設置一個優(yōu)先數,調度程序總是選擇一個優(yōu)先數最大(或者最?。┑淖鳂I(yè)調入(系統)內存。這種算法實現的困難在于如何綜合考慮,這些因素之間的關系怎樣處理。6.3進程調度6.3.1調度/分派結構處理機分配由調度和分派兩個
6、功能組成。調度:組織和維護就緒進程隊列。包括確定調度算法、按調度算法組織和維護就緒進程隊列。分派:是指當處理機空閑時,從就緒隊列隊首中移一個PCB,并將該進程投入運行。調度與進程控制和進程通信的功能有密切的聯系,當一個進程阻塞時,這種進程將進入相應的等待隊列中,并讓出CPU,調用進程分派程序選擇一個就緒進程占用CPU;當一進程被喚醒時,這種進程將插入到就緒進程隊列中。在一般的操作系統教材中把上述功能稱為進程調度。6.3.2進程調度的功能1.記錄和保持系統中所有進程的有關情況和狀態(tài)特征有關進程調度的信息是記錄在PCB中的,在進程調度中用到的主要是進程的狀態(tài)、調度優(yōu)先級(優(yōu)先數)
7、、就緒進程隊列等。2.決定分配(處理機)策略確定進程調度的策略,例如,先來先服務、優(yōu)先數調度策略,調度策略的不同,組織就緒進程隊列的方式也不同。先來先服務調度策略,就緒隊列要按等待時間大到小的順序排隊;優(yōu)先數調度,則就緒進程隊列要按優(yōu)先數的升序(或降序)的方式排隊等等。3.實施處理機的分配當現行程序不能再繼續(xù)運行?;蛘哂欣碛烧J為應把處理機用于另一進程時,就進人處理機分派程序。調度時機可有以下幾種可能:(1)進程完成其任務時。(2)在一次管理程序調用之后,該調用使現行程序暫時不能繼續(xù)運行時。(3)在一次出