0

プロセススイッチがあり、新しいプロセスのページテーブルとページディレクトリを使用する必要がある場合、カーネルはどこから新しいプロセスのページディレクトリの場所を知るようになりますか?

新しいプロセスのページディレクトリが物理メモリに保存されていることを知っています。しかし、カーネルはどのようにしてそれを見つける場所を知るのでしょうか?

4

1 に答える 1

1

通常、カーネルはシステム上の各プロセスを記述する状態の構造を保持します。その構造のどこかに、プロセスの「ルート」ページテーブルのアドレスがあります。x86マシンでは、新しいページテーブルに切り替えるために、これをCR3レジスタに格納する必要があります。このレジスタは、CPU状態の束を保存/復元する大規模な操作の副作用として暗黙的に保存および復元される場合もあれば、この値がカーネルによって明示的に管理される場合もあります。

于 2012-03-28T00:32:18.847 に答える