一种处理虚拟机异常的方法及装置制造方法及图纸

技术编号:13131226 阅读:78 留言:0更新日期:2016-04-06 16:41
本发明专利技术公开了一种处理虚拟机异常的方法,包括:在所述虚拟机运行在客户模式且检测到异常信息时,退出当前运行并切换至内核模式;判断所述异常信息是否包含有I/O指令;如果是,则在用户模式下处理所述异常信息;否则,在所述内核模式下处理所述异常信息。该方法根据异常信息的特点可以直接在内核模式下处理,避免了切换到用户模式下有用户态模式处理产生较大的开销,从而使虚拟机的性能有一定的提高;也可以在用户模式下处理,因此减轻驱动的解析和处理任务,减少虚拟机的系统开销。此外,本发明专利技术还公开一种处理虚拟机异常的装置。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是涉及一种处理虚拟机异常的方法及装置
技术介绍
虚拟机的异常,与传统操作系统的触发条件和处理思想是不完全一样的。在虚拟机的虚拟条件下,客户操作系统的异常通常需要在虚拟机管理器的监管下处理。在虚拟机的实现方案中,通常包含三个模式,即内核模式、用户模式以及客户模式。根据不同的情况,在上述三个模式下切换。例如,在虚拟机的实现方案中,当客户机应用程序的中断和异常触发时,在内核模式、用户模式以及客户模式之间会发生切换操作。在虚拟环境下,当客户操作系统出现异常时,需要由当前的客户模式切换至用户模式来完成对异常的处理,然后通过内核模式切换至客户模式;或者由当前的客户模式切换至内核模式,在内核模式下完成对异常的处理。在上述方法中,如果单独由用户模式来完成,则会造成较大的开销,导致虚拟机的性能降低;如果单独由内核模式来完成,则会增加驱动的解析和处理任务。由此可见,如何合理处理虚拟机异常以平衡用户模式和内核模式的运行是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种处理虚拟机异常的方法,用于合理处理虚拟机异常以平衡用户模式和内核模式的运行。此外,本专利技术的目的还提供一种处理虚拟机异常的装置。为解决上述技术问题,本专利技术提供一种处理虚拟机异常的方法,包括:在所述虚拟机运行在客户模式且检测到异常信息时,退出当前运行并切换至内核模式;判断所述异常信息是否包含有I/O指令;如果是,则在用户模式下处理所述异常信息;否则,在所述内核模式下处理所述异常信息。优选地,在所述退出当前运行并切换至内核模式之前还包括:保存所述客户模式下的现场运行环境。优选地,所述在用户模式下处理所述异常信息之后还包括:向所述虚拟机的监控器输出第一警告信息;输入ioct1指令以切换至所述内核模式;将所述内核模式切换至所述客户模式。优选地,所述在所述内核模式下处理所述异常信息之后还包括:向所述虚拟机的监控器输出第二警告信息;将所述内核模式切换至所述客户模式。优选地,在所述将所述内核模式切换至所述客户模式之后还包括:以保存的所述现场运行环境开始继续执行对应的应用程序。一种处理虚拟机异常的装置,包括:客户模式切换单元,用于在所述虚拟机运行在客户模式且检测到异常信息时,退出当前运行并切换至内核模式;内核模式判断单元,用于判断所述异常信息是否包含有I/O指令,如果是,则触发用户模式处理单元,否则触发内核模式处理单元;用户模式处理单元,用于在用户模式下处理所述异常信息;内核模式处理单元,在所述内核模式下处理所述异常信息。优选地,还包括:客户模式存储单元,用于保存所述客户模式下的现场运行环境。优选地,还包括:用户模式警告单元,用于向所述虚拟机的监控器输出第一警告信息;用户模式输入单元,用于输入ioct1指令以切换至所述内核模式;用户模式切换单元,用于将所述内核模式切换至所述客户模式。优选地,还包括:内核模式警告单元,用于向所述虚拟机的监控器输出第二警告信息;内核模式切换单元,用于将所述内核模式切换至所述客户模式。优选地,还包括:执行单元,用于以保存的所述现场运行环境开始继续执行对应的应用程序。本专利技术所提供的处理虚拟机异常的方法,当检测到有异常信息时,退出当前的客户模式并切换至内核模式,在内核模式中判断异常信息是否包含有I/O指令;如果包含,则切换至用户模式,在用户模式下完成异常信息的处理;如果不包含,则在当前的内核模式下完成异常信息的处理。该方法根据异常信息的特点可以直接在内核模式下处理,避免了切换到用户模式下有用户态模式处理产生较大的开销,从而使虚拟机的性能有一定的提高;也可以在用户模式下处理,因此减轻驱动的解析和处理任务,减少虚拟机的系统开销。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种处理虚拟机异常的方法的流程图;图2为本专利技术提供的另一种处理虚拟机异常的方法的流程图;图3为本专利技术提供的一种处理虚拟机异常的装置的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。本专利技术的核心是提供一种处理虚拟机异常的方法及装置。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。实施例一图1为本专利技术提供的一种处理虚拟机异常的方法的流程图。处理虚拟机异常的方法包括:S10:在虚拟机运行在客户模式且检测到异常信息时,退出当前运行并切换至内核模式;S11:判断异常信息是否包含有I/O指令;如果是,进入步骤S12,否则,进入步骤S13;S12:在用户模式下处理异常信息;S13:在内核模式下处理异常信息。当虚拟机运行在客户模式时,如果检测到异常信息,则需要退出当前的运行模式并切换至内核模式。由于异常信息可以分为两大类,一类是可以在用户模式下处理的,另一类是在在内核模式下处理的。因此步骤S11是在内核模式下执行的。当接收到异常信息时,对该异常信息进行解析,以判断是否包含有I/O指令。如果包含有I/O指令,说明需要由用户模式处理该异常信息;如果不包含I/O指令,说明直接在内核模式下处理该异常信息。由于本专利技术的目的是当遇到异常信息时如何均衡内核模式和用户模式的运行,因此,这里具体对异常信息的处理过程本专利技术不再赘述。本专利技术提供的处理虚拟机异常的方法,当检测到有异常信息时,退出当前的客户模式并切换至内核模式,在内核模式中判断异常信息是否包含有I/O指令;如果包含,则切换至用户模式,在用户模式下完成异常信息的处理;如果不包含,则在当前的内核模式下完成异常信息的处理。该方法根据异常信息的特点可以直接在内核模式下处理,避免了切换到用户模式下有用户态模式处理产生较大的开本文档来自技高网
...

【技术保护点】
一种处理虚拟机异常的方法,其特征在于,包括:在所述虚拟机运行在客户模式且检测到异常信息时,退出当前运行并切换至内核模式;判断所述异常信息是否包含有I/O指令;如果是,则在用户模式下处理所述异常信息;否则,在所述内核模式下处理所述异常信息。

【技术特征摘要】
1.一种处理虚拟机异常的方法,其特征在于,包括:
在所述虚拟机运行在客户模式且检测到异常信息时,退出当前运
行并切换至内核模式;
判断所述异常信息是否包含有I/O指令;
如果是,则在用户模式下处理所述异常信息;
否则,在所述内核模式下处理所述异常信息。
2.根据权利要求1所述的处理虚拟机异常的方法,其特征在于,
在所述退出当前运行并切换至内核模式之前还包括:
保存所述客户模式下的现场运行环境。
3.根据权利要求2所述的处理虚拟机异常的方法,其特征在于,
所述在用户模式下处理所述异常信息之后还包括:
向所述虚拟机的监控器输出第一警告信息;
输入ioct1指令以切换至所述内核模式;
将所述内核模式切换至所述客户模式。
4.根据权利要求2所述的处理虚拟机异常的方法,其特征在于,
所述在所述内核模式下处理所述异常信息之后还包括:
向所述虚拟机的监控器输出第二警告信息;
将所述内核模式切换至所述客户模式。
5.根据权利要求3或4所述的处理虚拟机异常的方法,其特征
在于,在所述将所述内核模式切换至所述客户模式之后还包括:
以保存的所述现场运行环境开始继续执行对应的应用程序。
6.一种处理虚拟机异常的装置,其特征在于,包括:
客户模式切换单元,用于在...

【专利技术属性】
技术研发人员:宋腾
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1