進程和程序是兩個截然不同的概念,除了進程具有程序所沒有的PCB結(jié)構(gòu)外磷仰,還具有下面一些特征:
- 動態(tài)性:進程的實質(zhì)是進程實體的執(zhí)行過程袍嬉,因此,動態(tài)性就是進程的最基本的特征灶平。動態(tài)性還表現(xiàn)在:“它由創(chuàng)建而產(chǎn)生伺通,由調(diào)度而執(zhí)行,由撤銷而消亡逢享」藜啵”可見,進程實體有一定的生命期瞒爬,而程序則只是一組有序指令的集合弓柱,并存放于某種介質(zhì)上,其本身并不具有活動的含義侧但,因而是靜態(tài)的矢空。
- 并發(fā)性:是指多個進程實體同存于內(nèi)存中。且能在一段時間內(nèi)同時運行禀横。引入進程的目的也正是為了使其進程實體能和其他進程實體并發(fā)執(zhí)行屁药。因此,并發(fā)性是進程的另一重要特征柏锄,同時也成為OS的重要特征酿箭。而程序(沒有建立PCB)是不能參與并發(fā)執(zhí)行的复亏。
- 獨立性:在傳統(tǒng)的OS中,獨立性是指進程實體是一個能獨立運行缭嫡、獨立獲得資源和獨立接受調(diào)度的基本單位缔御。凡未建立PCB的程序都不能作為一個獨立的單元參與運行。
- 異步性:是指進程是按異步方式運行的械巡,即按各自獨立的刹淌、不可預(yù)知的速度向前推進。正是源于此因讥耗,才導(dǎo)致了傳統(tǒng)意義上的程序若參與并發(fā)執(zhí)行有勾,會產(chǎn)生其結(jié)果的不可再現(xiàn)性。為使進程在并發(fā)運行時雖具有異步性古程,但仍能保證進程并發(fā)執(zhí)行的結(jié)果是可再現(xiàn)的蔼卡,在OS中引入了進程的概念,并且配置相應(yīng)的進程同步機制挣磨。