用于进行智能系统运行环境切换的方法及其设备.pdf

上传人:e1 文档编号:4054800 上传时间:2018-08-13 格式:PDF 页数:17 大小:2.29MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410855285.7

申请日:

2014.12.26

公开号:

CN104516782A

公开日:

2015.04.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/48申请日:20141226|||公开

IPC分类号:

G06F9/48; G06F9/455

主分类号:

G06F9/48

申请人:

上海迈微软件科技有限公司

发明人:

杨晓伟; 许东晓; 冯昱涵

地址:

201615上海市松江区沪松公路1399弄88号1411室

优先权:

专利代理机构:

广州粤高专利商标代理有限公司44102

代理人:

陈卫

PDF下载: PDF下载
内容摘要

本发明涉及一种用于在计算设备上运行多操作系统的方法,该方法包括下列步骤:将第一操作系统作为原生操作系统运行并且将第二操作系统作为虚拟操作系统运行;以及将第二操作系统切换为原生操作系统。本发明还涉及用于在计算设备上运行多操作系统的系统以及相应的计算设备。通过本发明的方法、系统和计算设备,可以给用户提供更多的选择并且同时提高计算设备的整体性能,从而给用户提供更好的体验。

权利要求书

权利要求书
1.  一种用于在计算设备上运行多操作系统的方法,该方法包括下 列步骤:
将第一操作系统作为原生操作系统运行并且将第二操作系统作为 虚拟操作系统运行;以及
将第二操作系统切换为原生操作系统。

2.  根据权利要求1所述的方法,还包括:
选择原生操作系统和虚拟操作系统之一作为前台操作系统运行而 另一个操作系统作为后台操作系统运行,其中前台操作系统具有全部 的输入和输出设备。

3.  根据权利要求1所述的方法,其中将第二操作系统切换为原生 操作系统包括:
由所述虚拟操作系统检测系统和设备的性能指标;
当所述性能指标超过一阈值时将第二操作系统切换为原生操作系 统。

4.  根据权利要求1所述的方法,其中将第二操作系统切换为原生操 作系统包括:
从用户接收表示将第二操作系统切换为原生操作系统的指示;以 及
将第二操作系统切换为原生操作系统。

5.  根据权利要求1至4之一所述的方法,还包括:
将第一操作系统切换为虚拟操作系统。

6.  根据权利要求3所述的方法,其中所述性能指标包括:所述虚拟 操作系统的I/O访问频率、包括但不限于GPU I/O访问频率。

7.  根据权利要求6所述的方法,其中使用IO检测器IOD来确定所述 I/O访问频率。

8.  根据权利要求1所述的方法,其中在所述计算设备上同时安装有 供第一操作系统和第二操作系统在作为原生操作系统和虚拟操作系统 运行时使用的驱动程序。

9.  根据权利要求1所述的方法,其中所述虚拟操作系统的虚拟逻辑 块地址(vLBA)等于物理逻辑块地址(pLBA)。

10.  根据权利要求1所述的方法,其中将第二操作系统切换为原生 操作系统包括:
向运行在第一操作系统上的管理程序请求作为原生操作系统运行 第二操作系统;
将下一次重新启动时的缺省操作系统设置为第二操作系统;
关闭操作系统;以及
重新启动系统并且作为原生操作系统运行第二操作系统。

11.  根据权利要求3所述的方法,还包括:
当所述性能指标超过一阈值时询问用户是否同意将第二操作系统 作为原生操作系统运行;以及
当用户同意时将第二操作系统切换为原生操作系统。

12.  根据权利要求1所述的方法,其中将第二操作系统切换为原生 操作系统包括:
保存第二操作系统的第二操作系统状态;以及
将第二操作系统切为原生操作系统并且将第二操作系统恢复到第 二操作系统状态。

13.  根据权利要求12所述的方法,还包括:
保存第一操作系统的第一操作系统状态;以及
将第一操作系统切换为虚拟操作系统并且将第一操作系统恢复到 第一操作系统状态。

14.  根据权利要求13所述的方法,其中第一操作系统状态和第二操 作系统状态包括用户应用的状态和相应用户数据。

15.  一种计算设备,该计算设备具有:
存储器,其上存储有可执行指令;
处理器,其被配置为执行可执行指令以执行根据权利要求1所述的 方法的步骤。

说明书

说明书用于进行智能系统运行环境切换的方法及其设备
技术领域
本发明总的来说涉及计算机操作系统领域,具体而言涉及用于在多 操作系统中进行智能系统运行环境切换的方法、系统以及相应的计算 设备。
背景技术
近年来,随着诸如智能手机、平板计算机等移动设备的兴起,出现 了支持各种操作系统的移动设备,比如Windows、安卓、IOS、Tizen 等等。然而,一个移动设备通常只能运行一个特定的操作系统,比如 安卓设备可以运行安卓操作系统和安卓应用,但不能运行Windows操 作系统和Windows应用。这极大地限制了移动设备对为不同操作系统 开发的应用程序的支持。
针对该问题,从现有技术中公知的一种解决方案是双启动。在双 启动方案中,一个移动设备可以在其存储设备中同时安装两个(或更 多个)操作系统。例如,在一个移动设备中首先安装Windows操作系 统,然后安装安卓操作系统。用户在每次开机时可以选择启动安卓或 Windows操作系统,从而实现在同一移动设备上运行不同操作系统的相 应应用程序。然而双启动的缺点是,同一时间只能运行一个操作系统, 即只有当前操作系统是活动的,而另一操作系统则完全关闭。这往往 给用户带来不便,比如当用户在Windows操作系统中编辑Word文档时, 如果这时有微信消息被发送给不活动的另一安卓操作系统,则双启动 方案并不能接收这个微信消息,也不能够提醒用户该系统有微信信息 到来。
另一方案是系统虚拟化技术,即在将一个操作系统作为原生操作 系统(即直接运行在硬件上的操作系统)运行的同时,通过虚拟化在 该原生操作系统上将另一操作系统运行在一个虚拟机里,即作为客机 (Guest)操作系统(本文将该客机操作系统也称为虚拟操作系统)运 行。与前述双启动方案相比,虚拟操作系统具有如下优点:原生系统 与虚拟系统之间的切换更迅速,而且虚拟系统在作为后台系统运行时 仍然是活动的并可执行某些输出(如消息提醒)。然而,虚拟操作系 统需要耗费较多系统资源。
发明内容
从上面可以得知,作为原生操作系统运行单个系统的双启动方案 和使用虚拟机的虚拟操作系统方案各有优缺点,因此需要一种能够充 分利用所述方案的优点并尽可能避免所述方案的缺点的多操作系统运 行方案。
基于现有技术,本发明的任务在于,提供用于在多操作系统中进行 双启动和虚拟化技术之间的智能切换的方法以及相应的计算设备,所 述方法和计算设备可以改善系统性能并提供更好的用户体验。
根据本发明,该任务通过用于在计算设备上运行多操作系统的方法 和系统以及相应计算设备来解决,在从属权利要求中定义本发明的扩 展方案和优选方案。
在本发明的第一方面,提供了一种用于在计算设备上运行多操作系 统的方法,该方法包括下列步骤:
·将第一操作系统作为原生操作系统运行并且同时将第二操作系统 作为虚拟操作系统运行;以及
·将第二操作系统切换为原生操作系统。
在本发明的范围内,原生操作系统是指直接在设备的硬件上运行的 操作系统,而虚拟操作系统是使用虚拟化技术在原生操作系统生成的 虚拟机上运行的操作系统。原生操作系统和虚拟操作系统可以包括各 种操作系统,比如安卓(Android)、Windows、IOS、Linux、Tizen等 等。
通过本发明的上述切换,至少可以提供的优点是:向用户提供了将 某个操作系统在双启动下的原生操作系统与虚拟化下的虚拟系统之间 切换(以下也简称虚拟/原生系统之间的切换)的选项,其中原生操作 系统具有更好的性能和更快的响应,而虚拟操作系统具有更迅速的双 系统切换和后台系统输出,因此用户可以根据其需要或偏好来选择将 某个操作系统切换为双启动下的原生操作系统或虚拟化下的虚拟操作 系统,例如:当要在虚拟操作系统上运行繁重计算任务或者频繁设备 访问时可以将该虚拟操作系统切换到原生操作系统,而当用户需要更 迅速的双系统切换或后台系统响应时,可以选择从双启动方式到虚拟 化方式,即将其中一个系统保持当前原生操作系统,而将另一个系统作 为虚拟操作系统运行,从而提供了更好的系统性能和更好的用户体验。 而在现有技术中,在一个设备上往往仅能固定地将某个系统作为原生 操作系统或者虚拟操作系统来运行,这显然不能像本发明的方案那样 灵活地利用原生操作系统和虚拟操作系统各自的优点并进而提高系统 性能和用户体验。本发明不仅适用于诸如平板计算机、智能手机、个 人数字助理、上网本、膝上型计算机(如超级本)等之类的便携式计 算设备,而且还适用于其它计算设备、如台式机、工作站、服务器等 等。
在根据本发明的一个扩展方案中,在所述计算设备上同时安装有供 第一操作系统和第二操作系统在作为原生操作系统和虚拟操作系统运 行时使用的驱动程序。通过这样做,可以无问题地实现双启动下的原 生操作系统与虚拟化下的虚拟操作系统之间的自由切换。而在现有技 术中,如上所述,由于在一个设备上仅能固定地将某个系统作为原生 操作系统或者虚拟操作系统来运行,因此在现有技术中不会、也没有 必要在同一个设备上安装某个系统的供其作为原生操作系统时运行时 使用的驱动程序以及供其作为虚拟操作系统运行时使用的驱动程序二 者,由此,本发明提供了一种新颖且高效的用于进行原生和虚拟系统 切换的手段。
在本发明的一个优选方案中,所述虚拟操作系统的虚拟逻辑块地址 (virtual LBA或vLBA)等于物理逻辑块地址(physical LBA或pLBA)。 也就是说,使原生操作系统和虚拟机中的虚拟操作系统分别使用硬盘 上的不同物理分区,从而使虚拟操作系统到原生操作系统的切换更直 接和高效地进行,例如省去了分区内容转换、预留分区等操作。因此, 通过该措施,可以实现快速和低成本的虚拟/原生操作系统切换。
在根据本发明的一个扩展方案中,前述方法还包括:选择原生操作 系统和虚拟操作系统之一作为前台操作系统运行而另一个操作系统作 为后台操作系统运行,其中前台操作系统具有全部的输入和输出设备。 通过该扩展方案,可以在虚拟操作系统作为前台操作系统运行时提供 独占操作系统的用户体验。所述选择可以由用户发起,例如用户按下 指示将某个操作系统转换为前台操作系统的特定物理按键、输入语音 等等。
但是,在此应当指出,上述前台/后台操作系统转换并不是必需的, 相反其是可选的以用于提供更好的多操作系统体验。本方案同样适用 于采用传统虚拟机的多操作系统,其中虚拟操作系统作为一个或多个 窗口显示在原生操作系统中,用户激活相应窗口,以便向与该窗口相 对应的虚拟操作系统中提供用户输入。
在根据本发明的一个优选方案中,将第二操作系统切换为原生操作 系统包括:
·从用户接收表示将第二操作系统切换为原生操作系统的指示;以 及
·将第二操作系统切换为原生操作系统。
通过该方案,给用户赋予了自由切换的选择权,提供了更好的用户 体验。
在本发明的另一优选实施方式中,将第二操作系统切换为原生操作 系统包括:
·由所述虚拟操作系统检测系统和设备的性能指标;
·当所述性能指标超过一阈值时将第二操作系统切换为原生操作系 统。
该方法能够极大地提高多操作系统的性能。这是因为,该方案基于 发明人的如下洞察:当某操作系统作为虚拟操作系统运行时,会有虚 拟化性能损失、特别是在对设备进行访问时更是如此,因为虚拟操作 系统中的许多操作需要虚拟机监视程序(VMM)的参与,而当虚拟操 作系统的性能因负载过重等原因变为低下时,通过将该虚拟操作系统 切换为直接在设备硬件上运行而不需要VMM参与的原生操作系统,可 以极大地提高多操作系统设备的性能。如此一来,在本发明中,通过 在虚拟操作系统性能低下时将其切换为原生操作系统,可以自动地保 持系统的高性能运行,由此带来更好的用户体验。
在此应当注意,在本发明中,“性能指标超过一阈值”是指将性能 指标与阈值相比较并作出判断,因此根据不同阈值的选取,该用语也 涵盖了“性能指标等于或低于一阈值”这一情况,只要“性能指标等 于或低于一阈值”这一情况指示了虚拟操作系统的性能低下。
在本发明的又一优选实施方式中,所述性能指标包括:所述虚拟操 作系统的I/O访问频率包括但不限于所述虚拟操作系统的GPU I/O访问 频率。该方案基于发明人的如下独到的发现:在虚拟操作系统中进行 I/O设备访问时,需要被VMM陷入并交由主机上的设备模型(DM)进行 模拟(该DM模拟一般利用主机的I/O以完成客机的IO模拟,该模拟 可以采用设备仿真或者半虚拟化的方法);但是这种模拟既具有较大 的复杂性、即花费更多CPU资源,又经历更长的IO路径;因此,在虚 拟操作系统中进行I/O操作时的虚拟化性能损失也是非常明显的:对于 大部分IO如网络/磁盘IO,虚拟化的性能损失大概在10%,而GPU是 一个更为复杂的设备,它的IO的模拟更加复杂,性能损失也更加严重 (某些情况下可能损失80%以上)。由此可见,通过有针对性地检测虚 拟操作系统中的I/O访问频率、尤其是GPU I/O访问频率以作为判断是 否进行虚拟/原生系统切换的性能指标,可以更加准确地进行所述切 换,从而更好地提高多操作系统设备的性能。此外,将其它I/O访问频 率用作所述性能指标也是可能的,比如网络I/O访问频率、磁盘I/O访 问频率等等。所述I/O访问频率例如可以是所述设备I/O访问数占总I/O 访问数的比例、如百分比,并且所述阈值例如可以被相应地设置为某 个百分数,例如50%、60%、80%等等。可替代地,所述I/O访问频 率也可以是单位时间内执行所述I/O访问的次数,并且所述阈值可以被 相应地设置为某个次数、例如每秒钟10次、100次等等。
在本发明的一个扩展方案中,使用IO检测器IOD来确定所述I/O 访问频率。在该扩展方案中,通过使用专门的IO检测器IOD来确定I/O 访问频率,可以更好地确定所述性能指标。
在本发明的另一扩展方案中,将第二操作系统切换为原生操作系 统包括:
·向运行在第一操作系统上的管理程序请求作为原生操作系统运 行第二操作系统;
·将下一次重新启动时的缺省操作系统设置为第二操作系统;
·关闭操作系统;以及
·重新启动系统并且作为原生操作系统运行第二操作系统。
通过该扩展方案,可以简单、有效地进行虚拟/原生操作系统切换。
在本发明的又一扩展方案中,前述方法还包括如下步骤:
·当所述性能指标超过一阈值时询问用户是否同意将第二操作系统 作为原生操作系统运行;以及
·当用户同意时将第二操作系统切换为原生操作系统。
通过该扩展方案,可以在虚拟系统性能不佳时给用户赋予是否进行 虚拟/原生操作系统切换的选择权,使得由用户来判断是为了更好的性 能进行该切换、还是保持当前操作系统,从而提供更好的用户体验。
在本发明的一个优选方案中,前述方法还包括:
·将第一操作系统切换为虚拟操作系统。
在该优选方案中,通过在将第二操作系统切换为原生操作系统的同 时将第一操作系统切换为虚拟操作系统,可以在提高系统性能的同时 仍然为用户提供多操作系统的体验,也就是说,通过该优选方案,原 来的虚拟操作系统被切换为原生操作系统,而原来的原生操作系统被 切换为虚拟操作系统,而对于用户而言,系统性能得到提高,同时多 操作系统的体验保持不变,从而提供了更好的用户体验。将第一系统 切换为虚拟操作系统例如可以通过如下方式进行:在已切换为原生操 作系统的第二操作系统上通过虚拟化技术作为虚拟操作系统运行第一 操作系统。
在本发明的另一优选方案中,将第二操作系统切换为原生操作系统 包括:
·保存第二操作系统的第二操作系统状态;以及
·将第二操作系统切为原生操作系统并且将第二操作系统恢复到第 二操作系统状态。
在该优选方案中,通过在虚拟/原生操作系统切换以前保存第二操 作系统的操作系统状态,可以在所述切换以后将第二操作系统恢复到 切换以前的状态,使得所述切换不给用户对第二操作系统的使用带来 影响,从而给用户提供更好的体验。
在本发明的又一优选方案中,前述方法还包括:
·保存第一操作系统的第一操作系统状态;以及
·将第一操作系统切换为虚拟操作系统并且将第一操作系统恢复到 第一操作系统状态。
在该优选方案中,通过在虚拟/原生操作系统切换以前附加地保存 第一操作系统的操作系统状态,可以在所述切换以后附加地将第一操 作系统恢复到切换以前的状态,使得所述切换不给用户对第二和第一 操作系统二者的使用带来影响,相反,在提高多操作系统设备的性能 的同时,保证了多操作系统的各系统的状态不变,从而给用户提供更 好的体验。
在本发明的另一优选方案中,第一操作系统状态和第二操作系统状 态包括用户应用的状态和相应用户数据。这样做是有利的,因为对用 户而言,用户应用的状态和用户数据相对于操作系统本身的状态而言 是更加重要的,因此通过该优选方案,可以以较低系统开销将操作系 统恢复到用户满意的状态,从而给用户提供良好的用户体验。
在本发明的第二方面,提供了一种用于在计算设备上运行多操作系 统的系统,该系统包括:
·用于将第一操作系统作为原生操作系统运行并且同时将第二操作 系统作为虚拟操作系统运行的装置;以及
·用于将第二操作系统切换为原生操作系统的装置。
在本发明的第三方面,提供了一种计算设备,该计算设备具有:
·存储器,其上存储有可执行指令
·处理器,其被配置为执行可执行指令以执行下列操作:
将第一操作系统作为原生操作系统运行并且同时将第二操作系 统作为虚拟操作系统运行;以及
将第二操作系统切换为原生操作系统。
在本发明的一个优选方案中,所述操作还包括:
由所述虚拟操作系统检测系统和设备的性能指标;以及
当所述性能指标超过一阈值时将第二操作系统切换为原生操作系 统。
在本发明的一个优选方案中,所述步骤还包括:选择原生操作系统 和虚拟操作系统之一作为前台操作系统运行而另一个操作系统作为后 台操作系统运行,其中前台操作系统具有全部的输入和输出设备。
在本发明的一个优选方案中,所述步骤还包括:
从用户接收表示将第二操作系统切换为原生操作系统的指示;以 及
将第二操作系统切换为原生操作系统。
在本发明的一个优选方案中,其中所述性能指标包括:所述虚拟 操作系统的I/O访问频率、包括但不限于所述虚拟操作系统的GPU I/O访 问频率。
在本发明的一个优选方案中,所述步骤还包括:
将第一操作系统切换为虚拟操作系统。
在本发明的一个优选方案中,其中所述虚拟操作系统的虚拟逻辑块 地址(vLBA)等于物理逻辑块地址(pLBA)。
附图说明
下面参考附图根据多个实施例来进一步阐述本发明。附图:
图1A和1B示出了使用根据本发明的方法的移动设备在进行虚拟/ 原生操作系统切换以前和以后的示意图;
图2A和2B示出了根据本发明的系统架构,其中图2A示出了该系 统架构在虚拟/原生操作系统切换以前的状态,而图2B示出了该系统 架构在该切换以后的状态;以及
图3示出了根据本发明的用于运行多操作系统的方法的流程图。
具体实施方式
尽管在下面参考附图对本发明的实施例的描述中,以运行安卓和 Windows操作系统的平板计算机为例阐述了本发明的原理,但是应当 理解,本发明并不限于此,而是本发明还可以应用于诸如智能手机、 个人数字助理(PDA)、上网本、膝上型计算机之类的其它便携式计算 设备、诸如台式机、服务器、工作站之类的其它计算设备、以及诸如 Tizen、Linux之类的其它操作系统。
此外,尽管本发明是以运行两个操作系统为例进行说明的,但是本 发明也可用于运行两个以上的操作系统,即一个原生操作系统和多个 虚拟操作系统。
图1A和图1B分别示出了根据本发明的系统架构在虚拟/原生操作 系统切换以前的状态以及在该切换以后的状态。图1A示出了平板计算 机100在以安卓操作系统为原生系统时的快照,图1B示出了该平板计 算机100在将Windows操作系统切换为原生系统以后的快照。
从图1A中可以看出,平板计算机100具有典型的安卓用户界面 104,该安卓操作系统直接运行在设备硬件上,因此被称为原生操作系 统。在图1A中示出的作为原生操作系统运行的安卓操作系统上,还借 助于虚拟化技术运行有虚拟操作系统、即在本实施例中为Windows操 作系统(未示出)。而在图1B的图示中示出了原生/操作系统切换以 后、即在将Windows操作系统从虚拟操作系统切换为原生操作系统以 后的状态。如图1B中所示,在该切换后,平板计算机100具有拥有 Metro窗格106的Windows界面105,该Window操作系统直接运行在 设备硬件上,因此是原生操作系统。在图1B中,在作为原生操作系统 运行的Windows操作系统上,还可以可选地借助于虚拟化技术运行虚 拟操作系统、即在本实施例中为安卓操作系统(未示出)。应当指出, 尽管在所切换到的原生操作系统上运行虚拟操作系统可以改善用户体 验,但是这不是必需的,而是可由用户选择。
此外,在本实施例中,在同一设备上,用户可以选择原生操作系统 和虚拟操作系统之一作为前台操作系统运行,而另一个则作为后台操 作系统运行,其中前台操作系统具有全部的用户输入和输出设备,由 此在虚拟操作系统作为前台操作系统运行时提供独占操作系统的用户 体验。用户可以通过各种方式将原生操作系统或虚拟操作系统转换为 前台操作系统、例如按下特定物理按键(例如平板计算机100的物理 按键、如音量+键101和音量-键102、Home键103等等)、语音输入 等等。
但是,在此应当指出,上述前台/后台操作系统转换并不是必需的, 相反其是可选的以用于提供更好的多操作系统体验。本方案同样适用 于采用传统虚拟机的多操作系统,其中在同一设备上,用户可以选择 将虚拟系统的输入/出作为主机系统的一个窗口运行。针于该窗口的输 入被用作该虚拟系统的输入,而该虚拟系统的输出则输出到该窗口。
在本发明中,为了实现高效的虚拟/原生操作系统切换,可以采用 下列措施中的一个或多个:
(1)在运行所述双系统运行方法的计算设备上同时安装有供第二操 作系统在作为原生操作系统和虚拟操作系统运行时使用的驱动程序, 可选地在所述计算设备上还同时安装有供第一操作系统在作为原生操 作系统和虚拟操作系统运行时使用的驱动程序。通过这样做,可以无 问题地实现双启动下的原生操作系统与虚拟化下的虚拟操作系统之间 的自由切换;以及
(2)使虚拟操作系统的虚拟盘等于物理盘。也就是说,分配给虚拟 系统的分区与物理盘中的分区相同,即位于该盘的原始地址处(虚拟 逻辑块地址vLBA=物理逻辑块地址pLBA),具体过程请参阅本发明人 的名为“Supporting Multiple Operating System Environment in a  Computing Device without Contents Conversion”的专利申请(案号为 P69026PCT/45631-230416),该专利的公开内容通过引用并入本申请。 也就是说,通过上述措施,使原生操作系统和虚拟机中的虚拟操作系 统分别使用硬盘上的不同物理分区,从而使虚拟操作系统到原生操作 系统的切换更直接和高效地进行,例如省去了分区内容转换、预留分 区等操作。因此,通过该措施,可以实现快速和低成本的虚拟/原生操 作系统切换。
在本申请中,可以通过多种方式来指示将虚拟操作系统切换到原生 操作系统。一种方式是通过用户选择,例如用户在需要在虚拟系统上 执行繁重任务时可以选择将虚拟操作系统切换到原生操作系统。用户 可以通过各种用户输入方式来进行该切换,例如按下平板计算机100 的物理按键、如音量+键101和音量-键102、Home键103等等。当然, 还可以设想其它用户输入,比如语音输入、触摸输入、手势输入等等。 响应于所述用户输入,用户设备将虚拟操作系统、即Windows操作系 统切换到原生操作系统。附加地,在该切换后,用户还可以指示在 Windows操作系统上以虚拟化技术生成虚拟机环境以运行虚拟操作系 统、即安卓操作系统。从图1B中可以看出,Windows操作系统作为原 生操作系统在平板计算机100上运行,并具有原生操作系统所具有的 更好的性能,从而给用户提供更佳的体验。
另一种方式是系统根据性能指标进行所述切换。例如,在切换前(即 图1A所示状态),虚拟操作系统例如在作为前台操作系统(或窗口) 运行时检测系统和设备的性能指标、例如I/O。该检测例如可以通过虚 拟操作系统中的I/O检测器来执行。当所述性能指标超过某阈值时、例 如当所述访问频率超过某个极限值时,自动地或者在用户同意的情况 下将虚拟操作系统切换为原生操作系统。所述阈值可以由用户设置, 也可以由设备厂商预设。例如,该阈值可以设置为GPU I/O访问数占所 有I/O访问数的一定百分比、如50%、优选60%、更优选80%,或者 该阈值被设置为单位时间内执行的GPU I/O访问数、如每秒钟10次、 100次等等。其它的阈值设置也是可能的。
通过所述切换,不仅给用户提供了更多的选项,更重要的是,虚拟 操作系统在切换到原生操作系统以后,整个系统性能大大提高,例如 模拟GPU I/O等操作所带来的系统开销大大降低,从而极大地提高了整 体系统性能,提供了更好的用户体验。
图2A和图2B分别示出根据本发明的系统架构在虚拟/原生操作系 统切换以前的状态和在该切换以后的状态。
如图2A所示,第一操作系统OS1(在本实施例中为安卓操作系统) 的内核201直接运行在设备硬件上,因此是原生操作系统,而第二操 作系统OS2(在本实施例中为Windows操作系统)的内核202以虚拟 化技术运行在OS1上(具体而言,OS1上的虚拟机中),因此是虚拟 操作系统。虚拟化技术是本领域公知的技术,为了不模糊本发明,在 此不加以详细展开。关于虚拟机技术,例如可以参阅Xen和KVM虚拟 机架构。
在OS1的内核201中运行有支持虚拟化的虚拟机监视程序(Virtual  Machine Monitor)VMM 208。
在OS1中还运行有设备模型(device model简称DM)205。设备 模型205用于处理从计算设备(在此为平板计算机100,其它计算设备、 如膝上型计算机、台式机也是可能的)的输入设备(在此为触摸屏, 其它的输入设备、如键盘、鼠标也是也能的)上接收到的用户点击、 击键、语音、手势等输入事件。设备模型根据这些输入事件为虚拟操 作系统生成相应的模拟所述输入事件的虚拟输入事件。附加地,为了 提供更好的用户体验,设备模型还可以负责前台/后台操作系统转换, 其具体过程如下:如果所述输入事件是表示将操作系统转换为前台操 作系统的输入事件,则设备模型205执行相应的系统切换。如果不是, 则设备模型205可以为虚拟操作系统202产生模拟该输入事件的虚拟 输入事件,并可能产生相应的虚拟输入中断以便通知虚拟操作系统202 处理这个虚拟输入事件,使得通过设备模型205,可以实现前台操作系 统具有全部的输入和输入设备这一用户体验,而不管前台操作系统是 作为原生操作系统还是作为虚拟操作系统运行。
在OS1中还运行有管理程序(Governor)206。管理程序206在用 户请求下或者在系统发起的情况下(不管当前OS2是否在运行),主动通 过设置系统的MBR或者GPT将下一次重新启动时的缺省OS设为OS2, 并且通知OS2操作系统关闭,关闭OS1并重新启动系统进入原生OS2 系统。通过管理程序206,可以实现简单和快速的虚拟/原生操作系统 切换。
在OS1上还运行有应用203、例如用户应用、系统应用,比如安卓 版微信、网页浏览器等等。同样,在OS2上也可以运行应用204,如 Windows版微信、IE浏览器等等。
在OS2上还运行有I/O检测器207。I/O检测器207例如在OS2作 为前台操作系统运行时检测I/O访问频率、例如GPU I/O访问频率。并 且当所述I/O访问频率超过某阈值时,通知管理程序206将OS2切换 为原生操作系统。例如,当GPU I/O访问数超过所有I/O访问数的50 %时、或者超过每秒10次时,通知管理程序206将OS2切换为原生操 作系统。
图2B示出了系统架构在执行虚拟/原生操作系统切换以后的状态。 如图2B所示,此时OS2的内核202直接运行在设备硬件上,因此是原 生操作系统,而OS1的内核201作为虚拟操作系统运行在OS2上。注 意,OS1是以虚线框示出的,以表明OS1作为虚拟操作系统运行在OS2 上不是必需的,而是可以由用户选择或者由厂家预设,以提供更好的 用户体验。例如,OS1可以在原生操作系统OS2启动以后根据用户选 择运行在OS2上,并且例如可选地也可以根据用户选择被转换为前台 操作系统,以便提供更好的双系统用户体验。
此时,在原生操作系统OS2上运行有设备模型205’、管理程序206’, 并且在OS2的内核202中运行有VMM 208’,而在OS1上运行有I/O检 测器207’。这些组件的功能与在图2A中类似,在此就不加以赘述。注 意,设备模型205’、管理程序206’、VMM 208’、I/O检测器207’是以 带有“’”的附图标记示出的,因为这些程序组件可能因在不同操作系 统中而不同,也就是说,这些组件在安卓操作系统中运行的版本可能 不同于在Windows操作系统中运行的版本。
此外,在图2A和2B中,OS2同时具有供OS2作为原生操作系统 和虚拟操作系统运行时使用的驱动程序(未示出)。可选地,OS1也同 时具有供OS1作为原生操作系统和虚拟操作系统运行时使用的驱动程 序(未示出)。例如,如果OS2应当作为原生操作系统运行,则在OS2 在启动时设备会自动探测设备(主要是PCI设备)的存在并加载OS2 的用于原生操作系统的驱动程序。而如果OS2应当作为虚拟操作系统 运行时,则VMM通过设备模型向OS2提供等同于真实硬件的设备列举 方法并加载OS2的用于虚拟操作系统的驱动程序。驱动程序的加载过 程是本领域公知的,为了不模糊本发明,在此不加以详细展看。关于 驱动程序的加载,例如可以参考以下参考文献: http://en.wikipedia.org/wiki/PCI_configuration_space。通过OS2和OS1 同时具有所述驱动程序,可以实现虚拟/原生操作系统之间的自由切 换。
而且,OS2在作为虚拟操作系统时的虚拟逻辑块地址等于物理逻辑 块地址,使得OS2从虚拟操作系统切换为原生操作系统的切换可以像 原生操作系统之间的切换那样直接和快速地进行,而不需要额外的操 作。同理,OS1在从原生操作系统切换到虚拟操作系统以后的虚拟逻辑 块地址也可以等于其作为原生操作系统运行时的物理逻辑块地址,由 此实现简单、快速的切换。
图3示出了根据本发明的用于运行多操作系统的方法的流程图 300。在图3中,以虚线框示出的步骤是可选的步骤。
在步骤302,将第一操作系统作为原生操作系统运行并且将第二操 作系统作为虚拟操作系统运行。
在可选步骤304,由用户将作为虚拟操作系统运行的第二操作系统 转换为前台操作系统,其中前台操作系统具有全部的输入和输出设备 。该转换如前所述可以由用户通过按下特定物理按键进行。前台操作 系统能够给用户提供独占操作系统的用户体验,而不管前台操作系统 是原生操作系统还是虚拟操作系统。在此同样应当注意,前台/后台操 作系统转换不是必需的,而是可选的。同样可以使用采用传统虚拟机 的虚拟化技术。
在可选步骤306,由作为虚拟操作系统运行的第二操作系统检测设 备和该系统的性能指标,并且在该指标超过某阈值时指示将第二操作 系统切换为原生操作系统。所述性能指标例如可以是GPU I/O访问频率 并且该检测例如可以由虚拟操作系统中运行的I/O检测器进行。可替代 地,在步骤306可以从用户接收表示将第二操作系统切换为原生操作系 统的指示。
在可选步骤308,保存第二操作系统的系统状态,并且可选地还可 以保存第一操作系统的系统状态,以供在虚拟/原生操作系统切换以后 将相应系统恢复到该切换以前的状态。所述系统状态例如包括用户应 用的状态和相应的用户数据。
在步骤310,将第二操作系统切换为原生操作系统。该切换例如可 以由管理程序206在用户请求下或者在系统发起的情况下通过主动设 置系统的下一次重新启动时的缺省OS来进行。
在可选步骤312,在切换为原生操作系统的第二操作系统上以虚拟 化技术生成虚拟机以运行第一操作系统。该步骤312可以根据用户输 入或者自动地进行,以提供更好的多系统用户体验。
在可选步骤314,根据在步骤308保存的第一操作系统和第二操作 系统的系统状态,按用户要求或者以上说明的方法,分别将作为原生 操作系统运行的第二操作系统和作为虚拟操作系统运行的第一操作系 统恢复到虚拟/原生切换以前的系统状态。系统状态的保存和恢复是本 领域公知的,为了不模糊本发明,在此不加以详细展开。
虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是 对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出 的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案 而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并 藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。

用于进行智能系统运行环境切换的方法及其设备.pdf_第1页
第1页 / 共17页
用于进行智能系统运行环境切换的方法及其设备.pdf_第2页
第2页 / 共17页
用于进行智能系统运行环境切换的方法及其设备.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《用于进行智能系统运行环境切换的方法及其设备.pdf》由会员分享,可在线阅读,更多相关《用于进行智能系统运行环境切换的方法及其设备.pdf(17页珍藏版)》请在专利查询网上搜索。

本发明涉及一种用于在计算设备上运行多操作系统的方法,该方法包括下列步骤:将第一操作系统作为原生操作系统运行并且将第二操作系统作为虚拟操作系统运行;以及将第二操作系统切换为原生操作系统。本发明还涉及用于在计算设备上运行多操作系统的系统以及相应的计算设备。通过本发明的方法、系统和计算设备,可以给用户提供更多的选择并且同时提高计算设备的整体性能,从而给用户提供更好的体验。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1