作業系統課堂筆記四 處理器排程

2021-09-12 02:01:56 字數 759 閱讀 8625

排程演算法

典型作業系統排程演算法

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個程序進行程序排程。語言自選。並完成實驗報告。三 實驗內容 在採用多道程式設計的系統中,往往有若干個程序同時處於就緒狀態。當就緒狀...