CPU的調度
最大化cpu的利用
CPU-I/O Burst Cycle
大多程序通過IO獲得數據,通過CPU對數據進行處理,再通過IO將結果輸出出去
進程可分爲兩類
1、CPU綁定的進程, 對CUP用的多很少IO
2、IO綁定的進程, 對IP用的多很少cpu
調度
大概四種情況:
1、一個進程從運行態到等待態時。非搶佔式
2、一個進程從運行態到就緒態。搶佔式
3、一個進程從等待到就緒狀態。搶佔式
4、進程退出。非搶佔式
關於非搶佔式和搶佔式
非搶先式的調度時自願的
搶先式的時被動的
分配過程
恢復狀態,切換上下文
切換到用戶模式
跳到正確的位置
進程調度和線程調度沒有什麼區別,爲了表達的方便一律說的進程調度
調度策略評價指標
1、CPU利用率,越高越好
2、吞吐率, 指的是單位時間裏系統運行了多少進程,越高越好
3、週轉時間,指的是對一個進程來說創建到結束一共多少時間,所有時間加在一起。Wall TIme(週轉時間),越短越好
4、等待時間, 從結束到退出中間有一些時間,可以運行但沒被運行的,就是再就緒隊列裏的時間。 越低越好
5、響應時間,一個進程在等待一個事件,當這個事件發生了需要過多長時間這個進程才能被調度運行,開始對事件進行響應
,越小越好
前兩個指標是針對整個系統的,後三個指標是針對單獨的進程的,所以後三個指標一般加個平均。
最短作業優先調度算法 SJF
分了非搶佔和搶佔的
搶佔的可以理解爲最短剩餘時間優先算法
調度最有效的依據是進程將來在CPU上消耗的時間,並期望用時最短的進程最優先運行。
但是我們確實並不知道進程在CPU上到底需要消耗多少時間,怎麼辦呢怎麼辦?
預測是指基於對過去的知識的總結而纏上的新的結果,
預測基於對過去的統計
p20結束