详细讲解MMU——为什么嵌入式 linux 没他不行?
💡
原文中文,约2200字,阅读约需6分钟。
📝
内容提要
MMU是硬件模块,用于实现虚拟内存管理,转换虚拟地址为物理地址,提供访问权限控制和缓存管理。它通过页面表实现内存管理和保护,提高系统安全性和效率。MMU还可以实现页共享,减少物理内存使用。相同的虚拟地址空间在不同进程中映射到不同物理地址,由MMU完成。没有MMU的SOC可以运行RTOS。
🎯
关键要点
- MMU(内存管理单元)是实现虚拟内存管理的关键硬件模块。
- MMU的主要任务是将虚拟地址转换为物理地址,并提供内存访问权限控制和缓存管理。
- MMU通过页面表实现内存管理和保护,提高系统安全性和效率。
- MMU可以实现页共享,减少物理内存使用。
- 没有MMU的系统只能使用固定的物理地址,可能导致系统崩溃。
- 有了MMU,程序访问的是虚拟地址,MMU负责将其映射到物理地址,增强了系统安全性。
- 相同的虚拟地址空间在不同进程中映射到不同物理地址,MMU保护进程间内存互不干扰。
- 页表用于存储虚拟内存地址与物理内存地址的映射关系。
- RTOS可以在没有MMU的系统上运行,因为其不需要复杂的内存保护和虚拟地址映射。
➡️