二-1程式與行程的差異
考點:行程(Process)基本概念與並行處理的三大困難
| 比較項目 | 程式(Program) | 行程(Process) |
|---|---|---|
| 定義 | 存放在磁碟上的指令與資料的集合,例如可執行檔 | 正在執行中的程式(a program in execution) |
| 性質 | 被動實體(passive entity),內容不會自行改變 | 主動實體(active entity),隨執行不斷改變狀態 |
| 存放位置 | 輔助儲存裝置 | 載入主記憶體,由 CPU 執行 |
| 組成 | 程式碼與靜態資料 | 程式碼(text)、資料區(data)、堆積(heap)、堆疊(stack),以及程式計數器與暫存器內容 |
| 狀態 | 沒有執行狀態 | 有 new、ready、running、waiting、terminated 等狀態,由作業系統以行程控制區塊(PCB)記錄 |
| 生命週期 | 存在到檔案被刪除為止 | 從建立到執行結束,結束後資源被作業系統收回 |
| 數量關係 | 一份程式 | 同一份程式可以同時產生多個行程,例如開啟兩個瀏覽器視窗 |