0

あるプロセスから別のプロセスに CPU を切り替えるには、現在のプロセスのアドレス空間を保持する必要があるという Galvin の本を読みました。このアドレス空間を保持する必要があるのはなぜですか?

4

1 に答える 1

0

アドレス空間によって、コンテキストスイッチがあるときに、プロセスのページテーブルを保存する必要がある理由を尋ねようとしていると思います。

プロセスがコンテキスト スイッチされると、仮想ページ 100 が物理ページ 400 にマップされると想像してください。この情報は、このプロセスに対応するページ テーブルに保存されます。コンテキスト スイッチが行われたときにこのテーブルが保存されない場合、次回このプロセスがページ テーブルを保存すると、仮想アドレスから物理アドレスへのマッピングに関する情報が得られます。

実際には、コンテキスト スイッチが発生すると、x86 のレジスタ (cr3) がページ テーブルへのポインターを保持し、コンテキスト スイッチが発生したときにこれが新しいテーブルを指すため、新しいプロセスの仮想から物理へのマッピングが行われます。アドレス変換を行う際に利用できます。

于 2012-08-28T05:35:07.723 に答える