对实际普通进程而言,它是运行在连续虚拟内存空间上的,但这在实际环境中所有的进程都运行在连续且很大的内存空间上是不现实的,所以MMU就起到了分隔进程内存空间,进行内存虚拟空间和实体物理内存空间映射转换的作用。这样的作用是动态的,进程无关的。所以大多数情况下,你不需要了解具体如何运作。
你所谓申请大的缓冲,一次性写入数据,这个我想你只要不太过份(比如过份的完成超过实体物理空间大小),一般都没有问题。
对于这种有超级多数据处理的程序,一般人其实用不到的,我想你大多数时候也用不到(比如必须使用外排序的大量数据运算)。