1.進程定義的是私有數據結構PCB,管程定義的是公共數據結構,如消息隊列等;
2.進程是由順序程序執行有關操作,而管程主要是進行同步操作和初始化操作;
3.設置進程的目的在于實現系統的并發行,而管程的設置則是解決共享資源的互斥使用問題;
4.進程通過調用管程中的過程對共享數據結構實行操作,該過程就如通常的子程序一樣被調用,因而管程為被動工作方式,進程則為主動工作方式;
5.進程之間能并發執行,而管程則不能與其調用者并發;
6.進程具有動態性,由"創建"而誕生,由"撤消"而消亡,而管程則是操作系統中的一個資源管理模塊,供進程調用.
進程的定義:
1.并發:指兩個或多個事件在同一時間間隔內發生.
2.為了使參與并發執行的每個程序(含數據)都能獨立地運行,在操作系統中必須為之配置一個專門地數據結構,稱為進程控制塊(Process Control Block, PCB).系統利用PCB來描述進程的基本情況和活動過程,進而控制和管理進程。
3.由程序段、相關的數據段和PCB三部分便構成了進程實體,一般情況下進程實體簡稱為進程。
管程的定義:
代表共享資源的數據結構以及由對該共享數據結構實施操作的一組過程所組成的資源管理程序共同構成了一個操作系統的資源管理模塊,我們稱之為管程.
參考《計算機操作系統》(第4版)P39、P63~P64