程序与进程以及作业之间的区别
作業是應用層面的概念,和任務類似,指為達到一定的業務目的,如統計數據并打印,而實施的一系列技術性操作,如鏈接數據庫,執行sql,導出數據,統計整理,格式化,輸出到打印機進程僅僅是操作系統層面的概念,是一系列資源,如cpu時隙,內存,硬盤,句柄等,的集合,在進程里面可能跑有一些線程,這些線程依賴這些資源,完成一系列或一個技術性操作類比一下,大概就是炮兵團和團里的某個連的區別作業的進行依賴至少一個進程,類比一下就是,只有一個連的炮兵團?
一,程序與進程之間的區別:
(1)進程更能真實地描述并發,而程序不能。
(2)進程由程序和數據兩部分組成,進程是競爭計算機系統有限資源的基本單位,也是進程處理機調度的基本單位。
(3)程序是靜態的概念;進程是程序在處理機上一次執行的過程,是動態的概念。
(4)進程有生存周期,有誕生有消亡。是短暫的;而程序是相對長久的。
(5)一個程序可以作為多個進程的運行程序;一個進程也可以運行多個程序。
(6)進程具有創建其他進程的功能;而程序沒有。
二,作業與進程的區別:
一個進程是一個程序對某個數據集的執行過程,是分配資源的基本單位。作業是用戶需要計算機完成的某項任務,是要求計算機所做工作的集合。一個作業的完成要經過作業提交、作業收容、作業執行和作業完成4個階段。而進程是對已提交完畢的程序所執行過程的描述,是資源分配的基本單位。其主要區別如下。
(1)作業是用戶向計算機提交任務的任務實體。在用戶向計算機提交作業后,系統將它放入外存中的作業等待隊列中等待執行。而進程則是完成用戶任務的執行實體,是向系統申請分配資源的基本單位。任一進程,只要它被創建,總有相應的部分存在于內存中。
(2)一個作業可由多個進程組成,且必須至少由一個進程組成,反過來則不成立。
(3)作業的概念主要用在批處理系統中,像UNIX這樣的分時系統中就沒有作業的概念。而進程的概念則用在幾乎所有的多道程序系統中。
三,作業、進程和程序之間的聯系:
一個作業通常包括程序、數據和操作說明書3部分。每一個進程由PCB、程序和數據集合組成。這說明程序是進程的一部分,是進程的實體。因此,一個作業可劃分為若干個進程來完成,而每一個進程有其實體——程序和數據集合。
總結
以上是生活随笔為你收集整理的程序与进程以及作业之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手撸springmvc乞丐版
- 下一篇: 常见概率分布的无记忆性分析