"When the kernel executes a program, it must retrieve the code
from disk, which it normally does by demand paging it in as
required by the execution path. If the kernel could somehow know
which pages would be needed, it could page them in more
efficiently. Andi Kleen has posted an experimental set of patches
that do just that.
"Programs do not know about their layout on disk, nor is their
path through the executable file optimized to reduce seeking, but
with some information about which pages will be needed, the kernel
can optimize the disk accesses. If one were to gather a list of the
pages that get faulted in as a program runs, that information could
be saved for future runs. It could then be turned into a bitmap
indicating which of the pages should be prefetched..."