0

每当客户操作系统的客户页表发生更改时,管理程序将如何反映更改。访客页面映射和影子页面映射之间的对应关系如何保持?

一种方法是写保护内存地址。每当将写入来宾页表时,都会有一个适当的处理程序来确保对影子页表的相应更改。我可以在这方面有更多的投入吗?

4

1 回答 1

0

如果硬件支持嵌套分页,则客户操作系统管理其页表,除了将物理页面错误地插入客户地址空间之外,无需管理程序参与。否则,需要某种影子页表,但实现方式千差万别。一些管理程序将客户操作系统页面错误处理指令捕获并重写为超级调用,以降低维护影子页表的开销。半虚拟化将负担交给来宾内核来处理这个问题。没有嵌套分页的硬件虚拟化会在访客页面错误时捕获到虚拟机管理程序,这比纯软件方法更慢,但更不容易出错。

于 2010-11-23T01:01:58.983 回答