5

Intel アーキテクチャのマニュアルによると、メモリ ページに対する最初の書き込みアクセスがあると、CPU はページ テーブル エントリのダーティ ビットを設定します。この問題に関して質問があります。

1. The 'dirty bit' in this context is used for guaranteeing the correctness of disk swapping in, out of memory pages. is this correct?
2. Is this automatically performed by the hardware? or is this an implementation of operating system?
3. If it is automatically performed by the hardware, is there any noteworthy difference compared to the usual memory updates which are performed by software instructions?

前もって感謝します。

4

1 に答える 1

5

1このコンテキストでの「ダーティ ビット」は、メモリ ページからのディスク スワップの正確性を保証するために使用されます。これは正しいです?

ページング サポートのこのハードウェア部分。このビットは、OS がどのページをディスクにダンプする必要があるかを非常に高速かつ効率的に判断するのに役立ちます。メモリ ページがディスクにページ アウトし、ページ ファイルに既に割り当てられたスペースがある場合、このフラグがクリアされていると、このページをディスクにダンプできないためです。これは、OS がページングでこのフラグを使用する方法の単なる例です。

2これはハードウェアによって自動的に実行されますか? またはこれはオペレーティングシステムの実装ですか?

ソフトウェアはこのフラグをクリアします。ハードウェアは次のフラグを設定します。

3.7.6 ページ ディレクトリとページ テーブル エントリ

ダーティ (D) フラグ、ビット 6

セット時にページが書き込まれたかどうかを示します。(このフラグは、ページ テーブルを指すページ ディレクトリ エントリでは使用されません。) 通常、メモリ管理ソフトウェアは、ページが最初に物理メモリに読み込まれるときに、このフラグをクリアします。次に、プロセッサは、書き込み操作のためにページが初めてアクセスされたときに、このフラグを設定します。

.

3ハードウェアによって自動的に実行される場合、ソフトウェア命令によって実行される通常のメモリ更新と比較して、注目に値する違いはありますか?

それらには LOCK セマンティクスとアトミックがあります。

于 2014-04-01T09:42:20.627 に答える