キャッシュの相互関係

ローカルディスク用のファイルシステムでの場合、ディレクトリエントリキャッシュ, iノードキャッシュは、バッファキャッシュの上に位置している。 ディスク上のiノード情報をアクセスするにはまずバッファキャッシュ上に読み込み、そのうち必要なデータをiノードキャッシュ上にコピーし、アクセスする。

linuxはバッファキャッシュとページキャッシュという大きなデータキャッシュを持っているが、双方は別のパスで動作するため、双方のキャッシュの整合性がとれなくなる可能性がある。そのため、現在のlinuxではバッファキャッシュとページキャッシュの更新処理時にキャッシュ間のデータコピーを行うことでその問題を回避している。

共有モードでmmapしたファイルでもローカルディスクをアクセスする場合は同じパスを経由する。

ただし, swap処理だけはページキャッシュ経由で直接READ/WRITE I/Oを発行している.

img30.gif

(NIS)HirokazuTakahashi
2000年06月11日 (日) 22時29分57秒 JST
1