正文
1. 分页原理
将一个进程的地址空间划分成若干个大小相等的区域,称为页。响应地,将主存空间划分成语页相同大小的若干个物理块,称为块或页框。在为进程分配主存时,将进程中若干页分别装入多个不相邻接的块中。
2. 页表
当进程的多个页面离散地分配到主存的多个物理块时,系统应能保证在主存中找到进程要访问的页面所对应的物理块。为此,系统为每个进程建立了一张页面映射表,简称页表(如下图所示)。每个页表中占一个表项,记录该页在主存中对应的物理块号。
页式存储管理的地址映射
例如,进程在执行时,系统通过查找页表就可以找到每页所对应的物理块号。图中逻辑号为 4,查找页表可得该页的物理块号为 15,与页内地址 256 拼接得到物理地址。可见,页表的作用是实现从页号到物理块号的地址映射。
3. 虚拟存储器
如果一个作业只部分装入主存便可开始启动运行,其余部分暂时留在磁盘上,在需要时再装入主存,这样可以有效地利用主存空间。从用户角度看,该系统所具有的主存容量将比实际主存容量大得多,人们把这样的存储器称为虚拟存储器。虚拟存储器是为了扩大主存容量而采用的一种设计方法,其容量是由计算机的地址结构决定的。
4. 程序局部性原理
程序的局限性表现在时间局限性和空间局限性两个方面。
- 时间局限性是指如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则不久以后该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。
- 空间局限性是指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型原因为程序是顺序执行的。