作業系統 第三章 1 排程
阿新 • • 發佈:2018-11-25
1、處理機排程
多道程式環境下,動態的把處理機分配給就緒佇列中的一個程序使之執行。
2、高階排程(外存進記憶體)
又稱作業排程或長程排程、接納排程
- 決定外存後備佇列中的哪些作業調入記憶體;
- 為它們建立程序、分配必要的資源;
- 將新建立的程序排在就緒佇列上,準備執行。
系統執行並不一定存在高階排程
批處理系統:作業進入系統後先駐留外存,故需要有作業排程。
分時系統:為及時響應,作業由終端直接送入記憶體,故不需作業排程。
實時系統中,通常也不需作業排程。
3、低階排程 (執行頻率最高!)
也稱為程序排程、微觀排程、短程排程
程序排程方式比較:
程序排程方式 |
排程的時機 |
特點 |
非搶佔方式 |
程式完成; 發生某事件阻塞; |
實現簡單、系統開銷小; 功能也簡單,適用於大多數批處理OS,但在要求較嚴格的實時系統,不宜採用該方式 |
搶佔方式 |
程式完成; 發生某事件阻塞; 新程序就緒; |
搶佔的原則有很多種:優先權高的可以搶佔優先順序低的程序的處理機。短作業(程序)可以搶佔長作業(程序)的處理機。各程序按時間片執行,一個時間片用完時重新進行排程。 |
4、中級排程 (轉成掛起狀態 / 轉外存)
又稱交換排程、中程排程
5、三級排程比較
排程型別 |
執行頻率 |
執行時間 |
演算法複雜性 |
程序排程 |
高 |
短 |
低 |
中程排程 |
中等 |
較短 |
中等 |
作業排程 |
低 |
長 |
高 |
6、從這三種方式中體驗排程的過程:
僅有程序排程的排程佇列模型:
- 完成工作,釋放處理機進入完成狀態
- 未完成,將該任務再放入就緒佇列末尾
- 因某事件而被阻塞,被OS放入阻塞佇列
7、 選擇排程方式和排程演算法的若干準則
* 面向使用者的準則 :
1)週轉時間短:
週轉時間 T=Ts+Tw
(總的等待時間Tw = 在後備佇列中等待 + 就緒佇列上等待 + 阻塞佇列中等待(等待I/O操作用時)
CPU執行用時Ts)
帶權週轉時間 W= T/Ts
2)響應時間快
3)均衡性
4)截止時間的保證
5)優先權準則
* 面向系統的準則:
1)系統吞吐量高
2)處理機利用率好(主要針對大中型主機)
3)各類資源的平衡利用(主要針對大中型主機)