
ウィキペディアと他の多くの情報源によると、
PCBにはプロセスの重要な情報が含まれているため、通常のユーザーのアクセスを防ぐためにメモリ領域に保管する必要があります。一部のオペレーティングシステムでは、PCBは次の場所に配置されます。 カーネルスタックこれは便利な保護場所なので、プロセスの一部です。
これは意味があります。移行が発生すると、現在のコンテキストをどこかに保存する必要があります(カーネル)、スタックはこれを実行するのに最適な場所のように見えます。しかし、タネンバウムは次のように語った。
プロセスモデルを実装するために、オペレーティングシステムは次のテーブル(構造配列)を維持します。プロセステーブル、プロセスごとに1つのアイテムです。 (一部の著者はこの項目をプロセス制御ブロック.)
後で、Tanenbaumはプロセスのコンテキストがスタックに保存されると述べた。明らかに、プロセステーブルとスタックは異なる獣ですが、今は混乱しています。スタックとプロセステーブルの関係は何ですか?
答え1
Tanenbaumは、プロセスに関する情報を保存する2つの一般的な方法があると簡単に言いました。特定のオペレーティングシステムがこれを行うように選択する方法(一部のカーネルスタックまたはテーブル/配列)は、オペレーティングシステムの設計者が利用できる数多くの自由の1つです。
オペレーティングシステムの設計者は電話する必要もありません。プロセス制御ブロック。