Tanenbaum の「Modern Operating Systems」の本を読んでいて、本の次の段落を読んだところです。
プロセスが開始されると、そのページ テーブル エントリはすべてメモリ内にないとマークされます。ページが参照されるとすぐに、ページ フォールトが発生します。次に、オペレーティング システムは R ビットを (内部テーブルで) セットし、ページ テーブル エントリを正しいページを指すように変更し、モードは READ ONLY で、命令を再開します。その後ページが変更されると、別のページ フォールトが発生し、オペレーティング システムが M ビットを設定して、ページのモードを READ/WRITE に変更できるようになります。
私にとっては非常に非効率なようです。彼は、プロセスが開始されると多くのページ フォールトが発生し、命令が実行されると実際のメモリがいっぱいになることを示唆しています。
少なくともプロセスのテキストは、命令の実行ごとに (命令の実行ごとにページ フォールトが発生して) 置かれるのではなく、最初にメモリに置かれる方が論理的に思えます。
この本で説明されているこの方法の利点を誰か説明してもらえますか?