CN104360900B - 用于运行多操作系统的方法以及相应的系统和移动设备 - Google Patents

用于运行多操作系统的方法以及相应的系统和移动设备 Download PDF

Info

Publication number
CN104360900B
CN104360900B CN201410612578.2A CN201410612578A CN104360900B CN 104360900 B CN104360900 B CN 104360900B CN 201410612578 A CN201410612578 A CN 201410612578A CN 104360900 B CN104360900 B CN 104360900B
Authority
CN
China
Prior art keywords
operating
user
foreground
input
host
Prior art date
Application number
CN201410612578.2A
Other languages
English (en)
Other versions
CN104360900A (zh
Inventor
杨晓伟
许东晓
Original Assignee
上海迈微软件科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海迈微软件科技有限公司 filed Critical 上海迈微软件科技有限公司
Priority to CN201410612578.2A priority Critical patent/CN104360900B/zh
Publication of CN104360900A publication Critical patent/CN104360900A/zh
Application granted granted Critical
Publication of CN104360900B publication Critical patent/CN104360900B/zh

Links

Abstract

本发明涉及一种运行多操作系统的方法,该方法包括下列步骤:作为主机操作系统运行第一操作系统;在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM;在所述VMM上作为客机操作系统运行第二操作系统;选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统作为后台操作系统,使得所提供的用户体验是,前台操作系统拥有全部的输入设备和输出设备。本发明还涉及相应的系统和移动设备。

Description

用于运行多操作系统的方法以及相应的系统和移动设备

技术领域

本发明总的来说涉及计算机操作系统领域,具体而言涉及用于运行多操作系统的方法以及相应的系统和移动设备。

背景技术

近年来,平板电脑和智能手机等移动设备已逐渐成为人们日常生活中离不开的首选计算、游戏、或影音播放设备。不同于PC,移动设备的操作主要基于触摸屏,并少量地涉及诸如电源键和音量+/-键之类的物理按键。运行在移动设备上的操作系统包括安卓、IOS和Tizen等。通常,一个移动设备只能运行一个特定的操作系统,比如安卓设备可以运行安卓操作系统和安卓应用,但不能运行Windows操作系统和Windows应用。这极大地限制了移动设备对为不同操作系统开发的应用程序的支持。

针对该问题,从现有技术中公知的一种解决方案是双启动。在双启动方案中,一个移动设备可以在其存储设备中同时安装两个(或更多个)操作系统。例如,在一个移动设备中首先安装Windows操作系统,然后安装安卓操作系统。用户在每次开机时可以选择启动安卓或Windows操作系统,从而实现在同一移动设备上运行不同操作系统的相应应用程序。然而双启动的缺点是,同一时间只能运行一个操作系统,而且两个操作系统之间的切换过程通常需要很长时间,比如10秒以上。该切换过程的具体步骤如下(假定当前正在运行安卓应用程序X,但用户现在想运行Windows应用程序Y):

A:关闭应用程序X

B:关闭安卓操作系统

C:系统重新启动

D:(自动或手动)选择启动Windows

E:启动Windows

F:启动应用程序Y

这个切换过程是耗时的,用户通常要等待10秒以上(大部分情况下需要30秒以上)才能切换到不同的操作系统,然后才能启动该操作系统下的相应应用程序。

同时,在双启动方案中,只有当前操作系统是活动的,而另一操作系统则完全关闭。这往往给用户带来不便,比如当用户在Windows操作系统中编辑Word文档时,如果这时有微信消息发送到不活动的另一安卓操作系统,则双启动方案中的安卓操作系统并不能接收这个微信消息,也不能够提醒用户该系统有微信信息到来。

操作系统转换(OS Toggling,参见https://intel.activeevents.com/sz14/ connect/sessionDetail.ww?SESSION_ID=1154)提供了一种借助于BIOS或固件的改进的解决方案。操作系统可以利用睡眠模式(比如S3或者S0i3见http://en.wikipedia.org/ wiki/Atom_%28system_on_chip%29)较快地完成A’、B’、C’步骤:

A’:挂起应用程序X

B’:休眠安卓操作系统

C’:B I OS或固件恢复另一个操作系统

并利用操作系统本身的恢复(Resume)模式较快地完成D’、E’、F’步骤:

D’:(自动或手动)选择恢复Windows

E’:恢复Windows

F’:恢复应用程序Y

然而,在上述操作系统转换方案中,该系统切换仍然持续较长时间(据记载至少4秒),并且仍然只有当前操作系统是活动的。

另一公知解决方案是系统虚拟化。系统虚拟化技术发源于服务器,用于在一个服务器上同时运行多个操作系统。该技术也已逐步被应用在客户端机器上,比如带鼠标键盘的台式机和笔记本电脑。在虚拟化中,客机操作系统(Guest OS)的输出屏幕往往由主机操作系统(Host OS)的屏幕窗口系统中的一个窗口来表示(例如某窗口A显示客机操作系统屏幕,而其它窗口还是显示主机操作系统上的应用程序的输出)。输入事件首先由主机操作系统处理,如果输入事件是面向客机操作系统(如当前窗口聚焦在如果输入事件是客机操作系统的显示窗口等),则再由主操作系统将该事件发送到虚拟机设备模型,由设备模型向响应的客户机生成一个虚拟输入事件。然而,由于种种技术原因,虚拟化技术并未在以小尺寸显示器和触摸屏为主的平板电脑和手机等移动设备上得到应用。这些技术原因例如包括:屏幕小主机操作系统不支持多窗口操作方式,或者(在主机操作系统支持多窗口操作方式的情况下)以多窗口方式显示客机操作系统的输出屏幕可能给用户体验带来不便;各操作系统的输入输出设备不一致(如Windows操作系统一般有Windows键,Android有Home键回退键,而IOS只有Home键);切换复杂;用户体验差等等。而且,由于当时移动设备的内存较小、处理器频率较低,因此在移动设备上采用虚拟化技术未带来流畅的用户体验。

发明内容

本发明的任务在于,提供一种用于运行多操作系统的方法以及相应系统和移动设备,其中与现有技术相比,所述方法以及系统和移动设备能够提供多个操作系统中的每个操作系统的独占系统用户体验,减小切换操作系统所需的时间,并且后台系统在后台期间仍可以为用户执行某些操作(如接收消息、邮件等等)。

根据本发明,该任务通过一种用于运行多操作系统的方法来解决,该方法包括下列步骤:

·作为主机操作系统运行第一操作系统;

·在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM;

·在所述VMM上作为客机操作系统运行第二操作系统;

·选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统则作为后台操作系统,使得所提供的用户体验是,前台操作系统拥有全部的输入设备和输出设备。

在本发明的范围内,“前台操作系统拥有全部的输入设备和输出设备”这一用户体验是指,几乎所有的用户输入(除了指示切换操作系统的用户输入以外)都由前台操作系统进行最终处理并且前台操作系统产生的相应的输出完全显示在物理显示设备上,使得用户就像在与一个运行原生前台操作系统的设备交互,而不管前台操作系统是主机操作系统还是客机操作系统。这样,多个操作系统中的每个操作系统都可以给用户带来独占系统的用户体验;同时,由于两个操作系统都是活动的,后台操作系统在处于后台期间仍然可以进行某些操作(比如接收消息、邮件和通知等等),从而极大地改善了运行多操作系统的移动设备的用户体验。并且前后台操作系统之间的切换非常迅速(通常低于几毫秒)。

在本发明的一个有利的扩展方案中规定,后台操作系统不具有输出。通过该措施,用户完全感觉不到后台系统存在带来的影响,因为后台系统不与用户进行任何交互也不向用户提供任何输出,由此可以向用户提供绝对独占系统的用户体验。这在例如在用户专注于前台系统而不希望被后台系统打扰时是有利的。

而在本发明的另一有利的扩展方案规定,后台系统具有一定的输出。例如,后台系统在处于后台期间仍可向用户输出微信提醒、短消息提醒、邮件提醒、未接来电提醒、电池电量提醒等等。这在大多数情况下是有利的,因为用户在与前台系统交互时一般而言并不希望错过后台系统中的某些重要事件。后台系统具有哪些输出可以由用户自定义或者由厂家预设。这些后台系统的输出如何显示在屏幕或者前台系统上可以由用户自定义或者由厂家预设,比如通过Android系统中的状态条,同时在Android状态条弹出时,将状态条显示在Windows的屏幕中。

在本发明的范围内,为简单起见,将与操作系统本身的交互(如使用系统自带功能、设置系统等等)、以及与该操作系统下的应用程序的交互统称为“与操作系统的交互”。

此外,尽管本发明是以运行两个操作系统为例进行说明的,但是本发明也可用于运行两个以上的操作系统,即一个主机和多个客机系统。

在本发明的一个有利的扩展方案中规定,所述选择步骤包括下列步骤:

·如果将主机操作系统选择为前台操作系统,则客机操作系统作为后台操作系统,并且所述主机操作系统接收输入并产生输出;以及

·如果将客机操作系统选择为前台操作系统,则主机操作系统作为后台操作系统,并且在主机操作系统接收到输入时执行下列步骤:

·确定所述输入是否指示系统切换,如果是,则执行系统切换,否则根据所述输入生成针对客机操作系统的虚拟输入事件,并且将所述虚拟输入事件注入到客机操作系统中,客机操作系统处理所述虚拟输入事件并产生相应输出。

也就是说,在本发明中,用户输入总是首先由主机系统来接收,然后由主机系统将除指示切换系统的用户输入以外的用户输入注入到作为前台系统的客机操作系统中以供客机操作系统进行处理,从而得到“前台系统具有全部输入和输出设备”这一用户体验。

在根据本发明的一个优选的实施方式中规定:通过下列各项至少之一来执行系统切换:物理按键输入、触摸屏输入、手势输入、语音输入。

在根据本发明的一个有利的扩展方案中规定:所述物理按键输入包括:

·当用户按下音量+键时,将主机操作系统切换为前台操作系统,并且当用户按下音量-键时,将客机操作系统切换为前台操作系统;和/或

·当用户按下音量-键时,将主机操作系统切换为前台操作系统,并且当用户按下音量+键时,将客机操作系统切换为前台操作系统;和/或

·当客机操作系统为前台操作系统时,用户按下HOME键以将主机操作系统切换为前台操作系统。

通过上述扩展方案,实现了多操作系统下简单、明晰的显示和输入出,同时实现多操作系统之间的简捷切换。

在根据本发明的一个优选的实施方式中规定,第一操作系统为安卓(Android)操作系统,并且第二操作系统为Windows操作系统。第一和第二操作系统也可以是其它的操作系统,比如Tizen、iOS、Linux(如ubuntu)等等。

在根据本发明的一个有利的扩展方案中规定,当将外接显示器连接到运行该方法的设备时,本系统有双显示设备,在所述设备上显示主机操作系统,并且在所述外接显示器上显示客机操作系统,或者反之。由此,有效地实现了对两个操作系统的同时显示,而且用户通过上述简单的系统切换(如按下音量+、-键)即可将客机操作系统(如Windows)切换为前台系统(此种情况下,我们称其中一个操作系统为前台系统,它拥有全部的输入设备),并且借助于显示客机操作系统的显示器、利用运行该方法的设备作为输入设备来与前台操作系统进行交互。

在根据本发明的一个有利的扩展方案中规定,通过扩展坞将外接显示器和外接输入设备连接到所述设备。通过使用扩展坞,可以在运行该方法的设备、比如移动设备本身不具有视频扩展接口的情况下,将该设备与外接显示器相连接,并且还将该设备与外接输入设备相连接。在该情况下,系统具有两套输入输出设备,因此没有前后台操作系统的概念,也就是说,在此,主机、客机操作系统均可以具有自己的显示设备和输入设备。主机操作系统可以利用设备本身的输入输出接口,而客机操作系统可以利用扩展坞上的外接输入输出设备如外接显示器和外接键盘,或者反之。

在根据本发明的另一有利的扩展方案中规定,在运行该方法的设备进入锁屏状态以后,当用户试图解锁屏幕的时候(比如在Android下按下电源键),系统显示一个具有多个按钮的双系统解锁屏幕。用户划动所述设备的屏幕上的多个按钮之一来进入主机操作系统或客机操作系统的解锁屏幕。由此,可以方便用户解锁所期望的操作系统,也就是说,用户可以通过选择不同按钮来进入不同解锁屏幕以解锁不同系统。这提供了更便捷的系统切换方式。

在根据本发明的又一有利的扩展方案中规定,所述按钮包括:横向按钮、纵向按钮、顺时针按钮、和/或逆时针按钮。其它的选择解锁屏幕的方式也是可以设想的,比如通过输入字母(例如操作系统首字母)、输入数字、输入指纹(例如不同手指的指纹对应不同操作系统)等等。

在本发明的另一优选的实施方式中,通过选择不同按钮中的一个来直接解锁主机操作系统或客机操作系统之一、即将主机操作系统或客机操作系统之一选择为前台操作系统。

此外,根据本发明,开头提到的任务还通过一种运行多操作系统的系统来解决,该系统包括:

·用于作为主机操作系统运行第一操作系统的装置;

·用于在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM的装置;

·用于在所述VMM上作为客机操作系统运行第二操作系统的装置;以及

·用于选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统并且选择另一操作系统作为后台操作系统的装置,其中所提供的用户体验是,前台操作系统拥有全部的输入设备和输出设备。

根据本发明,前述任务还通过一种移动设备来解决,该移动设备具有:

·处理器,其被配置为执行可执行指令;

·输入设备,其被配置为接收用户输入;

·输出设备,其被配置为显示输出;

·存储器,其上存储有可执行指令,所述可执行指令在被所述处理器执行时致使所述处理器执行下列操作:

作为主机操作系统运行第一操作系统;

在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM;

在所述VMM上作为客机操作系统运行第二操作系统;

选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统作为后台操作系统,使得所提供的用户体验是,前台操作系统拥有全部的输入设备和输出设备。

在根据本发明的一个扩展方案中规定,所述操作还包括:

从输入设备接收用户输入;

确定所述用户输入是否为指示系统切换的用户输入,其中如果确定所述用户输入是指示系统切换的用户输入,则由主操作系统处理所述用户输入,否则由前台操作系统来处理所述用户输入并且生成相应输出以供所述输出设备进行输出。

也就是说,根据本发明,所述用户体验是通过如下方式实现的:除了指示系统切换的用户输入以外的全部用户输入都由前台操作系统来处理并且生成相应输出,而指示系统切换的用户输入由主操作系统来处理。

附图说明

下面参考附图根据多个实施例来进一步阐述本发明。附图:

图1A和1B示出了使用根据本发明的方法的移动设备在不同前台系统下的示意图;

图2示出了根据本发明的方法的流程图;

图3示出了根据本发明的系统架构;

图4示出了运行根据本发明的方法的移动设备在使用外接显示器时的示意图;

图5A至5C示出了运行根据本发明的方法的移动设备的不同解锁方式。

具体实施方式

尽管在下面参考附图对本发明的实施例的描述中,以运行安卓和Windows操作系统的平板计算机或智能手机为例阐述了本发明的原理,但是应当理解,本发明并不限于此,而是本发明还可以应用于诸如个人数字助理(PDA)、上网本之类的其它移动设备、以及诸如Tizen、Linux之类的其它操作系统。

图1A和1B示出了使用根据本发明的方法的平板计算机100在不同前台系统下的示意图。图1A示出了平板计算机100在以安卓操作系统为前台系统时的快照,图1B示出了该平板计算机100在以Windows操作系统为前台系统的快照。

从图1A中可以看出,平板计算机100具有典型的安卓用户界面104,而在图1B的图示中具有拥有Metro窗格106的Windows界面105。

用户可以通过各种用户输入方式来将前台操作系统从安卓系统切换为Windows操作系统。优选地使用平板计算机100的物理按键来执行系统切换,因为物理按键具有响应时间短、操作灵敏和直截了当等优点。例如,用户可以通过按下平板计算机100的音量+键101来将安卓操作系统切换为前台操作系统,并且通过按下音量-键102来将Windows操作系统切换为前台操作系统;当Windows操作系统为前台操作系统时,用户可以按下HOME键103以将安卓操作系统切换为前台操作系统。通过简单的按键切换,前台操作系统在几毫秒内就从安卓系统切换为Windows系统。通过简单、快速的系统切换,提升了设备的双操作系统用户体验。

而且,从图1中可以看出,前台操作系统如同独占操作系统那样具有几乎全部的输入,因此,用户所切换到的安卓和Windows系统都能给用户带来独占系统的用户体验。

同时,由于后台操作系统在处于后台期间仍然是活动的,因此可以进行某些操作。例如,当用户切换到Windows系统以后,作为后台系统的安卓系统仍然可以接收微信消息,并通过适当方式(例如微信的状态条提醒消息或提醒音频)提醒用户。后台系统可以进行哪些操作可以由用户自定义,或者可以由厂家预设。

图2示出了根据本发明的方法200的流程图。在步骤202,作为主机操作系统运行第一操作系统。例如,在用户启动平板计算机100以后,在该平板计算机100上作为前台系统运行安卓系统。

在步骤204,在主机操作系统上启动支持虚拟化的虚拟机监视程序(VirtualMachine Monitor)VMM。例如,在安卓系统上启动支持虚拟化的虚拟机监视程序VMM。由于虚拟机技术是现有技术中充分公知的,因此在此为了不模糊本发明,不对该技术进行详细展开。关于虚拟机技术,例如可以参阅Xen虚拟机架构。

在步骤206,在所述VMM上作为客机操作系统运行第二操作系统。例如,在进入主机系统以后,在由用户发起或者系统自动运行的情况下,在VMM上作为客机操作系统运行Windows系统。

应当注意,尽管在此是以安卓系统作为主机系统的场景来进行说明的,但是应当理解,这仅仅是示例性的,并且本发明同样适用于以Windows系统或其它系统作为主机操作系统并以安卓系统或其它系统作为客机系统的场景。

在步骤208,选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统作为后台操作系统,使得所提供的用户体验是,前台操作系统拥有全部的输入设备和输出设备。例如,如上面所述那样,用户通过按下音量-键102将Windows系统设置为前台系统,并且此时,设备所提供的用户体验是,作为前台系统的Windows系统具有全部的输入设备的用户体验。于是,用户可以直接滑动Windows界面105中的各个Metro窗格106,就像操作Windows设备(例如Windows Phone)那样,而几乎感觉不到安卓系统的存在(除了安卓系统的某些操作、例如微信消息提醒以外)。

图3示出了根据本发明的系统架构300。平板计算机100的触摸屏上的用户点击、手势等输入事件307首先由主机操作系统接收和处理。当客机操作系统是前台操作系统的时候,该事件由主机操作系统发送到设备模型(device model简称DM)301以便进一步处理。设备模型301例如可以被实现为客机操作系统304在主机操作系统305上的宿主程序(placeholder)或占位程序。主机操作系统305和/或设备模型301首先会检查该输入事件307是否是表示切换操作系统的输入事件(例如用户按下系统预定义键、如HOME键、音量+/-键等等)。如果是表示切换操作系统的输入事件,则主机操作系统305和/或设备模型301可以执行相应的系统切换。如果不是,则设备模型301可以为客机操作系统304产生模拟该输入事件307的虚拟输入事件308,并可能产生相应的虚拟输入中断以便通知客机操作系统304处理这个虚拟输入事件308。客机操作系统304收到这个虚拟输入事件308后,对该事件308进行处理,例如由客机操作系统的内建输入事件处理模块处理这个事件,这就像在原生单机系统里面一样。在处理完成以后,客机操作系统304可能将相应输出309发送给客机虚拟显示设备,进而由设备模型301将相应输出在显示设备306上进行显示。

在双操作系统情形下,客户机操作系统呈现为主机操作系统的一个应用程序(APP),当用户点击该APP时,主机操作系统会给该全屏状态的APP分配显示缓冲区,该APP显示缓冲区将通过DM以及硬件虚拟化技术如Extended/Nested Page Table(EPT/NPT)内存映射技术,映射为客户机操作系统的显示缓冲区,因而客户机操作系统在进行屏幕渲染时,实际是渲染到了主机为该APP分配的显示缓冲区中,实现了显示缓冲区的0拷贝机制。该方法可以大幅提高了客户机操作系统在设备显示屏上的显示性能。或者DM直接将客机系统的帧缓冲区(frame buffer)合成在主机系统的显示的帧缓冲区(frame buffer)中,并通过硬件或者主机系统本身将这个帧缓冲区中的内容显示在显示屏上。

图4示出了运行根据本发明的方法的移动设备在使用外接显示器时的场景。如图4中所示,当将外接显示器、即图4中的台式机的显示器402连接到运行该方法的设备、即图4中的智能手机401时,在所述智能手机401上显示主机操作系统、例如在图4中为安卓系统,而在显示器402上显示客机操作系统、例如图4中为Windows系统。

下面阐述根据本发明的实现上述场景的原理。

客机操作系统运行显卡的设备驱动程序(GFD)。在单机操作系统中,客机操作系统的显示会直接通过该GFD输出。而在双操作系统中,客机操作系统的GFD驱动对虚拟硬件的IO操作会被设备模型DM捕捉并模拟(trap‐and‐emulate)。这个捕捉并模拟过程可以通过虚拟机退出(VM exit)来实现,或者半虚拟化驱动使用的前台/后台驱动程序交互接口来进行(参考KVM virtio,http://www.linux‐kvm.org/page/Virtio)。

在服务器虚拟化中,DM对客户机输出的模拟会使用一个内存缓冲区(buffer)来模拟客机系统的显示屏输出、即所谓的帧缓冲区(frame buffer)。而为了在双操作系统中实现外接显示器显示客机系统这一场景,DM直接将客机系统的帧缓冲区(frame buffer)合成在主机系统的显示的帧缓冲区(frame buffer)中,并通过硬件或者主机系统本身将这个帧缓冲区中的内容显示在显示屏上、即外接显示器上,或者直接将主机外接显示器帧缓冲区映射为客户机操作系统的帧缓冲区。

因此,当双系统设备通过扩展显示接口(如HDMI、DP、MHL、WiDi、Miracast等)连接有外接显示器时,DM通过安卓系统编程方法,获取主机系统的扩展显示接口的操作句柄,通过主机操作系统提供的显示投影API直接将客机系统的帧缓冲区合成在主机系统的扩展显示接口帧缓冲区上。如此一来,显示接口(即双系统设备的显示屏)可以仍然显示主机系统、例如安卓操作系统,而外接显示器则显示客机系统、例如Windows操作系统。,或者直接将主机外接显示器帧缓冲区映射为客户机操作系统的帧缓冲区。

此外,双系统设备可以插入手机/平板电脑的扩展坞(dock),其中扩展坞可以连接显示器、鼠标、键盘、以及音频设备等等。通过使用扩展坞,可以在运行该方法的设备、比如平板计算机或智能手机设备本身不具有视频扩展接口的情况下,将该设备与外接显示器以及输入设备相连接。

当外接显示器显示客机系统时,用户可以将客机系统、如Windows系统切换为前台系统,并利用智能手机401作为输入设备来与外接显示器上显示的客机系统、如Windows系统的用户界面交互。

图5A至5C示出了运行根据本发明的方法的移动设备500进入不同解锁屏幕的方式。如图5A所示,移动设备500当前处于锁屏状态,并且在屏幕上显示水平滑动键501和垂直滑动键502。当用户滑动水平滑动键501时,移动设备进入主机操作系统、例如安卓系统的解锁屏幕(图5B),此时,用户可通过安卓系统的相应解锁方式进行解锁。当用户滑动垂直滑动键502时,移动设备进入客机操作系统、例如Windows系统的解锁屏幕(图5C),此时,用户可通过Windows系统的相应解锁方式进行解锁。

下面阐述根据本发明的实现不同解锁方式的原理。

当用户滑动进入主机操作系统的解锁屏幕的按钮(例如横向键501)时,进入主机操作系统的解锁屏幕。当用户滑动进入客机操作系统的解锁屏幕的按钮(例如垂直键502)时,首先解锁主机系统,但是此时并不显示主机系统的解锁屏幕,而是将DM设置为当前应用程序,并通知DM(比如向DM发送一个特殊事件)由DM合成进入客机解锁屏幕的虚拟输入事件,此时用户将看到客机系统的解锁屏幕。或者通知某一个在客机系统中的服务程序,由该程序请求客机系统进入解锁屏幕。

当然还可以构思顺时针按钮和逆时针按钮来实现上述选择解锁屏幕的功能。其它的选择解锁屏幕的方式也是可以设想的,比如通过输入字母(例如操作系统首字母)、输入数字、输入指纹(例如不同手指的指纹对应不同操作系统)等等。

此外,也可以规定使用所述水平滑动键501和垂直滑动键502直接解锁进入相应的系统而不是进入相应的解锁屏幕。例如,当用户滑动水平滑动键501时,解锁安卓系统,而当用户滑动垂直滑动键502时,解锁Windows系统。

虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是对本领域技术人员显而易见的是,这些实施方式仅仅是作为示例示出的。本领域技术人员可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。

Claims (12)

1.一种在移动设备上运行多操作系统的方法,包括下列步骤:
作为主机操作系统运行第一操作系统;
在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM;
在所述VMM上作为客机操作系统运行第二操作系统;
选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统作为后台操作系统,使得所提供的用户体验是:前台操作系统拥有全部的输入设备和输出设备,如同独占操作系统那样,
所述第一操作系统和第二操作系统为包括Windows、Android、IOS、Tizen和Linux在内的其中两个不同的操作系统,所述提供的用户体验进一步包括,除了指示切换操作系统的用户输入以外,所有的用户输入都由前台操作系统进行最终处理,并且前台操作系统产生的相应的输出完全显示在物理显示设备上,使得用户就像在与一个运行原生前台操作系统的设备交互,而不管前台操作系统是主机操作系统还是客机操作系统,由此,多个操作系统中的每个操作系统都可以给用户带来独占系统的用户体验。
2.如权利要求1所述的方法,其特征在于,所述选择步骤包括下列步骤:
如果将主机操作系统选择为前台操作系统,则客机操作系统作为后台操作系统,并且所述主机操作系统接收输入并产生输出;以及
如果将客机操作系统选择为前台操作系统,则主机操作系统作为后台操作系统,并且在主机操作系统接收到输入时执行下列步骤:
确定所述输入是否指示系统切换,如果是,则执行系统切换,否则根据所述输入生成针对客机操作系统的虚拟输入事件,并且将所述虚拟输入事件注入到客机操作系统中,客机操作系统处理所述虚拟输入事件并产生相应输出。
3.如权利要求2所述的方法,其特征在于,通过下列各项至少之一来执行系统切换:物理按键输入、触摸屏输入、手势输入、语音输入。
4.如权利要求1所述的方法,其特征在于,第一操作系统为安卓操作系统,并且第二操作系统为Windows操作系统。
5.如权利要求3所述的方法,其特征在于,所述物理按键输入包括:
当用户按下音量+键时,将主机操作系统切换为前台操作系统,并且当用户按下音量-键时,将客机操作系统切换为前台操作系统;和/或
当用户按下音量-键时,将主机操作系统切换为前台操作系统,并且当用户按下音量+键时,将客机操作系统切换为前台操作系统;和/或
当客机操作系统为前台操作系统时,用户按下HOME键以将主机操作系统切换为前台操作系统。
6.如权利要求1所述的方法,其特征在于,当将外接显示器连接到所述移动设备时,在所述移动设备上显示主机操作系统,而在所述外接显示器上显示客机操作系统。
7.如权利要求6所述的方法,其特征在于,通过扩展坞将外接显示器和外接输入设备连接到所述移动设备,其中主机操作系统拥有所述移动设备的显示和输入设备,而客机操作系统拥有扩展坞上的外接显示器和外接输入设备。
8.根据权利要求1所述的方法,其特征在于,在所述移动设备进入锁屏状态以后,用户划动所述移动设备的屏幕上的多个按钮之一来进入主机操作系统或客机操作系统的解锁屏幕。
9.根据权利要求8所述的方法,其特征在于,所述按钮包括:横向按钮、纵向按钮、顺时针按钮、和/或逆时针按钮。
10.一种在移动设备上运行多操作系统的系统,包括:
用于作为主机操作系统运行第一操作系统的装置;
用于在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM的装置;
用于在所述VMM上作为客机操作系统运行第二操作系统的装置;以及
用于选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统作为后台操作系统的装置,其中所产生的用户体验是,前台操作系统拥有全部的输入设备和输出设备,如同独占操作系统那样,所述第一操作系统和第二操作系统为包括Windows、Android、IOS、Tizen和Linux在内的其中两个不同的操作系统,所述提供的用户体验进一步包括,除了指示切换操作系统的用户输入以外,所有的用户输入都由前台操作系统进行最终处理,并且前台操作系统产生的相应的输出完全显示在物理显示设备上,使得用户就像在与一个运行原生前台操作系统的设备交互,而不管前台操作系统是主机操作系统还是客机操作系统,由此,多个操作系统中的每个操作系统都可以给用户带来独占系统的用户体验。
11.一种移动设备,该移动设备具有:
处理器,其被配置为执行可执行指令;
输入设备,其被配置为接收用户输入;
输出设备,其被配置为显示输出;
存储器,其上存储有可执行指令,所述可执行指令在被所述处理器执行时致使所述处理器执行下列操作:
作为主机操作系统运行第一操作系统;
在主机操作系统上启动支持虚拟化的虚拟机监视程序VMM;
在所述VMM上作为客机操作系统运行第二操作系统;
选择第一操作系统和第二操作系统中的一个操作系统作为前台操作系统而另一操作系统作为后台操作系统,使得所提供的用户体验是,前台操作系统拥有全部的输入设备和输出设备,如同独占操作系统那样,所述第一操作系统和第二操作系统为包括Windows、Android、IOS、Tizen和Linux在内的其中两个不同的操作系统,所述提供的用户体验进一步包括,除了指示切换操作系统的用户输入以外,所有的用户输入都由前台操作系统进行最终处理,并且前台操作系统产生的相应的输出完全显示在物理显示设备上,使得用户就像在与一个运行原生前台操作系统的设备交互,而不管前台操作系统是主机操作系统还是客机操作系统,由此,多个操作系统中的每个操作系统都可以给用户带来独占系统的用户体验。
12.根据权利要求11所述的移动设备,其特征在于,所述操作还包括:
从输入设备接收用户输入;
确定所述用户输入是否为指示系统切换的用户输入,其中如果确定所述用户输入是指示系统切换的用户输入,则由主操作系统处理所述用户输入,否则由前台操作系统来处理所述用户输入并且生成相应输出以供所述输出设备进行输出。
CN201410612578.2A 2014-11-03 2014-11-03 用于运行多操作系统的方法以及相应的系统和移动设备 CN104360900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410612578.2A CN104360900B (zh) 2014-11-03 2014-11-03 用于运行多操作系统的方法以及相应的系统和移动设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410612578.2A CN104360900B (zh) 2014-11-03 2014-11-03 用于运行多操作系统的方法以及相应的系统和移动设备

Publications (2)

Publication Number Publication Date
CN104360900A CN104360900A (zh) 2015-02-18
CN104360900B true CN104360900B (zh) 2020-05-12

Family

ID=52528164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410612578.2A CN104360900B (zh) 2014-11-03 2014-11-03 用于运行多操作系统的方法以及相应的系统和移动设备

Country Status (1)

Country Link
CN (1) CN104360900B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516782B (zh) * 2014-12-26 2020-05-12 上海迈微软件科技有限公司 用于进行智能系统运行环境切换的方法及其设备
EP3553659A1 (en) 2015-02-24 2019-10-16 Huawei Technologies Co., Ltd. Multi-operating system device, notification device and methods thereof
CN104796529B (zh) * 2015-03-05 2018-05-15 宇龙计算机通信科技(深圳)有限公司 基于双系统的未处理事件的提醒方法及系统
CN104780430B (zh) * 2015-03-19 2018-02-23 四川长虹电器股份有限公司 多系统电视设备中整机系统与扩展系统之间的交互方法
CN106155783A (zh) * 2015-04-15 2016-11-23 宇龙计算机通信科技(深圳)有限公司 多系统的系统切换的方法及其装置
CN106326044B (zh) * 2015-06-30 2019-09-03 华为技术有限公司 一种网卡故障注入方法及装置
CN105608347A (zh) * 2015-07-29 2016-05-25 宇龙计算机通信科技(深圳)有限公司 操作系统切换方法、操作系统切换装置和终端
CN105204925A (zh) * 2015-08-26 2015-12-30 北京元心科技有限公司 在多操作系统中管理音视频设备的方法及装置
CN105204816A (zh) * 2015-09-29 2015-12-30 北京元心科技有限公司 在多系统中对音频进行控制的方法及装置
CN105404558B (zh) * 2015-12-11 2019-07-09 北京元心科技有限公司 多系统中事件处理的方法及装置
CN107291561B (zh) * 2016-03-31 2020-11-24 阿里巴巴集团控股有限公司 一种图形合成方法、信息交互方法及系统
CN107291319A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种窗口显示方法、信息交互方法及系统
CN105955693B (zh) * 2016-04-21 2019-12-27 北京元心科技有限公司 多系统中分配音频资源的方法及装置
CN106792012A (zh) * 2016-11-17 2017-05-31 广州视源电子科技股份有限公司 智能交互平板内通道切换方法及装置
CN107577386A (zh) * 2017-07-27 2018-01-12 北京珠穆朗玛移动通信有限公司 应用显示方法、移动终端及具有存储功能的装置
CN109918981B (zh) * 2018-09-18 2020-11-10 徐州轩科农业机械有限公司 Ios终端健壮维护系统
CN110362983A (zh) * 2019-05-31 2019-10-22 北京中电飞华通信股份有限公司 一种保证双域系统一致性的方法、装置及电子设备
CN111195919A (zh) * 2019-12-13 2020-05-26 实时侠智能控制技术有限公司 一种机器人示教平台及其架构方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111482A (zh) * 2009-12-25 2011-06-29 深圳市银星数码有限公司 一种多系统多模智能移动终端及控制方法
CN102238265A (zh) * 2010-04-22 2011-11-09 康佳集团股份有限公司 一种手机及实现双系统手机的方法
CN102420911A (zh) * 2011-12-31 2012-04-18 深圳市金立通信设备有限公司 智能手机双系统切换装置及切换方法
CN102469207A (zh) * 2010-11-19 2012-05-23 希姆通信息技术(上海)有限公司 多操作系统手机及其实现方法
CN102981894A (zh) * 2011-09-05 2013-03-20 联想(北京)有限公司 显示方法和电子设备
CN103049289A (zh) * 2012-12-10 2013-04-17 广东欧珀移动通信有限公司 基于Android系统实现虚拟多系统的方法及装置
CN103391374A (zh) * 2013-08-08 2013-11-13 北京邮电大学 一种支持无缝切换的双系统终端

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111482A (zh) * 2009-12-25 2011-06-29 深圳市银星数码有限公司 一种多系统多模智能移动终端及控制方法
CN102238265A (zh) * 2010-04-22 2011-11-09 康佳集团股份有限公司 一种手机及实现双系统手机的方法
CN102469207A (zh) * 2010-11-19 2012-05-23 希姆通信息技术(上海)有限公司 多操作系统手机及其实现方法
CN102981894A (zh) * 2011-09-05 2013-03-20 联想(北京)有限公司 显示方法和电子设备
CN102420911A (zh) * 2011-12-31 2012-04-18 深圳市金立通信设备有限公司 智能手机双系统切换装置及切换方法
CN103049289A (zh) * 2012-12-10 2013-04-17 广东欧珀移动通信有限公司 基于Android系统实现虚拟多系统的方法及装置
CN103391374A (zh) * 2013-08-08 2013-11-13 北京邮电大学 一种支持无缝切换的双系统终端

Also Published As

Publication number Publication date
CN104360900A (zh) 2015-02-18

Similar Documents

Publication Publication Date Title
US9823762B2 (en) Method and apparatus for controlling electronic device using touch input
EP3726356A1 (en) User interface display method and apparatus, device, and storage medium
US20190272142A1 (en) Method for sharing screen between devices and device using the same
US8863041B1 (en) Zooming user interface interactions
US20190042066A1 (en) Electronic device comprising multiple displays and method for operating same
US10606469B2 (en) Device, method, and graphical user interface for managing multiple display windows
WO2018157662A1 (zh) 一种移动终端的显示控制方法及移动终端
US10133396B2 (en) Virtual input device using second touch-enabled display
KR101527827B1 (ko) 분할스크린 디스플레이 방법 및 장치, 및 이의 전자 장치
US9071625B2 (en) Cross-environment event notification
CN106233249B (zh) 用于管理睡眠模式的处理器的图形缓冲区的装备和方法
US9158399B2 (en) Unlock method and mobile device using the same
EP2752766B1 (en) Touch event processing method and portable device implementing the same
AU2012247286B2 (en) Application control in electronic devices
US9383827B1 (en) Multi-modal command display
KR20160011915A (ko) 화면 제어 방법 및 이를 사용하는 전자 장치
US10353514B2 (en) Systems, methods, and applications for dynamic input mode selection based on whether an identified operating-system includes an application system program interface associated with input mode
WO2015106514A1 (zh) 一种实现悬浮显示的方法及装置
WO2019047748A9 (zh) 分屏显示的方法、装置、终端及存储介质
JP6510070B2 (ja) システム稼働方法およびインテリジェント端末
US20200051554A1 (en) Electronic apparatus and method for operating same
US8866791B2 (en) Portable electronic device having mode dependent user input controls
EP2583154B1 (en) Contextual control of dynamic input device
US10445132B2 (en) Method and apparatus for switching applications
KR20140019835A (ko) 터치 스크린 단말기의 애플리케이션 프로그램 전환방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant