操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对
操作系統原理,交互式系統常見的調度算法,時間片輪轉RR,虛擬輪轉VRR,最高優先級調度,優先級反轉問題與應對
一、交互式系統中采用的調度算法:
1、時間片輪轉調度RR,round robin
2、最高優先級調度HPF,hignest priority first
3、多級反饋隊列multiple feedback queue
4、最短進程優先shortest process next
5、指標:響應時間,公平平衡
二、時間片輪轉調度算法RR,round Robin
1、將CPU時間劃分為時間片,挨個切換進程,用完了自己的時間片的進程排到末尾等待
2、目標:為短任務改善平均響應時間
3、思路:周期性切換,每個進程分配一個時間片,始終中斷引發輪換
4、時間片的選擇,不能能過長或過短,按照經驗選擇在10ms-100ms之間
5、優點:公平,有利于交互式計算,響應快,在進程交互時間不同時有利
6、缺點:進程切換較多,開銷較大,通常以切換開銷約占時間片的1%較為合適;同時平均周轉時間會長一些
三、虛擬輪轉法virtual RR
1、在時間片輪轉算法的基礎上,對IO密集型進程多一點思考
2、IO密集型進程對CPU 的使用較少,但每次運行完都到隊列尾重新等待,就很不公平
3、解決方法:為IO密集型進程設置一個輔助就緒隊列,當IO密集型進程就緒時,操作系統將其置入輔助隊列,并在切換進程時,優先到輔助隊列里面查找,確保公平性,輔助隊列為空以后,才會去就緒隊列里面選擇進程。
四、最高優先級調度算法
1、選擇優先級最高的進程投入運行
2、通常情況下:系統進程優先級高于用戶進程,前臺進程優先級高于后臺進程,操作系統更偏好于IO密集型進程
3、優先級可靜態或動態調整,優先數可以決定優先級
4、就緒隊列可以按照優先級進行組織
5、實現簡單,但是不公平,優先級低的進程出現“饑餓”情況,始終得不到CPU
五、優先級反轉問題(又叫優先級反置,反轉,倒掛等)
1、基于優先級的搶占式調度算法產生
2、現象:進程A,進程B,進程C,優先級A>B>C,但是A進程依賴C進程,需要等C執行的結果才能運行,A的最高優先級搶占到CPU,然后因依賴關系將CPU讓給C,B的優先級高于C搶占了CPU,然后又被A搶占,再次重復,導致進程停滯不前,系統性能降低。
3、這種情況是一種系統錯誤
4、解決方法:
A、設置優先級上限,
B、使用優先級繼承,低優先級的基礎阻礙的高優先級繼承,則可以臨時將自己的優先級提升至高優先級
C、使用中斷禁止,避免搶占
總結
以上是生活随笔為你收集整理的操作系统原理,交互式系统常见的调度算法,时间片轮转RR,虚拟轮转VRR,最高优先级调度,优先级反转问题与应对的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 短时平均过零率
- 下一篇: 盘点智能养猪场常用设备,养殖智能监控系统