10.7544/issn1000-1239.2014.20130612
VMM中Guest OS非陷入系统调用指令截获与识别
针对虚拟化环境下Guest OS某些特定指令行为不会产生陷入从而在虚拟机管理器(virtual machine monitor,VMM)中无法对其进行监控处理的问题,提出通过改变非陷入指令正常运行条件,使其执行非法产生系统异常陷入VMM的思想;据此就x86架构下Guest OS中3种非陷入系统调用指令在VMM中的截获与识别进行研究:其中基于int和sysenter指令的系统调用通过使其产生通用保护(general protection,GP)错系统异常而陷入,基于syscall指令的系统调用则通过使其产生UD(undefined)未定义指令系统异常而陷入,之后VMM依据虚拟处理器上下文现场信息对其进行识别;基于Qemu&Kvm实现的原型系统表明:上述方法能成功截获并识别出Guest OS中所有3种系统调用行为,正常情况下其性能开销也在可接受的范围之内,如在unixbench的shell测试用例中,其性能开销比在1.900~2.608之间.与现有方法相比,它们都是以体系结构自身规范为基础,因此具有无需修改Guest OS、跨平台透明的优势.
客户操作系统、虚拟机管理器、虚拟化、非陷入指令、系统调用
51
TP316(计算技术、计算机技术)
国家“九七三”重点基础研究发展计划基金项目2011CB302501;国家自然科学基金项目61332009;计算机体系结构国家重点实验室开放课题CARCH201203;北京市教委科技计划面上项目KM201210028004
2014-11-20(万方平台首次上网日期,不代表论文的发表时间)
共12页
2348-2359