作業、任務和程序的區別
作業、任務和程序這三個術語用於指代不同型別作業系統中正在執行的工作。在本文中,我們將詳細研究這三個術語以及它們彼此之間的區別。
什麼是程序?
正在執行的程式稱為程序。程序是指一組指令。程序是一個活動實體,而程式是一個被動實體。當我們執行程式時,它保留在系統的硬碟驅動器上,一旦它進入主記憶體,它就變成了一個程序。程序可能位於記憶體中、硬碟上或 CPU 上。
當程序執行時,它會經歷多個狀態。開始、就緒、執行、等待和終止/執行是其中幾個狀態。
可以同時執行多個程序。當多個程序併發執行時,必須決定哪個程序應該首先執行。這稱為“程序排程”。
程序通常被稱為可執行和可排程的單元。此外,程序允許程序間通訊。為了確保在多個程序執行時同步,程序必須透過通訊協議進行互動。
程序執行
計算機系統需要資源(如記憶體、CPU 時間和輸入/輸出 (I/O) 裝置)來執行程序。因此,作業系統的職責是以及時和系統的方式將這些資源分配給不同的程序。
程序的基本資訊也儲存在“程序控制塊”中。它包括程序標識、程序狀態、記憶體、I/O、排程和會計資料等詳細資訊。為了協調程序的執行,使用了程序管理器。
示例
Windows 任務管理器允許我們檢視所有當前正在執行的程序。在任務管理器的“程序”選項卡下,您可以看到每個活動的後臺程序。
什麼是任務?
任務是一小部分正在進行的工作。在作業系統中,程序和任務可以互換使用。任務是作業中的一個元素。任務共同構成一個作業。任務可以是程序、單個作業、執行緒或其他任何內容。
當任務正在執行時,它被稱為執行緒。可以一次完成多個任務,這個過程稱為多工處理。並行任務處理是指同時並行執行多個任務。分時是多工處理的另一個名稱。支援多個程式的作業系統是多工處理的擴充套件。
示例
在 Java 中,正在執行的執行緒稱為任務。當印表機列印文件時,它被認為是執行列印任務。當計算機計算使用者輸入的兩個數字的加法時,這也是一個任務(附加任務)。
什麼是作業?
作業是正在執行的整個工作單元。作業由許多工組成,而任務由許多程序組成。一組任務被稱為作業。程式被建立來執行任務。在計算工作中,作業和任務這兩個術語可以互換使用。
其他微小的過程用於執行這些任務。許多程序參與收集輸入的任務。使用者首先輸入資訊。然後將資料轉換為二進位制形式。之後,CPU 接收此資料以繼續處理。然後 CPU 執行必要的步驟。因此,工作被分解成任務,然後透過程序來執行。
作業排程程式
可以同時執行一個或多個作業。任務是完成的單個作業。如果要同時完成多個任務,則必須計劃作業。計劃作業的程式稱為作業排程程式。批次排程是作業排程的另一個名稱。
示例
計算機的作業是接收使用者輸入、處理資料並提供結果。此作業可以分解成多個較小的作業,其中輸入任務作為第一個,資料處理任務作為第二個,結果任務作為第三個。
結論
作業是必須完成的工作。任務是必須完成的一部分工作。程序是一組為實現特定目標而執行的步驟。作業和任務指定必須完成的工作,而程序指定完成工作的可能或理想方式。
如果任務是單個任務,則可以將其稱為程序。當任務是單個工作單元時,它被視為作業。任務可以指程序或一系列程序,作業可以定義為一組任務。