基本思路

「虚拟存储器」是一种存储管理手段。虚拟存储器是指在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,为用户提供一个比物理内存容量大得多的,可寻址的一种“内存储器”。

实存管理需要将作业一次全部内存方能运行,使作业的大小受到内存的极大限制。解决方法有两种。一种是物理上增加主存:硬件成本增加,并且往往受计算机系统本身的限制。 另一种就是逻辑上扩充主存:虚拟存储技术 。

考虑到程序运行局部性,一个作业在运行之前,没有必要全部装入内存,而仅需将那些当前要运行的部分指令和数据,先装入内存即可启动运行。

在程序执行过程中,如果需要的指令和数据不在内存中,则由 CPU 通知 OS 将相应的调入到内存,然后继续执行。另一方面,OS 将内存中暂时不使用的页或段调出,保存在外存上,以腾出较多的内存。从用户角度看,该系统具有的容量,将比实际的内存容量大得多。

img-2024-04-24 19-00-43.png

实现虚拟存储器需要解决三个问题

  • 内存外存统一管理问题
  • 逻辑地址等物理地址的转换问题
  • 部分装入和部分兑换问题。

具体如何进行页面的管理,则由页面管理策略负责