處理機排程

2021-09-17 20:14:25 字數 2300 閱讀 3149

如果沒有處理機排程,則意味著必須等待當前程序執行完畢後下一程序才能執行,而程序常需等待外設的輸入,i/o的速度相比處理機是非常慢的,因此這會對處理機資源造成嚴重浪費。引入排程後,可在執行程序等待輸入時把處理機排程給其他程序,從而提高處理機的利用率。

作業排程(高階)

在外存的作業中挑選乙個或多個作業,給它們分配記憶體、i/o裝置等資源,並建立相應的程序。

記憶體排程(中級)

把暫時不能執行的程序調至外存等待(掛起態),當它們重新具備執行條件且記憶體空閒時,由中級排程來把這些就緒程序重新調入記憶體,並修改為就緒態,掛在就緒佇列上等待。

程序排程(低階)

從就緒佇列選取乙個程序把處理機分配給它。

作業排程從外存的後備佇列選擇一批作業進入記憶體,為它們建立程序,為程序活動做準備,頻率最低。

程序排程從就緒佇列選出乙個程序把其改為執行態,分配給它cpu,頻率最高。

中級排程為了提高記憶體的利用率和系統吞吐量,系統把暫時不能執行的程序掛起來,中級排程又選擇具備條件的程序將其喚醒。

非剝奪排程方式(非搶占式)

一旦把乙個cpu分配給乙個程序,該程序就會保持cpu直到終止或轉化為等待態。這種方式實現簡單、系統開銷小,適用於大多數批處理系統,但不能用於分時系統和實時系統。

剝奪排程方式(搶占式)

若有優先順序更高的程序需要使用處理機,則立即暫停正在執行的程序。這種方式對提高系統吞吐率和響應效率有明顯的好處。

cpu利用率

系統吞吐量:單位時間內cpu完成的任務數周轉時間 = 作業完成時間 - 作業提交時間

先來先服務排程演算法(fcfs)

既可用於作業排程,又可用於程序排程。非搶占式。演算法簡單,效率低,相比sjf和高響應比演算法對於短作業不利,有利於cpu繁忙型作業,但不利於i/o繁忙型作業。

短作業優先排程演算法(sjf)

短作業優先(sjf)演算法從後備佇列選擇乙個或多個估計執行時間最短的作業,將它們調入記憶體;短程序優先(spf)排程演算法從就緒佇列選擇乙個估計執行時間最短的程序,將處理機分配給它。非搶占式。該演算法對長作業不利(飢餓現象),不能保證緊迫性作業會被及時處理,但是平均等待時間、平均周轉時間最少。

高響應比優先排程演算法(對fcfs和sjf演算法的綜合平衡)

響 應比

=等待時

間+要求

服務時間

要求服務

時間

響應比=\frac

響應比=要求

服務時間

等待時間

+要求服

務時間​

主要用於作業排程,每次排程前先計算每個作業的響應比,選出響應比最高的作業投入執行。根據公式可知

①作業等待時間相同,短作業的要求服務時間短,響應比更高,有利於短作業

②要求服務時間相同,等待時間越長,響應比越高,實現了先來先服務。

③對於長作業,等待時間越長,響應比越高,因此也可以獲得處理機,解決了飢餓狀態。

優先順序排程演算法

既可用於作業排程,又可用於程序排程。根據優先順序更高程序是否可搶占正在執行的程序,分為搶占式和非搶占式兩種。根據程序建立後優先順序是否可以改變分為靜態優先順序和動態優先順序。一般優先順序的設計遵守下列原則:

① 系統程序 > 使用者程序

② 互動型程序 > 非互動型程序

③ i/o型程序 > 計算型程序

時間片輪轉排程演算法

主要用於分時系統,先來先服務原則,但僅執行乙個時間片,時間到後如果程序未完成,則重新返回就緒佇列末尾排隊。

多級反饋佇列排程演算法(融合了前幾鐘演算法的優點)

①設定多個就緒佇列,賦予各個佇列不同的優先順序,第1級佇列優先順序最高,隨後依次遞減。

②各個佇列時間片大小不同,優先順序越高,時間片越小

③乙個程序進入記憶體後,首先都放入第1級的佇列末尾,佇列內部採用fcfs原則,一次排程未完成的程序轉入下一級佇列的末尾,直到第n級佇列(無法再降,就一直留在最低優先順序的佇列直到執行結束)。

④搶占式排程,永遠執行優先順序更高的佇列,直到該佇列空才會執行下一級佇列。

優勢:對於這種演算法,短作業優先,周轉時間短,長作業經過前面幾個佇列也得到部分執行,不會長期得不到處理。

在處理中斷過程中

程序處於作業系統核心程式臨界區

原子操作過程中

當前程序無法繼續執行

中斷處理結束或自陷處理結束後

處理機排程

多道程式系統中,程序的數量往往多於處理機的個數,程序爭用處理機的情況在所難免。處理機排程是對處理機進行分配,即從就緒佇列中按照一定的演算法選擇乙個程序並將處理機分配給它執行,以實現程序併發執行。乙個作業從提交到完成,經歷以下 排程 作業排程 從外存中選擇乙個或多個作業,分配記憶體 輸入 輸出等必要資...

處理機排程

又稱高階排程,其主要任務是按一定的原則從外存上處於後備狀態的作業中挑選乙個或多個作業,給它分配記憶體 輸入 輸出裝置等必要的資源,並建立相應的程序,以使它獲得競爭處理機的權利。記憶體與輔存之間的排程。每個作業只調入一次 調出一次。提高記憶體利用率和系統吞吐量。使暫時不能執行的程序,調至外存等待,把此...

處理機排程

高階排程 中級排程和低階排程 處理機制排程目標是滿足系統的目標 如響應時間 吞吐率 處理機速率 的方式。這個排程活動中分成三個層次 高階排程 中級排程和低階排程。高階排程 建立程序時執行,它需要決定是否把程序新增到當前活躍的程序集合中。由輸入機向輸入井傳輸的作業處於提交狀態,進入輸入井尚未被調入記憶...