計算機作業系統零散筆記 關於CPU排程(二)

2021-10-02 16:01:03 字數 2035 閱讀 7737

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系統通過檔案系統組織和管理在計算機中儲存的大量程式和資料 資料項 基本資料項 可命名的最小邏輯單位 檔案 檔案屬...