1

ダーティ ページの書き戻しについて質問があります。ページ データの一部が変更された場合、書き戻しはページ全体をディスクに書き込みますか、それともデータが変更されたページの一部のみを書き込みますか?

4

2 に答える 2

3

x86 システムのメモリ管理ハードウェアの粒度は 4096 バイトです。つまり、4096 バイトのページのどのバイトが実際に変更され、どのバイトが変更されていないかを確認することはできません。

理論的には、ディスク ドライバ システムは、バイトが変更されたかどうかをチェックし、変更されていない 512 バイト ブロックを書き込むことはできません。

ただし、これは、ブロックがディスク キャッシュ メモリに存在しない場合、ページをハード ディスクから読み取って、書き込む前に変更されているかどうかを確認する必要があることを意味します。

ディスクからページを読み取るには時間がかかりすぎるため、Linux がそのような方法でこれを行うとは思いません。

于 2013-09-27T06:55:45.153 に答える