行程
维基百科,自由的百科全书
行程 | |
---|---|
電腦科學譯名 | |
英文: | Process |
臺譯: | 行程 |
港譯: | |
中譯: | 进程 |
在電腦中,行程就是已執行程式的實體,行程本身不會執行,是執行緒的容器。程式本身只是指令的集合,行程才是程式(那些指令)的真正執行。若干行程有可能與同一個程式相關聯,且每個行程皆可以同步(循序)或不同步(平行)的方式獨立執行(多執行緒即每一個執行緒都代表一個行程)。現代電腦系統可在同一段時間內載入多個程式和行程到記憶體中,並藉由時間共享(或稱多任務),以在一個處理器上表現出同時(平行性)執行的感覺。同樣的,使用多執行緒技術的作業系統或電腦架構,同樣程式的平行行程,可在多 CPU 主機或網絡上真正同時執行(在不同的 CPU 上)。行程為現今分時系統的基本運作單位。
目录 |
[编辑] 名稱
- 整批系統環境,行程稱為工作(jobs)。
- 分時系統環境,行程稱為使用者程式(user progams)或任務(tasks)。
- 在多數情況,工作與行程是同義詞,但行程(process)已較為人接受
[编辑] 概念
使用者下達執行程式的命令後,就會產生行程。同一程式可產生多個行程(一對多關係),以允許同時有多位使用者執行同一程式,卻不會相衝突。
行程需要一些資源才能完工作,如CPU使用時間、記憶體、檔案以及I/O裝置,且為依序逐一進行,也就是任何時間內僅能執行一項行程。
[编辑] 內容
作業系統行程多有以下內容:
- Memory, (typically a region of virtual memory for suspended processes) which contains executable code or task-specific data.
- Operating system resources that are allocated to the process, such as file descriptors (Unix terminology) or handles (Windows).
- Security attributes, such as the process owner and the process's set of permissions.
- Processor state (context), such as the content of registers, physical memory addressing, etc. The state is stored in the actual registers when the process is executing, and in memory otherwise.
[编辑] 狀態
行程在執行時,狀態(state)會改變。所謂狀態,就是指行程目前的動作:
- 新生(new):行程新產生中。
- 執行(running):正在執行。
- 等待(wating):等待某事發生,例如等待使用者輸入完成。
- 就緒(ready):排班中,等待CPU。
- 結束(terminated):完成執行。
各狀態名稱可能隨不同作業系統而相異;任何時間可能有多個行程為等待、就緒,但必定僅有一個行程在執行。