[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

プロセステーブル (process table)

pointこの用語のポイント

pointプロセスの管理台帳だよ

point現在動いているプロセスが書いてあるよ

スポンサーリンク

簡単に書くよ

プロセステーブル (process table)とは

現在動いているプロセスの「管理台帳」のこと
です。

image piyo

詳しく書くよ

プロセスは「メモリを使って、なんかやっているプログラムひとつひとつ」ね。
プログラムは、動いていればメモリを使っています。
よく分からなければ「実行中のプログラム」と読み替えてください。

プロセステーブル

プロセスがお仕事を始めると、管理台帳に名前が記録されます。

プロセステーブル2

お仕事が終わると、管理台帳から名前が消されます。

プロセステーブル3

管理台帳を見れば、今どんなプロセスがお仕事中か分かるようになっているのです。

プロセステーブル4

この「現在動いているプロセスが書かれている管理台帳」が「プロセステーブル」です。

プロセステーブル5

これで大雑把な説明は終わりですが、せっかくなので、もう少し専門的な説明も書いておきます。
ここから先は、ちょっとばっかし小難しい説明になります。
よく分からない人は適当に読み飛ばしてください。

まず親プロセス内でfork()を実行すると子プロセスが作成されます。
このとき、プロセステーブルに子プロセスの内容が記載されます。

プロセステーブル6

さて、子プロセスの処理が終了しました。
この時点では、プロセステーブルには、まだ子プロセスの内容が記載されています。
お仕事が終わっても名前は消えないのです。

プロセステーブル7

その後、親プロセスでwait()が実行されました。
この時点で、プロセステーブルから子プロセスの内容が消されます。

プロセステーブル8

つまり

プロセステーブルから情報が消されるタイミングは親プロセスがwait()したとき

です。

それでは、親プロセスがwait()しなかったら、どうなるのでしょうね?

その場合、子プロセスは処理が終了したのにもかかわらず、プロセステーブルに情報が残り続けます。

このような、何らかの理由により親プロセスがwait()してくれなかったプロセス、実際には処理が終了したのにプロセステーブルに名前が残っているプロセスは「ゾンビプロセス」と言います。
気が向いたら、覚えてあげてください。

image piyo2

一言でまとめるよ

まぁ「プロセステーブル」って単語が出てきたら「プロセスの管理台帳なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク