linuxはバッファキャッシュとページキャッシュという大きなデータキャッシュを持つ。
通常のファイルデータのアクセスはページキャッシュを通して行われる。
ローカルディスク用のファイルシステムでの場合、ディレクトリエントリキャッシュ, iノードキャッシュは、バッファキャッシュの上に位置している。 ディスク上のiノード情報をアクセスするにはまずバッファキャッシュ上に読み込み、そのうち必要なデータをiノードキャッシュ上にコピーし、アクセスする。
参考 v2.2では、read処理はページキャッシュであったがwrite処理はバッファキャッシュ経由であったため、二つのデータキャッシュを持っているが、整合性がとる必要があり、バッファキャッシュとページキャッシュの更新処理時にキャッシュ間のデータコピーを行うことでその問題を回避していた。
(NIS)HirokazuTakahashi
2000年12月09日 (土) 23時55分06秒 JST1