免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 26893 | 回复: 49

请问完全内存虚拟化处理缺页异常的流程是什么? [复制链接]

论坛徽章:
0
发表于 2008-02-22 18:33 |显示全部楼层
请问在完全内存虚拟化(Full Memory Virtualization,包括使用影子页表Shadow Page Table)中,处理缺页异常的流程是什么?

例如,KVM, VMWare都是使用完全内存虚拟化技术来虚拟化物理内存的。请问它们处理缺页异常的流程是什么样的呢?

3x

论坛徽章:
0
发表于 2008-02-22 19:21 |显示全部楼层
原帖由 kikanjuu 于 2008-2-22 18:33 发表
请问在完全内存虚拟化(Full Memory Virtualization,包括使用影子页表Shadow Page Table)中,处理缺页异常的流程是什么?

例如,KVM, VMWare都是使用完全内存虚拟化技术来虚拟化物理内存的。请问它们处理缺页 ...

LZ这个问题问了x86虚拟技术中最核心、最复杂的部分,相当于问操作系统是如何进行内存管理的。
我不懂,但知道一些。

VMWare具体不清楚,但机制应该差不多。像KVM这样的,page fault分为两种:客户机page fault和shadow page fault(影子页表错误)。
对于前者,直接返回注入(虚拟机中一个术语,通知中断、异常等事件的发生,实质是跳转到客户操作系统对应的handler去执行)给客户机,由客户机自己的page fault handler处理。对于shadow fault,是由于客户机页表和影子页表不一致产生的,此时根据客户机页表项,重新生成影子页表对应条目。

论坛徽章:
0
发表于 2008-02-22 19:37 |显示全部楼层
嗯,楼上的说得很对,这我知道的。
我想知道详细的VMM的page fualt handler的流程,包括根据客户机操作系统的当前页表设置相应的影子页表的R/W Dirty位等,或反过来的详细流程。

论坛徽章:
0
发表于 2008-02-22 19:38 |显示全部楼层
哪里可以找到使用这种技术的某种VMM产品中的Page Fault Handler的源代码?
例如,KVM中相关的源代码在哪里?

论坛徽章:
0
发表于 2008-02-22 19:50 |显示全部楼层
KVM代码明天给你翻翻。
如果LZ想详细了解,可以花钱下载
http://www.cqvip.com/QK/83538A/2006011/23161565.html
一文。
国内做shadow的应该没有比此文作者更权威的了。
尽管写的是XEN,不过没关系,KVM的实现是抄XEN的

论坛徽章:
0
发表于 2008-02-22 19:59 |显示全部楼层
好,拜托老兄了。
Xen是Para-virtualization的,不用影子页表Shadow Page Table机制的吧?

论坛徽章:
0
发表于 2008-02-22 20:04 |显示全部楼层
原帖由 kikanjuu 于 2008-2-22 19:59 发表
好,拜托老兄了。
Xen是Para-virtualization的,不用影子页表Shadow Page Table机制的吧?

那是在有intel的VT技术出现之前。
现在的XEN完全支持full virtualization。KVM嘛,最初的时候基本上抄XEN

论坛徽章:
0
发表于 2008-02-22 20:07 |显示全部楼层
Xen从那一版开始,代码里包含了Full Virtualization的实现?
我有Xen 3.0.2的代码的,貌似没看到过。

论坛徽章:
0
发表于 2008-02-22 20:10 |显示全部楼层
原帖由 kikanjuu 于 2008-2-22 20:07 发表
Xen从那一版开始,代码里包含了Full Virtualization的实现?
我有Xen 3.0.2的代码的,貌似没看到过。

3.0.2已经支持了啊
你想,不支持full virtualization,如何启windows

论坛徽章:
0
发表于 2008-02-22 20:12 |显示全部楼层
这样啊,你看过3.0.2的代码吗?
若看过,可不可以告诉我full virtualization的do_page_fault在哪里有?
或者告诉我怎么搜到也行。
3x
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP