- A+
所属分类:linux技术
MMU(内存管理单元)如何将虚拟地址转换为物理地址
什么是MMU?
MMU是“Memory Management Unit”的缩写,中文名是内存管理单元。
MMU是现代计算机操作系统中的一个重要组成部分,其主要功能是将虚拟地址转换为物理地址。通过MMU,可以实现虚拟内存管理、内存保护、内存共享等功能,从而提高系统的稳定性和安全性。MMU通过页面表(Page Table)实现虚拟内存管理,页面表记录了每个虚拟页面和其对应的物理页面之间的映射关系。这样,当CPU发出一个虚拟地址时,MMU可以通过页面表查找并将其转换为对应的物理地址。此外,MMU还可以通过页面表实现内存保护和共享等功能,例如标记某些内存区域为只读或禁止访问,以确保程序不会意外地修改关键数据或访问不允许的内存区域。MMU是CPU中用来管理虚拟存储器和物理存储器的控制线路,它位于CPU和内存之间,负责处理程序发出的内存访问请求,并将逻辑地址转换为物理地址,实现对内存的管理和保护。总的来说,MMU是现代计算机系统中不可或缺的一部分,它通过硬件机制确保了内存访问的安全性和效率。
虚拟地址到物理地址的转换
虚拟地址的产生:
MMU中的转换:
MMU的转换分为两部分,分段机制和分页机制,如果没有打开分页机制的话,默认就是分段机制,则得出的线性地址就是物理地址。如果打开了分页机制,就需要引入页表的概念
分页机制
分页,其实就是把虚拟地址空间划分成为若干个大小相等的页,随后由操作系统为这些虚拟内存页分配真实的物理内存页,它查找物理内存中可用的页,然后在页表中登记这些物理页地址,这样就完成了虚拟页到物理页的映射。