排程演算法
典型作業系統排程演算法
solaris
參考
ps.如果沒有就緒程序, cpu會安排乙個空閒程序給cpu執行
排程的三個核心點
排程過程
間接開銷
系統角度
占用cpu的方式
i/o密集型 和 cpu密集型
最短作業優先(sjf): 完成時間最短的優先執行
最短剩餘時間優先(srnt)
最高響應比優先(hrrn: highest response ratio next)
ps.對於io型程序和cpu型程序而言, 系統會對io程序設定乙個輔助佇列, 因為io程序往往用不完時間片就去等待了。下一次cpu會優先排程輔助佇列中的內容
最高優先順序排程
優點: 實現簡單
缺點: 容易產生飢餓
優先順序反轉問題
多級反饋佇列排程演算法(重點)
如果允許搶占, 那麼優先順序更高的程序可以搶占正在cpu上執行的程序。被強佔的程序回到隊首或隊尾, 看場景. 這種被強佔的也是看場景是否給滿時間片
windows的執行緒排程
排程條件
windows分為32個執行緒優先順序
時間配額
排程策略
執行緒優先順序提公升的幾種情況(針對可變優先順序的執行緒)
[1] 作業系統原理
作業系統 實驗四 處理機通訊
1 設計乙個按優先數排程演算法實現處理器排程的程式。include include include using namespace std struct proc 定義乙個結構體表示程序的pcb proc root 向就緒佇列中插入程序,按照降序 void insert proc pr else p...
4 處理器排程
4.1 cpu排程的相關概念 cpu排程 按照一定的排程演算法從就緒佇列中選擇乙個程序,把cpu的使用權交給被選中的程序,其任務就是控制 協調程序對cpu的競爭。如果沒有就緒程序,系統會安排乙個系統空閒程序或idle程序。cpu排程所面臨的場景 系統中有n個程序,等待上cpu執行,而有m個cpu,m...
作業系統實驗一 處理器排程演算法的實現
一 實驗目的 1 加深對處理機排程的作用和工作原理的理解。2 進一步認識併發執行的實質。二 實驗要求 本實驗要求用高階語言,模擬在單處理器情況下,採用多個排程演算法,對n個程序進行程序排程。語言自選。並完成實驗報告。三 實驗內容 在採用多道程式設計的系統中,往往有若干個程序同時處於就緒狀態。當就緒狀...