内存管理:详解虚拟地址空间-MMU
💡
原文中文,约4200字,阅读约需10分钟。
📝
内容提要
虚拟内存是在物理内存不足时使用硬盘空间的一种机制。虚拟地址空间是加载程序数据的抽象概念,由内存区域表管理。内存管理单元(MMU)负责虚拟内存到物理内存的映射,页表和TLB是重要组成部分。用户空间与内核通信方式包括系统调用、共享映射区、驱动程序和数据拷贝操作。
🎯
关键要点
- 虚拟内存是物理内存不足时使用硬盘空间的机制。
- 虚拟内存的效率低于物理内存,且数据在断电后会丢失。
- 虚拟地址空间用于加载程序数据,操作系统决定其大小。
- 每个进程的虚拟地址由内存区域表管理,使用页表映射到物理内存。
- 内核使用896M虚拟地址直接映射,用户区和内核区分开。
- 虚拟地址空间分为多个区块,包括保留区、代码段、数据段、未初始化段、堆、栈等。
- 内存管理单元(MMU)负责虚拟内存到物理内存的映射,采用分页机制。
- 页表实现逻辑地址到物理地址的转换,TLB快表提高地址转换效率。
- 内存保护机制通过设置访问权限来控制内存访问。
- 用户空间与内核通信的方式包括系统调用、共享映射区、驱动程序和数据拷贝操作。
➡️