CN106575224A - 具有第一操作系统和第二操作系统的计算装置 - Google Patents

具有第一操作系统和第二操作系统的计算装置 Download PDF

Info

Publication number
CN106575224A
CN106575224A CN201480080890.XA CN201480080890A CN106575224A CN 106575224 A CN106575224 A CN 106575224A CN 201480080890 A CN201480080890 A CN 201480080890A CN 106575224 A CN106575224 A CN 106575224A
Authority
CN
China
Prior art keywords
operating system
bios
computing device
subregion
chipset
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.)
Granted
Application number
CN201480080890.XA
Other languages
English (en)
Other versions
CN106575224B (zh
Inventor
罗伯特·昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN106575224A publication Critical patent/CN106575224A/zh
Application granted granted Critical
Publication of CN106575224B publication Critical patent/CN106575224B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

在根据本公开的一个示例中,计算装置利用基本输入/输出系统(BIOS)来编程芯片组以产生中断,加载第一操作系统和第二操作系统,从芯片组接收中断;以及使一个操作系统的方面被存储在存储装置内的分区中。

Description

具有第一操作系统和第二操作系统的计算装置
背景技术
在当今的计算环境中,大多数计算装置(例如台式机、笔记本、工作站、平板电脑、和智能电话)运行单个操作系统(OS)。通常,OS是管理计算装置的硬件部件并且为各种应用程序提供公共服务的软件。流行的OS包括MicrosoftMac OS 以及
然而,对于一些用户,单个OS无法满足他们各自的需求,因此这些用户利用具有多个OS的计算装置。这些计算装置通常被称作双OS装置,并且提供在两个不同的OS之间切换的能力。例如,用户可以在Microsoft之间来回切换,或者可替换地,在Mac OS和Microsoft之间来回切换。除了其他方面,例如,这可以使用户能够使用一个OS用于生产和与工作相关的任务,并且使用另一个OS用于获取对触摸优化应用程序的访问。
关于操作,通常计算装置加载两个OS并且当运行一个OS时挂起另一个OS的操作。用户典型地可以通过选择热键或图标而在两个OS之间切换。
附图说明
在以下详细说明书中并且参考附图而描述示例,其中:
图1例示根据本公开的实现的示例性计算装置;
图2例示根据本公开的实现的计算装置操作的示例性过程流程图;
图3例示根据本公开的另一实现的计算装置操作的示例性过程流程图;
图4例示根据本公开的又一实现的计算装置操作的示例性过程流程图;以及
图5例示根据本公开的实现的在计算装置内实施的示例性计算机可读介质。
具体实施方式
遍及以下说明书和权利要求书而使用某些术语以涉及特定的系统部件。如本领域技术人员应该知晓的,技术公司可以用不同名字提到部件。本文献并未有意区分名字不同但是功能相同的部件。在以下讨论以及权利要求中,术语“包含”和“包括”以开放方式使用,并且因此应该被解释为意味着“包括但不限于……”。同样,术语“耦合”或“联接”意在意味着间接或直接的连接。因此,如果第一装置耦合至第二装置,该连接可以通过直接的电或机械连接,经由其他装置和连接而通过间接的电或机械连接,通过光电连接,或者通过无线电气连接。
额外地,术语“BIOS存储器”应该被解释为意味着存储基本输入/输出系统(BIOS)的诸如只读存储器(ROM)或闪速存储器之类的存储器。如在此使用的术语“BIOS”应该被解释为用于执行诸如例如初始化并测试硬件、加载引导程序代码、和/或从存储装置加载操作系统之类的各种计算装置的启动功能的机器可读指令。在一些实现中,如在此所述的“BIOS”是统一可扩展固件接口(UEFI)的一部分。术语“芯片组”应该解释为意味着在计算装置主板上执行诸如例如在中央处理单元(CPU)、存储器、存储装置和/或外围装置之间的数据流管理之类的任务的至少一个部件。在一些实现中,芯片组的至少一部分可以集成在CPU中,而在其他实现中芯片组可以与CPU分离。此外,在一些实现中芯片组可以用另一名字提到,诸如例如平台控制器中枢(PCH)。
额外地,关于OS的术语“运行”或“执行”通常意味着该OS当前被执行并且其当前是双OS计算装置中的活跃OS。相反地,关于OS的术语“挂起”通常意味着,对于至少大部分,该OS未被执行并且其当前是双OS计算装置中的不活跃OS。最后,关于OS的术语“当前环境”应该被解释为意味着(i)与计算装置相关联的各部件的工作状态(例如CPU、芯片组、GPU、编解码器、I/O部件、和/或外围部件的工作状态),(ii)至少一个应用程序的上下文(例如在文字处理应用程序中的文件的状态和/或电子邮件应用程序中的电子邮件草稿的状态),和/或(iii)在关机之前第一操作系统/第二操作系统的上下文(例如进程状态(例如新的、准备就绪的、正在运行、等待中、终止),应用程序状态,用户登录状态,寄存器条目(registerentry),和/或调度信息)。
如上所述,对于期待有能力利用不同OS的益处的部分用户,双OS计算装置是受欢迎的。例如,用户可以利用一个OS用于生产任务并且利用另一个OS用于游戏任务或获得对更多应用程序的访问。
当用户欣赏在OS之间切换的能力时,双OS计算装置的某些方面不受用户欢迎。特别地,在某些情形中,计算装置的关机可能是麻烦的并且甚至导致数据丢失。例如,当用户正在运行第一OS并且第二OS被挂起时,用户可能需要关闭第一OS,随后进入第二OS,并且接着在完全切断计算装置的电源之前关闭第二OS。这可以是耗时的并且是不必要重复的,以及具有其他缺陷。此外,在计算装置由于低电池电量事件或热事件而需要立即并自动地关机的情形中,可以保存与一个OS相关的数据但是与另一个OS相关联的数据可能丢失。取决于数据丢失的类型,这对于用户来说是不方便的甚至是灾难性的。
本公开的方面可以通过提供关机和/或初始化双OS装置的方案而解决与双OS计算装置相关联的至少一个以上不足。更特别地,本公开的方面在计算装置的BIOS部件、芯片组和/或存储装置中实施操作以使计算装置及相关联的OS能够以快速和用户友好的方式被关机和/或恢复,并且没有数据丢失。
例如,在一个实现中,用于初始化和关闭计算装置的过程包括,在计算装置的初始化期间,利用BIOS将芯片组编程为响应于从第一OS或者从第二OS接收关机和/或休眠命令而产生系统管理中断(SMI)。BIOS随后将第一OS从存储装置中的第一分区加载至第一存储器部分,并且将第二OS从存储装置中的第二分区加载至第二存储器部分。计算装置随后运行第一OS同时挂起第二OS。此后,响应于芯片组从第一OS接收关机命令(例如响应于热事件或低电池电量事件),芯片组发送SMI至BIOS部件,并且BIOS部件使第二OS的方面(例如与第二OS相关联的当前环境)被存储在存储装置内的第三分区中。接着,计算装置关机,并且当用户对计算装置通电时,BIOS从第一分区加载第一OS至第一存储器部分,并且从第三分区恢复第二OS至第二存储器部分。结果,即使由于热事件或电池事件存在未预期的和自动的关机,因为数据被保存至第三分区并且从第三分区恢复,所以与被挂起的第二OS相关联的数据未丢失。以下参照各种示例和附图进一步讨论本公开的这些和其他方面。
查看图1,该附图示出了根据本公开的一个实现的示例性计算装置100。计算装置100包括BIOS存储器102,芯片组104,存储装置106,以及存储器108。应该显而易见的是,计算装置100是通用化的示意说明并且可以添加其他元件或者可以移除、修改或重新布置已有元件而并未脱离本公开的范围。例如,可以添加对于计算装置来说普通的其他部件(例如显示器、网络接口、显卡、热部件、和/或中央处理单元(CPU))而并未脱离本公开的范围。
计算装置100例如可以是笔记本、台式机、平板电脑、工作站、智能电话、服务器、和/或游戏装置。BIOS存储器102驻留在计算装置100内,并且包括非易失性存储器(例如闪速存储器),该非易失性存储器具有在其上编程的BIOS机器可读指令128。在一些实现中,BIOS 128可以被称作固件和/或UFEI。通常,当被执行时,BIOS 128执行任务,诸如例如下载OS、进行通电自测试(POST)、初始化寄存器和/或确定哪些装置是可引导的。此外,并且如参照各种流程图的以下详细所述,BIOS 128包括各种指令,该各种指令包括用于编程芯片组的芯片组编程指令120,用于管理与OS的通信的OS处理指令122,以及用于管理中断处理的中断处理指令124。
芯片组104也驻留在计算装置100内。芯片组104在一些实现中可以包括北桥和南桥,并且通常可以执行诸如在CPU、存储器114、存储装置116和/或外围装置之间的数据流管理的任务。额外地,在一些实现中芯片组104可以包括与CPU完全或部分地分离,而在其他实现中,芯片组104的至少一部分可以集成至CPU中。此外,在一些实现中,芯片组104可以被称作另一名字,诸如例如平台控制器中枢(PCH)。此外,并且如参照各种流程图的以下详细所述,芯片组包括命令处理指令126,该命令处理指令126由BIOS 128在初始化期间提供,并且使芯片组104响应于从第一操作系统或第二操作系统接收关机或休眠通知而产生中断并且将中断发送至BIOS 128。
存储装置106包括存储OS以及其他数据/指令的非易失性存储器。取决于实现,存储装置106可以例如是硬盘驱动(HDD)、固态驱动(SSD)、混合HDD/SDD驱动、光盘(例如CD、DVD和蓝光)、磁带存储、闪速存储器、和/或非易失性随机访问存储器(NVRAM)诸如基于忆阻器的存储器、铁电RAM(FRAM)、磁阻性RAM(MRAM)、相变RAM(PRAM)、以及千足虫(millipede)RAM。如图1中所示,存储装置106包括多个分区,该多个分区包括至少第一分区110、第二分区112和第三分区114。存储器装置108是可以用作用于OS和/或应用程序的临时存储装置和工作空间的易失性存储器。示例包括但不限于静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)。
现在转向根据本公开的各种以上所述的部件的操作,图2示出了根据示例性实现的针对计算装置100的工作的过程流程图200。应该显而易见的是图2(以及其他流程图)中所示过程表示通用化的示意说明,并且可以添加其他过程或者可以移除、修改或重新配置现有过程而并未脱离本公开的范围和精神。此外,应该理解的是图2中所示过程可以表示存储在机器可读存储介质(例如BIOS存储器102、存储装置106、和/或存储器108)上的指令,当执行该指令时使计算装置100或其中的部件做出响应,执行动作,改变状态,和/或做出决定。此外,流程图并未意在限制本公开的实现,而是相反地流程图示出了本领域技术人员可以用于产生指令以使计算装置100或其中的部件执行例示的操作的功能性信息。
过程可以开始于方框202,此时计算装置100通电并且开始初始化。例如这可以响应于用户按压计算装置外壳上的电源开关,或者经由计算装置图形用户界面(GUI)输入命令。在方框204处,BIOS 128将芯片组104编程为响应于从第一OS或从第二OS接收关机和/或休眠命令或通知而产生中断。中断可以是系统管理中断(SMI),并且更特别地可以是睡眠陷阱SMI(例如SPL_SMI或SmiControl_65)。在一些示例中,可以由在睡眠控制寄存器中设置数值的OS触发关机或休眠命令/通知。例如,OS可以将SLP_TYPx设置为4或5,并且将SLP_EN设置为1。
在方框206处,BIOS 128从存储装置106内的第一分区110加载第一OS至第一存储器部分116。在方框208处,BIOS 128从存储装置106内的第二分区112加载第二OS至第二存储器部分118。一旦第一OS和第二OS都被加载,用户具有在两个OS之间切换并且使用任一OS用于各种任务的能力。当用户在运行一个OS时,另一个OS被挂起。因此,例如,在方框210处,计算装置可以运行第一OS并挂起第二OS。
随后,在方框212处,计算装置100确定其是否要关机或休眠。这可以是响应于热事件,诸如当计算装置100检测到部件已经超过温度阈值并且因此需要立即关机以避免损伤时。可替代地或额外地,这可以是响应于低电池电量事件,其中计算装置100确定电池电力水平处于低水平并且因此需要立即关机。此外,这可以是响应于用户发起的关机或休眠命令。
不论触发事件,如果计算装置100确定其要关机或休眠,在方框214处,当前执行的第一OS发送关机或休眠命令至芯片组104。如所述,命令可以由在睡眠控制寄存器中设置数值的第一OS来触发。例如,OS可以将SLP_TYPx设置为4或5并且设置SLP_EN为1。
在方框216处,响应于接收命令,芯片组104发送中断至BIOS 128。如所述,命令可以是SMI,并且更特别地,命令可以是睡眠陷阱SMI(例如SLP_SMI或SmiControl_65)。
在方框218处,响应于接收中断,BIOS 128使与被挂起第二OS相关联的当前环境被存储在存储装置106内的第三分区114中。第二OS的当前环境可以包括例如(i)与计算装置相关联的各部件的工作状态(例如CPU、芯片组、GPU、编解码器、I/O部件和/或外围部件的工作状态),(ii)至少一个应用程序的上下文(例如文字处理应用程序中的文件的状态和/或电子邮件应用程序中的电子邮件草稿的状态),和/或(iii)在关机之前第一操作系统/第二操作系统的上下文(例如进程状态(例如新的、准备就绪、运行、等待、终止)、应用程序状态、用户登录状态、寄存器条目、和/或调度信息)。此外,通过在关机之前将第二OS环境存储在第三分区114内,与第二OS相关联的数据是可被访问的并且当重启计算装置100时可以被恢复。因此,与第二OS相关联的数据并未响应于例如响应于热事件或低电池电量事件的自动关机而丢失。
在方框220处,整个计算装置100关机。应该理解的是在方框218和方框220处的过程之间,计算装置100可以进行各种额外过程诸如关闭应用程序以及将其他信息保存至存储装置106。此外,BIOS 128可以确定当接收到中断时运行的以及被挂起的OS。BIOS 128可以存储该状态信息并且当计算装置再次通电时利用该状态信息恢复至少被挂起的OS的方面。
现在查看图3,该附图示出了根据示例性实现的针对计算装置100的工作的过程流程图300。特别地,图3示出了在进行图2的过程之后当计算装置100通电时可以进行的过程。
该过程可以开始于方框302,其中计算装置通电。这可以响应于例如用户按压计算装置外壳上的电源开关。在方框304处,BIOS 128获取在最后一次关机之前存储的状态信息。特别地,BIOS 128获取指示在最后一次关机之前运行的以及被挂起的OS的信息。例如,并且继续参照图2如上所述的情形,BIOS 128获取指示在关机之前第一OS在运行而第二OS被挂起的信息。基于此,在方框306处,BIOS 128从存储装置106中的第三分区114恢复第二OS至第二存储器部分118。在方框308处,BIOS 128从存储装置106中的第一分区110加载第一OS至第一存储器部分118。一旦两个OS均被加载,在方框310处,计算装置运行一个OS而挂起另一个OS。
现在转向图4,该附图示出了根据另一示例性实现的针对计算装置100的工作的过程流程图400。过程可以开始于方框402处,其中BIOS 128将芯片组104编程为响应于从第一OS或从第二OS接收关机/休眠命令而产生中断。中断可以是系统管理中断(SMI),并且更特别地可以是睡眠陷阱SMI(例如SLP_SMI或SmiControl_65)。关机或休眠命令可以由在睡眠控制寄存器中设置数值的OS来触发。例如,OS可以设置SLP_TYPx为4或5并且设置SLP_EN为1。
在方框404处,BIOS 128从存储装置106内的第一分区110加载第一OS至第一存储器部分116。在方框406处,BIOS 128从存储装置106内的第二分区112加载第二OS至第二存储器部分118。一旦第一OS和第二OS均被加载,用户具有在两个OS之间切换并且使用任一OS用于各种任务的能力。当用户在运行一个OS时,另一个OS被挂起。
随后,计算装置100响应于例如热事件、低电池电量事件、或用户发起的命令而确定其要关机或休眠。这使得运行的第一OS向芯片组104发送命令。如所述,可以由在睡眠控制寄存器中设置数值的第一OS触发命令。例如,OS可以设置SLP_TYPx为4或5并且设置SLP_EN为1。
此后,在方框408处并且响应于接收到命令,芯片组104发送中断至BIOS 128。如所讨论的,命令可以是SMI,并且更特别地,可以是睡眠陷阱SMI(例如SLP_SMI或SmiControl_65)。在方框410处,BIOS 128确定第一OS在运行而第二OS被挂起,并且BIOS 128存储指示该状态的信息。接着,在方框412处,BIOS 128使与被挂起第二OS相关联的当前环境被存储在存储装置106内的第三分区114中。第二OS的当前环境可以包括例如(i)与计算装置相关联的各部件的工作状态(例如CPU、芯片组、GPU、编解码器、I/O部件、和/或外围部件的工作状态),(ii)至少一个应用程序的上下文(例如在文字处理应用程序中的文件的状态和/或电子邮件应用程序中的电子邮件草稿的状态),和/或(iii)在关机之前第一操作系统/第二操作系统的上下文(例如进程状态(例如新的、准备就绪的、运行、等待、终止),应用程序状态,用户登录状态,寄存器条目,和/或调度信息)。此外,通过在关机之前将第二OS环境存储在第三分区114,与第二OS相关联的数据可被访问的并且当重启计算装置100时可以被恢复。因此,与第二OS相关联的数据并未响应于例如响应于热事件或低电池电量事件的自动关机而丢失。
现在参照图5,该附图示出了根据本公开的实现的实施在计算装置100上的示例性非临时机器可读介质504。计算装置100例如可以是台式机、工作站、膝上型电脑、科学仪器、游戏装置、平板电脑、一体(AiO)台式机、智能电视机、混合膝上型电脑、可拆卸平板/膝上型电脑、服务器、销售零售点、或类似的计算装置。计算装置100包括处理装置502和经由通信总线506耦合的非临时机器可读介质504。应该显而易见的是计算装置100是通用化的示意说明并且可以添加其他元件或者可以移除、修改或重新布置现有元件而并未脱离本公开的范围。例如,计算装置100可以包括对于计算装置来说普通的其他部件,诸如例如网络接口、用户接口、风扇、光驱、电源和/或母板。
处理装置502可以例如是中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、和/或被设置用于获取并执行存储在机器可读存储介质504上的指令的其他处理装置中的至少一个。换言之,处理装置502可以获取、解码并执行在机器可读存储介质504上存储的指令以实施如上和如下所述的功能。
机器可读存储介质504可以对应于存储诸如编程代码、软件、固件之类的机器可读指令的任何典型存储装置。例如,非临时机器可读介质502可以包括非易失性存储器、易失性存储器和/或存储装置的一个或多个。非易失性存储器的示例包括但不限于电可擦除可编程只读存储器(EEPROM)和闪速存储器。易失性存储器的示例包括但不限于静态随机访问存储器(SRAM)和动态随机访问存储器(DRAM)。存储装置的示例包括但不限于硬盘驱动、光盘读/写驱动、数字碟驱动、光学读/写驱动、以及闪速存储器装置。在一些示例中,BIOS指令128可以是可以由处理装置502执行的安装数据包的一部分。在该情形中,非临时机器可读介质504可以是便携式介质诸如CD-RW盘、DVD-RW盘、闪速驱动、或者由服务器所维护的安装数据包可以从其下载并安装的存储器。在另一实施例中,指令可以是已经安装的应用程序的一部分。
BIOS指令128包括各种指令,该各种指令包括用于编程芯片组的芯片组编程指令120,用于管理与OS的通信的OS处理指令122,以及用于管理中断处理的中断处理指令124。此外,BIOS指令128可以包括指令以使计算装置100执行任务诸如例如加载OS、执行通电自测试(POST)、初始化寄存器、和/或确定哪些装置是可启动的。
以上描述了创新和之前未预见的方案以初始化、休眠、和/或关闭双OS计算装置。除此之外,方案实施了在计算装置的BIOS、芯片组、和/或存储装置中的操作以使得以迅速和用户友好的方式并且没有数据丢失而关机和/或恢复计算装置及其相关联OS。尽管已经参照前述示例示出并描述了以上公开,应该理解的是可以做出其他形式、细节和实现而并未脱离以下权利要求中所限定的本公开的精神和范围。

Claims (15)

1.一种方法,包括:
在计算装置的初始化期间,利用基本输入/输出系统(BIOS)将芯片组编程为响应于从第一操作系统或从第二操作系统接收命令而产生中断;
由所述BIOS从存储装置中的第一分区加载所述第一操作系统至第一存储器部分;
由所述BIOS从所述存储装置中的第二分区加载所述第二操作系统至第二存储器部分;
由所述计算装置执行所述第一操作系统并且挂起所述第二操作系统;
在所述芯片组处,从所述第一操作系统接收所述命令;
由所述BIOS从所述芯片组接收所述中断;
由所述BIOS使与所述第二操作系统相关联的当前环境被存储在所述存储装置中的第三分区中;以及
由所述BIOS使所述计算装置关机。
2.根据权利要求1所述的方法,其中,在所述芯片组处接收的并且从所述第一操作系统发送的所述命令是关机命令。
3.根据权利要求2所述的方法,其中,所述关机命令响应于热事件、低电池电量事件、或用户关机请求事件而从所述第一操作系统发送。
4.根据权利要求1所述的方法,进一步包括:
由所述BIOS在所述关机之前确定所述第一操作系统和所述第二操作系统的状态;以及
由所述BIOS在所述关机之前存储与所述第一操作系统和所述第二操作系统相关联的状态信息。
5.根据权利要求4所述的方法,进一步包括:
由所述BIOS响应于通电事件而初始化所述计算装置,其中所述初始化所述计算装置包括:
获取在所述关机之前与所述第一操作系统和第二操作相关联的所述状态信息;
由所述BIOS从所述存储装置中的所述第三分区恢复所述第二操作系统至所述第二存储器部分;以及
由所述BIOS从所述存储装置中的所述第一分区加载所述第一操作系统至所述第一存储器部分。
6.根据权利要求1所述的方法,其中,与所述第二操作系统相关联的当前环境包括(i)与所述计算装置相关联的各部件的工作状态,(ii)至少一个应用程序的上下文,以及(iii)所述第二操作系统的上下文中的至少一个。
7.根据权利要求1所述的方法,其中,所述中断是系统管理中断(SMI)。
8.一种计算装置,包括:
存储器,包括第一存储器部分和第二存储器部分;
存储装置,包括第一分区、第二分区和第三分区;
芯片组,用于响应于接收到来自第一操作系统或来自第二操作系统的命令而产生中断;以及
基本输入/输出系统(BIOS),用以
将所述芯片组编程为响应于从所述第一操作系统或从所述第二操作系统接收到所述命令而产生所述中断;
从所述第一分区加载所述第一操作系统至所述第一存储器部分;
从所述第二分区加载所述第二操作系统至所述第二存储器部分;
从所述芯片组接收所述中断;以及
使与所述第二操作系统相关联的当前环境被存储在所述第三分区中。
9.根据权利要求8所述的计算装置,其中,所述与所述第二操作系统相关联的当前环境包括(i)与所述计算装置相关联的各部件的工作状态,(ii)至少一个应用程序的上下文,以及(iii)所述第二操作系统的上下文中的至少一个。
10.根据权利要求8所述的计算装置,其中,所述命令是关机命令,并且其中所述关机命令响应于热事件、低电池电量事件、或用户关机请求事件而发送。
11.根据权利要求8所述的计算装置,其中,所述命令是休眠命令,以及其中所述休眠命令响应于用户请求而发送。
12.根据权利要求8所述的计算装置,其中,所述BIOS进一步用于:
在关机之前确定所述第一操作系统和所述第二操作系统的状态;以及
存储状态信息以在后续计算装置初始化期间使用。
13.根据权利要求8所述的计算装置,其中,所述中断是系统管理中断(SMI)。
14.一种计算装置,包括:
存储器,包括第一存储器部分和第二存储器部分;
存储装置,包括第一分区、第二分区和第三分区;
芯片组,用于响应于接收到来自第一操作系统或来自第二操作系统的命令而产生中断,其中所述关机命令响应于热事件、低电池电量事件或用户关机请求事件而发送;以及
基本输入/输出系统(BIOS),用于
将所述芯片组编程为响应于接收到来自所述第一操作系统或来自所述第二操作系统的所述关机命令而产生所述中断;
从所述第一分区加载所述第一操作系统至所述第一存储器部分;
从所述第二分区加载所述第二操作系统至所述第二存储器部分;
从所述芯片组接收所述中断;
确定所述第一操作系统和所述第二操作系统的状态;
存储与所述第一操作系统和所述第二操作系统相关联的状态信息;以及
使所述第二操作系统的各方面被存储在所述第三分区中。
15.根据权利要求14所述的计算装置,其中,所述BIOS进一步用于响应于通电事件通过至少(i)从所述存储装置中的所述第三分区恢复所述第二操作系统至所述第二存储器部分,和(ii)从所述存储装置中的所述第一分区加载所述第一操作系统至所述第一存储器部分而初始化所述计算装置。
CN201480080890.XA 2014-07-31 2014-07-31 具有第一操作系统和第二操作系统的计算装置 Active CN106575224B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/049084 WO2016018349A1 (en) 2014-07-31 2014-07-31 Computing device with first and second operating systems

Publications (2)

Publication Number Publication Date
CN106575224A true CN106575224A (zh) 2017-04-19
CN106575224B CN106575224B (zh) 2019-09-24

Family

ID=55218064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480080890.XA Active CN106575224B (zh) 2014-07-31 2014-07-31 具有第一操作系统和第二操作系统的计算装置

Country Status (3)

Country Link
US (1) US10061597B2 (zh)
CN (1) CN106575224B (zh)
WO (1) WO2016018349A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10379874B1 (en) * 2016-06-24 2019-08-13 Amazon Technologies, Inc. Expedited resume process from low battery
CN110543346A (zh) * 2019-08-28 2019-12-06 英业达科技有限公司 切换基本输入/输出系统(bios)界面的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060070032A1 (en) * 2004-09-24 2006-03-30 Richard Bramley Operating system transfer and launch without performing post
US20070022258A1 (en) * 2005-07-22 2007-01-25 Microsoft Corporation Preparing memory to allow access to data when primary operating system is unavailable
CN101419560A (zh) * 2008-12-05 2009-04-29 苏州壹世通科技有限公司 一种基于可扩展固件接口的操作系统切换方法
US20100064126A1 (en) * 2008-09-05 2010-03-11 Hyejung Yi Method and system for providing hybrid-shutdown and fast startup processes
CN103914400A (zh) * 2012-12-31 2014-07-09 联想(北京)有限公司 内存分配方法和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319637A (ja) 1996-05-30 1997-12-12 Nec Eng Ltd オペレーションシステムの動作監視方式
EP1037133A1 (en) 1999-03-15 2000-09-20 International Business Machines Corporation Method and apparatus for alternation between instances of operating systems in computer systems
EP1274009A3 (en) 2001-07-03 2003-12-03 Hewlett-Packard Company System and method to enable a legacy BIOS system to boot from a disk that includes EFI GPT partitions
JP4066325B2 (ja) * 2002-06-07 2008-03-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザデータのバックアップ方法
WO2004090722A1 (en) 2003-04-11 2004-10-21 Star Softcomm Pte Ltd Data isolation system and method
JP4965824B2 (ja) 2005-06-24 2012-07-04 株式会社東芝 情報処理装置およびデータ救済方法
JP4342576B2 (ja) 2006-07-25 2009-10-14 株式会社エヌ・ティ・ティ・ドコモ 複数オペレーティングシステム切替制御装置及びコンピュータシステム
US20130297924A1 (en) 2012-04-03 2013-11-07 Insyde Software Method of running multiple operating systems on an x86-based computer
CN104765623A (zh) * 2014-01-03 2015-07-08 中兴通讯股份有限公司 一种实现多操作系统的数据处理方法及终端设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060070032A1 (en) * 2004-09-24 2006-03-30 Richard Bramley Operating system transfer and launch without performing post
US20070022258A1 (en) * 2005-07-22 2007-01-25 Microsoft Corporation Preparing memory to allow access to data when primary operating system is unavailable
US20100064126A1 (en) * 2008-09-05 2010-03-11 Hyejung Yi Method and system for providing hybrid-shutdown and fast startup processes
CN101419560A (zh) * 2008-12-05 2009-04-29 苏州壹世通科技有限公司 一种基于可扩展固件接口的操作系统切换方法
CN103914400A (zh) * 2012-12-31 2014-07-09 联想(北京)有限公司 内存分配方法和电子设备

Also Published As

Publication number Publication date
WO2016018349A1 (en) 2016-02-04
US10061597B2 (en) 2018-08-28
US20170185416A1 (en) 2017-06-29
CN106575224B (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
JP6530774B2 (ja) ハードウェア障害回復システム
US8028177B2 (en) Method for changing power states of a computer
CN104850435B (zh) 电源管理控制器与方法
CN1323354C (zh) 用通电自检基本输入输出系统检测对存储器中代码的修改
EP3120238B1 (en) Access isolation for multi-operating system devices
JP6087820B2 (ja) 仮想計算機制御装置、及び仮想計算機制御方法
US20180322016A1 (en) System and method to capture stored data following system crash
US9424022B2 (en) Method for updating firmware of an electronic device within a computer
US10606677B2 (en) Method of retrieving debugging data in UEFI and computer system thereof
EP3319283B1 (en) Server data port learning at data switch
WO2018045922A1 (zh) 一种备电方法及装置
US20190004818A1 (en) Method of UEFI Shell for Supporting Power Saving Mode and Computer System thereof
WO2013055447A1 (en) Using latched events to manage sleep/wake sequences on computer systems
US10387306B2 (en) Systems and methods for prognosticating likelihood of successful save operation in persistent memory
CN105339898A (zh) 操作系统切换方法及装置
CN101419560B (zh) 一种基于可扩展固件接口的操作系统切换方法
TWI511047B (zh) 作業系統切換方法以及使用此方法的雙作業系統電子裝置
CN106575224B (zh) 具有第一操作系统和第二操作系统的计算装置
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
US9652259B2 (en) Apparatus and method for managing register information in a processing system
KR101576370B1 (ko) 컴퓨터 시스템의 원격 복원 시스템 및 그 방법, 그리고 기록한 컴퓨터로 읽어 들일 수 있는 기록매체
US20160314047A1 (en) Managing a Computing System Crash
CN102360300A (zh) 操作系统的启动方法及装置
TWI605332B (zh) 使用唯cpu重設的支援先進組態與電力介面(acpi)休眠狀態的方法及裝置
US20130275739A1 (en) Electronic apparatus, method of controlling the same, and computer-readable recording medium

Legal Events

Date Code Title Description
PB01 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