CN105339898B - 操作系统切换方法及装置 - Google Patents
操作系统切换方法及装置 Download PDFInfo
- Publication number
- CN105339898B CN105339898B CN201380077715.0A CN201380077715A CN105339898B CN 105339898 B CN105339898 B CN 105339898B CN 201380077715 A CN201380077715 A CN 201380077715A CN 105339898 B CN105339898 B CN 105339898B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- operating system
- equipment
- event
- backstage
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Power Sources (AREA)
Abstract
本文公开了与切换操作系统相关联的设备、方法和存储介质。在实施例中,用于计算的设备可以包括一个或多个处理器;虚拟机管理器,由一或多个处理器操作以实例化在后台的带有第一操作系统的第一虚拟机,在前台的带有第二操作系统的第二虚拟机;其中,虚拟机管理器进一步在实例化时将在后台中的第一虚拟机置于待机状态。其他实施例可以公开或声明。
Description
相关申请
本申请要求2013年8月7日提交的、题为“操作系统切换方法和装置”的美国临时申请61/863271的优先权,以及2013年7月23日的题为“操作系统切换方法和装置”的美国临时申请61/863271的优先权。
技术领域
本公开涉及计算机领域,尤其是与切换操作系统有关的设备、方法和存储介质。
背景
本文所提供的背景描述目的是提供本公开背景。除另有说明外,本节所述的材料不是这篇申请中的权利要求的现有技术,并且也不承认本节内容是现有技术。
当一个计算设备正在运行中时,使两个操作系统及时切换的非常简单的装置的需求,已经突然成为计算设备的各种原始设备制造商(OEM)的最紧要的“需求”。
解决这一需要的一个办法是通过采用睡眠状态(S4)来切换两个睡眠的操作系统。当需要从一个环境快速的切换到另一个环境时,这种方法可能会花费很长时间而且会导致可用性的问题。
附图简述
通过下列具体实施方式并结合所附附图,可容易地理解实施例。为了便于该描述,同样的参考标号指定同样的结构元件。在所附附图的图中,以示例方式而不以限制方式说明实施例。
图1示出根据各实施例与本公开的操作系统切换技术结合的计算设备。
图2根据各实施例的图1的计算设备的软件视图。
图3示出根据各实施例的切换操作系统的方法。
图4示出根据各实施例的适用于实施本公开的示例计算机系统的组件图。
图5示出具有指令的示例存储介质实例,该指令配置成使计算设备根据各实施例实施本公开。
详细描述
本文公开了与切换操作系统相关联的设备、方法和存储介质。在实施例中,用于计算的设备可包括一个或多个处理器;虚拟机管理器被配置成由一或多个处理器操作以实例化在后台的带有第一操作系统的第一虚拟机,并且在前台的带有第二操作系统的第二虚拟机;其中,虚拟机管理器进一步配置成在实例化时使后台中的第一虚拟机进入待机状态。两个操作系统的示例可包括但不限于配置成支持平板计算的操作系统和支持膝上型计算的操作系统。
在以下具体实施方式中,参考了在此作为本说明书一部分的附图,在通篇中,相同的参考标号指示相同的部分,并且在具体实施方式中通过图示方式示出可实施的实施例。应当理解,也可利用其它实施例,并且也可对其他实施例作出结构或逻辑的改变而不背离本公开的范围。因此,下列具体实施方式不应当被认为是限制意义的,并且实施例的范围由所附权利要求及其等效方案来定义。
能以最有助于理解所要求保护的主题的方式将各方法的操作描述为依次的多个分立动作或操作。然而,不应将描述的顺序理解成暗示这些操作是必定是依赖顺序的。具体而言,可不按所陈述的顺序来执行这些操作。能以与所描述的实施例不同的顺序来执行所描述的操作。在附加实施例中,可执行各种附加操作,并且/或者可省略、分裂或组合所描述的操作。
为本公开之目的,短语“A和/或B”意思是(A)、(B)或(A和B)。为本公开之目的,短语”A、B、和/或C”意思是(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
本描述可使用短语“在实施例中”或“在多个实施例中”,它们各自可指相同或不同实施例中的一个或多个。此外,就本公开的多个实施例而言所使用的术语“包含”、“包括”、“具有”等是同义的。
如本申请中所使用,术语“模块”可指代执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、处理器(共用、专用或组)和/或存储器(共用、专用或组)、组合逻辑电路和/或提供所描述功能的其它合适的组件,或是上述组件的部分,或包括上述组件。
现在参考图1,其中示出根据各实施例的与本公开的操作系统(OS)切换教示相结合的计算设备。如图所示,在各实施例中,计算设备100可被配置为以至少两种模式操作,例如:脱离对接模式100a或对接模式100b。计算设备100可配置有OSα102和OSβ104。当计算设备100操作在脱离对接模式100a中时,采用OSα102。当计算设备100操作在对接模式100b中时,采用OSβ104。OSα102和OSβ104的示例可分别包括但不限于为计算平板和膝上型计算机设计的操作系统,如Android和可相应地从加州山景城的谷歌公司和华盛顿州雷德蒙德的微软公司获得。OS102/104的其他实例可包括但不限于从许多渠道获得的Linux系统,例如位于北卡罗来纳的罗利红帽子以及位于加州的苹果电脑的Mac操作系统。除此之外,计算设备100可包括虚拟机管理器(VMM)106,与本公开的OS切换教示相结合。VMM106也可称为虚拟机管理程序。对于本申请而言,这两个术语可以视为同义词。
在更深一步的描述计算设备100以及它的组件之前,应该指出的是,虽然为了便于理解,在响应于对接或脱离对接事件的OS切换方面描述本发明,本公开内容不局限于此。可以预料的是,本公开的OS切换教示可以响应于其他事件和/或根据其他背景实施。其他事件的例子可以包括,但不限于:用户按压计算设备100的按钮,用户通过语音命令提供指示,计算设备100(通过摄像头、指纹等)识别其他的用户等等。
图2示出根据各实施例的图1的计算装置的软件图。如图所示,计算设备100的硬件平台200可包括多个硬件元件,包括但不仅限于微处理器222,芯片组224,固态存储介质226,输入/输出设备228等等。一个或多个微处理器222可以是多核的。芯片组224可包括但不限于存储器控制器等。固态存储介质226可包括但不限于采用快速存储技术(RST)的存储设备,购自美国加州圣克拉拉,英特尔公司。输入/输出设备228包括但不限于键盘,光标控制装置,触摸屏,有线和/或无线通信接口。软件202包括先前描述的VMM 106,OSα102和OSβ104,以及现有技术中的广泛应用。VMM 106可被配置为可直接在硬件上操作。例如,在实施例中,VMM 106可能是从固件运行的第一个第三方驱动器,特别是使用统一的可扩展固件接口配置的固件(UEFI)。
如图所示,VMM 106可被配置为通过两个独立的虚拟机(VM)212和214来分别操作两个OS 102和104.在实施例中,两个VM 212和214之一可以在前台操作,而另一个可以在后台操作。另外,该在前台的VM 212可以得到充分的优先级,而后台中的VM 214可以被指定为无优先权。在实施例中,后台中的VM 214可以被设置在待机状态(S3)。此外,每个VM 212或214,除了OS 102和104之外,还可具有其自己的固件236。每个OS 102或104可以控制它自己的用户应用232,设备驱动程序234等等的操作。
图3示出了根据各实施例的用于切换操作系统的方法。如图所示,切换OS的方法300可包括框302至310中的操作。该操作可以由前面描述的VMM 106执行。
在实施例中,方法300可以开始于框302。在框302中,在接通电源、复位或其它系统事件中,计算装置的硬件元件可以被初始化。从框302,方法300可前进到框304。在304,VMM可以被启动。作为启动过程的一部分,VMM可以读取每个VM的配置状态。此外,VMM可以在后台VM启动OS中的一个,如OSα,也可以在前台VM启动OS中的另外一个,如OSβ。然而,在启动后台VM(启动前台VM之前或之后),VMM可以进一步把后台VM(因此OSα)置于待机状态。
从框304,方法300可以前进到框306。在框306中,VMM可监视对接或脱离对接事件。在检测到对接/脱离对接事件时,方法300可有选择性地进行到框308。在框308中,VMM可提示用户确认用户是否期望使OS切换。从框306或308,方法300可以进行到框310。在框310中,VMM可以对OS进行切换。VMM可将当前的前台VM(由此是其OS)置于待机状态,然后使VM进入后台。之后,VMM可转移执行控制至之前处于待机状态的后台VM(由此其OS)恢复,并将先前待机的后台VM(现在被恢复或正处于恢复过程中)移动到前台。
当处于待机状态时,后台VM(由此其OS)不接收优先权也不接收中断。前台VM(由此其OS)得到完全优先权并接收所有中断。作为结果,在方法300的作用下,不需要利用定时器或其他机制将中断传递到后台VM/OS。因此,并发性和/或硬件资源的共享问题是可以避免的。因此,总体而言,根据本公开内容的实施例,切换OS的开销相对较低,并且可以有效地实现。
在实施例中,在框310中,当从一个OS切换到另一个OS时,整个平台可能会需要经过一个重启的过程。重启包括重置微处理器和芯片组。此外,从一个操作系统切换到另一个操作系统还包括把“切换自”OS的上下文还原到“切换至”OS当中。
在实施例中,一旦检测到“切换自”OS生成睡眠事件(例如,SLP_EN睡眠启用操作的断言)开始重启。此外,重启在平台固件中通过高度简化的睡眠周期(S3)实现。这种高度简化的睡眠循环是可以实现的,比如通过在平台固件自身设置恢复目的地,避开例如高达85%的常规初始化时间。例如,“切换自”OS所产生的睡眠事件可以由RST驱动检测。在检测中,RST驱动器可以将“切换自”OS的上下文保存到存储器中,变成持久性存储。更进一步的,RST驱动器可利用指示平台硬件进入睡眠状态的信息和指向RST驱动器的用于恢复平台的恢复向量编程平台的睡眠状态寄存器。因此,进入到睡眠状态时,平台可以马上把控制转回到RST,这样反过来又能马上恢复平台。这种高度简化的重启可以潜在的减少重启时间大约250ms,比传统的重启时间减少至少2秒或更多。
在实施例中,这种保存和恢复“切换自”和“切换至”操作系统的上下文也基本上可以通过保存和恢复基本上对应于两个系统中存储器较小的一个存储器量来简化。例如,如果OS 1是OS 2是安卓,他们的存储器需要分别是4GB和512MB。当切换操作系统时,取代保存和恢复全部的4GB,本公开的实施例可在切换出时只保存的约512MB,同样当回到时只恢复所保存的的512MB。因此,保存和恢复的容量都会得到大幅度的精简。
在实施例中,方法300可在无需308框的可选提示操作下进行。在实施例中,方法300可以在不管是否给予用户选择的情况下进行,或在另一种情况下,总是在不提示用户的情况下切换操作系统。
现在参考图4,根据各实施例,说明适于图1所示的配置使用的示例计算机。如图所示,计算机400可以包括一个或多个处理器或处理器核402和系统存储器404。在实施例中,多处理器核402可设置在一个管芯上。出于本申请包括权利要求书的目的,可认为术语“处理器”和“处理器核”是同义的,除非上下文另外清楚地作出要求。此外,计算机400可包括大容量存储设备406(诸如,盘、硬驱动器、紧致盘只读存储器(CD-ROM)等)、输入/输出(I/O)设备408(诸如,显示器、键盘、光标控制器等)和通信接口410(诸如,网络接口卡、调制解调器等)。在实施例中,显示单元可以是敏感的触摸屏包括显示屏,一个或多个处理器,存储介质和通信元件,进一步的它可以从一个带有键盘的基板上插拔。可经由系统总线412(其可表示一个或多个总线)将这些元件彼此耦合。在多个总线的情况下,可由一个或多个总线桥(没有示出)来桥接它们。
这些元件中的每一个可执行本领域中已知的其常规功能。具体而言,可采用系统存储器404和大容量存储设备406来存储编程指令的工作副本和永久副本,这些编程指令实现先前所述的操作,例如,但不限于,与VMM106相关联的操作,并且被指示为计算逻辑422。可由受处理器402支持的汇编指令或可编译成此类指令的诸如C之类的高级语言来实现各种元件。
可通过诸如压缩盘(CD)之类的分发介质(未示出)或通过通信接口410(来自分布式服务器(未示出))来将编程指令的永久副本放置在工厂或现场的永久存储606中。即,具有代理程序的实现的一个或多个分发介质可用于分发代理并对各计算设备编程。
这些元件410-412的个数、能力和/或容量可能会发生变化,这取决于计算机400的预期的用途,例如计算机400是否是智能电话、平板、超级本或笔记本电脑。这些元件410-412的构成是已知的,否则将不作进一步说明。
图5示出示例非临时性计算机可读存储介质,其具备可以配置与VMM106相关的操作或选择的指令,如前根据不同的实施例所述。如图所示,非临时性计算机可读存储介质502可以包括多个程序指令504。编程指令504可配置为使一个设备,例如,计算机400,响应于执行的编程指令,例如,图3中的各种操作方法。在另一实施例中,与本实例不同的是,编程指令504可以设置多个非暂时性的计算机可读存储介质代替。在其他实施例中,编程指令504是可在临时计算机可读信号中编码的。
返回参照图4,对于一个实施例中,处理器402中的至少一个可以与计算逻辑422(代替存储在系统存储器404和/或大容量存储设备406)一起打包,用来配置实施图3方法中的各方面。对于一种实施例中,处理器402中的至少一个可以与计算逻辑422配置用来实施图3的方法的各方面来形成一个封装系统(SiP)。对一个实施例来说,处理器402中的至少一个可以与配置用来实施图3方法中的各个方面的计算逻辑422集成在一个同一芯片上。对一个实施例来说,处理器402中的至少一个可以与配置用来实施图3的方法的各个方面的计算逻辑422,以形成芯片系统(SoC)。在至少一个实施例中,该SoC可以用来(但不仅限于)一台平板电脑。
因此,描述的示例非限定性实施例,包括:示例1可以是一种用于计算的设备。该设备包括一个或多个处理器;以及虚拟机管理器。虚拟机管理器由一个或多个处理器操作,以在例如通电复位或其它系统事件时,实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机。另外虚拟机管理器可进一步配置成使后台的第一虚拟机在实例化时进入待机状态。
示例2可以是示例1,在后台中的第一虚拟机可不接收优先权或中断和/或在前台的第一虚拟机接收完全的优先权或全部中断。
示例3可以是示例1或2,所述虚拟机管理器可进一步配置成响应于系统事件,使第二虚拟机置于待机模式,并且将处于待机模式的第二虚拟机移入后台,另外还使第一虚拟机移出待机状态并在前台恢复。
示例4可以是示例3,其中系统事件可包括对接事件和脱离对接事件。
示例5可以是示例4,其中,系统事件可包括脱离对接事件,其中第一操作系统包括支持平板计算的操作系统,第二操作系统包括支持膝上型计算的操作系统。
示例6可以是示例3-5中的任一项,其中虚拟机管理器可进一步配置成促使设备用户确认用户是否期望使OS切换。
示例7可以是示例3-6任一项,其中,还包括当第二虚拟机被置于待机模式并移入后台时,引起设备的简单重启的驱动器。
示例8可以是示例7,其中第二虚拟机可配置成生成睡眠事件,驱动器检测到睡眠事件,并且,一旦检测到睡眠事件,保存第二操作系统的上下文。
示例9可以是示例8,其中,在检测到睡眠事件时,驱动器可进一步配置成利用指示设备进入睡眠状态的信息和指向所述驱动器的用于恢复设备的恢复向量编程设备的睡眠状态寄存器,以使驱动器在进入睡眠状态时重获控制,并在重获控制时恢复装置。
示例10可以是示例8,其中,第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,当保存第二操作系统的上下文时,驱动器至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
示例11可以是用于计算的方法。该方法可包括:通过计算设备的虚拟机管理器在例如通电复位或其它系统事件时,实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机;以及
通过虚拟机管理器将后台的第一虚拟机置于待机状态。
示例12可以是示例11,还包括通过虚拟机管理器使前台中的第二虚拟机拥有完全优先权和接受全部中断,和/或在后台中的第一虚拟机可不接收优先权或中断。
示例13可以是示例11或12,还包括响应于系统事件,通过虚拟机管理器将第二虚拟机置于待机模式,并将处于待机模式的第二虚拟机移入后台,并且使第一虚拟机移出待机状态并在前台恢复。
示例14可以是示例13,系统事件包括对接事件和脱离对接事件。
示例15可以是示例14,其中,系统事件包括脱离对接事件,其中第一操作系统包括支持平板计算的操作系统,第二操作系统包括支持膝上型计算的操作系统。
示例16可以是示例13-15中的任一项,还包括通过虚拟机管理器促使计算设备的用户确认用户是否期望使OS切换。
示例17可以是示例13-16中的任一项,还包括当第二虚拟机被置于待机模式并移入后台时,由计算机的驱动器引起计算设备的简单的重启。
示例18可以是示例17,第二虚拟机会产生睡眠事件,该方法还包括通过驱动器检测睡眠事件,并且一旦检测到睡眠事件,通过驱动器来保存第二操作系统的上下文。
示例19可以是示例18,还包括一旦检测到睡眠事件,通过驱动器,利用指示计算设备进入睡眠状态的信息和指向所述驱动器的用于恢复计算设备的恢复向量编程计算设备的睡眠状态寄存器,以使驱动器在进入睡眠状态时重获控制,并在重获控制时恢复计算设备。
示例20可以是示例18,第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,所述方法还包括当保存第二操作系统的上下文时,通过驱动器至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
示例21可以是包括多个指令的至少一种存储介质,响应于指令由设备执行,导致在例如通电复位或其它系统事件时,实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机;以及
通过虚拟机管理器将后台的第一虚拟机置于待机状态。
示例22可以是示例21的存储介质,所述设备还使前台中的第二虚拟机拥有完全优先权和接受全部中断,和/或在后台中的第一虚拟机可不接收优先权或中断。
示例23可以是示例21或22的存储介质,所述设备还响应于系统事件,将第二虚拟机置于待机模式,并将处于待机模式的第二虚拟机移入后台,并且使第一虚拟机移出待机状态并在前台恢复。
示例24可以是示例23的存储介质,系统事件包括对接事件和脱离对接事件。
示例25可以是示例24的存储介质,其中,系统事件包括脱离对接事件,其中第一操作系统包括支持平板计算的操作系统,第二操作系统包括支持膝上型计算的操作系统。
示例26可以是示例23-25中的任一项,所述设备还促使计算设备的用户确认用户是否期望使OS切换。
示例27可以是示例23-26中的任一项,当第二虚拟机被置于待机模式并移入后台时,所述设备还引起计算设备的简单的重启。
示例28可以是示例27,第二虚拟机会产生睡眠事件,该设备还导致检测睡眠事件,并且一旦检测到睡眠事件,保存第二操作系统的上下文。
示例29可以是示例28,所述设备还导致一旦检测到睡眠事件,利用指示计算设备进入睡眠状态的信息和指向所述驱动器的用于恢复计算设备的恢复向量编程计算设备的睡眠状态寄存器,以使驱动器在进入睡眠状态时重获控制,并在重获控制时恢复计算设备。
示例30可以是示例28,第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,所述方法还包括当保存第二操作系统的上下文时,通过驱动器至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
示例31可以是一种用于计算的系统。该系统包括:基础平台,包括虚拟机管理器装置,用于实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机;包括使后台的第一虚拟机置于待机状态;以及触敏显示单元,包括显示屏幕和一个或多个处理器,且与基础平台能移除地耦合。
示例32可以是示例31,其中所述虚拟机管理器装置进一步响应于系统事件,使第二虚拟机置于待机模式,并且将处于待机模式的第二虚拟机移入后台,另外还使第一虚拟机移出待机状态并在前台恢复。
示例33可以是示例31或32,其特征在于,所述基础平台装置还包括当第二虚拟机被置于待机模式并移入后台时,引起系统的简单重启的驱动器装置。
示例34可以是示例33,简单重启包括通过驱动器保存第二操作系统的上下文,其中第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,当保存第二操作系统的上下文时,驱动器装置至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
虽然出于描述的目的已经说明和描述了某些实施例,但经计算以实现相同目的的各种各样的替代和/或等价实施例或实现方式可替代所示和所描述的实施例,而不背离本公开的范围。本申请旨在覆盖本文所讨论的实施例的任何变型或改变。因此,明确地旨在仅由权利要求来限定本文所描述的实施例。
本公开所用到的“一个”或“第一个”元件或相似的说法,这些公开内容包括一个或多个这种元件,不需要再次声明也不排除两个或更多这样的元件。此外,用于识别元件的有序指标(例如,第一、第二或第三)用于区分元件,并且不表示或暗示所需的或数量有限的元件,除非特别说明,它们也不表示特定位置或顺序等元件。
Claims (22)
1.一种用于计算的设备,包括
一个或多个处理器;以及
虚拟机管理器,所述虚拟机管理器由一个或多个处理器操作以实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机;其中虚拟机管理器进一步使后台的第一虚拟机在实例化时进入待机状态;
其中,虚拟机管理器进一步用于:响应于系统事件,使第二虚拟机进入待机状态,并且将处于待机状态的第二虚拟机移入后台,另外还使第一虚拟机移出待机状态并在前台恢复;
其中,为了进入待机状态,第二虚拟机生成睡眠事件。
2.如权利要求1所述的设备,其特征在于,在后台中的第一虚拟机不接收优先权或中断。
3.如权利要求1所述的设备,其特征在于,系统事件包括对接事件和脱离对接事件。
4.如权利要求3所述的设备,其特征在于,系统事件包括脱离对接事件,其中第一操作系统包括支持平板计算的操作系统,第二操作系统包括支持膝上型计算的操作系统。
5.如权利要求1所述的设备,其特征在于,虚拟机管理器进一步促使设备用户确认用户是否期望使操作系统OS切换。
6.如权利要求1-5任一项所述的设备,其特征在于,还包括当第二虚拟机被置于待机状态并移入后台时,引起设备的简单重启的驱动器。
7.如权利要求6所述的设备,其特征在于,驱动器检测到睡眠事件,并且,一旦检测到睡眠事件,保存第二操作系统的上下文。
8.如权利要求7所述的设备,其特征在于,在检测到睡眠事件时,驱动器进一步利用指示设备进入睡眠状态的信息和指向所述驱动器的用于恢复设备的恢复向量编程设备的睡眠状态寄存器,以使驱动器在进入睡眠状态时重获控制,并在重获控制时恢复装置。
9.如权利要求7所述的设备,其特征在于,第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,当保存第二操作系统的上下文时,驱动器至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
10.一种用于计算的方法,包括:
通过计算设备的虚拟机管理器实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机;
通过虚拟机管理器使后台的第一虚拟机进入待机状态;以及
响应于系统事件,通过虚拟机管理器使第二虚拟机生成睡眠事件以进入待机状态,将处于待机状态的第二虚拟机移入后台,并且另外使第一虚拟机移出待机状态并在前台恢复。
11.如权利要求10所述的方法,其特征在于,还包括:通过虚拟机管理器使前台中的第二虚拟机拥有完全优先权和接受全部中断,且在后台中的第一虚拟机不接收优先权或中断。
12.如权利要求10所述的方法,其特征在于,系统事件包括对接事件和脱离对接事件。
13.如权利要求12所述的方法,其特征在于,系统事件包括脱离对接事件,其中第一操作系统包括支持平板计算的操作系统,第二操作系统包括支持膝上型计算的操作系统。
14.如权利要求10所述的方法,其特征在于,还包括:通过虚拟机管理器促使计算设备的用户确认用户是否期望使操作系统OS切换。
15.如权利要求10-14中的任一项所述的方法,其特征在于:还包括:当第二虚拟机被置于待机状态并移入后台时,由计算机的驱动器引起计算设备的简单的重启。
16.如权利要求15所述的方法,其特征在于,还包括:通过驱动器检测睡眠事件,并且一旦检测到睡眠事件,通过驱动器来保存第二操作系统的上下文。
17.如权利要求16所述的方法,其特征在于,还包括:一旦检测到睡眠事件,通过驱动器,利用指示计算设备进入睡眠状态的信息和指向所述驱动器的用于恢复计算设备的恢复向量编程计算设备的睡眠状态寄存器,以使驱动器在进入睡眠状态时重获控制,并在重获控制时恢复计算设备。
18.如权利要求16所述的方法,其特征在于,第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,所述方法还包括当保存第二操作系统的上下文时,通过驱动器至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
19.一种用于计算的系统,包括:
基础平台,所述基础平台包括虚拟机管理器装置,所述虚拟机管理器用于:
实例化在后台的带有第一操作系统的第一虚拟机,以及在前台的带有第二操作系统的第二虚拟机;
使后台的第一虚拟机进入待机状态;以及
响应于系统事件,使第二虚拟机生成睡眠事件以进入待机状态,并且将处于待机状态的第二虚拟机移入后台,另外还使第一虚拟机移出待机状态并在前台恢复;以及
触敏显示单元,所述触敏显示单元包括显示屏幕和一个或多个处理器,并且与基础平台能移除地耦合。
20.如权利要求19所述的系统,其特征在于,所述基础平台装置还包括当第二虚拟机被置于待机状态并移入后台时,引起系统的简单重启的驱动器装置。
21.如权利要求20所述的系统,其特征在于,简单重启包括通过驱动器保存第二操作系统的上下文,其中第一和第二操作系统分别具有第一存储器尺寸和第二存储器尺寸,当保存第二操作系统的上下文时,驱动器装置至少部分地基于第一存储器尺寸和第二存储器尺寸中较小的存储器尺寸来保存存储量。
22.一种包括指令的存储介质,响应于指令由设备执行,导致设备执行如权利要求10-18中的任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361857376P | 2013-07-23 | 2013-07-23 | |
US61/857,376 | 2013-07-23 | ||
US201361863271P | 2013-08-07 | 2013-08-07 | |
US61/863,271 | 2013-08-07 | ||
PCT/US2013/068985 WO2015012878A1 (en) | 2013-07-23 | 2013-11-07 | Operating system switching method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105339898A CN105339898A (zh) | 2016-02-17 |
CN105339898B true CN105339898B (zh) | 2019-08-06 |
Family
ID=52393727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380077715.0A Active CN105339898B (zh) | 2013-07-23 | 2013-11-07 | 操作系统切换方法及装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3025230A4 (zh) |
CN (1) | CN105339898B (zh) |
WO (1) | WO2015012878A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3062225B1 (en) | 2015-02-24 | 2019-07-03 | Huawei Technologies Co., Ltd. | Multi-operating system device, notification device and methods thereof |
US9910780B2 (en) * | 2015-10-28 | 2018-03-06 | International Business Machines Corporation | Pre-loading page table cache lines of a virtual machine |
CN107229452A (zh) * | 2016-03-23 | 2017-10-03 | 单正建 | 一种移动智能终端操作系统 |
CN108124476B (zh) * | 2017-09-18 | 2022-04-12 | 深圳前海达闼云端智能科技有限公司 | 多操作系统的显示方法和装置,计算机设备和存储介质 |
CN111078299A (zh) * | 2018-10-19 | 2020-04-28 | 中兴通讯股份有限公司 | 一种多系统终端设备及其实现方法、存储介质 |
CN113835839A (zh) * | 2021-09-27 | 2021-12-24 | 湖南小算科技信息有限公司 | 一种虚拟机切换方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701508A (en) * | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US7356677B1 (en) * | 2001-10-19 | 2008-04-08 | Flash Vos, Inc. | Computer system capable of fast switching between multiple operating systems and applications |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130024812A1 (en) * | 2011-07-13 | 2013-01-24 | Z124 | Foreground/background assortment of hidden windows |
US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US20080177994A1 (en) * | 2003-01-12 | 2008-07-24 | Yaron Mayer | System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows |
US20050132363A1 (en) * | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for optimizing context switching between virtual machines |
US20050188361A1 (en) * | 2004-02-23 | 2005-08-25 | Henry Cai | Browser-based web site generation system and method |
US8856782B2 (en) * | 2007-03-01 | 2014-10-07 | George Mason Research Foundation, Inc. | On-demand disposable virtual work system |
US7971081B2 (en) * | 2007-12-28 | 2011-06-28 | Intel Corporation | System and method for fast platform hibernate and resume |
CN101477476B (zh) * | 2008-01-02 | 2012-02-29 | 联想(北京)有限公司 | 多操作系统之间切换显示的控制方法和装置 |
US8239667B2 (en) * | 2008-11-13 | 2012-08-07 | Intel Corporation | Switching between multiple operating systems (OSes) using sleep state management and sequestered re-baseable memory |
US9104476B2 (en) * | 2010-04-07 | 2015-08-11 | Apple Inc. | Opportunistic multitasking of VOIP applications |
US9804857B2 (en) * | 2010-12-17 | 2017-10-31 | Intel Corporation | Method and apparatus for multi-mode mobile computing devices and peripherals |
US20150347155A1 (en) * | 2011-10-28 | 2015-12-03 | Michael Rothman | Switching between operational contexts |
-
2013
- 2013-11-07 WO PCT/US2013/068985 patent/WO2015012878A1/en active Application Filing
- 2013-11-07 EP EP13890211.9A patent/EP3025230A4/en not_active Withdrawn
- 2013-11-07 CN CN201380077715.0A patent/CN105339898B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5701508A (en) * | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US7356677B1 (en) * | 2001-10-19 | 2008-04-08 | Flash Vos, Inc. | Computer system capable of fast switching between multiple operating systems and applications |
Also Published As
Publication number | Publication date |
---|---|
EP3025230A4 (en) | 2017-04-05 |
EP3025230A1 (en) | 2016-06-01 |
WO2015012878A1 (en) | 2015-01-29 |
CN105339898A (zh) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105339898B (zh) | 操作系统切换方法及装置 | |
US9092251B2 (en) | Method of managing virtual machines using a virtual machine monitor | |
JP6530774B2 (ja) | ハードウェア障害回復システム | |
US9286097B2 (en) | Switching a first OS in a foreground to a standby state in response to a system event and resuming a second OS from a background | |
EP2495655B1 (en) | Method for switching operating system and electronic apparatus using the same | |
US10198274B2 (en) | Technologies for improved hybrid sleep power management | |
EP3120238B1 (en) | Access isolation for multi-operating system devices | |
CN104025050A (zh) | 在图形处理单元上虚拟机之间变化 | |
JP2011100431A (ja) | 仮想マシン制御装置及び仮想マシン制御方法 | |
KR101673299B1 (ko) | 운영 시스템 복구 방법 및 장치, 그리고 단말기기 | |
CN105940375B (zh) | 针对多操作系统设备的动态再分配 | |
CN101937344B (zh) | 一种计算机快速启动的装置及方法 | |
WO2012163275A1 (zh) | 控制方法、控制装置以及计算机系统 | |
CN105874428A (zh) | 用于多个操作系统环境中的操作系统转变的技术 | |
JP2009080563A (ja) | 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム | |
CN108292233B (zh) | 开启虚拟机的应用处理器 | |
CN102880477A (zh) | 一种实现计算机启动的方法和计算机 | |
US20160253196A1 (en) | Optimized extended context management for virtual machines | |
CN101526901A (zh) | 一种电脑中查看文件的方法及装置 | |
JP2023047293A (ja) | 決定論的省電力状態を達成するための装置及び方法 | |
CN103729219A (zh) | 一种uefi bios架构方法及系统 | |
CN109308232B (zh) | 虚拟机热迁移故障后回滚的方法、装置以及系统 | |
CN107710156B (zh) | 一种基于多核嵌入式处理器的显示方法、装置和嵌入式设备 | |
KR20100041518A (ko) | 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체 | |
Sun et al. | Supporting Multiple OSes with OS Switching. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |