處理機排程是為了解決多個程序或執行緒爭奪cpu的問題。在多道程式系統中,通常會有多個程序或執行緒同時競爭cpu,只要有兩個及以上的程序或執行緒處於就緒狀態就有可能出現這樣的情況。當可用的cpu個數少於程序和執行緒數時,就必須選擇下乙個進入cpu的程序或執行緒,而這部分工作由處理機執行。處理機的排程分為高階排程、中級排程和低階排程。
1、高階排程
高階排程發生在作業對應的新程序建立中,它決定乙個程序是否被建立,或者建立後知否能被置為就緒狀態,以參與競爭處理機資源從而獲得執行。作業是使用者要求計算機系統完成的工作,新提交的作業被輸入到外存,並儲存到批處理後備作業佇列中。高階排程根據一定的演算法從後備的作業佇列中選出若干作業,並分配給必要的資源,為它建立相應的使用者作業程序和為其服務的系統程序,最後把它們的程式和資料調入記憶體,等待程序排程程式對其進行排程。
高階排程控制多道程式的道數,排程選擇進入主存的作業越多,每個作業獲得的cpu時間就越少,所以有時候要限制多道程式的道數。
2、中級排程
中級排程是為了使記憶體中同時存放的程序數目不至於太多,有時需要把某些程序從記憶體中移到外存中,以減少多道程式的數目。特別是在採用虛擬儲存技術的系統中或分時系統中。引入中級排程的主要目的是為了提高記憶體的利用率和系統吞吐量。它實際上就是儲存器中的對換功能。
3、低階排程
低階排程的主要功能是根據一定的演算法將cpu分派給就緒佇列中的某個程序(或核心級執行緒)。執行低階排程功能的程式稱作程序排程程式,由它實現cpu在程序間的切換。低階排程的執行頻率很高。在一般的作業系統中必須要有低階排程(程序排程),而且其排程策略的優劣直接影響整個系統的功能。
4、排程準則
不同的cpu排程演算法具有不同的屬性,並可能對某些程序更有利,我們用用很多準則來比較特徵對確定最佳演算法是產生的影響。
(1)cpu利用率 當cpu的**非常昂貴時,我們希望盡可能使它得到充分利用。通常,在一定的i/o等待時間百分比之下,執行程式道數越多,cpu空閒時間百分比越低。
(2)吞吐量 吞吐量是用來評估cpu工作量的,它表示單位時間內cpu完成的程序數量。
(3)周轉時間 批處理系統中,從作業提交給系統到作業完成的時間間隔稱為周轉時間,批處理系統的排程效能主要用周轉時間和帶權周轉時間衡量,時間越短,系統效率越高,作業吞吐量越大
處理機排程
如果沒有處理機排程,則意味著必須等待當前程序執行完畢後下一程序才能執行,而程序常需等待外設的輸入,i o的速度相比處理機是非常慢的,因此這會對處理機資源造成嚴重浪費。引入排程後,可在執行程序等待輸入時把處理機排程給其他程序,從而提高處理機的利用率。作業排程 高階 在外存的作業中挑選乙個或多個作業,給...
處理機排程
多道程式系統中,程序的數量往往多於處理機的個數,程序爭用處理機的情況在所難免。處理機排程是對處理機進行分配,即從就緒佇列中按照一定的演算法選擇乙個程序並將處理機分配給它執行,以實現程序併發執行。乙個作業從提交到完成,經歷以下 排程 作業排程 從外存中選擇乙個或多個作業,分配記憶體 輸入 輸出等必要資...
處理機排程
又稱高階排程,其主要任務是按一定的原則從外存上處於後備狀態的作業中挑選乙個或多個作業,給它分配記憶體 輸入 輸出裝置等必要的資源,並建立相應的程序,以使它獲得競爭處理機的權利。記憶體與輔存之間的排程。每個作業只調入一次 調出一次。提高記憶體利用率和系統吞吐量。使暫時不能執行的程序,調至外存等待,把此...