一种客户操作系统的启动方法及虚拟机系统的制作方法

文档序号:6471926阅读:158来源:国知局
专利名称:一种客户操作系统的启动方法及虚拟机系统的制作方法
技术领域
本发明涉及虚拟机技术领域,具体涉及一种客户操作系统的启动方法及虚拟机系统。
背景技术
计算机系统加电启动后,首先系统BIOS模块会进行一系列的设备自检、硬件初始 化配置等处理,然后,BIOS模块进入读取并执行硬盘上的主引导记录,引导操作系统启动。 操作系统在启动过程中,通常会加载各种必须的或预先配置的驱动程序和系统服务。操作 系统启动完成后,用户才可以正常使用计算机系统。 现有技术中,用户在每次启动操作系统时,总是看到千篇一律的操作系统启动界 面(例如Windows或Li皿x系统启动界面),而且在等待操作系统启动完毕的过程中,操作 系统几乎没有向用户提供任何有用的信息,用户只能被动等待。显然,现有技术的操作系统 的启动过程不够人性化,并且,等待操作系统的启动对用户来说也是一种时间上的巨大浪费。

发明内容
本发明实施例所要解决的技术问题是提供一种客户操作系统的启动方法及虚拟 机系统,在用户等待客户操作系统启动过程中,通过伺服操作系统在前台执行并显示用户 预先设置的任务,充分利用了客户操作系统启动的等待时间,避免了时间浪费。
为解决上述技术问题,本发明实施例提供方案如下 —种客户操作系统的启动方法,应用在包括有伺服操作系统和客户操作系统的虚 拟机系统中,包括 引导所述伺服操作系统启动并在前台显示,所述伺服操作系统在启动过程中加载 满足预定条件的驱动程序和系统服务,其中,所述预定条件是为所述客户操作系统提供虚 拟机服务所必须的系统服务,以及执行用户预先设置的任务所必须的驱动程序;
在所述伺服操作系统启动后,在后台引导所述客户操作系统启动,同时在前台执 行所述用户预先设置的任务并向用户显示; 在所述客户操作系统启动完成后,将所述客户操作系统切换到前台进行显示。
优选地,上述方法中,在所述伺服操作系统启动后,进一步判断当前是否存在用户 预先设置的任务如果存在,则执行用户预先设置的任务并在向用户显示,同时在后台引导 所述客户操作系统启动;如果不存在,则引导所述客户操作系统启动并将所述客户操作系 统切换到前台进行显示。 优选地,上述方法中,预先裁减所述伺服操作系统中不满足所述预定条件的系统 服务和驱动程序,所述伺服操作系统在启动过程中仅加载当前存在的系统服务和驱动程序。 优选地,上述方法中,所述预先裁减所述伺服操作系统中不满足所述预定条件的
4减所述伺服操作系统中除了显卡驱动之外的其它驱动程序,以 及裁减所述伺服操作系统中除了为所述客户操作系统提供虚拟机服务的系统服务之外的 其它系统服务。 优选地,上述方法中,所述预先裁减所述伺服操作系统中不满足所述预定条件的 系统服务和驱动程序是裁减所述伺服操作系统中除了显卡驱动和网卡驱动之外的其它驱 动程序,以及裁减所述伺服操作系统中除了为所述客户操作系统提供虚拟机服务的系统服 务之外的其它系统服务。 优选地,上述方法中,所述执行用户预先设置的任务并向用户显示包括读取并向 用户显示本地保存的预定信息,和/或从远端网络服务器上获取预定信息并向用户显示。
优选地,上述方法中,还包括 客户操作系统接收用户定制的所述预先设置的任务,并通过所述虚拟机管理器将
所述预先设置的任务发送给所述伺服操作系统。
本发明实施例还提供了一种虚拟机系统,包括 硬件平台,所述硬件平台至少包括引导加载程序模块、CPU和物理显卡;
运行在所述硬件平台上的虚拟机管理器;
显示切换模块; 运行在所述虚拟机管理器上的伺服操作系统和客户操作系统, 所述引导加载程序模块,用于在所述虚拟机系统上电后,引导所述虚拟机管理器 启动; 所述虚拟机管理器,用于在自身启动完成后,引导所述伺服操作系统启动,其中, 所述伺服操作系统在启动过程中加载满足预定条件的驱动程序和系统服务,其中,所述预 定条件是为所述客户操作系统提供虚拟机服务所必须的系统服务,以及执行所述用户预 先设置的任务所必须的驱动程序; 所述伺服操作系统,用于在自身启动后,在后台引导所述客户操作系统启动,同时 在前台执行用户预先设置的任务并向用户显示; 所述显示切换模块,用于在所述客户操作系统启动完成之前,控制所述伺服操作 系统在前台显示;以及,在所述客户操作系统启动完成后,控制所述客户操作系统在前台显 示。 优选地,上述虚拟机系统中,所述显示切换模块包括一判断模块,用于在所述伺服 操作系统启动后,判断当前是否存在用户预先设置的任务如果存在,则控制所述伺服操作 系统在前台显示;否则,控制所述客户操作系统在前台显示;
所述伺服操作系统包括 执行模块,用于在所述伺服操作系统启动后,如果当前存在所述用户预先设置的 任务,则执行所述任务并在后台引导所述客户操作系统启动,如果当前不存在所述用户预 先设置的任务,则直接引导所述客户操作系统启动; 加载模块,用于在所述伺服操作系统启动过程中加载满足预定条件的系统服务和 驱动程序。 优选地,上述虚拟机系统中,所述满足预定条件的系统服务和驱动程序包括显卡 驱动、为所述客户操作系统提供虚拟机服务的系统服务。
5
优选地,上述虚拟机系统中,所述满足预定条件的系统服务和驱动程序包括显卡 驱动、网卡驱动、为所述客户操作系统提供虚拟机服务的系统服务。 优选地,上述虚拟机系统中,所述客户操作系统包括定制模块,用于接收用户定制 的所述预先设置的任务,并通过所述虚拟机管理器将所述预先设置的任务发送给所述伺服 操作系统。 优选地,上述虚拟机系统中,所述显示切换模块设置在所述虚拟机管理器或所述 伺服操作系统中。 从以上所述可以看出,本发明实施例提供的客户操作系统的启动方法及虚拟机系 统,在客户操作系统启动过程中,首先通过引导加载程序引导虚拟机管理器,再由虚拟机管 理器快速引导一个精简的伺服操作系统,再由伺服操作系统在后台引导客户操作系统启 动,并在客户操作系统启动过程中,伺服操作系统在前台执行并显示用户预先设置的任务, 将用户感兴趣的信息提供给用户,从而充分利用了客户操作系统的启动时间,提高了用户 工作学习效率,改善了用户体验。本发明实施例中,客户操作系统可以接收用户预先设置的 任务,用户可以定制自己喜欢的启动界面和启动时显示的各种信息,使得操作系统的启动 更加人性化。


图1为本发明实施例中所述客户操作系统的启动方法的流程图;
图2为本发明实施例所述虚拟机系统的结构示意图。
具体实施例方式
本发明实施例提供了一种客户操作系统的启动方法及虚拟机系统,在操作系统启
动过程中可以向用户显示预先设置的界面或信息,充分利用了操作系统的启动时间,使得
操作系统的启动过程更加人性化。以下结合附图对本发明实施例做进一步说明。 本实施例的虚拟机系统包括有伺服操作系统(S0S, Service OperationSystem)和
客户操作系统(G0S, Guest Operation System)。用户预先通过G0S定制了自己感兴趣的
任务,这些信息会在GOS的启动过程中由SOS执行并向用户显示。具体的,这些任务包括但
不限于以下的举例 1)用户的新邮件提醒; 2)公司发布的重大新闻; 3)用户定制的当天日程表/备忘录; 4)天气预报; 5)网络管理员发布的网络管理信息(例如网络的升级和配置信息等);
6)在G0S启动过程中使用何种图片作为桌面背景。 图l所示为本实施例所述客户操作系统的启动方法的流程图,如图l所示,该方法 包括以下步骤 步骤10,虚拟机系统上电,系统BI0S模块会进行一系列的设备自检、硬件初始化 配置等处理,之后,将系统控制权交给引导加载程序(Boot loader)模块,引导加载程序模 块引导虚拟机管理器(V匪,Virtual Machine Monitor)启动,启动完成后进入步骤11 ;
步骤11, VMM启动完成后,VMM引导SOS启动,并在前台显示SOS的启动过程,SOS 启动完成后进入步骤12。 这里,与现有技术中的基于Xen软件的虚拟机系统相类似,本实施例中的伺服操 作系统的一部分功能是为客户操作系统提供访问硬件设备的相关支持,例如通过在SOS中 设置与GOS对应的设备模型(DM, Device Model),为GOS提供一个虚拟的硬件平台。
需要指出的是,为了减少SOS的启动时间,本实施例中的SOS是一个精简的微型 (mini)OS,其在启动过程中仅加载必须的驱动程序和系统服务。这里,可以根据是否满足 预定条件,事先对SOS的驱动程序和系统服务进行裁减,裁减掉不必要的驱动程序和服务, 在SOS启动过程中仅加载当前存在的驱动程序和系统服务;也可以在SOS启动过程中根据 预定条件,判断哪些驱动程序和系统服务是必须、的不可缺少的,从而只加载这部分驱动程 序和系统服务。所述预定条件是为GOS提供虚拟机服务的系统服务、执行用户预先设置 的任务所必须的驱动程序。具体的,由于SOS需要使用物理显卡进行显示、以及需要为GOS 提供虚拟机服务,因此,显卡驱动和为GOS提供虚拟机服务的系统服务是必须要加载的。当 然,在SOS需要访问网络以执行用户预先设置的任务(例如从邮件服务器上读取新邮件等) 时,SOS还需要加载网卡驱动程序。 步骤12, SOS启动完成后,判断当前是否存在用户预先设置的任务如果存在,则 进入步骤13 ;否则进入步骤14。 步骤13,S0S执行用户预先设置的任务并向用户显示,同时S0S在后台引导G0S启 动,并在GOS启动完成之后,将GOS切换到前台进行显示,至此流程结束。
这里,在GOS启动过程中,SOS在前台显示。用户能够看到SOS执行预先设置的任务 时所显示的内容,从而获取到自己感兴趣的各种信息。例如,SOS可以调用本地保存的用户 喜爱的图片,作为桌面背景显示给用户;SOS还可以读取本地保存的日程安排表及备忘录, 并显示给用户;SOS还可以通过访问网络,从邮件服务器、新闻服务器或其它信息服务器获 取新邮件信息、新闻信息和天气信息等各种有用信息并显示给用户,本实施例在用户等待 GOS的启动过程中,用户并非无所事事地被动等待,而是充分利用这段启动时间获取有用信 息,从而提高了用户工作学习效率,改善了用户体验。在GOS启动完成之后,SOS可以停止 执行所述预先设置的任务,以节约系统资源。 步骤14,在当前不存在用户预先设置的任务时,SOS正常引导GOS启动,并将所述 客户操作系统切换到前台进行显示,GOS启动完成之后,结束流程。 在GOS启动之后,用户可以在GOS中定制或更改自己感兴趣的任务。GOS将用户定 制的任务信息通过共享内存方式传递给V匪,VMM通过主动通知方式或等待查询方式,将所 述任务信息通知给SOS,从而SOS可以获取所述任务信息。当然,GOS还可以将所述任务信 息发送到网络服务器,SOS启动后可以从网络服务器上获取所述任务信息。
基于上述的操作系统的启动方法,本实施例还提供了一种虚拟机系统。如图2所 示,本实施例所述虚拟机系统包括 硬件平台,所述硬件平台至少包括引导加载程序模块、CPU和物理显卡;
运行在所述硬件平台上的虚拟机管理器;
显示切换模块; 运行在所述虚拟机管理器上的伺服操作系统和客户操作系统,
所述引导加载程序模块,用于在所述虚拟机系统上电后,引导所述虚拟机管理器 启动; 所述虚拟机管理器,用于在自身启动完成后,引导所述伺服操作系统启动,其中, 所述伺服操作系统在启动过程中加载满足预定条件的驱动程序和系统服务;所述预定条件 是为G0S提供虚拟机服务的系统服务、执行用户预先设置的任务所必须的驱动程序;
所述伺服操作系统,用于在自身启动后,执行用户预先设置的任务并向用户显示, 同时在后台引导所述客户操作系统启动; 所述显示切换模块,用于在所述客户操作系统启动完成之前,控制所述伺服操作 系统在前台显示;以及,在所述客户操作系统启动完成后,控制所述客户操作系统在前台显 示。这里,较佳的,所述显示切换模块设置在所述虚拟机管理器或所述伺服操作系统中。
本实施例中,所述显示切换模块还可以包括一判断模块,该判断模块用于在所述 伺服操作系统启动后,判断当前是否存在用户预先设置的任务如果存在,则控制所述伺服 操作系统在前台显示;否则,控制所述客户操作系统在前台显示。
本实施例中,所述伺服操作系统具体包括 执行模块,用于在所述伺服操作系统启动后,如果当前存在所述用户预先设置的 任务,则执行所述任务并在后台引导所述客户操作系统启动,如果当前不存在所述用户预 先设置的任务,则直接引导所述客户操作系统启动; 加载模块,用于在所述伺服操作系统启动过程中加载满足预定条件的系统服务和 驱动程序;具体的,所述满足预定条件的系统服务和驱动程序可以是显卡驱动以及为所述 客户操作系统提供虚拟机服务的系统服务,或者是显卡驱动、网卡驱动、以及为所述客户操 作系统提供虚拟机服务的系统服务; 显卡驱动,用于提供伺服操作系统对物理显卡的访问。
如图2所示,本实施例中所述客户操作系统包括 定制模块,用于接收用户定制的所述预先设置的任务,并通过所述虚拟机管理器
将所述预先设置的任务发送给所述伺服操作系统; 显卡驱动,用于提供客户操作系统对物理显卡的访问。 本实施例中,用户可以通过客户操作系统的定制模块,预先设置自己感兴趣的任 务。然后,虚拟机系统在上电启动过程中,首先快速引导伺服操作系统启动。由于伺服操作 系统的加载模块在伺服操作系统的启动过程中仅加载满足预定条件的驱动和系统服务,从 而伺服操作系统能够快速的启动,进而执行用户预先设置的任务并在前台向用户显示,以 向用户反馈其所感兴趣的信息,同时在后台引导客户操作系统启动。这样,在客户操作系统 的启动过程中(相对于伺服操作系统,客户操作系统的启动过程所需时间要长很多)用户 不是无所事事的等待,还是可以通过预先设置任务,在启动过程中获取有用信息,从而使得 操作系统的启动过程更加人性化,并且在启动过程中可以利用启动时间提供给用户各种信 息,提高了用户工作学习效率。 以上详细说明了本实施例的操作系统的启动方法以及虚拟机系统的结构。本实施 例中,伺服操作系统和客户操作系统都是通过同一个物理显卡进行显示输出,因此需要通 过显示切换模块对操作系统的显示进行切换控制。为了能够充分理解本实施例,以下提供 多操作系统的显示切换控制的两种方法。但是,对于本领域的普通技术人员来说应该了解,
8除了以下所述的两种方法之外,还可以利用现有技术中已有的各种方案对多操作系统的显示进行切换控制。 这两种方法中,各个操作系统都是直接访问真实的物理显卡,而不是访问虚拟的显卡,这样能够获得比使用虚拟显卡更好的显示性能。 其中,第一种方法是利用显卡通常具有多个显示通道(Display Pipe)的特性,实现多个操作系统共享物理显卡。所述显示通道是显卡中的一组显示控制寄存器组,其中保存有显示模式参数信息。所述显示模式参数包括分辨率、刷新率、色深(Color D印th)和显示内容所使用的显存信息等。具体的,本方法中,预先配置各个操作系统所对应的显示控制寄存器组(显示通道),并在虚拟机系统中设置一对应关系表,在该对应关系表保存每一操作系统对应的显示控制寄存器组信息;当图2中的显示切换模块需要控制伺服操作系统或客户操作系统在前台显示时,通过调用所述对应关系表,确定将要显示的操作系统所对应的显示控制寄存器组,控制该显示控制寄存器组与显卡的显示输出端口连接,然后,根据该显示控制寄存器组的显示模式参数对将要显示的操作系统进行显示。 第二种方法是预先为图2中的客户操作系统配置显卡的所有显示控制寄存器组
和所有显存资源,为伺服操作系统配置显卡的其中一组显示控制寄存器组和所有显存资源
中的部分显存资源。当图2中的显示切换模块需要控制某个操作系统在前台显示时,首先
确定该操作系统所对应的显存资源和显示控制寄存器组信息,然后,控制该操作系统所对
应的显示控制寄存器组与显卡的显示输出端口连接,根据该操作系统所对应的显存资源获
取该操作系统的显示内容,并根据该操作系统所对应的显示控制寄存器组中的显示模式参
数,对该显示内容进行显示。本方法中,当伺服操作系统在前台显示时,还可以通过在虚拟
机管理器中设置一拦截模拟模块,用于拦截后台的客户操作系统对伺服操作系统的显存资
源或显示控制寄存器组的访问操作,并为客户操作系统模拟所述访问操作;当伺服操作系
统在后台显示时,伺服操作系统停止对其显存内容或显示控制寄存器组进行更新操作。 综上所述,本发明实施例通过在客户操作系统启动过程中,首先引导虚拟机管理
器,再由虚拟机管理器快速引导一个精简的伺服操作系统,再由伺服操作系统在后台引导
客户操作系统启动,并在客户操作系统启动过程中,伺服操作系统在前台执行并显示用户
预先设置的任务,以将该用户感兴趣的信息提供给该用户,从而充分利用了客户操作系统
的启动时间,提高了用户工作学习效率,改善了用户体验。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
9
权利要求
一种客户操作系统的启动方法,应用在包括有伺服操作系统和客户操作系统的虚拟机系统中,其特征在于,包括引导所述伺服操作系统启动并在前台显示,所述伺服操作系统在启动过程中加载满足预定条件的驱动程序和系统服务,其中,所述预定条件是为所述客户操作系统提供虚拟机服务所必须的系统服务,以及执行用户预先设置的任务所必须的驱动程序;在所述伺服操作系统启动后,在后台引导所述客户操作系统启动,同时在前台执行所述用户预先设置的任务并向用户显示;在所述客户操作系统启动完成后,将所述客户操作系统切换到前台进行显示。
2. 如权利要求1所述的方法,其特征在于,在所述伺服操作系统启动后,进一步判断当 前是否存在用户预先设置的任务如果存在,则执行用户预先设置的任务并在向用户显示, 同时在后台引导所述客户操作系统启动;如果不存在,则引导所述客户操作系统启动并将 所述客户操作系统切换到前台进行显示。
3. 如权利要求1或2所述的方法,其特征在于,预先裁减所述伺服操作系统中不满足所 述预定条件的系统服务和驱动程序,所述伺服操作系统在启动过程中仅加载当前存在的系 统服务和驱动程序。
4. 如权利要求3所述的方法,其特征在于,所述预先裁减所述伺服操作系统中不满足 所述预定条件的系统服务和驱动程序是裁减所述伺服操作系统中除了显卡驱动之外的其 它驱动程序,以及裁减所述伺服操作系统中除了为所述客户操作系统提供虚拟机服务的系 统服务之外的其它系统服务。
5. 如权利要求3所述的方法,其特征在于,所述预先裁减所述伺服操作系统中不满足 所述预定条件的系统服务和驱动程序是裁减所述伺服操作系统中除了显卡驱动和网卡驱 动之外的其它驱动程序,以及裁减所述伺服操作系统中除了为所述客户操作系统提供虚拟 机服务的系统服务之外的其它系统服务。
6. 如权利要求1所述的方法,其特征在于,所述执行用户预先设置的任务并向用户显 示包括读取并向用户显示本地保存的预定信息,和/或从远端网络服务器上获取预定信 息并向用户显示。
7. 如权利要求l所述的方法,其特征在于,还包括客户操作系统接收用户定制的所述预先设置的任务,并通过所述虚拟机管理器将所述 预先设置的任务发送给所述伺服操作系统。
8. —种虚拟机系统,其特征在于,包括硬件平台,所述硬件平台至少包括引导加载程序模块、CPU和物理显卡; 运行在所述硬件平台上的虚拟机管理器; 显示切换模块;运行在所述虚拟机管理器上的伺服操作系统和客户操作系统,所述引导加载程序模块,用于在所述虚拟机系统上电后,引导所述虚拟机管理器启动;所述虚拟机管理器,用于在自身启动完成后,引导所述伺服操作系统启动,其中,所述 伺服操作系统在启动过程中加载满足预定条件的驱动程序和系统服务,其中,所述预定条 件是为所述客户操作系统提供虚拟机服务所必须的系统服务,以及执行所述用户预先设置的任务所必须的驱动程序;所述伺服操作系统,用于在自身启动后,在后台引导所述客户操作系统启动,同时在前 台执行用户预先设置的任务并向用户显示;所述显示切换模块,用于在所述客户操作系统启动完成之前,控制所述伺服操作系统 在前台显示;以及,在所述客户操作系统启动完成后,控制所述客户操作系统在前台显示。
9. 如权利要求8所述的虚拟机系统,其特征在于,所述显示切换模块包括一判断模块,用于在所述伺服操作系统启动后,判断当前是否 存在用户预先设置的任务如果存在,则控制所述伺服操作系统在前台显示;否则,控制所 述客户操作系统在前台显示;所述伺服操作系统包括执行模块,用于在所述伺服操作系统启动后,如果当前存在所述用户预先设置的任务, 则执行所述任务并在后台引导所述客户操作系统启动,如果当前不存在所述用户预先设置 的任务,则直接引导所述客户操作系统启动;加载模块,用于在所述伺服操作系统启动过程中加载满足预定条件的系统服务和驱动 程序。
10. 如权利要求8所述的虚拟机系统,其特征在于,所述满足预定条件的系统服务和驱 动程序包括显卡驱动、为所述客户操作系统提供虚拟机服务的系统服务。
11. 如权利要求8所述的虚拟机系统,其特征在于,所述满足预定条件的系统服务和驱 动程序包括显卡驱动、网卡驱动、为所述客户操作系统提供虚拟机服务的系统服务。
12. 如权利要求8所述的虚拟机系统,其特征在于,所述客户操作系统包括定制模块,用于接收用户定制的所述预先设置的任务,并通过所述虚拟机管理器将所述预先设置的任 务发送给所述伺服操作系统。
13. 如权利要求8所述的虚拟机系统,其特征在于,所述显示切换模块设置在所述虚拟 机管理器或所述伺服操作系统中。
全文摘要
本发明提供了一种客户操作系统的启动方法及虚拟机系统。所述方法包括虚拟机管理器引导伺服操作系统启动并在前台显示,所述伺服操作系统在启动过程中加载满足预定条件的驱动程序和系统服务;所述伺服操作系统启动完成后,在后台引导客户操作系统启动,同时在前台执行用户预先设置的任务并向用户显示;在所述客户操作系统启动完成后,将客户操作系统切换到前台进行显示。本发明充分利用了客户操作系统启动的等待时间,避免了时间浪费。
文档编号G06F9/455GK101763274SQ200810241069
公开日2010年6月30日 申请日期2008年12月25日 优先权日2008年12月25日
发明者刘永锋 申请人:北京联想软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1