Xen的内存管理机制,系统软件的内存管理机制通常与处理器的体系结构息息相关,X86体系结构中,页表(Page Table)的填充由操作系统完成,而内存管理单元(MMU)在TLB(transaltion lookside buffer)缺失的情况下会自动遍历页表。而某些体系结构中缺失TLB的情况下不会自动遍历页表。本文主要针对半虚拟化的guest OS 系统进行讨论。
X86系列处理器从80286开始引入“保护模式”,它利用分段模式实现内存的隔离和保护,在此基础上稍后的处理器有增加了分页模式,这种分段和分页共存的模式,逐渐被分页模式所替代,AMD已经将分段模式从X86体系结构中去除。
段保护模式(segment protection)
每个段都有自身的访问控制权限的标识,用来标识该段的读、写或者执行所需的权限。代码段通常被标记为可读和可执行,而数据段通常标记为可读和可写。内存段属于处理段内存管理,而要实现细密度的内存管理就必须是页表来实现。
伪物理地址模型(Pseudo-Physical Memory Model)
操作系统很早就引入了虚拟内存这一概念,大多数情况下:virtual memory指的是那些磁盘中分配的页面,与之相反的protected memory 才是通常意义的虚拟内存。
具有protected memory的操作系统中,每个进程都有自己的虚拟地址空间,因此,从应用程序角度来看,他可以访问整个内存空间。在Xen中Hypervisor必须完成操作系统的工作,及一个用户进程必须经过两次映射才能真正转化成实际的物理地址。
其实这种3层地址空间并不是必须,也可以让个内核之接访问物理地址空间&#x
Xen的内存管理
最新推荐文章于 2023-06-11 00:57:01 发布
本文探讨了Xen的内存管理,特别是在半虚拟化guest OS中的应用。X86体系结构中的页表和MMU在内存管理中的角色,以及Xen如何通过伪物理地址模型、32位X86系统的分段模式、Xen Memory Assist和Ballon Driver来实现内存隔离和资源控制。此外,还介绍了domain的挂起、恢复和迁移过程中的内存管理挑战。
摘要由CSDN通过智能技术生成