但是, 当允许同时运行多个进程的时候, 就出现了新的问题, 内存.
内存映射方法
假设你现在共有内存128m, 程序 A 运行需要100m, 程序 B 需要10m....不可同时运行总内存超出128m 的程序.
等等吧
于是衍生成了虚拟内存的技术, 虚拟内存将内存存储在磁盘中, 待到需要的时候再读取到物理内存中....进程能够看到的仍然只有虚拟内存, 不过, 操作系统将虚拟内存按照4k(比如) 的大小分成了很多块, 每一块称为一页....另外这种虚拟内存到物理内存转换, 是可以通过硬件支持的, 及内存管理单元MMU. CPU 将虚拟地址, 通过MMU转换后, 得到物理地址进行访问....因为有了虚拟内存的存在, 才可以在一个物理内存128m 的机器上, 运行需要内存200m 的进程, 虽然相比直接运行在物理内存上, 速度上要有一些牺牲. 在32位机器上, 虚拟内存最大为4G.