现代操作系统-调度
在不同的系統中,調度程序的優化是不同的,分為三種環境:1.批處理,2.交互式,3.實時
批處理系統:用來處理存貨清單、賬目收入、賬目支出等其他周期性作業,在批處理中,不會有用戶不耐煩的在終端旁等待一個短請求的快捷響應。因此非搶占式算法可接受的,這種處理方式減少了進程的切換而改善了性能。
交互式:為了避免一個進程霸占CPU而拒絕為其他進程服務,搶占是必須的。
實時:搶占有時候是不需要的,因為進程了解它們可能會長時間得不到運行,所以通常會很快完成各自的工作并阻塞。
調度算法的目標:
所有系統:
公平-給每個進程公平的CPU份額
策略強制執行-保證規定的策略被執行
平衡-保持系統的所有部分都忙碌
批處理系統:
吞吐量-每小時最大作業數
周轉時間-從提交到終止間的最小時間
CPU利用率-保持CPU忙碌
交互式系統:
響應時間-快速響應請求
均衡性-滿足用戶期望
實時系統:
滿足截止時間-避免丟失數據
可預測性-在多媒體系統中避免品質降低
批操作系統中的調度:
1.先來先到服務,屬于非搶占式算法,進程按照它們請求CPU的順序使用CPU。
2.最短作業優先,只有在所有的作業都可運行的情況下,最短作業優先算法才是最優化的。
3.最短剩余時間優先,總是選擇剩余運行時間最短的進程運行。這種可以使得短作業獲得良好的服務。
交互式系統的調度:
1.時間片輪轉調度,唯一要注意的就是時間片的長度,進程切換是需要時間的,因此時間片太短導致過多的進程切換,而時間片太長會導致對短的程序的響應時間變長,將時間片設置為20-50ms比較合理。
2.優先級調度
3.多級隊列,設立優先級類,屬于最高優先級類的進程運行一個時間片,然后次高的進程運行2個時間片,以此類推。
4.最短進程優先
5.彩票調度,一旦需要做出一項調度決策,隨機抽出一張彩票,擁有該彩票的進程獲得該資源。這能保證所有進程是平等的。
6.公平分享調度,每個用戶獲得一樣的時間,而不是進程。
轉載于:https://www.cnblogs.com/sichenzhao/p/9320155.html
總結
- 上一篇: github中删除已建仓库(二)
- 下一篇: 博主实探各大火锅店:绝大部分品牌缺斤少两