论文部分内容阅读
由于能够有效地提高计算机资源的利用率,以及应用上的灵活性、安全性和可扩展性,虚拟化技术逐渐成为计算机技术研究和应用方面的热门领域。随着虚拟化技术的发展,主流的硬件厂商Intel和AMD公司提出了新的支持虚拟化技术的硬件架构,使虚拟化技术有了巨大的飞跃。在硬件支持下的虚拟化技术,进一步提高了虚拟化环境下虚拟机的整体性能,并且由于这项技术具有显著的优越性,因此在Linux操作系统中也得到了支持和应用。本文的研究对象是支持硬件辅助虚拟化技术的KVM虚拟化方案,从Linux2.6.20版本开始,该方案已经被集成到Linux内核中。Intel VT技术是Intel平台上硬件辅助虚拟化技术的总称,该项技术提供了包含CPU、内存、I/O设备等各方面虚拟化支持的一整套虚拟化方案。本文在分析传统的CPU虚拟化技术的基础上,重点对Intel VT技术下的CPU虚拟化技术——VT-x的机制和原理进行了深入的研究。详细地分析了VT-x技术下VMX根操作模式和非根操作模式的特点,以及虚拟化技术在两种模式下的应用。在对VT-x技术研究的基础上,本文根据KVM虚拟化方案的两大特点—Linux模块化和QEMU设备化,深入研究和分析了KVM虚拟机的虚拟CPU的实现机制和运行流程,以及QEMU模拟器通过ioctl功能进入/退出虚拟机机制,设计并验证了一套异常捕捉方法的方案,为进一步提高虚拟机的整体性能提供了一条有效途径。根据KVM虚拟化方案特点,本文继续深入研究和分析了KVM虚拟机的进程模型,并设计和实现了一套KVM虚拟机处理器调度优化方案。该优化方案主要包括三个部分:调度策略、运行优先级和客户机操作系统的隔离。进而实现KVM虚拟机的个性化,即不同的虚拟机可以拥有不同的优先级和调度策略,以及运行在不同的CPU上,并在整个运行期间不发生迁移。通过使KVM虚拟机对CPU拥有更高的优先权,以及减少KVM虚拟机运行期间在CPU之间的切换开销,实现提高KVM虚拟机性能的目标。本文通过KVM虚拟机异常捕捉实验,实现了对KVM方案下客户机异常的分类处理,从而验证了KVM虚拟机异常捕捉方案的可行性。通过虚拟机调度策略实验,客户机绑定实验,以及UnixBench的综合测试,证实了本文研究的调度优化方案使虚拟机的性能有了一定的提高。因此,该方案的实现不仅可以满足用户对虚拟机的功能需求,还能进一步提高虚拟机的整体性能,具有一定的实用价值。