【技术实现步骤摘要】
一种在虚拟机中执行指令的方法和一种虚拟机监视器
[0001]本说明书一个或多个实施例涉及虚拟机领域,尤其涉及一种在虚拟机中执行指令的方法和一种虚拟机监视器。
技术介绍
[0002]近年来,随着云计算技术的普及,作为其核心技术基石的虚拟化技术得到了越来越多的重视。在实际的生产环境中,出于成本考虑,应用服务提供商常常购买/租用例如公有云云主机用作业务运行环境。目前,云提供商常常通过虚拟机方案提供云主机,并且其虚拟机方案通常基于硬件辅助技术。如果要在云主机中运行虚拟机,需要硬件支持嵌套辅助虚拟化特性,并在虚拟机运行时打开硬件的嵌套辅助虚拟化特性。
[0003]但是,在一些场景下,出于性能和安全性考虑,云提供商希望关闭硬件的嵌套辅助虚拟化特性。在此情况下,依赖硬件辅助技术难以提供对于在云主机中运行虚拟机的支持。
技术实现思路
[0004]本说明书中的实施例旨在提供一种在虚拟机中执行指令的方法,利用该方法可以仅通过软件形式的虚拟机监视器接收和处理由虚拟机用户进程或虚拟机内核引起的异常,由虚拟机监视器接收和转发由 ...
【技术保护点】
【技术特征摘要】
1.一种在虚拟机中执行指令的方法,包括:截获运行于宿主机用户态的虚拟机内核、或虚拟机中的第一用户进程执行第一指令触发的第一异常,并将所述第一异常发送到运行于宿主机内核态的虚拟机监视器;所述虚拟机监视器根据所述第一异常的触发源,处理所述第一异常,其中,若所述第一异常的触发源为所述虚拟机内核,所述虚拟机监视器从所述第一异常的异常信息中,获取所述第一指令的执行上下文,以及,根据所述第一指令的执行上下文,模拟第一指令的执行,得到第一执行结果,并将所述第一执行结果发送给所述虚拟机内核。2.根据权利要求1所述的方法,还包括:若所述第一异常的触发源为所述第一用户进程,所述虚拟机监视器将所述第一异常转发给所述虚拟机内核。3.根据权利要求1或2所述的方法,其中,所述第一指令为内核态特权指令。4.根据权利要求1所述的方法,其中,根据所述第一指令的执行上下文,模拟第一指令的执行,得到第一执行结果,包括:将所述第一指令的执行上下文,发送给运行于宿主机内核态的宿主机内核,并从宿主机内核得到所述第一执行结果。5.根据权利要求1所述的方法,还包括:截获虚拟机中的第二用户进程调用宿主机内核的系统调用指令,并将所述系统调用指令发送到所述虚拟机监视器;所述虚拟机监视器将系统调用指令转发给所述虚拟机内核,并接收所述虚拟机内核返回的针对所述系统调用指令的第二执行结果,并将所述第二执行结果返回给所述用户进程。6.根据权利要求1所述的方法,还包括:响应于所述虚拟机内核执行的指向虚拟机监视器的超级调用指令,将所述超级调用指令发送到虚拟机监视器,所述超级调用指令用于指示第二指令;虚拟机监视器模拟所述第二指令的执行,得到第三执行结果,并将所述第三执行结果返回给所述虚拟机内核。7.根据权利要求6所述的方法,其中,所述虚拟机监视器模拟所述第二指令的执行,得到第三执行结果,包括:所述虚拟机监视器将第二指令发送给运行于宿主机内核态的宿主机内核,并从宿主机内核得到第三执行结果。8.根据权利要求7所述的方法,其中,所述第二指令包括,敏感非特权指令。9.根据权利要求8所述的方法,其中,所述敏感非特权指令包...
【专利技术属性】
技术研发人员:赖江山,王旭,侯文龙,马介悦,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。