跳轉至

批處理作業的管理

批次作業是指無需使用者乾預,由作業系統自動處理的一類作業。批次作業的主要目的是提高系統的效率,透過集中處理一批作業,減少系統的空閒時間和使用者的等待時間。批次作業管理涉及三個主要功能:作業輸入作業排程作業控制

批次作業的輸入

作業輸入

  • 定義:將使用者提交的作業裝入輔存輸入井(如磁碟),並形成後備作業佇列。系統依照作業進入輸入井的順序排隊等待調度執行。
  • 作業輸入資訊通常包括:
  • 原始程式:待編譯和執行的程式碼。
  • 初始資料:用於程式執行所需的輸入資料。
  • 作業控制說明書:描述作業執行步驟的說明書,以作業控制語言撰寫。

作業控制語言(JCL)

  • 定義:是一種描述作業執行過程的程式語言,用於批次處理系統中。使用者透過JCL指定作業的執行步驟和所需資源。
  • 功能
  • 作業的提交:描述作業的開始和結束。
  • 作業與作業步驟的執行控制:指定作業的執行順序與依賴關係。
  • 資源使用控制:指定作業執行時所需的硬體和軟體資源。

作業控制區塊(JCB)

  • 定義:作業在系統中存在的標識,包含作業的各種屬性和狀態資訊。
  • 主要內容
  • 作業名稱、作業狀態
  • 作業優先順序、類別
  • 所需資源(主存、週邊)
  • 作業的時間資訊(提交時間、開始時間、結束時間)
  • 用途:用於系統的輸入程式、作業排程器、作業控製程式等存取作業資訊。

作業表

  • 定義:由所有作業的JCB所構成的集合,存放於輔存中,用於系統管理和查詢作業資訊。

批次作業調度

作業排程程序

  • 定義:用於控製作業排程的程序,根據某種排程演算法從後備作業佇列中選擇適當的作業進行執行。
  • 主要任務
  • 選擇作業:從後備作業佇列中選取作業進行執行。
  • 資源分配:為選取的作業指派主存和周邊等必要資源。
  • 準備執行:為作業建立作業控制區塊和進程控制區塊,準備執行。
  • 善後處理:當作業結束或撤銷時,釋放資源,更新作業狀態。

作業狀態

作業在系統中的狀態可以分為以下幾種:

  • 提交狀態:作業剛被提交到系統,等待進入後備佇列。
  • 後備狀態:作業在輸入井中等待調度。
  • 運行狀態:作業被排程器選中,分配資源後進入執行狀態。
  • 完成狀態:作業執行完畢,資源被釋放,作業退出系統。

作業排程的影響因素

  1. 公平性:確保系統資源在使用者之間公平分配。
  2. 均衡使用資源:合理調度作業,使系統資源平衡使用。
  3. 提高系統吞吐量:最大化單位時間內完成的作業數量。
  4. 平衡系統和使用者需求:兼顧系統效能和使用者體驗。

作業排程的效能指標

  • CPU利用率:CPU的有效工作時間佔總時間的比例。
  • 吞吐量:單位時間內系統完成的作業數量。
  • 週轉時間:從作業進入系統到完成的總時間。
  • 平均週轉時間:所有作業的周轉時間的平均值。
\[ T = \frac{1}{n} \sum_{i=1}^{n} T_i \]

T:表示平均週轉時間。 n:表示作業的總數。 \( T_{i} \):表示第 i 個作業的周轉時間。

  • 帶權平均週轉時間:考慮作業執行時間的比重,使短作業優先。
\[ W = \frac{1}{n} \sum_{i=1}^{n} W_i \]

W:表示平均等待時間。 n:表示作業的總數。 \( W_{i} \):表示第 i 個作業的等待時間。

批次作業排程的三級排程

  1. 進階調度(作業排程):選擇哪些作業從後備佇列進入主記憶體執行。
  2. 中階調度:控制主記憶體中進程的數量,透過換入換出進程以平衡記憶體使用。
  3. 低階調度(進程調度):選擇就緒佇列中的程序分配CPU執行。

批次作業控制

批次作業的執行

  • 作業執行過程:當作業被排程器選取後,系統為其建立一個作業控制流程,負責具體的作業運行控制。
  • 運作控制:系統依照作業控制說明書逐步執行各作業步,直到作業完成。

批次作業的終止與撤銷

  • 作業終止:當作業成功完成或發生異常時,系統會進行資源釋放、更新作業狀態,並繼續下一個作業排程。
  • 作業撤銷:在發生嚴重錯誤或使用者要求中止時,系統強制停止作業執行,並進行善後處理。