So I don't really agree. I think a program can provide enough hints to a kernel to let the kernel do all the real work. IE: Moving commonly read data to a certain part of a file. Again, similar to x86 optimization.
Seriously, do you really want/expect a database system to move gigabytes or terrabytes of data around just to keep the kernel happy?