进程的总体目的是希望每个进程从逻辑上都是可以独占计算机的资源,操作系统所支持的多任务功能保证了各个进程可以很好地共享CPU资源,而操作系统的IO抽象模型实现了设备的共享,所有剩下的唯一问题就是内存的分配问题。在我们编写小程序的时候就已经体验过程序所申请的内存空间过大导致程序崩溃甚至电脑死机这样的问题,比如在使用高维数组时,当维数过高并且每一维长度过大时就会导致程序崩溃。在早期的计算机中,程序是直接运行在物理内存上的,也就是说程序在运行时访问的地址都是物理地址,而面临多道程序,分时系统和多任务是,CPU的利用率会比较高,很明显的一个问题就是如何将有限的物理地址分配给多个程序使用。