首页> 中国专利> 一种操作系统管理器、虚拟机和操作系统间切换方法

一种操作系统管理器、虚拟机和操作系统间切换方法

摘要

本发明提供一种操作系统管理器、虚拟机和操作系统间切换方法,该操作系统管理器,包括:接口单元,用于监听目标热切换命令,并将该命令传递给内核服务单元;内核服务单元,用于接收目标热切换命令,向虚拟硬件服务单元发送目标热切换命令,并接收虚拟硬件驱动信息,根据虚拟硬件驱动信息,记录并保存外设的当前运行的操作系统镜像的配置状态和数据;虚拟硬件服务单元,用于接收目标热切换命令,并将该目标热切换命令发送给外设的虚拟BIOS,接收虚拟BIOS提供的外设的虚拟硬件驱动信息,并将该虚拟硬件驱动信息发送给内核服务单元;镜像加载单元,用于加载外设的第二操作系统镜像,实现了操作系统镜像间的快速切换。

著录项

  • 公开/公告号CN105117272A

    专利类型发明专利

  • 公开/公告日2015-12-02

    原文格式PDF

  • 申请/专利权人 浪潮集团有限公司;

    申请/专利号CN201510519216.3

  • 发明设计人 郝鹏;于治楼;郑亮;

    申请日2015-08-21

  • 分类号G06F9/455(20060101);G06F9/46(20060101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人李世喆

  • 地址 250100 山东省济南市高新区浪潮路1036号

  • 入库时间 2023-12-18 12:40:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-25

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F9/455 变更前: 变更后: 申请日:20150821

    专利权人的姓名或者名称、地址的变更

  • 2018-08-21

    专利权的转移 IPC(主分类):G06F9/455 登记生效日:20180801 变更前: 变更后: 申请日:20150821

    专利申请权、专利权的转移

  • 2018-05-01

    授权

    授权

  • 2015-12-30

    实质审查的生效 IPC(主分类):G06F9/455 申请日:20150821

    实质审查的生效

  • 2015-12-02

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,特别涉及一种操作系统管理器、虚拟机和操作系统间切换方法。

背景技术

虚拟化是使计算机的各种实体资源如服务器、网络、内存及存储等,通过镜像的方式呈现出来,打破了实体结构间的不可切割的障碍,即这些资源的虚拟部分是不受现有资源的架设、地域或物理组态所限制,使用户可以比原本的组态更好的方式来应用这些资源。

随着云计算技术的不断推广,虚拟化应用越发显的重要,目前,主要通过单个虚拟机承载单个操作系统镜像,当某一项任务需要两个甚至多个操作系统镜像完成时,则需要在一个操作系统镜像完成当前任务后,关闭该操作系统镜像所在的虚拟机,然后开启另一台虚拟机才能加载并切换到该另一台虚拟机中的另一个操作系统镜像继续任务,在这一过程中,操作系统镜像间的切换过程主要通过关闭和开启虚拟机实现,而无法实现操作系统镜像间的快速切换。

发明内容

本发明提供一种操作系统管理器、虚拟机和操作系统间切换方法,实现了操作系统镜像间的快速切换。

一种操作系统管理器,包括:接口单元、内核服务单元、虚拟硬件服务单元和镜像加载单元,其中,

所述接口单元,用于监听正在运行的外设的第一操作系统镜像发出的目标热切换命令,并将该命令传递给所述内核服务单元;

所述内核服务单元,用于设置外设的所有操作系统镜像对应的热切换命令,接收所述接口单元发送的所述目标热切换命令,向所述虚拟硬件服务单元发送所述目标热切换命令,并接收所述虚拟硬件服务单元发送的所述虚拟硬件驱动信息,根据所述虚拟硬件驱动信息,记录并保存外设的所述第一操作系统镜像的配置状态和数据,并触发所述镜像加载单元;

所述虚拟硬件服务单元,用于接收所述内核服务单元发送的所述目标热切换命令,并将该目标热切换命令发送给外设的虚拟BIOS,接收外设的所述虚拟BIOS提供的外设的虚拟硬件驱动信息,并将该虚拟硬件驱动信息发送给所述内核服务单元;

所述镜像加载单元,在接收到所述内核服务单元触发时,用于加载外设的第二操作系统镜像,以完成从外设的所述第一操作系统镜像到外设的所述第二操作系统镜像的切换。

优选地,所述内核服务单元,包括:可视化界面子单元、迁移服务子单元、数据库子单元和备份子单元中的任意一个或多个,其中,

所述可视化界面子单元,用于设置外设的所有操作系统镜像对应的热切换命令,接收所述接口单元发送的所述目标热切换命令,并向所述虚拟硬件服务单元发送所述目标热切换命令;

所述迁移服务子单元,用于接收所述虚拟硬件服务单元发送的所述虚拟硬件驱动信息,根据所述虚拟硬件驱动信息,记录外设的所述第一操作系统镜像的配置状态和数据,形成XML文件和/或JSON文件,并将所述XML文件和/或JSON文件发送给所述数据库子单元;

所述数据库子单元,用于存储所述XML文件和/或JSON文件,并对所述XML文件和/或JSON文件进行解析、封装,形成封装文件;

所述备份子单元,用于获取并备份所述数据库子单元中的所述封装文件。

优选地,所述镜像加载单元,用于检测外设的第二操作系统镜像是否为第一次加载,如果是,则为该外设的第二操作系统镜像设置存储空间和入口指针,通过所述入口指针,将所述外设的第二操作系统镜像加载到所述存储空间中;否则,直接加载所述外设的第二操作系统镜像。

优选地,所述镜像加载单元,进一步用于:检测所有可用操作系统镜像文件;

所述可视化界面子单元,进一步用于:建立操作系统镜像存储链表,为所述所有可用操作系统镜像文件生成对应的特征信息,并将所述特征信息存储在所述操作系统镜像存储链表中,通过可视化界面展示所述操作系统镜像存储链表中的所有特征信息,在接收到所述接口单元发送的所述目标热切换命令时,选中所述操作系统镜像存储链表中的目标特征信息。

优选地,所述数据库子单元,进一步用于向完成加载的所述外设的第二操作系统镜像提供所需的封装文件。

优选地,该操作系统管理器采用UEFI系统加载器框架。

优选地,该操作系统管理器应用于虚拟机中。

一种虚拟机,包括:上述任一种操作系统管理器、至少两个操作系统镜像、虚拟BIOS和虚拟硬件,其中,

所述至少两个操作系统镜像中,每一个操作系统镜像,在运行时,用于接收目标热切换命令,并发送所述目标热切换命令给所述操作系统管理器;

所述虚拟BIOS,用于接收所述操作系统管理器发送的所述目标热切换命令,加载所述虚拟硬件,获取所述虚拟硬件的信息,并将所述虚拟硬件的信息提供给所述操作系统管理器;

所述虚拟硬件,用于支撑所述至少两个操作系统镜像的运行。

优选地,在所述虚拟机启动后,通过所述虚拟BIOS加载所述操作系统启动管理器;通过外设的键盘触发所述操作系统启动管理器选定需要加载的第一操作系统镜像,启动所述第一虚拟操作系统,并将虚拟机的控制权交给所述第一虚拟操作系统。

优选地,所述至少两个操作系统镜像中,每一个操作系统镜像,在运行时接收目标热切换命令后,释放虚拟机的控制权,并将所述虚拟机的控制权转交给所述操作系统管理器。

优选地,所述虚拟BIOS采用UEFI技术框架。

优选地,所述操作系统管理器采用UEFI系统加载器框架。

一种操作系统间切换方法,将上述任一种操作系统管理器设置于虚拟机中,在所述虚拟机的存储空间中存储至少两个操作系统镜像文件,并设置所有操作系统镜像对应的热切换命令,在所述虚拟机启动后,运行选定的第一操作系统镜像,还包括:

确定正在运行的所述第一操作系统镜像发出的目标热切换命令;

将该目标热切换命令发送给虚拟BIOS;

接收所述虚拟BIOS提供的虚拟硬件驱动信息;

根据所述虚拟硬件驱动信息,记录并保存所述第一操作系统镜像的配置状态和数据;

根据所述目标热切换命令,加载第二操作系统镜像,以完成从所述第一操作系统镜像到所述第二操作系统镜像的切换。

优选地,所述记录并保存所述第一操作系统镜像的配置状态和数据,包括:为所述第一操作系统镜像的配置状态和数据形成XML文件和/或JSON文件,并对所述XML文件和/或JSON文件进行解析、封装,形成封装文件,并对该封装文件进行保存,并备份所述封装文件;

在所述加载第二操作系统镜像之后,进一步包括:向完成加载的所述外设的第二操作系统镜像提供所需的封装文件。

优选地,所述加载第二操作系统镜像,包括:检测所述第二操作系统镜像是否为第一次加载,如果是,则为该第二操作系统镜像设置存储空间和入口指针,通过所述入口指针,将所述第二操作系统镜像加载到所述存储空间中;否则,直接加载所述第二操作系统镜像。

优选地,在所述设置所有操作系统镜像对应的热切换命令之后,在所述运行选定的第一操作系统镜像之前,进一步包括:

建立操作系统镜像存储链表;

检测所有可用操作系统镜像文件,并为所述所有可用操作系统镜像文件生成对应的特征信息;

将所述特征信息存储在所述操作系统镜像存储链表,并建立所述特征信息与热切换命令间的对应关系;

所述运行选定的第一操作系统镜像,包括:通过可视化界面展示所述操作系统镜像存储链表中的所有特征信息,在接收到目标热切换命令时,根据所述特征信息与热切换命令间的对应关系,选定所述第一操作系统镜像对应的特征信息,运行选定的第一操作系统镜像。

本发明实施例提供了一种操作系统管理器、虚拟机和操作系统间切换方法,该操作系统管理器,包括:接口单元、内核服务单元、虚拟硬件服务单元和镜像加载单元,其中,所述接口单元,用于监听正在运行的外设的第一操作系统镜像发出的目标热切换命令,并将该命令传递给内核服务单元;所述内核服务单元,用于接收到所述接口单元发送的所述目标热切换命令,向所述虚拟硬件服务单元发送所述目标热切换命令,并接收所述虚拟硬件服务单元发送的所述虚拟硬件驱动信息,根据所述虚拟硬件驱动信息,记录并保存外设的所述第一操作系统镜像的配置状态和数据,并触发所述镜像加载单元;所述虚拟硬件服务单元,用于接收所述内核服务单元发送的目标热切换命令,并将该目标热切换命令发送给外设的虚拟BIOS,接收外设的所述虚拟BIOS提供的外设的虚拟硬件驱动信息,并将该虚拟硬件驱动信息发送给内核服务单元;所述镜像加载单元,在接收到所述内核服务单元触发时,用于加载外设的第二操作系统镜像,以完成从外设的所述第一操作系统镜像到外设的所述第二操作系统镜像的切换,因此,该操作系统管理器实现了操作系统镜像间的快速切换。

附图说明

图1为本发明实施例提供的一种操作系统管理器的结构示意图;

图2为本发明另一实施例提供的一种操作系统管理器的结构示意图;

图3为本发明实施例提供的一种虚拟机的结构示意图;

图4为本发明实施例提供的一种操作系统间切换方法的流程图;

图5为本发明另一实施例提供的一种操作系统间切换方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供一种操作系统管理器,该操作系统管理器,包括:接口单元101、内核服务单元102、虚拟硬件服务单元103和镜像加载单元104,其中,

接口单元101,用于监听正在运行的外设的第一操作系统镜像发出的目标热切换命令,并将该命令传递给内核服务单元102;

内核服务单元102,用于设置外设的所有操作系统镜像对应的热切换命令,接收接口单元101发送的所述目标热切换命令,向虚拟硬件服务单元103发送所述目标热切换命令,并接收虚拟硬件服务单元103发送的所述虚拟硬件驱动信息,根据所述虚拟硬件驱动信息,记录并保存外设的所述第一操作系统镜像的配置状态和数据,并触发镜像加载单元104;

虚拟硬件服务单元103,用于接收内核服务单元102发送的目标热切换命令,并将该目标热切换命令发送给外设的虚拟BIOS,接收外设的所述虚拟BIOS提供的外设的虚拟硬件驱动信息,并将该虚拟硬件驱动信息发送给内核服务单元102;

镜像加载单元104,在接收到内核服务单元102触发时,用于加载外设的第二操作系统镜像,以完成从外设的所述第一操作系统镜像到外设的所述第二操作系统镜像的切换。

如图2所示,在本发明另一实施例中,操作系统管理器中,内核服务单元102,包括:可视化界面子单元201、迁移服务子单元202、数据库子单元203和备份子单元204中的任意一个或多个,其中,

可视化界面子单元201,用于设置外设的所有操作系统镜像对应的热切换命令,接收接口单元101发送的目标热切换命令,并向虚拟硬件服务单元103发送所述目标热切换命令;

例如:在操作系统管理器外设有2个操作系统镜像,分别为操作系统镜像1和操作系统镜像2,在该可视化界面子单元中,为操作系统镜像1设置当用户同时按下组合键ctrl+A则选中操作系统镜像1;并为操作系统镜像2设置当用户同时按下组合键ctrl+B则选中操作系统镜像2。

那么,在操作系统镜像1运行时,要切换到外设的操作系统镜像2,该可视化界面子单元从接口单元接收到用户通过键盘输入的目标热切换命令即组合键ctrl+B。

迁移服务子单元202,用于接收虚拟硬件服务单元103发送的虚拟硬件驱动信息,根据虚拟硬件驱动信息,记录外设的第一操作系统镜像的配置状态和数据,形成XML文件和/或JSON文件,并将所述XML文件和/或JSON文件发送给数据库子单元203;

例如:在CPU、键盘、存储等资源在正常运转之后,虚拟硬件服务单元发一个信号通知迁移服务子单元,告知运转状态。在都运转正常时,迁移服务子单元可以记录正在运行的操作系统镜像1的一些数据如操作系统镜像1正在执行的任务1的所有数据,并根据操作系统镜像的需要可以将该任务1的所有数据转化为XML文件或者转化为JSON文件。

数据库子单元203,用于存储所述XML文件和/或JSON文件,并对XML文件和/或JSON文件进行解析、封装,形成封装文件,并触发镜像加载单元104;

该数据库子单元包含有解析单元,可以解析XML文件和JSON文件,然后对解析后的文件进行封装,以供不同单元或模块的调用,例如:供备份子单元调用进行备份;供外设的操作系统镜像调用。

备份子单元204,用于获取并备份数据库子单元203中的封装文件。

可以根据只备份最关键的文件、对切换后的操作系统镜像仍然需要的数据进行备份等优化策略,对数据库子单元中的文件进行定时备份,并定时清理备份的文件。

在本发明另一个实施例中,镜像加载单元104,用于:检测外设的第二操作系统镜像是否为第一次加载,如果是,则为该外设的第二操作系统镜像设置存储空间和入口指针,通过入口指针,将外设的第二操作系统镜像加载到存储空间中;否则,直接加载外设的第二操作系统镜像。

例如:在云存储空间中只存在操作系统镜像2的文件,而该操作系统镜像2并未加载过,那么,该镜像加载单元可为该操作系统镜像2分配一个存储空间和一个入口指针,并在该存储空间中加载该操作系统镜像2。

在本发明另一实施例中,镜像加载单元104,进一步用于:检测所有可用操作系统镜像文件;

可视化界面子单元201,进一步用于:建立操作系统镜像存储链表,为所有可用操作系统镜像文件生成对应的特征信息,并将特征信息存储在所述操作系统镜像存储链表中,通过可视化界面展示操作系统镜像存储链表中的所有特征信息,在接收到接口单元101发送的目标热切换命令时,选中所述操作系统镜像存储链表中的目标特征信息。

通过建立操作系统镜像存储链表,实现了对操作系统镜像的引导支持。例如:镜像加载单元检测出所有操作系统镜像文件为操作系统镜像1和操作系统镜像2,则可视化界面子单元为操作系统镜像1形成特征信息A,为操作系统镜像2形成特征信息B,该A和B存储在操作系统镜像存储链表,通过屏幕展现给用户,当用户通过热键ctrl+A就可以选中A;用户通过热键ctrl+B就可以选中B;用户还可以通过鼠标启动热切换命令来选中A或B。

在本发明一个实施例中,数据库子单元203,进一步用于向完成加载的外设的第二操作系统镜像提供所需的封装文件。

例如:操作系统镜像1和操作系统镜像2协同执行任务1,操作系统镜像1在完成一部分数据后,切换到操作系统镜像2来利用操作系统镜像1完成的这一部分数据继续进行任务1,则操作系统镜像1完成的这一部分数据将会被存储在数据库子单元中,并由数据库子单元提供给操作系统镜像2。

在本发明一个实施例中,该操作系统管理器采用UEFI系统加载器框架。

在本发明一个实施例中,该操作系统管理器应用于虚拟机中。

值得说明的是,虚拟硬件服务单元还可被划分为上行子单元和下行子单元,其中,上行子单元,用于接收外设的所述虚拟BIOS提供的外设的虚拟硬件驱动信息,并将该虚拟硬件驱动信息发送给所述内核服务单元;下行子单元,用于接收所述内核服务单元发送的所述目标热切换命令,并将该目标热切换命令发送给外设的虚拟BIOS。

在操作系统正常加载和运行时,内核服务单元、虚拟硬件服务单元和镜像加载单元可以进入休眠状态,以减少虚拟机的负载,而接口单元则一直保持着监听的状态,以实时监听到热切换命令。

如图3所示,本发明实施例提供一种虚拟机,该虚拟机包括:上述任一种操作系统管理器301、至少两个操作系统镜像302、虚拟BIOS303和虚拟硬件304;

至少两个操作系统镜像中,每一个操作系统镜像302,在运行时,用于接收目标热切换命令,并发送该目标热切换命令给操作系统管理器301;

虚拟BIOS303,用于接收操作系统管理器301发送的目标热切换命令,加载虚拟硬件304,获取虚拟硬件304的信息,并将虚拟硬件304的信息提供给操作系统管理器301;

所述虚拟硬件304,用于支撑至少两个操作系统镜像中每一个操作系统镜像302运行。

在本发明另一实施例中,在虚拟机启动后,通过虚拟BIOS303加载操作系统启动管理器301;通过外设的键盘触发操作系统启动管理器301选定需要加载的第一操作系统镜像302,启动所述第一操作系统镜像302,并将虚拟机的控制权交给第一操作系统镜像302;

值得说明的是,除了通过键盘完成热切换之外,还可以通过鼠标控制来完成热切换。

在本发明另一实施例中,至少两个操作系统镜像中,每一个操作系统镜像302,在运行时接收目标热切换命令后,释放虚拟机的控制权,并将虚拟机的控制权转交给操作系统管理器301。

在本发明又一实施例中,虚拟BIOS303采用UEFI技术框架。

在本发明又一实施例中,操作系统管理器采用UEFI系统加载器框架。

如图4所示,本发明实施例提供一种操作系统间切换方法,将上述任一操作系统管理器设置于虚拟机中,在虚拟机的存储空间中存储至少两个操作系统镜像文件,设置所有操作系统镜像对应的热切换命令,并在虚拟机启动后,运行选定的第一操作系统镜像;该方法还可以包括如下步骤:

步骤401:确定正在运行的第一操作系统镜像发出的目标热切换命令;

步骤402:将该目标热切换命令发送给虚拟BIOS;

步骤403:接收虚拟BIOS提供的虚拟硬件驱动信息;

步骤404:根据虚拟硬件驱动信息,记录并保存第一操作系统镜像的配置状态和数据;

步骤405:根据目标热切换命令,加载第二操作系统镜像,以完成从第一操作系统镜像到第二操作系统镜像的切换。

在本发明一个实施例中,为了使操作系统镜像间的数据具有传承性,并使操作系统镜像能够读取来自于不同操作系统镜像的数据,同时,防止数据被破坏不可用,步骤404的具体实施方式:为第一操作系统镜像的配置状态和数据形成XML文件和/或JSON文件,并对XML文件和/或JSON文件进行解析、封装,形成封装文件,并对该封装文件进行保存,并备份封装文件;在步骤405之后,进一步包括:向完成加载的外设的第二操作系统镜像提供所需的封装文件。

在本发明一个实施例中,为了能够成功热切换到未加载过的操作系统镜像,步骤405的具体实施方式:检测第二操作系统镜像是否为第一次加载,如果是,则为该第二操作系统镜像设置存储空间和入口指针,通过入口指针,将第二操作系统镜像加载到存储空间中;否则,直接加载第二操作系统镜像。

在本发明一个实施例中,为了能够直观的将虚拟机中存在所有操作系统镜像展现出来,并供用户自由选择,在所述设置所有操作系统镜像对应的热切换命令之后,在所述运行选定的第一操作系统镜像之前,进一步包括:建立操作系统镜像存储链表;检测所有可用操作系统镜像文件,为所述所有可用操作系统镜像文件生成对应的特征信息,将所述特征信息存储在所述操作系统镜像存储链表,并建立所述特征信息与热切换命令间的对应关系;所述运行选定的第一操作系统镜像,包括:通过可视化界面展示所述操作系统镜像存储链表中的所有特征信息,在接收到目标热切换命令时,根据所述特征信息与热切换命令间的对应关系,选定所述第一操作系统镜像对应的特征信息,运行选定的第一操作系统镜像。

如图5所示,在本发明又一实施例中,在云计算中申请一个设置着一个虚拟机的存储空间,以该虚拟机设置着上述任一操作系统管理器,同时,该虚拟机包含有至少两个操作系统镜像文件为例,展开说明,一种操作系统间切换方法,该方法可以包括如下步骤:

步骤500:设置所有操作系统镜像对应的热切换命令,建立操作系统镜像存储链表;

例如:在虚拟机中有2个操作系统镜像,分别为操作系统镜像1和操作系统镜像2,为操作系统镜像1设置当用户同时按下组合键ctrl+A则选中操作系统镜像1;并为操作系统镜像2设置当用户同时按下组合键ctrl+B则选中操作系统镜像2。

步骤501:检测所有可用操作系统镜像文件,为所有可用操作系统镜像文件生成对应的特征信息;

通过操作系统管理器可以检测出包含有操作系统镜像1和操作系统镜像2,为操作系统镜像1生成对应的特征信息A;为操作系统镜像2生成对应的特征信息B。

步骤502:将特征信息存储在操作系统镜像存储链表,并建立特征信息与热切换命令间的对应关系;

将操作系统镜像1对应的特征信息A和操作系统镜像2对应的特征信息B保存在操作系统镜像存储链表,同时,设置了A与组合键ctrl+A的对应关系和B与组合键ctrl+B的对应关系。

步骤503:通过可视化界面展示操作系统镜像存储链表中的所有特征信息;

在虚拟机开启的过程或者切换操作系统镜像的过程,均可以通过屏幕将操作系统镜像存储链表提供给用户。切换过程可视化界面的展现过程也可以通过键盘的组合键完成。这样,在用户想要切换操作系统镜像的时候,通过当前运行的操作系统执行用户通过键盘输入的组合键即可展现可视化界面。

步骤504:在接收到目标热切换命令时,根据特征信息与热切换命令间的对应关系,选定第一操作系统镜像对应的特征信息;

在这个过程中,操作系统管理器一直处于监听状态,以及时监听到热切换命令,例如:用户键盘按下组合键ctrl+A时,被监听到,则可以选中A,即选中操作系统镜像1对应的特征值。

步骤505:运行选定的第一操作系统镜像;

步骤506:确定正在运行的第一操作系统镜像发出的目标热切换命令;

在这个过程中,操作系统管理器一直处于监听状态,以及时监听到热切换命令,例如:用户在操作系统镜像1运行的过程中,监听到用户通过键盘按下可视化界面对应的组合键,则转换到可视化界面,而用户通过键盘按下组合键ctrl+B时,被监听到,则选中操作系统镜像存储链表中的B。

步骤507:将该目标热切换命令发送给虚拟BIOS;

该步骤主要是因为2个操作系统镜像可能一个为Linux系统镜像,另一个为WINDOWS镜像,则这两个操作系统镜像依靠的驱动有所差异,则需要虚拟BIOS启动操作系统镜像对应的硬件驱动。

步骤508:接收虚拟BIOS提供的虚拟硬件驱动信息;

例如:CPU,键盘,存储等资源在正常运转之后,虚拟BIOS发一个信号通知操作系统管理器运转状态正常。

步骤509:根据虚拟硬件驱动信息,记录并保存第一操作系统镜像的配置状态和数据;

在该步骤中,为第一操作系统镜像的配置状态和数据形成XML文件和/或JSON文件,并对XML文件和/或JSON文件进行解析、封装,形成封装文件,并对该封装文件进行保存,并备份封装文件;

例如:操作系统镜像1和操作系统镜像2需要协同完成任务1,其中,操作系统镜像1完成部分任务,形成数据a,操作系统镜像2需利用数据a完成剩下的部分,则,在本步骤中,在切换过程中,可将数据a存储,并在操作系统镜像2运行时,提供给操作系统镜像2,使得数据具有传承性。通过对数据进行重新封装,避免了数据不能被操作系统镜像2读取。

步骤510:根据热切换命令,检测第二操作系统镜像是否为第一次加载,如果是,则执行步骤511;否则,执行步骤512;

步骤511:为该第二操作系统镜像设置存储空间和入口指针,通过入口指针,将第二操作系统镜像加载到存储空间中,并执行步骤513;

例如:用户通过键盘触发组合键ctrl+B,则触发了切换到操作系统镜像2的热切换命令,当操作系统镜像2仅在虚拟机中存在操作系统镜像2文件,而该文件从未被加载过,则,操作系统管理器为操作系统镜像2划分出一个存储空间,以将该操作系统镜像2加载到该存储空间,同时,建立一个入口指针,以确定该存储空间的位置,准确完成加载。

步骤512:直接加载第二操作系统镜像;

步骤513:向完成加载的外设的第二操作系统镜像提供所需的封装文件。

值得说明的是,在操作系统镜像正常加载和运行时,操作系统管理器仅用于监听,以实时监听到热切换命令;其它功能可以进入休眠状态,以减少虚拟机的负载,加快操作系统镜像的运行。

本发明的各个实施例至少具有如下有益效果:

1.本发明实施例提供的操作系统管理器,包括:接口单元、内核服务单元、虚拟硬件服务单元和镜像加载单元,其中,所述接口单元,用于监听正在运行的外设的第一操作系统镜像发出的目标热切换命令,并将该命令传递给内核服务单元;所述内核服务单元,用于接收到所述接口单元发送的所述目标热切换命令,向所述虚拟硬件服务单元发送所述目标热切换命令,并接收所述虚拟硬件服务单元发送的所述虚拟硬件驱动信息,根据所述虚拟硬件驱动信息,记录并保存外设的所述第一操作系统镜像的配置状态和数据,并触发所述镜像加载单元;所述虚拟硬件服务单元,用于接收所述内核服务单元发送的目标热切换命令,并将该目标热切换命令发送给外设的虚拟BIOS,接收外设的所述虚拟BIOS提供的外设的虚拟硬件驱动信息,并将该虚拟硬件驱动信息发送给内核服务单元;所述镜像加载单元,在接收到所述内核服务单元触发时,用于加载外设的第二操作系统镜像,以完成从外设的所述第一操作系统镜像到外设的所述第二操作系统镜像的切换,因此,该操作系统管理器实现了操作系统镜像间的快速切换。

2.在本发明实施例中,在同一台虚拟机中设置至少两个操作系统镜像,则通过操作系统管理器可以在至少两个操作系统镜像间快速切换,可在一个操作系统镜像故障时,快速切换到另一个操作系统镜像,从而保障了业务的顺利完成。

3.由于同一台虚拟机中设置至少两个操作系统镜像,那么可将同一个业务布置在不同的操作系统镜像中,实现了更灵活的服务部署,通过快速切换即可完成业务切换,同时,降低了设置多个操作系统镜像的成本。

4.由于操作系统管理器可以对操作系统镜像的数据进行存储,而一个操作系统镜像可以从操作系统管理器中获取到其它操作系统镜像的数据,则对于故障的操作系统镜像,其数据仍可被恢复至另一个操作系统镜像中,降低了损失。

5.建立操作系统镜像存储链表;检测所有可用操作系统镜像文件,为所述所有可用操作系统镜像文件生成对应的特征信息,将所述特征信息存储在所述操作系统镜像存储链表,并建立所述特征信息与热切换命令间的对应关系,使用户能够直观的将虚拟机中存在所有操作系统镜像展现出来,并供用户自由选择。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号