調度算法
時間片輪轉
常用於分時系統,更注重“響應時間”,因而此處不計算周轉時間。
時間片為2
時間片為5
按照先來先服務調度算法
如果時間片太大,使得每個進程都可以在一個時間片內就完成,則時間片輪轉調度算法退化為先來先服務調度算法,並且會增大進程響應時間。因此時間片不能太大。
比如:系統中有10個進程在並發執行,如果時間片為1秒,則一個進程被影響可能需要等9秒...也就是說,如果用戶在自己進程的時間片外通過鍵盤發出調試命令,可能需要等待9秒才能被系統響應。
另一方面,進程調度、切換是有時間代價的(保存、恢復運行環境),因此如果時間片太小,會導致進程切換過於頻繁,系統會花大量時間來處理進程切換,從而導致實際用於進程執行的時間比例減少,可見時間片也不能太小
一般來說,設計時間片要讓切換進程的開銷占比不超過1%
優先級調度算法
FCFS算法的優點是公平
SJF算法的優點是能盡快處理完短作業,平均等待/周轉時間等參數很優秀
時間片輪轉調度算法可以讓各個進程得到及時的響應
優先級調度算法可以靈活地調整各種進程被服務的機會
多級反饋隊列調度算法
注:比起早期的批處理系統來說,由於計算機造價大幅降低,因此之后出現的交互式操作系統(包括分時操作系統、實時操作系統等)更注重系統的響應時間、公平性、平衡性等指標。而這幾種算法恰好也能較好地滿足交互式系統的需求。因此這三種算法適合用於交互式系統。