虚拟内存技术允许将一个作业分多次调入内存。采用连续分配方式时,会使相当一部分内存空间处于暂时或永久性 “空闲状态",造成内存资源的严重浪费,而且也无法从逻辑上扩大内存容量。因此虚拟内存的实现需要建立在离散分配的内存管理方式基础上。

虚拟内存的实现有一下三种方式:

  • 请求分页式存储管理。
  • 请求分段式存储管理。
  • 请求段页式存储管理。

不管哪种方式,都需要一定的硬件支持。一般需要的支持有以下几个方面:

  • 一定容量的内存和外存。
  • 页表机制(或段表机制),作为主要的数据结构。
  • 中断机构,当用户要访问到的部分尚未调入内存时,则产生缺页中断。
  • 地址变换机构,逻辑地址到物理地址的变换。

请求分页系统中的地址变换机构

王道408操作系统:虚拟内存技术的实现_请求分页