一个虚拟内存系统要求硬件和内核软件之间的紧密协作。版本与版本之间的细节都不尽相同。
Linux为每个进程维护了一个单独的虚拟地址空间,包括它那些熟悉的代码,数据,堆,共享库以及栈段。
内核虚拟内存包含内核中的代码和数据结构。
Linux通过虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟内存区域的内容,这个过程称为内存映射。
虚拟内存可以映射到两种类型的对象中
1)Linux文件系统中的普通文件:一个区域可以映射到另外一个普通磁盘文件的连续部分。
2)匿名文件:一个区域也可以映射到一个匿名文件,匿名文件是由内核创建的。