デマンドページングでは、データはディスクからメインメモリにコピーされますか、それともメインメモリに転送され、ディスクに何も残されませんか?
2 に答える
何も「動かされない」。データは、一度に1か所にしか配置できない1枚の紙ではありません。それはメモリにコピーされ、その後もディスク上にあります。ディスク上でそれを消去することは、それを異なるデータで上書きすることを意味し、読み取りを行った後に追加の時間がかかります。
もちろん、システムはスワップのどの部分がまだ有効で必要なデータであり、どの部分が「未使用」と見なされるかを認識しているため、最終的には上書きされる可能性があります。
実際には上記のどれも。従来、プロセスとファイルは、要求されるたびにその内容がメモリにコピーされていました。ただし、デマンドページングでは、これは当てはまりません。ファイルをメモリにロードするように要求されると、オペレーティングシステムは、そのファイルがプロセスの仮想アドレス空間内にある場所をマークしますが、実際にはメモリを割り当てたり、ファイルをコピーしたりしません。プロセスがメモリのその領域に対して読み取りまたは書き込みを行うとすぐに、プロセッサはオペレーティングシステムがトラップする障害をスローします。次に、オペレーティングシステムは、ファイルの内容をページのみにコピーします。それから。これには、実際にアクセスされるページのみが割り当てられるため、メモリを節約する効果があります。これは、ヒープ割り当てにも当てはまります。プログラムがメモリの大きなブロックを要求した場合、プログラムがそのメモリを使用するまで、実際には割り当てられません。