プロセスのモデル

linux上の全てのプロセスはtask_struct構造体で管理される。プロセスを生成毎にtask_struct構造体を一つ確保し、それ以降はtask_struct構造体を通してプロセスの管理を行う。

伝統UNIXと異なり、user構造体は存在せず、プロセスの管理情報は全てtask_struct構造体に収められている。task_struct構造体はフラットな空間上に確保されており、Linuxカーネルは、常に全てのプロセスの全ての管理情報を参照することができる。カーネルスタックも同様ににフラットな空間上に置かれている。

(伝統UNIXでは、他のプロセスから参照する必要のないデータやカーネルスタックははプロセス個別面におかれたU構造体に収められていた〕


 

(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST
1