プロセスの状態
参考
OSの実装によって異なるが大まかには以下のような感じ
大まかにはこんな感じ
created
watingにされるのを待つ
waiting
走行可能な待ち状態
いつでもrunningに移行できる
各プロセスは実行優先度を持っており、優先度が高いものから実行される
running
CPU上で実行中
blocked
IOなどの処理中のブロック状態
処理中なのでrunningに移行できるわけではない
terminated
終了状態
ざっくり3分割すると
created
running
実際はここがもう少し細分化される
running, waiting, blocked
terminated
親プロセス目線
子プロセスが終了したら、その実行結果を取得し、子プロセスの後始末を行う
リソースの解放など
子プロセス目線
親から複製されて生まれる
exec()で、プログラムを読み込み、そのプログラムを実行するためのプロセスになる 実行中のプロセスを休止中に切り返る
休止中のプロセスを実行可能状態へ変更する