關於作業系統的程序排程問題

2021-09-06 12:56:41 字數 1074 閱讀 4494

程序排程分為高階、中級、低階排程:

高階排程通常也稱作業排程,用於決定把外存上處於後備佇列中的哪些作業調入記憶體,準備執行;

中級排程大多針對於分時系統,是按一定的演算法在記憶體和外存之間進行程序對換,目的在於緩和記憶體的緊張;

低階排程用於將記憶體中就緒佇列中的作業分配處理機,使其執行。 

程序排程通常有以下兩種方式:

(1)非剝奪方式:分派程式一旦把處理機分配給某程序後便讓它一直執行下去,直到程序完成或發生某事件而阻塞時,才把處理機分配給另乙個程序。

(2)剝奪方式:當乙個程序正在執行時,系統可以基於某種原則,剝奪已分配給它的處理機,將之分配給其它程序。剝奪原則有:優先權原則、短程序優先原則、時間片原則。

程序排程分功能:

(1)記錄系統中所有程序的執**況;

(2)選擇占有處理機的程序;

(3)進行程序上下文切換。

那麼什麼時候會需要進行程序排程呢?

1.時間片到,即每個程序所分配的時間片用完後,要跳轉到排程程式;

2.占用cpu的當前執行程序提出i/o操作,發起對核心的系統呼叫時,在系統呼叫結束後,跳轉到排程程式;

3.當前執行程序對所有核心系統呼叫的結束時都要跳轉到排程程式,根據當前的排程資訊來決定下乙個可以占用cpu的程序.

程序排程演算法:

1.先來先服務排程演算法:選擇乙個最先進入佇列的程序,把處理機分配給它,讓它進入執行狀態。

2.短程序優先排程演算法:

從就緒佇列中選擇乙個cpu執行時間預期最短的程序,將處理器分配給它

是指對執行時間短的程序優先排程的演算法。

3.高優先順序優先排程演算法:分配給就緒程序佇列中優先順序最高的程序。

4.時間片輪轉法:將cpu的處理時間分成固定大小的時間片,讓每個程序在就緒佇列中的等待時間與享受服務的時間成比例。

5.多級反饋佇列排程演算法:系統按優先順序設定n個就緒程序佇列,第一級佇列的優先順序最高,其餘佇列的優先順序逐個降低,第n級佇列的優先順序最低。

關於作業系統的程序排程問題

程序排程分為高階 中級 低階排程 高階排程通常也稱作業排程,用於決定把外存上處於後備佇列中的哪些作業調入記憶體,準備執行 中級排程大多針對於分時系統,是按一定的演算法在記憶體和外存之間進行程序對換,目的在於緩和記憶體的緊張 低階排程用於將記憶體中就緒佇列中的作業分配處理機,使其執行。程序排程通常有以...

作業系統 程序排程

程序排程程序排程室作業系統必不可少的一種排程。因此在三種型別的os dos windows linux 都無一例外地配置了程序排程。此外它也是對系統效能影響最大的一種處理機排程。程序排程的任務 儲存處理機的現場資訊。在進行排程時首先需要儲存當前程序的處理機的現場資訊,如程式計數器 多個通用暫存器中的...

作業系統程序排程

華中農業大學 學生實驗報告 課程名稱 計算機作業系統 實驗名稱 程序排程 實驗型別 驗證 設計 綜合 創新 實驗目的 實驗目的 1 通過編寫程式實現程序或作業先來先服務 高優先權 按時間片輪轉排程演算法,使 學生進一步掌握程序排程的概念和演算法,加深對處理機分配的理解。2 了解程序 執行緒 的排程機...