基於時間片的輪轉調度算法
時間片輪轉法
在早期的時間片輪轉法中系統將所有的就緒進程按先來先服務的原則排成一個隊列每次調度時把CPU分配給隊首進程並令其執行一個時間片時間片的大小從幾ms到幾百ms當執行的時間片用完時由一個計時器發出時鐘中斷請求調度程序便據此信號來停止該進程的執行並將它送往就緒隊列的末尾然後再把處理機分配給就緒隊列中新的隊首進程同時也讓它執行一個時間片這樣就可以保證就緒隊列中的所有進程在一給定的時間內均能獲得一時間片的處理機執行時間
多級反饋隊列調度算法
() 應設置多個就緒隊列並為各個隊列賦予不同的優先級第一個隊列的優先級最高第二個隊列次之其余各隊列的優先權逐個降低該算法賦予各個隊列中進程執行時間片的大小也各不相同在優先權愈高的隊列中為每個進程所規定的執行時間片就愈小例如第二個隊列的時間片要比第一個隊列的時間片長一倍……第i+個隊列的時間片要比第i個隊列的時間片長一倍圖 是多級反饋隊列算法的示意
() 當一個新進程進入內存後首先將它放入第一隊列的末尾按FCFS原則排隊等待調度當輪到該進程執行時如它能在該時間片內完成便可准備撤離系統如果它在一個時間片結束時尚未完成調度程序便將該進程轉入第二隊列的末尾再同樣地按FCFS原則等待調度執行如果它在第二隊列中運行一個時間片後仍未完成再依次將它放入第三隊列……如此下去當一個長作業(進程)從第一隊列依次降到第n隊列後在第n隊列中便采取按時間片輪轉的方式運行
() 僅當第一隊列空閒時調度程序才調度第二隊列中的進程運行僅當第~(i) 隊列均空時才會調度第i隊列中的進程運行如果處理機正在第i隊列中為某進程服務時又有新進程進入優先權較高的隊列(第~(i)中的任何一個隊列)則此時新進程將搶占正在運行進程的處理機即由調度程序把正在運行的進程放回到第i隊列的末尾把處理機分配給新到的高優先權進程
多級反饋隊列調度算法的性能
() 終端型作業用戶
() 短批處理作業用戶
() 長批處理作業用戶
——返回教材目錄
了解更多計算機相關基礎課程視頻
From:http://tw.wingwit.com/Article/program/czxt/201311/24144.html