On x86 machines, Windows chooses a page size of 4KB because that was the only page size supported by that architecture at the time the operating system was designed. (4MB pages were added to the CPU later, in the Pentium as I recall, but clearly that is too large for everyday use.)
For the ia64, Windows chose a page size of 8KB. Why 8KB?
It’s a balance between two competing objectives. Large page sizes allow more efficient I/O since you are reading twice as much data at one go. However large page sizes also increase the likelihood that the extra I/O you perform is wasted because of poor locality.
Experiments were run on the ia64 with various page sizes (even with 64KB pages, which were seriously considered at one point), and 8KB provided the best balance.
Note that changing the page size creates all sorts of problems for compatibility. There are large numbers of programs out there that blindly assume that the page size is 4KB. Boy are they in for a surprise.
0 comments