進程的概念
定義
- 程式的一次執行:程序可以被視為程式的一次執行實例。
- 活動過程:進程是在處理器上依序執行程式及其資料時發生的活動。
- 資源管理和調度單位:進程是一個具有獨立功能的程式在資料集合上運行的過程,是系統資源分配和調度的獨立單位。
組成
- 程式控制區塊 (PCB):包含作業系統管理流程所需的信息,包括進程描述資訊、控制和管理資訊、資源分配清單以及處理器相關資訊。
- 程式段:用於儲存程式碼的區域。
- 資料段:儲存程式運行時使用或產生的數據,如全域變數、局部變數和巨集定義的常數。
- 進程映像:由程式控制區塊、程式段和資料段組成的整體,稱為進程映像。
進程的特徵
- 動態性:進程的最基本特徵,表示它是一個動態的過程,從產生到變化再到消亡。
- 並發性:記憶體中可以存在多個進程,這些進程可以並發性執行。
- 獨立性:進程能獨立運作、獨立取得資源,並作為獨立的調度單位。
- 非同步性:各進程以各自的速度推進,作業系統提供同步機制以解決非同步問題。
- 結構性:從結構上看,進程由程式段、資料段和程式控制區塊 (PCB) 組成,統稱為「進程映像」。