内存管理单元简要介绍

来源:互联网 发布:工业用电量数据 编辑:程序博客网 时间:2024/05/17 07:12

1 内存管理单元(MMU)基本概念

  • 现代处理器中对内存进行高效管理的功能单元
  • 操作系统利用内存管理单元能够实现
    • 虚拟内存
    • 内存保护
  • 在嵌入式系统中通常不会使用虚拟内存这一功能,因为它会使操作系统的实时性更具不确定性。还有另一个原因就是,嵌入式系统的外部存储空间通常很小,且没有硬盘空间用做交换分区。

2 有意思的问题

这里写图片描述

这里写图片描述

理论上,不同进程在内存中的不同位置执行;因此,全局变量的地址不同。实际上,物理地址不同,虚拟地址却是相同的。

经常被遗忘的事实

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

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

3 虚拟内存的意义

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

这里写图片描述

4 虚拟内存机制

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

5 页式内存管理

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

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

    • p-地址高位,页面号
    • d-地址低位,页内偏移量
      这里写图片描述

页式内存管理示意图

这里写图片描述

页式内存管理流程图

这里写图片描述

思考一下:以下几种方式为什么能够提高电脑性能?

  • 更换主频更高的处理器(同系列)
  • 增加物理内存大小
  • 更换SSD固态硬盘

修改记录


时间 动作 2017.6.6 首次上传

参考资料


唐老师 — 狄泰软件学院 — 十二月提升计划

李云 — 《专业嵌入式软件开发 全面走向高质量编程》

原创粉丝点击