- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:基本情報技術者 ページング、ページテーブルについて)
基本情報技術者 ページング、ページテーブルについて
このQ&Aのポイント
- 基本情報技術者の受験対策として、ページングとページテーブルの関係がわからない疑問が生じました。
- 「小容量のメモリで実行する方法」において、教科書ではページングが説明されており、ページテーブルが仮想記憶と主記憶の対応表として存在することが説明されています。
- しかし、具体的にページテーブルがコンピュータ上のどの部分に存在するのかが分からず、質問させていただきました。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
主記憶にあったり、補助記憶にあったりします。 というのは、最近のいわゆるマルチタスクOSでは、 複数のタスクを独立したアドレス空間上で実行させるために、 タスクごとにページテーブルを持っているためで、 実行中のタスクのページテーブルは必ず主記憶上にあります。 それはMMU(Memory Management Unit)がページテーブルの所在を 管理しており、その所在を(主記憶上の)アドレスで教えてあげる 必要があるためです。 逆に実行状態でないプロセスのページテーブルに関しては主記憶上にあっても 補助記憶にあっても構いません。 これはプロセスが実行状態に遷移する(コンテキストスイッチの)タイミングで 該当ページテーブルが確実に主記憶上にロードされていればそれで不都合がないためです。 で、ロードした後にそのロード先アドレスをMMUに伝えれば良いわけです。 パフォーマンス重視で全プロセスのページテーブルを主記憶に置くOSもあれば、 メモリ消費量節約のために、その時に使わないページテーブルは補助記憶に退避しておくOSもあるかと思います。
お礼
回答していただいたのにお礼が遅れてしまい 申し訳ありません。 丁寧に解説していただきありがとうございます。 貴重な時間をさいての回答、ありがとうございました。