fifo:先入先處理,是公平、簡單、有效的方法。
但如果乙個程序所需要的時間很少,在單純的先入先出場景下就需要等待很長的時間,如果這個程序是負責對使用者展示的,那麼使用者的使用體驗就會很差
面對程序:cpu排程的目標應該是,
任務盡快結束(平均周轉時間)
響應時間盡量短
系統開銷盡量小。
這裡平均周轉時間是指每個程序結束的時間的平均。
io密集和cpu密集(io約束,cpu約束)
常見cpu排程演算法:
first come, first served,先來先服務。
sjf, 短作業優先。有最小的平均周轉時間。但如果使用者操作的時間比較久,那使用者的響應就會很慢。
rr,為了保證sjf下的使用者響應,採用分時間片輪轉排程。時間片越小,響應越快,但開銷越大。
問題:word和gcc同時存在,前者關心響應時間,後者關注周轉時間,如何排程?
需要引入優先順序排程。但如果死板的執行優先順序排程,就會有任務一直無法分配執行。樸素想法: 動態提高優先順序,可以解決有任務飢餓的情況,但如果有重負擔任務的優先順序被提高,響應時間無法保證。而前後台任務都用時間片,就退化成了rr。
3 14CPU排程策略
date comments categories br title 2020 2 26 true 作業系統 作業系統 排程 3.14 cpu排程策略 程序就是正在記憶體中執行的程式。程序在執行是時會改變狀態,程序狀態在某種程度上是由當前活動所定義的,程序可能處於的狀態有 新的 執行 等待 就緒 終止...
作業系統 CPU排程策略
見之前寫的 cpu管理的直觀想法和多程序影象 面對諸多的場景,如何設計排程演算法呢?首先,我們要明白我們的演算法應該讓什麼更好呢?面對客戶 銀行排程演算法的設計目標應該是使用者滿意 而面對程序 cpu排程的目標應該是程序滿意。那怎麼才能讓程序滿意呢?那就是時間了。程序希望盡早地結束任務,這就是周轉時...
CPU排程學習筆記
排程的基礎 cpu與i o操作並行執行 由硬體決定 任何程序中都是cpu與i o交替執行 使得進行i o操作時,cpu可以讓其它程序先執行 i o操作完成之後,一定需要核心處理一下,才可以產生下乙個i o操作 所有陷入到作業系統以後的工作,都可能發生排程 從核心返回時 不可搶占型排程,合作型 都處於...