



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
處理機調度技術探討轉眼間《計算機操作系統》這門課程已經結束了,通過這門課的學習,我的處理機的調度技術有了一定的了解。處理機調度算法對整個計算機系統的綜合性能指標有重要影響。一、處理機調度的三個層次可把處理機調度分成三個層次:高級調度、中級調度、低級調度。由于處理機調度程序不可能選擇全部駐留在外存的進程,因此,在調度一個進程占有處理機之前,系統必須按某種策略把外存中處于后備狀態的作業選擇出來,并創建進程和分配內存,為進程執行準備必需的資源。這一步稱為作業調度或高級調度。除了作業調度之外,還有一種稱為交換調度的中級調度。在有的系統中,把那些處于等待狀態或就緒狀態的進程換出內存,而把那些等待事件已經發生或已在外存交換區中等待了較長時間的進程換入內存。只有在進程被建立起來并且已獲得足夠的資源之后,系統才使用進程調度策略把處理機分配給選出進程。因此,處理機的調度涉及到三個層次的調度。進程調度的主要任務是選擇一個合適的進程占據處理機。根據系統的要求不一樣進程調度方法變化較大。比較常用的有RR(輪轉)法、FCFS(先來先服務)法、優先級法和SRR(線性優先級)法等。其中輪轉法主要用于分時系統,它具有較好的響應時間,且對每個進程來說都具有較好的公平性。FCFS法不利于執行時間短的進程,而SRR法則是介于FCFS法和RR法之間的一種進程調度方法。二、處理機調度的功能一般情況下,當占用處理機的進程因為某種請求得不到滿足而不得不放棄CPU進入等待狀態時,或者當時間片到,系統不得不將CPU分配給就緒隊列中另一進程的時候,都要引起處理機調度。除此之外,進程正常結束、中斷處理等也可能引起處理機的調度。因此,處理機調度是操作系統核心的重要組成部分,它的主要功能如下:(1)記住進程的狀態,如進程名稱、指令計數器、程序狀態寄存器以及所有通用寄存器等現場信息,將這些信息記錄在相應的進程控制塊中。(2)根據一定的算法,決定哪個進程能獲得處理機,以及占用多長時間。(3)收回處理機,即正在執行的進程因為時間片用完或因為某種原因不能再執行的時候,保存該進程的現場,并收回處理機。處理機調度的功能中,很重要的一項就是根據一定算法,從就緒隊列中選出一個進程占用CPU運行。可見,算法是處理機調度的關鍵。三、處理機調度算法(1)先來先服調度算法(FIFO)這是最簡單的處理機調度算法,其基本思想是按照進程進入就緒隊列的先后順序調度并分配處理機執行。先來先服務調度算法是一種不可搶占的算法,先進入就緒隊列的進程,先分配處理機運行。一旦一個進程占有了處理機,它就一直運行下去,直到該進程完成工作或者因為等待某事件發生而不能繼續運行時才釋放處理機。從表面上看,FIFO算法對所有作業都是公平的,并且一個作業的等待時間是可能預先估計的。但實際上這種算法是不利于小作業的,因為當一個大作業先進入就緒隊列時,就會使其后的許多小作業等待很長的時間。這對小作業來說,等待時間可能要遠遠超出它運行的時間。先來先服算法簡單,易于程序實現,但它性能較差,在實際運行的操作系統中,很少單獨使用,它常常配合其他調度算法一起使用。(2)時間片輪轉調度算法(RR)時間片輪轉調度算法的基本思想是:對就緒隊列中的每一進程分配一個時間片,時間片的長度q一般從10ms-1100ms不等。把就緒隊列看成是一個環狀結構,調度程序按時間片長度q輪流調度就緒隊列中的每一進程,使每一進程都有機會獲得相同長度的時間占用處理機運行。時間片輪轉調度算法在分時系統中,是一種既簡單又有效的調度策略。一個分時系統有許多終端。終端用戶在各自的終端設備上同時使用計算機。如果某個終端用戶的程序長時間地占用處理機,那么其他終端用戶的請求就不能得到即時相應。一般說來,終端用戶提出請求后,能在幾秒鐘內得到響應也就感到滿意了。采用時間片輪轉算法,可以使系統即時地相應各終端用戶的請求。時間片輪轉調度算法的性能極大的依賴于時間片長度q的取值,如果時間片過大。則RR算法就退化為FIFO算法了;反之,如果時間片過小,那么,處理機在各進程之間頻繁轉接,處理機時間開銷變得很大,而提供給用戶程序的時間將大大減少。(3)優先級法優先數法的基本思想是:對就緒隊列中的每個進程,首先按某種原則定義一個優先數來表示它,處理機調度時,每次選擇就緒隊列中優先數最大者(也可規定優先數愈小,其優先權愈高),讓它占用處理機運行。確定優先數一般可以有以下幾種考慮:頻繁使用外部輸入、輸出設備的進程優先數大。這樣有利于提高CPU使用效率;重要程序的進程優先數大,怎樣有利于用戶靈活操作;進入計算機系統時間長的進程優先數大,這樣有利于縮短作業的完成時間;交互式用戶作業進程優先數大,這樣有利于提高中斷響應時間。優先數的設置可以采用靜態和動態兩種方式。靜態設置方式就是指系統在建立一個進程時,就按照某種原則為進程制定一個優先數,這個優先數在進程存在期間一直保持不變。而動態設置方式是指系統在進程存在期間經常改變進程的優先數,如何動態的改變進程的優先數,依賴于具體操作系統的設計目標。四、處理機調度模型:1、僅有進程調度的調度隊列模型在分時系統中通常僅設置了進程調度。此時系統有一個就緒隊列,每個進程運行一個時間片,進程運行一個時間片后如未完成,則被放在就緒隊列末尾。如進程運行中因等待某事件(例如申請I/O而等待I/O完成),則需排入阻塞隊列,系統因阻塞的原因不同可設幾個阻塞隊列。2、有進程調度和中級調度隊列模型在具有虛擬存儲器技術的分時系統中(例如UNIX系統等),一般采用具有進程調度和中級調度的調度模型。在該模型中比第一種模型增加了中級調度,也增加了外存進程就緒隊列和外存進程阻塞隊列。中級調度時或從內存就緒隊列調到外存的就緒隊列,或從內存阻塞隊列調到外存阻塞隊列,或從外存進程就緒隊列調到內存就緒隊列。3、具有高級調度和低級調度的調度隊列模型在多道批處理系統中,一般處理機管理設置作業和進程兩級調度。它比第一個模型增加了高級調度。模型增加了在磁盤的作業后備隊列,作業調度的任務是從作業后備隊列中選一個作業為它創建至少一個進程,并分配資源,將它排入內存進程就緒隊列末尾。4、同時具有三級調度的調度隊列模型在通用系統的多模式OS中,一般采用具有三級調度的調度隊列模型,由于多模式OS同時支持批處理、分時和實時處理,所以它必須具有以上模型,具有三級調度的調度隊列模型是第二、三兩模型的綜合五、思考總結:高級調度的主要功能是根據一定的算法,從輸入的一批作業中選出若干個作業,分配必要的資源,如內存、外設等,為它建立相應的用戶作業進程和為其服務的系統進程(如輸入、輸出進程),最后把它們的程序和數據調入內存,等待進程調度程序對其執行調度,并在作業完成后作善后處理工作。低級調度的主要功能是根據一定的算法將CPU分派給就緒隊列中的一個進程。為了使內存中同時存放的進程數目不至于太多,有時就需要把某些進程從內存中移到外存上,以減少多道程序的數目,為此設立了中級調度。進程只有在得到CPU之后才能真正活動起來,所有就緒進程經由進程調度才能獲得CPU的控制權;實際上,進程調度完成一臺物理的CPU轉變成多臺虛擬(或邏輯)的CPU的工作;進程調度的實現策略往往決定了操作系統的類型,其算法優劣直接影響整個系統的性能。可能很多,無法把它們都
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年福建省事業單位招聘考試綜合類專業能力測試試卷(建筑類)試題
- 2025年電子商務師(中級)電子商務法律法規與政策案例分析試卷
- 2025年統計學專業期末考試:抽樣調查方法與統計推斷綜合案例分析試題
- 2025年鋼筋工(高級)考試試卷:鋼筋工程施工質量事故分析及預防
- 2025年南京市事業單位招聘考試教師招聘化學學科專業知識試題(初中)
- 2025年非心源性胸痛診療試題
- 2025年建筑行業農民工權益保障與用工模式變革下的行業風險管理與創新實踐案例報告
- 2025年國際化教育中跨文化交流能力培養的師資培訓策略報告
- 化工工藝安全操作與管理要點測試題
- 綠色建筑材料市場推廣政策與綠色建筑市場需求匹配度分析報告
- 輸水管線工程施工方案
- 鋁電解槽生產工藝與施工方案
- 水利信息化計算機監控系統單元工程質量驗收評定表、檢查記錄
- 財產保險專題知識講座
- 信號與系統考試試題及答案
- 2024年下半年考核招聘中小學教師報名表
- DB1304-T 437-2023 醫療行業快開門式壓力容器安全管理規范
- 特殊教育中的多模態干預
- 非歐幾何形體的曲率分析
- 第11課《核舟記》課件語文八年級下冊
- 2024年浙江省杭州市蕭山區事業單位招聘歷年(高頻重點復習提升訓練)共500題附帶答案詳解
評論
0/150
提交評論