操作系統(tǒng)
進程和程序的區(qū)別
進程 | 程序 | |
---|---|---|
結構 | 能夠并發(fā)執(zhí)行 | 不能并發(fā)執(zhí)行 |
動靜態(tài) | 動態(tài)性是進程的最基本特征彬檀;動態(tài)性還表現(xiàn)在:“它由創(chuàng)建而產(chǎn)生椭住,由調度而執(zhí)行,由撤消而消亡”认烁,即進程有一定的生命周期 | 一組有序指令的集合棋返,并存放在某種介質上钱雷,本身不具有運動的含義,因而是靜態(tài)的 |
并發(fā)性 | (是指多個進程課一同事存于內存中票从,且能在一定時間內可以同時運行漫雕,是進程的重要特征)具有并發(fā)性 | 不具有并發(fā)性 |
調度 | 動態(tài)性、獨立性峰鄙、并發(fā)性浸间、異步性 | 順序性、封閉性吟榴、可再現(xiàn)性 |
對應關系 | 這可以從進程的一個定義中理解:進程是一個程序及數(shù)據(jù)在處理機上順序執(zhí)行時所發(fā)生的活動 | ... |
進程的概念在操作系統(tǒng)中的引入
由于程序并發(fā)執(zhí)行時會有以下特征:
- 間斷性
解釋:先假設有A,B 三個程序魁蒜,B依賴A的運行結果,則B開始運行后如果A的結果還沒有運行出來,則B程序必須暫停運行兜看,等待A的運行結果給出后才能運行锥咸,這使得B有‘執(zhí)行--暫停--執(zhí)行’這種間斷性的活動規(guī)律。
- 失去封閉性
解釋:程序并發(fā)執(zhí)行必然導致有些資源是多個程序所共享的细移,這些資源的狀態(tài)將會由多個程序共同改變搏予。
- 不可再現(xiàn)性
解釋:由于失去了封閉性,則導致程序失去可見性弧轧。
以上三種特點雪侥,決定了程序通常是不能參與并發(fā)執(zhí)行的。為了能夠使程序能夠并發(fā)執(zhí)行精绎,且為了對并發(fā)執(zhí)行的程序加以描述和控制速缨,從而引進了‘進程’的概念。