進程是計算機中程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,也是操作系統結構的基礎。
在早期面向進程設計的計算機結構中,進程是程序的基本執行實體;在當代面向線程設計的計算機結構中,進程是線程的容器。程序是指令、數據及其組織形式的描述,進程是程序的實體。進程不僅僅包括程序的代碼,還有當前的活動,如通過程序計數器的值和處理寄存器的內容來表示。它是操作系統動態執行的基本單元,在傳統的操作系統中,進程既是基本的分配單元,也是基本的執行單元。進程的概念主要有兩點:首先,進程是一箇實體,每個進程都有它自己的地址空間,通常包括文本區域、數據區域和堆棧區域;其次,進程是一箇“執行中的程序”,沒有處理器時程序是沒有生命的,處理器賦予程序生命時,它才能成爲一箇活動的實體,即進程。進程具有動態性、獨立性、異步性、併發性等特徵。