作業周期控制

作業周期控制

作業,從系統角度來看,作業是由程式、數據和作業說明書組成的,系統通過作業說明書控制以檔案形式存在的程式和數據,並運行執行;從用戶角度來看,可以從邏輯上抽象描述作業的定義。作業周期控制是指作業提交到結束這段時間的控制,一般來說作業周期越短越好,與很多因素有關,例如作業的優先權、系統資源等。

基本介紹

  • 中文名:作業周期控制
  • 外文名:Job cycle control
  • 學科:計算機
  • 定義:作業提交到結束這段時間的控制
  • 影響因素:作業優先權、系統資源
  • 領域:作業系統
簡介,作業調度,調度算法,

簡介

在作業系統,作業控制一般分為在線上作業控制和脫機作業控制,作業周期控制是對脫機作業控制中作業周期進行控制。脫機作業控制,用戶把他對作業運行的控制意圖,連同源程式和運算元據,甚至包括發生故障時的處理手段一起輸入到系統中,由系統根據其意圖來控制整個作業的運行。
相應地,系統將作業的生命周期分為四個階段:進入階段、調度階段、運行階段撤離階段,對應地,作業也有進入、後備、運行和撤離四個狀態。分別有四個進程建議控制,從作業進入系統起,其狀態的轉變及其過程都由系統加以控制,用戶與操作員均無需干預。在作業的生命周期四個階段中,作業周期控制主要作用在調度階段,這影響到一個作業要多長時間才能完成。因此,作業周期控制與作業調度密切相關。

作業調度

作業調度的主要功能是根據作業控制塊中的信息,審查系統能否滿足用戶作業的資源需求,以及按照一定的算法,從外存的後備佇列中選取某些作業調入記憶體,並為它們創建進程、分配必要的資源。然後再將新創建的進程插入就緒佇列,準備執行。因此,有時也把作業調度稱為接納調度(Admission Scheduling)。
對用戶而言,總希望自己作業的周轉時間儘可能的少,最好周轉時間就等於作業的執行時間。然而對系統來說,則希望作業的平均周轉時間儘可能少,有利於提高 CPU 的利用率和系統的吞吐量。為此,每個系統在選擇作業調度算法時,既應考慮用戶的要求,又能確保系統具有較高的效率。在每次執行作業調度時,都須做出以下兩個決定。1) 決定接納多少個作業:作業調度每次要接納多少個作業進入記憶體, 取決於多道程式度(Degree of Multiprogramming),即允許多少個作業同時在記憶體中運行。2) 決定接納哪些作業:應將哪些作業從外存調入記憶體,這將取決於所採用的調度算法。

調度算法

先來先服務
先來先服務(FCFS, First Come First Serve)是最簡單的調度算法,按先後順序進行調度。
定義:按照作業提交或進程變為就緒狀態的先後次序,分派CPU;當前作業或進程占用CPU,直到執行完或阻塞,才出讓CPU(非搶占方式)。在作業或進程喚醒後(如I/O完成),並不立即恢復執行,通常等到當前作業或進程出讓CPU。適用場景:比較有利於長作業,而不利於短作業。有利於CPU繁忙的作業,而不利於I/O繁忙的作業。
輪轉法
輪轉法(Round Robin)是讓每個進程在就緒佇列中的等待時間與享受服務的時間成正比例。定義:將系統中所有的就緒進程按照FCFS原則,排成一個佇列。每次調度時將CPU分派給隊首進程,讓其執行一個時間片。時間片的長度從幾個ms到幾百ms。在一個時間片結束時,發生時鐘中斷。調度程式據此暫停當前進程的執行,將其送到就緒佇列的末尾,並通過上下文切換執行當前的隊首進程。進程可以未使用完一個時間片,就出讓CPU(如阻塞)。時間片長度變化的影響:
過長->退化為FCFS算法,進程在一個時間片內都執行完,回響時間長。
過短->用戶的一次請求需要多個時間片才能處理完,上下文切換次數增加,回響時間長。
對回響時間的要求:T(回響時間)=N(進程數目)*q(時間片)
就緒進程的數目:數目越多,時間片越小
系統的處理能力:應當使用戶輸入通常在一個時間片內能處理完,否則使回響時間,平均周轉時間和平均帶權周轉時間延長。
多級反饋佇列
多級反饋佇列算法(Round Robin with Multiple Feedback)是輪轉算法和優先權算法的綜合和發展。定義:設定多個就緒佇列,分別賦予不同的優先權,如逐級降低,佇列1的優先權最高。每個佇列執行時間片的長度也不同,規定優先權越低則時間片越長,如逐級加倍。新進程進入記憶體後,先投入佇列1的末尾,按FCFS算法調度;若按佇列1一個時間片未能執行完,則降低投入到佇列2的末尾,同樣按FCFS算法調度;如此下去,降低到最後的佇列,則按“時間片輪轉”算法調度直到完成。僅當較高優先權的佇列為空,才調度較低優先權的佇列中的進程執行。如果進程執行時有新進程進入較高優先權的佇列,則搶先執行新進程,並把被搶先的進程投入原佇列的末尾。

相關詞條

熱門詞條

聯絡我們