1.虚拟存储器是一个抽象概念,它为每一个进程提供了一个假象,好像每个进程都在独占的使用主存。
每个进程看到的存储器区是一致的,称之为虚拟地址空间。
2.每个进程看到得虚拟地址空间由大量准确定义的区(area)构成,每个区都有专门的功能。
3.当进程创建时,每个进程都会有一个自己的 4GB 虚拟地址空间。要注意的是这个 4GB 的地址空间是“虚拟”的,
并不是真实存在的.
4.而且每个进程只能访问自己虚拟地址空间中的数据,无法访问别的进程中的数据,通过这种方法实现了进程间的地址隔离。
5.32位机器,每个程序有4G的虚拟地址空间。大致分为4块,从低地址到高地址依次是:NULL区,用户区,隔离区,核心区。
6.用户私有的数据都在用户区,系统内核等东西都在核心区。
7.总体来说,A进程的虚拟地址空间中的内容和B进程相比,只有各自的用户区不一致。
8.malloc 分配的内存区域完全归调用进程所有,其他进程不可见,