Besides, the reason why fc.exe has no trouble memory mapping a 19GB file under a 32 bit OS is that it doesn't. fc.exe reads one line at a time from a stream. Mapping something larger than the available address space in a single mapping is simply not possible, that has nothing to do with Windows, it would equally fail under OpenSuSE 32.
But, as oBFusCATed pointed out... wrong place to ask here.