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