b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

关于Xen和准虚拟化技术(2)

电脑杂谈  发布时间:2020-09-09 13:10:13  来源:网络整理

上面已经多次提到了从虚拟地址到物理地址的三层地址转换。这是什么机制?

在传统系统中,MMU完成虚拟地址到物理地址的转换。操作系统的操作需要一个连续的物理地址,该地址用于映射虚拟地址。但是在Xen中,多个来宾共享整个计算机的物理地址。因此,Xen需要让所有操作系统看到自己的连续物理地址。因此Xen在虚拟地址和机器地址之间引入了中间地址层-客户物理地址。这使来宾OS感觉其物理地址是从0开始的连续地址,但是Xen实际上将中间地址的这一层映射到机器地址,但是它可以是不连续的。这样可以确保将所有物理内存分配给不同的Guest OS。下图是三层地址转换图。

在内存虚拟化中,另一个非常重要的方面是内存分配。在物理内存的管理中,Xen引入了VMware最初采用的气球驱动器模型来调整分配给每个域的物理内存。

气球驱动程序可以用作在来宾OS(域)中运行的驱动程序,并且来宾OS通过该驱动程序与Xen通信。当域需要更多内存时,它将通过气球状驱动程序向Xen提交内存请求。 Xen可以对气球驱动程序进行解压缩,以便将气球驱动程序占用的部分可用内存或通过气球驱动程序从其他域回收的内存分配给提交。请求的域。如果Xen的可用可用内存太低,并且有必要从域中回收部分已占用的内存,则Xen可以驱动气球以对气球加压以使其膨胀,然后Guest OS会回收页面并将内存释放到为本地气球分配足够的内存空间,然后气球驱动程序将分配的页面传递给Xen,Xen将这些可用内存池化以进行备份。相关工作原理如下图所示。

xen 内存_虚拟硬盘 内存_xen内存虚拟化

I / O虚拟化

在准虚拟化模式下,Xen使用单独的设备驱动程序模型来实现I / O虚拟化。该模型将设备驱动程序分为三部分:前端驱动程序,后端驱动程序和本机驱动程序。前端驱动程序在DomU中运行,而后端驱动程序和本机驱动程序在Dom0(IDD)中运行。前端驱动程序负责将来宾OS的I / O请求传递到Dom0(IDD)中的后端驱动程序。后端驱动程序解析I / O请求并将其映射到物理设备,然后将其提交给相应的设备驱动程序以控制硬件以完成I / O操作。

后端驱动程序检查接收到的I / O请求的有效性,并将虚拟设备地址转换为物理设备地址。转换后,后端驱动程序将通过Dom0(IDD)中的Guest OS提供I / O接口,以间接控制本机设备驱动程序完成提交的请求。

前端驱动程序和后端驱动程序之间的I / O请求传输是通过Xen内部的循环队列(I / O环)实现的,其结构如下图所示。 I / O环实际上是Xen提供的共享内存,供DomU和Dom0(IDD)访问。

对于在DomU和Dom0(IDD)之间进行大量DMA数据的高效传输要求,Xen提供了一个授权表(Grant Table)机制。每个域都有一个授权表,以指示其中哪个域可以访问哪个域。在Xen中,有一个Active Grant Table(活动授权表)(Active Grant Table),用于缓存每个域​​授权表中活动条目的内容。

当DomU中的Guest OS需要执行DMA操作时,前端驱动程序将为相应的数据页面生成一个授权描述(Grant Reference,GR),并将该授权描述和请求放到I / O环中。当Dom0(IDD)从I / O环中取出请求时,它将根据授权描述请求Xen锁定页面。 Xen收到请求后,它将确认是否已授权特权域访问来宾OS的活动授权表或授权表中的页面。通过检查后,表明该页面可以安全地进行DMA操作。收到Xen的响应后,Dom0(IDD)可以开始向实际硬件发送DMA请求。

结论实际上,无论是软件还是硬件,在计算机领域遇到的一些问题都可以通过添加抽象层来解决。 Xen在本文中也是如此。

参考

[1] Xen与虚拟化的艺术。保罗·巴尔汉姆,鲍里斯·德拉戈维奇,基尔·弗雷泽,史蒂文·汉德,蒂姆·哈里斯,亚历克斯·何,罗尔夫·纽格鲍尔,伊恩·普拉特,安德鲁·沃菲尔德。

[2]计算机的组织和设计硬件/软件接口。戴维·A·帕特森,约翰·轩尼诗。

[3]

[4]#

[5]

[6]

[7]

[8]

[9]


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-317246-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...