处理器中的内存管理单元

1 内存管理单元

1.1 内存管理单元的概念

内存管理单元(MMU):

  • 现代处理器中对内存进行高效管理的功能单元。
  • 操作系统利用内存管理单元能够实现:
    • 虚拟内存
    • 内存保护

2 虚拟内存

2.1 有意思的问题

处理器中的内存管理单元
理论上,不同进程在内存中的不同位置执行;因此,全局变量的地址不同。
处理器中的内存管理单元
经常被遗忘的事实:

  • 应用程序开发时,面对的内存为虚拟内存。
  • 虚拟内存模式下使用的内存地址为虚拟地址。
  • 每一个进程拥有独立私有的虚拟地址空间。
  • 虚拟内存与实际物理内存无关,是一个假想的足够大的内存。

2.2 虚拟内存的意义

思考:内存需求总量为1G的应用程序是否能够运行于硬件内存为256M的计算机?

虚拟内存能够支持多个大内存需求量的进程同时运行于较小的物理内存中。
处理器中的内存管理单元

2.3 虚拟内存的机制

虚拟内存的机制如下:

  • 虚拟内存需要 重新映射到物理内存。
  • 虚拟地址映射到物理内存中的实地址。
  • 每次只有进程的少量代码在物理内存中运行。
  • 大部分进程代码位于存储器中。

3 页式内存管理

3.1 页式内存管理

页式内存管理的概念:

  • 页是内存单位,指一定数量的内存(如:4K)。
  • 虚拟内存和物理内存以页为单位管理。
  • 进程的活动页被载入内存时,记录页地址的映射关系。

处理器中的内存管理单元

3.2 页式内存管理的具体实现

页式管理法将内存分为两个部分:(p,d)

  • p:地址高位,页面号
  • d:地址地位,页内偏移量
    处理器中的内存管理单元
    举例:
    处理器中的内存管理单元

3.3 页式管理内存访问内存的流程

处理器中的内存管理单元


参考资料:

  1. 嵌入式操作系统原理课