论文部分内容阅读
嵌入式智能终端软硬件的发展为虚拟化技术提供了新的发展平台——嵌入式终端虚拟化(Mobile Virtualization)。嵌入式终端虚拟化技术不仅可以节省软硬件成本,缩短软件开发周期,还可以增强嵌入式智能终端安全性和可靠性。然而,虚拟化环境中多个虚拟机共享资源,为实时调度等问题带来挑战,并且为嵌入式设备内存等硬件资源等提出更高要求。非易失性存储器(NVRAM)不仅可以扩展系统内存,增强系统非易失性,还可以解决传统动态随机存储(DRAM)技术存在的扩展性和能耗等缺陷。然而,非易失性存储器也存在读写性能不对称、写延迟长、寿命有限和写能耗高等缺陷,进一步提升了嵌入式虚拟系统实时调度的难度。为此,本文在基于KVM虚拟化技术的嵌入式系统中,针对资源受限问题,采用NVRAM/DRAM混合存储器作为嵌入式设备内存,提出混合存储下的虚拟机任务内存分配算法;根据嵌入式终端用户使用特点,提出非公平的嵌入式系统虚拟机调度优化算法;并通过实验证明以上两个算法的有效性。本文具体工作如下:第一,虚拟化环境中多个虚拟机的存在增加了对内存的读写与更新次数。非易失性存储器过多的写操作,不仅对存储器本身造成磨损,同时也为系统性能带来一定负面影响。为此,根据非易失性存储器与DRAM存储器优缺点以及虚拟机任务的读写性能,本文提出混合存储下的虚拟机任务内存分配算法,通过合理分配任务到不同内存上运行,从而达到降低系统能耗,延长非易失性存储器寿命,并增加硬件利用率等目的。第二,虚拟化环境中虚拟机个数增加和非易失性存储器写延迟为虚拟机实时调度问题带来挑战。为此,根据嵌入式设备用户使用习惯,本文提出非公平的嵌入式系统虚拟机调度算法,通过提升前台虚拟机优先级以及改善虚拟机CPU映射方法,达到有效分配处理器时间,保证实时任务调度,提升用户体验等目的。最后,本文在Linux系统中搭建KVM嵌入式系统仿真实验平台,验证本文提出算法的有效性。实验结果表明,本文提出的算法可以将虚拟机内的任务合理分配到不同内存中执行,有效利用两种存储器优缺点。在系统性能方面,相比传统虚拟化技术,本文算法实现虚拟机任务完成时间提升至少10%,同时任务完成率接近100%。