Unified Buffer Cache

21世紀も始まってだいぶになるし Page Cache と Buffer Cache が異なる OS なんて絶滅しただろ、と思ってたんだけどなぁ。

HP-UX continues to store file data in both the buffer cache and the page cache, though it does avoid the extra of copying of data that is present in pre-UBC NetBSD by reading data from disk directly into the page cache. The reasoning behind this is apparently that most files are only accessed by either read()/write() or mmap(), but not both, so as long as both mechanisms perform well individually, there's no need to redesign HP-UX just to fix the coherency issue. There is some attempt made to avoid incoherency between the two caches, but locking constraints prevent this from being completely effective.

Freenix 2000 USENIX Annual Technical Conference Paper

Q4M (の mmap サポート) は Unified Buffer Cache 前提のコードになっていますorz*1

13:21 追記: HP-UX 11i v3 から両キャッシュが統合されたらしいです*2 (参考: http://docs.hp.com/ja/5991-6470/ch06s16.html)

*1:mmap オプションを使わない限り問題はありませんが

*2:はてなブックマーク - mitsuki_engawaのブックマーク / 2008年9月29日 < ありがとうございます