1)進程的定義:“進程”是操作系統的最基本、最重要的概念之一。但迄今為止對這一概念還沒有一個確切的統一的描述。下面給出幾種對進程的定義描述。進程是程序的一次執行。進程是可以並行執行的計算。進程是一個程序與其使用的數據在處理機上順序執行時發生的活動。進程是程序在一個數據集合上的運行過程。它是系統進行資源分配和調度的一個獨立單位。
2)進程的特征:動態性:是程序的一次執行;並發性:進程是可以並發執行;獨立性:是系統進行資源分配和調度的一個獨立單位;異步性:進程間的相互制約,使進程執行具有間隙;結構性:進程是具有結構的。
3)進程與程序的主要區別:
(1)程序是永存的;進程是暫時的,是程序在數據集上的一次執行,有創建有撤銷,存在是暫時的;
(2)程序是靜態的觀念,進程是動態的觀念;
(3)進程具有並發性,而程序沒有;
(4)進程是競爭計算機資源的基本單位,程序不是。
(5)進程和程序不是一一對應的: 一個程序可對應多個進程即多個進程可執行同一程序; 一個進程可以執行一個或幾個程序
=====
進程概念和程序概念最大的不同之處在於:
(1)進程是動態的,而程序是靜態的。
(2)進程有一定的生命期,而程序是指令的集合,本身無“運動”的含義。沒有建立進程的程序不能作為1個獨立單位得到操作系統的認可。
(3)1個程序可以對應多個進程,但1個進程只能對應1個程序。進程和程序的關系猶如演出和劇本的關系。