This is slightly OT, but I always wondered: what is the overhead of fetching cached stuff from the file system vs. having a built-in cache? Is there a way to circumvent going through the kernel and avoid a context switch?
In other words: could a database have only minimal built-in caching and instead rely on the OS cache?