cpu排程其實做的事情就是去選擇下乙個程序
目標是讓昨天提到的各個評判指標達到最優
優先順序排程 乙個很重要的排程的方法
但優先順序排程不能說是乙個單獨的排程方法,只是一種實現策略。就是優先順序高的先排程,而優先順序誰高誰低是根據演算法
優先順序排程也有問題,就是優先順序低的程序可能被餓死。
再來一種排程方法,round robin是時間片輪轉法
每個程序分乙個時間片(burst time),每個程序一次用cpu乙個時間片的時間
時間片大小的選擇
很明顯如果時間片太大,就近似成了先來先服務的演算法
然後就可以想到把優先順序排程和時間片輪轉法相結合,perfect
總結一句話:
時間片輪轉在就緒佇列裡選擇優先順序高的程序先執行
使用多級佇列
級別從上往下分別是:
系統級的而且不同的佇列裡也會放著不同的排程演算法互動式的,io繫結的程序,也就是說io用的很多
batch processes p處理程序,io用的相對少
學生程序
時間片輪轉法的具體實現:
用到最多的是多級反饋佇列
多級反饋佇列的排程辦法是現在的作業系統中普遍採用的策略。
優先順序高的佇列放在前面,優先順序低的佇列放在後面,相同優先順序的放在同一佇列裡。
反饋是如何實現的?
前兩個採用的是時間片輪轉法,最後乙個採用的是先來先服務。
從上往下仍,每個程序進來都會先被放在優先順序最高的佇列中,如果他一下把優先順序最高的的佇列規定的時間片用完了,那就會把這個程序往下放。以此類推。反之亦然依然.
以上判斷是動態的,並不是只判斷一次,而且還有著彈回機制。
從等待態到就緒態轉變的程序的優先順序都會被提高一些些。
以上基本都是單cpu排程的情況。
關於多cpu排程
與單cpu排程相同的部分是下乙個程序執行的選擇策略,優先順序高的優先執行
每個核心任意時刻只能執行乙個程序。
負載均衡
關於同構cpu和異構cpu
目前基本都是同構的,同構就是所有cpu都完全一摸一樣的。異構的特別特別複雜。關於對稱式和非對稱式
非對稱式的多處理器管理:乙個核心只執行作業系統,其他核心只執行應用程式對於就緒佇列的管理:兩種好處:對作業系統來說,簡單的多了。
對稱式的多處理器管理:所有處理器都是完全平等的,每乙個核心極可能執行作業系統,也可能執行應用程式。
1、每乙個處理器都有乙個私有的就緒佇列, 較常見親和性:(咱們自己做的) 有軟親和性和硬親和性之分。2、多個處理器共享同乙個就緒佇列。
如果把乙個程序從乙個cpu切換到另乙個cpu,會導致cpu的cache重新整理。這個重新整理要消耗的。
負載均衡:作業系統做的。 遷移。
push migration 當前cpu太忙了
pull migration 當前cpu太閒了
solaris 執行緒排程 優先順序數字越大,優先順序越高
有乙個solaris dispatch table,這個表系統管理員可以更改的
優先順序 時間片 降低優先順序的多少 從等待到就緒時優先順序的變化
做到大致看得懂這個表
windows 優先順序 優先順序數字越大優先順序越高
linux 數字越小優先順序越高
real-time: 0-99
nice: 100-140
p23結束
計算機作業系統(筆記二)
作業系統 operating system 是執行在計算機上的最重要的程式,它可以管理和控制計算機的活動。硬體 作業系統 應用程式和使用者之間的關係如下圖。作業系統的主要任務 控制和監視系統的活動分配和調配系統資源排程操作 全球資訊網是無數個網路站點和網頁的集合,它們在一起構成了網際網路最主要的部分...
計算機作業系統筆記(1)
注 筆記主要來自西安電子科技大學出版的 計算機作業系統 一書,侵刪 若有不當,歡迎指出 作業系統 os 是配置在計算機硬體上的第一層軟體,是對硬體系統的首次擴充。作業系統的定義 作業系統是一組能有效地組織和管理計算機硬體和軟體資源,合理地對各類作業進行排程,以及方便使用者使用的程式的集合。關鍵點 系...
計算機作業系統筆記(7)
作業系統的功能 作業系統管理磁碟的兩步 化整為零 化零為整 本章是關於化零為整的 化零為整的大致步驟 從目錄找檔案起始位址,從磁碟塊中依次找到零散分布的檔案資料,把零散的資料拼接起來 os系統通過檔案系統組織和管理在計算機中儲存的大量程式和資料 資料項 基本資料項 可命名的最小邏輯單位 檔案 檔案屬...