内存(RAM)是计算机中一种需要认真管理的重要资源。
经过多年探索,提出“分层存储器体系(memory hierarchy)"概念,即:在这个体系中,计算机有若干兆(MB)快速、昂贵且易失性的高速缓存(cache),数千兆(GB)速度与价格适中且同样易失性的内存,以及几兆兆(TB)低速、廉价、非易失性的磁盘存储,另外还有诸如DVD和USB等可移动存储装置。
操作系统中管理分层存储器体系的部分称为存储管理器(memory manager),可以有效的管理内存。
地址空间:
由于将物理地址暴露给进程会带来很严重的问题:
1.如果用户程序可以寻址内存的每个字节,它们就很容易的破坏操作系统,导致系统慢慢停止运行(除非有特殊的硬件进行保护,例如IBM360的锁键模式)。
2.使用这种模型,想要同时(如果只有一个CPU就轮流执行)运行多个程序是很困难的。
因此为了解决保护和重定位两个问题,更好的办法创造一个新的内存抽象:地址空间。
地址空间是一个进程可用于寻址内存的一套地址集合,每个进程都有一个自己的地址空间,并且这个地址空间独立于其他进程的地址空间(除了在一些特殊情况下进程需要共享它们的地址空间外)。
比较难的是给每个程序一个自己的地址空间,使得一个程序中的地址36所对应的物理地址与另一个程序中的地址36所对应的物理地址不同。于是就提出了基址寄存器和界限寄存器解决问题。
当使