これが私の最初の質問です。論外かどうかはわかりません。
独学中に、オペレーティング システムに関する次の記述を見つけました。
メモリ マップ ファイルを許可するオペレーティング システムでは、常にファイルをページ境界にマップする必要があります。たとえば、4 KB ページの場合、ファイルは仮想アドレス 4096 から始まるようにマップできますが、仮想アドレス 5000 から始まることはできません。
この声明は、次のように説明されています。
ファイルをページの中央にマップできる場合、1 つの仮想ページをマップするには、ディスク上に 2 つの部分ページが必要になります。特に最初のページは、スクラッチ ページとファイル ページにマッピングされます。そのためのページ フォールトの処理は、データのコピーを必要とする、複雑で費用のかかる操作になります。また、ページの未使用部分への参照をトラップする方法もありません。これらの理由から、それは避けられます。
この答えを理解するために助けを求めたいと思います。特に、「単一の仮想ページをマップするには、ディスク上に 2 つの部分ページが必要になる」とはどういう意味ですか? メモリ マップト ファイルについて調べたところ、仮想ページはページング ファイルではなく、ディスク上のファイルにマップされます。これが「部分ページ」の意味ですか?
また、ここでの「スクラッチ ページ」とはどういう意味ですか? この用語を書籍 (Tanenbaum の「Modern Operating Systems」および「Structured Computer Organization」) や Web で調べてみましたが、見つかりませんでした。