プロセス
実行中の
プログラム
の
インスタンス
大きく以下の要素によって構成されている
プログラムのコード(
コードセグメント
で管理)
プログラム中で使用されている変数(
データセグメント
や
ヒープ
、
スタック
で管理)
レジスタ
実行に関する状態(
レジスタ
で管理)
Program Counter
(
PC
)
Instruction Pointer
(
IP
)
メモリ
内で独立した領域を持ち、他のプロセスの
メモリ空間
にアクセスすることはできない
プロセス間で情報をやり取りする場合は
IPC
(
プロセス間通信
)によって行う
プログラムが終了したり、処理できないエラーが発生するとプロセスは終了する
プロセスが終了すると、
OS
はその資源をすべて回収して、回収された資源は他のプロセスが使えるようになる
資源
メモリ領域、開いている
ファイルハンドル
、ネットワーク接続
Unix
や
Windows
の場合、親プロセスが終了しても、子プロセスは自動的に終了しない