Process is a program in execution.
Process is the unit of execution and contain of code.
Process stack 包含一些臨時性資料,例如副程式參數, 返回位址, 以及一些臨時變數。
包括一個裝有整體變數的資料區 (Data Section)
Programming counter (用途: 指向下一個要執行的指令)
cpu register

Life cycle of process

處理程序控制區段(Process Control Block,PBC)
作業系統利用PCB紀錄每個處理程序的所有資訊。

PCB包括:

Concurrent Processes:
許多Processes可以交錯地在一個CPU下執行

Process 運作

Creation:
一個parent process可以執行 process creation system call to create child process.
The child process也可以產生他的child process.
建立child process目的在於幫助parent process完成一些小task, 以便parent process去執行其他task.
The child process在執行時,獲取資源的方法可能有1. 直接從operating system拿, 2. 或只限於parent process 所擁有的資源裡拿。
Parent process 可以決定將資源分配給哪個child process 或把資源設定為共享,讓多個child process可以使用(ex. 記憶體、檔案)。
當the child process可使用的資源只限定於parent process 時, 可以防止parent process 產生太多 child processs 使得system負擔過重。
For instance.
當parent process 產生 child process 時, 除了要分配資源,
也可能要向child process 傳遞資料(ex. 要處理的檔案名稱).
parent process 產生child process時,可能有兩種運作模式:

child的fork回傳值為0
由fork產生的child process與parent process具有相同的位址空間。

Process Creation Steps:



Process end task

當child process完成task, 會經由system call回傳資料給parent process.
一個process也可由system call(abort)來終止另一個process.
Parent process可以由以下理由終止child process運作. 第一種狀況,parent process必須要有方法檢查child process運作的狀況。
第二種狀況通常是由作業系統來處理。
如果process終止(正常或異常),則他的child process 也必須終止。稱為(Cascading Termination)

Process Destruction步驟:
Child Process 的 Destruction 作法:
Process Destruction 的理由

Processes之間的關係

The Relation of Processes in operating system.