プロセスってどう管理されてるの?
- プロセステーブルにプロセスが起動するたびにエントリが追加、削除されてる
プロセステーブルのエントリには何が書かれてるの?
- C言語のstructとして定義されてることが多い(プロセス構造体)
- 主に下記3つ
- ①プロセス管理情報
- ②メモリ管理情報(コード、データ、スタック領域)
- ③ファイル管理情報(オープンしたファイルの情報)
プロセスの生成の流れ
- プロセステーブル内の空き領域を探す
- プロセス構造体を割り当てる
- プロセス構造体の初期化(プロセスID決め、データ・スタック・コード領域の大きさを決め割り当て)
- プロセス実行
プロセス終了の流れ
- オープンしてたファイルをすべて閉じる
- プロセスが使用してたメモリ領域の解放
- プロセス構造体を解放
- プロセステーブルのエントリ解放
- プロセスの終了