【操作系統】程序,進程,作業之間的區別和聯繫

 程序與進程之間的區別:

(1)進程更能真實地描述併發,而程序不能。

(2)進程由程序和數據兩部分組成,進程是競爭計算機系統有限資源的基本單位,也是進程處理機調度的基本單位。

(3)程序是靜態的概念;進程是程序在處理機上一次執行的過程,是動態的概念。

(4)進程有生存週期,有誕生有消亡。是短暫的;而程序是相對長久的。

(5)一個程序可以作爲多個進程的運行程序;一個進程也可以運行多個程序。

(6)進程具有創建其他進程的功能;而程序沒有。

 

作業與進程的區別:

    一個進程是一個程序對某個數據集的執行過程,是分配資源的基本單位。作業是用戶需要計算機完成的某項任務,是要求計算機所做工作的集合。一個作業的完成要經過作業提交、作業收容、作業執行和作業完成4個階段。而進程是對已提交完畢的程序所執行過程的描述,是資源分配的基本單位。其主要區別如下。

   (1)作業是用戶向計算機提交任務的任務實體。在用戶向計算機提交作業後,系統將它放入外存中的作業等待隊列中等待執行。而進程則是完成用戶任務的執行實體,是向系統申請分配資源的基本單位。任一進程,只要它被創建,總有相應的部分存在於內存中。

   (2)一個作業可由多個進程組成,且必須至少由一個進程組成,反過來則不成立。

   (3)作業的概念主要用在批處理系統中,像UNIX這樣的分時系統中就沒有作業的概念。而進程的概念則用在幾乎所有的多道程序系統中。

 

作業、進程和程序之間的聯繫:

    一個作業通常包括程序、數據和操作說明書3部分。每一個進程由PCB、程序和數據集合組成。這說明程序是進程的一部分,是進程的實體。因此,一個作業可劃分爲若干個進程來完成,而每一個進程有其實體————程序和數據集合。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章