How can I get read-ahead bytes?
- by Bruno Martinez
Operating systems read from disk more than what a program actually requests, because a program is likely to need nearby information in the future.  In my application, when I fetch an item from disk, I would like to show an interval of information around the element.  There's a trade off between how much information I request and show, and speed.  However, since the OS already reads more than what I requested, accessing these bytes already in memory is free.  What API can I use to find out what's in the OS caches?
Alternatively, I could use memory mapped files.  In that case, the problem reduces to finding out whether a page is swapped to disk or not.  Can this be done in any common OS?