论文部分内容阅读
随着硬件资源的不断丰富,性能的不断提升,虚拟化技术在计算机领域里的应用也越来越普及,最开始的虚拟化技术一直只使用于服务器领域中,但是随着硬件辅助虚拟化技术的发展,如Intel VT, AMD SVM等硬件辅助虚拟化技术的出现,虚拟化技术开始逐步向个人计算机应用发展。同时企业也越来越热衷于虚拟化技术的运用,因为虚拟化技术可以帮助企业进行计算资源的整合,节约管理成本,同时增强服务的可靠性。而硬件虚拟化技术与软件虚拟化技术相比,比软件虚拟化技术更加有效率,更加稳定可靠,Intel VT为X86平台上的虚拟化的实现提供了更好的方式,提供了对特权指令,特权操作的完美捕获机制,并且为保存虚拟机内核和客户系统的状态信息在内存中保留了专门的区域,这样便更好的实现了客户系统之间的隔离,并且Intel VT增加了几条新的指令,以方便虚拟机内核更高效,快捷的管理,调度客户系统。虽然目前的虚拟化软件如Vmware, VirtualBox, Xen等也支持硬件辅助虚拟化技术,但是它们通常都是为桌面操作系统设计的,所以并未对实时系统进行良好的支持,这便是我们要实现的目标。我们在基于Intel VT硬件辅助虚拟化的支持上,开发属于自己的虚拟机内核,我们的虚拟机内核的目标是为了更好的支持嵌入式操作系统,提高其可靠性和安全性,同时也要能支持全虚拟化的客户系统。基于Intel VT硬件虚拟机的内核开发内容主要包括:X86硬件平台的支持,处理器环境的初始化,物理内存管理,线性地址管理,客户系统加载,客户系统管理,虚拟CPU调度,指令模拟,外设模拟,中断异常管理等内容,其中虚拟CPU调度我们加入了对实时系统的支持,中断和异常管理也是加入了对实时系统的支持,在虚拟CPU和中断,异常分发上保证了实时系统的实时性。并且我们隔离了各个客户系统,以保证客户系统的安全性,完整性。我们的硬件辅助虚拟机内核是对现有市场上虚拟化技术的一个补充,让虚拟化技术延伸到了嵌入式实时系统的领域。