dtgreene: ...Linux uses as much memory as it can to cache disk reads so that it doesn't have to keep reading from disk, whereas Windows XP does not, leaving lots of RAM completely unused (and hence wasted). So I can say that, at the time Windows XP was popular, it was years behind Linux in this respect.
If by "aggressive caching" you mean reading in data from disk before any request has been made to access it, then yes XP doesn't do that.
But I'd argue that is a good thing.
Bear in mind that caching data only provides a benefit if that data is accessed
more than once. If the data is accessed once only, you have an (arguably small) performance loss since you've (a) spent time on the initial data read; (b) spent time checking cache indexes for that data and then retrieving it and (c) used memory to hold that data when it could have been put to other use (more of an opportunity cost). Without caching, you incur overhead (a) only.
So to get a performance benefit, cached data needs to be accessed twice or more.
With "aggressive caching", there's a good chance that you will have cached data that is never subsequently accessed. Even if the OS caching routine is able to perfectly predict your data requests you will, at best, equal the performance gain of standard caching (there may be an
appearance of a performance gain, since the initial data read from disk may happen during idle time or when you otherwise don't notice, but empirically the increased overhead of excessive caching still exists).
A more legitimate criticism of XP's caching in my view is lack of user control - you can't set the amount of caching and you can't restrict it by volume (so ramdisks get cached, a "well-duh" decision if ever there was one).
dtgreene: Linux's tmpfs filesystem can be seen as sort of a hybrid approach as well. Files in tmpfs are normally stored in the filesystem cache, but it's possible for them to be evicted and swapped to the swap partition/file if the RAM is needed for something else.
Interesting info on tmpfs - is that subject to any caching?