一、作業與進程的區別
作業就是從外存放到內存的一個過程,它可以包含一個或多進程,作業的調度屬於高級調度,進程的調度屬於低級調度,所以,進程是一個系統中最基本的也是必需要求的調度,而作業調度是為是了提高系統性能而調度的高級調度 。一個作業可以分為很多進程,進程只是作業中的一個元素
作業的調度屬於高級調度,進程的調度屬於低級調度,作業就是從外存放到內存的一個過程,它可以包含一個或多進程。
二、作業調度和進程調度的區別
作業調度按一定的算法從磁盤上的“輸入井”中選擇資源能得到滿足的作業裝入內存,使作業有機會去占用處理器執行。
但是,一個作業能否占用處理器,什么時間能夠占用處理器,必須由進程調度來決定。所以,作業調度選中了一個作業且把它裝入內存時,就應為該作業創建一個進程,若有多個作業被裝入內存,則內存中同時存在多個進程,這些進程的初始狀態為就緒狀態,然后,由進程調度來選擇當前可占用處理器的進程,進程運行中由於某種原因狀態發生變化,當它讓出處理器時,進程調度就再選另一個作業的進程運行。
因此,作業調度與進程調度相互配合才能實現多道作業的並行執行
作業調度和進程調度屬於處理機管理:
處理機調度是操作系統的主要功能之一,它的實現策略決定了操作系統的類型,其調度算法的優劣直接影響整個系統的性能。處理機調度的任務是選出待分派的作業或進程,為之分配處理機。
一般來說,處理機調度可分為三個級別,分別是高級調度、中級調度和低級調度。
高級調度又稱作業調度,作業就是用戶程序及其所需的數據和命令的集合,作業管理就是對作業的執行情況進行系統管理的程序的集合。作業調度程序的主要功能是審查系統是否能滿足用戶作業的資源要求以及按照一定的算法來選取作業。
引入中級調度的主要目的是為了提高內存的利用率和系統吞吐量,使得暫時不運行的進程從內存對換到外存上。
低級調度又稱進程調度,其主要功能是根據一定的算法將cpu分派給就緒隊列中的一個進程。進程調度是操作系統中最基本的一種調度,其調度策略的優劣直接影響整個系統的性能。
三、程序,進程,作業之間的區別和聯系
程序與進程之間的區別:
(1)進程更能真實地描述並發,而程序不能。
(2)進程由程序和數據兩部分組成,進程是競爭計算機系統有限資源的基本單位,也是進程處理機調度的基本單位。
(3)程序是靜態的概念;進程是程序在處理機上一次執行的過程,是動態的概念。
(4)進程有生存周期,有誕生有消亡。是短暫的;而程序是相對長久的。
(5)一個程序可以作為多個進程的運行程序;一個進程也可以運行多個程序。
(6)進程具有創建其他進程的功能;而程序沒有。
作業與進程的區別:
一個進程是一個程序對某個數據集的執行過程,是分配資源的基本單位。作業是用戶需要計算機完成的某項任務,是要求計算機所做工作的集合。一個作業的完成要經過作業提交、作業收容、作業執行和作業完成4個階段。而進程是對已提交完畢的程序所執行過程的描述,是資源分配的基本單位。其主要區別如下。
(1)作業是用戶向計算機提交任務的任務實體。在用戶向計算機提交作業后,系統將它放入外存中的作業等待隊列中等待執行。而進程則是完成用戶任務的執行實體,是向系統申請分配資源的基本單位。任一進程,只要它被創建,總有相應的部分存在於內存中。
(2)一個作業可由多個進程組成,且必須至少由一個進程組成,反過來則不成立。
(3)作業的概念主要用在批處理系統中,像UNIX這樣的分時系統中就沒有作業的概念。而進程的概念則用在幾乎所有的多道程序系統中。
作業、進程和程序之間的聯系:
一個作業通常包括程序、數據和操作說明書3部分。每一個進程由PCB、程序和數據集合組成。這說明程序是進程的一部分,是進程的實體。因此,一個作業可划分為若干個進程來完成,而每一個進程有其實體————程序和數據集合。