● 摘要
虚拟机技术能使用户在一台PC机上同时运行多个操作系统,使用户能更灵活高效地配置计算机资源,并且有助于提高安全性能。本课题是来自某公司关于虚拟机技术在PC机使用的研究和开发,目的是采用第二种虚拟机系统,基于Intel VT –x CPU虚拟化技术和Xen设计并实现一个PC虚拟机原型。Xen 是一个开源的虚拟机管理程序, 可以在一个PC机上安全的执行多个虚拟机,支持多个客户操作系统的运行,且相互之间在性能和资源上可以实现高效率的隔离,互不影响。与其它虚拟机相比,Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,占用的资源极少,客户操作系统的性能损失很小。论文首先描述了PC虚拟机系统主要模块的设计和实现原理,接着阐述了PC机的显示原理和显示驱动的原理,并设计和实现了一种两个OS间显示切换的解决方案。系统使用Intel I810显卡,支持两个显示通道,每个显示通道上都有各自的配置,使用各自独立的显存位置,可以通过显卡输出端口的控制来选择将哪个显示通道的数据显示到连接该输出端口的显示器上。显示切换模块的设计和实现方法是:Windows和Linux使用不同的显存和不同的显示通道,通过控制输出端口来选择在显示器上输出Windows还是Linux。其中要显示哪个操作系统是由一个显示切换程序控制模块来判断,显示控制程序负责选择一个OS的显示绑定到显卡物理输出端口PortCRT上,并且还需要对某些寄存器和显存地址转换表进行保存和恢复,当显示切换到另一个OS时,需要恢复相关的寄存器和显存地址转换表,并保存当前OS 的相应显示状态。为了验证实现方案,本文以Windows Vista客户操作系统作为虚拟机运行,给出了测试结果。Windows Vista客户操作系统在虚拟机上运行功能正常,性能达到了在硬件裸机上性能的83%以上。最后,对本论文工作做出总结并对硬件虚拟化技术支持的PC 虚拟机的发展趋势做出展望。
相关内容
相关标签