论文部分内容阅读
随着物联网、云计算等学科的迅速发展,虚拟化技术又迎来了一个新的春天,特别是在竞争激烈的今天,实现资源的共享和高效利用已经成为了一个新的主题。虚拟机就是充分利用设备虚拟化来模拟出一套完整的硬件平台。通过分时处理的方法将机器硬件进行共享,并且抽象出一个中间层将操作系统和硬件环境相分离,因此提高了计算机硬件的使用效率,增强了硬件的兼容性。但是随着计算机硬件技术的不断发展,Intel、AMD等硬件厂商设计出了多种硬件虚拟化技术来支持虚拟机高效运行,所以怎么充分使用这些硬件辅助虚拟化技术将成为一个新的挑战.本文研究基于当今非常流行的开源虚拟机KVM(Kernel-based virtualmachine),通过对KVM进行二次开发和改进,实现了提出的虚拟化应用解决方案。通过将纯QEMU和经过修改的QEMU-KVM进行性能对比,表明利用Intel VT硬件辅助虚拟化技术加速过的系统性能有明显的提升。在研究中,本文具有以下两个创新点:1.提出了一个时钟设备的虚拟化改进方案。本文通过对中断和时钟虚拟化的研究,借助Intel VT技术,通过保存-再触发方式解决时钟中断的注入丢失问题,并且通过批量注入方式来提高实现时钟中断的注入效率,减小系统损耗。2.提出了一个固定虚拟PCI设备I/O基地址的改进方法。本文通过对虚拟PCI设备地址初始化进行拦截和修改,实现给指定的设备固定分配I/O基地址。基于以上的创新点研究以及虚拟化技术的基础研究,本文取得了以下研究成果。1.实现了一个硬件管理器的虚拟化。本文针对Intel VT硬件辅助虚拟化技术,将QEMU中的硬件模拟部分转移到KVM中实现,完成了一个硬件管理器的虚拟化实例,同时提出了一个完整的设备虚拟化应用解决方案。2.完成了系统时钟和基于VT-x的虚拟中断研究,提出了时钟设备改进方法。提出了一个在虚拟化过程中减少虚拟时钟丢失的改进方法。通过将虚拟时钟丢失中断进行保存和再触发以及虚拟中断批量注入来解决时钟丢失问题。3.完成了对QEMU-KVM中设备I/O虚拟化的研究。本文一方面对QEMU中的虚拟设备模拟进行研究,同时另一方面对KVM中的设备注册和I/O拦截进行研究,通过两个方面的结合,实现了将设备虚拟化I/O部分从QEMU中转移到KVM。目前国内外研究虚拟机技术的资料非常少,特别是针对当前硬件辅助虚拟化技术的资料更是稀少,本文作为这方面的研究,提出了一些自己的理论,弥补了设备虚拟化中理论的空白,为更深一步研究虚拟机技术提供了理论的依据。同时虚拟机技术也是云存储、物联网等技术的基础,它为系统共享硬件资源提供了有效保证,有着广阔的发展空间。