0

計算上のオーバーヘッドが原因で、真の LRU が仮想メモリ システムに実装されていないことを知りました。では、なぜ LRU アルゴリズムがファイル キャッシュで実行可能なのでしょうか?

理由は、inodeの時間フィールドである可能性があると思います。あれは正しいですか?

4

1 に答える 1

3

それは速度についてです。

仮想メモリのステータス ビットはナノ秒単位で更新する必要があるため、ハードウェア サポートが必要であり、LRU のステータス情報をハードウェアに実装するにはコストがかかります。たとえば、クロック アルゴリズムは、より安価なハードウェア サポートで LRU を概算するように設計されています。

ファイル システムの操作はミリ秒単位です。CPU は、この時間のごくわずかな時間でソフトウェアで LRU を実行できます。ミリ秒は、CPU の観点から見ると非常に「遅い」(190,000 命令) ため、少数のキャッシュ ミスを防ぐだけで大きな効果が得られます。

于 2013-04-22T02:54:49.460 に答える