CN113168331A - 具有多阶段/级别引导的计算方法和设备 - Google Patents
具有多阶段/级别引导的计算方法和设备 Download PDFInfo
- Publication number
- CN113168331A CN113168331A CN201880094912.6A CN201880094912A CN113168331A CN 113168331 A CN113168331 A CN 113168331A CN 201880094912 A CN201880094912 A CN 201880094912A CN 113168331 A CN113168331 A CN 113168331A
- Authority
- CN
- China
- Prior art keywords
- initial
- computing platform
- image
- task
- level
- 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.)
- Pending
Links
Images
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/4401—Bootstrapping
- G06F9/4406—Loading of 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/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0841—Registering performance data
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本文公开了与多阶段/级别引导技术相关联的设备、方法和存储介质。一种方法可包括:从持久性存储恢复计算平台的初始执行映像,以执行初始任务;以及随后,从持久性存储恢复该计算平台的完全执行映像,以执行多个操作任务中的一者。
Description
技术领域
本公开涉及计算领域。更具体地,本公开涉及具有多阶段/级别引导的计算方法和装置,具有用于计算机辅助或自主驾驶(CA/AD)车辆的车载系统的特定应用。
背景技术
本文中所提供的背景描述是出于总体上呈现本公开的上下文的目的。除非在本文中另有指示,本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因为包含在本部分中而被承认为现有技术。
客户端和嵌入式计算系统通常要遭受长的重新引导的延迟。从用户体验角度来看,非常期望快速引导。此外,在某些类型的系统中,快速引导是强制性的。这些系统甚至可能在引导序列中具有多个定时关键阶段。汽车软件定义的驾驶舱系统是这样的示例。预期尽可能早地(在2秒内)准备好外部后视相机系统;预期在4秒内显示启动(Splash)窗口(或供应商标志);并且最后预期在10秒内完成对完整HMI(人机接口)的引导。对于许多当今的计算平台而言,这些可能是非常具有挑战性的性能目标。
附图简述
通过下列具体描述结合附图,将容易理解实施例。为了便于该描述,相同的附图标记指示相同的结构要素。在附图的各图中,通过示例而非限制的方式示出了实施例。
图1示出了根据各种实施例的本公开的多阶段/级别引导进程的概览。
图2进一步详细地示出了根据各种实施例的针对图1的执行映像(executionimage)的恢复中的每一者的示例恢复进程。
图3进一步详细地示出了根据各种实施例的多阶段/级别引导的示例存储器布局。
图4示出了根据各种实施例的如针对车载系统实践的示例多阶段/级别引导进程的概览。
图5示出了根据各种实施例的断电和通电进程中的每一者的示例。
图6示出了根据各种实施例的用于并入并使用本公开的多级引导技术的环境的概览。
图7进一步详细地示出了根据各种实施例的图6的车载系统的硬件/软件视图。
图8示出了根据各种实施例的断电和通电进程中的每一者的示例。
图9示出了根据各种实施例的适用于实践本公开的各个方面的示例计算平台。
图10示出了根据各种实施例的具有用于实践参考图1-8所描述的方法的指令的存储介质。
具体实施方式
为了解决背景技术部分中讨论的挑战,本文公开了与多阶段/级别引导技术相关联的装置、方法和存储介质。在各种实施例中,计算方法包括从计算平台的持久性存储中恢复计算平台的初始执行映像,以执行初始任务。初始执行映像包括初始任务,并且该初始执行映像被预先保存在持久性存储中,就好像该初始执行映像是在计算平台仅具有该初始任务和处于初始功能级别的操作系统的情况下,为紧接在计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。该方法进一步包括:随后,从持久性存储中恢复计算平台的完全执行映像,以选择性地执行多个操作任务。完全执行映像包括多个操作任务,并且该完全执行映像被预先保存在持久性存储中,作为在计算平台具有该多个操作任务和处于比初始功能级别具有更多功能的完全功能级别的操作系统的情况下紧接在计算平台上一次断电之前执行的挂起进程的一部分。
在各种实施例中,该方法进一步包括:在执行初始任务之后,但在恢复计算平台的完全执行映像之前,从计算平台的持久性存储中恢复计算平台的中间执行映像。中间执行映像包括中间任务,并且该中间执行映像被预先保存在持久性存储中,就好像该中间执行映像是在计算平台具有该中间任务和处于比初始功能级别具有更多功能但是比完全功能级别具有更少功能的中间功能级别的操作系统的情况下,为紧接在计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
在各种实施例中,至少一个计算机可读介质(CRM)具有存储在其中的指令,以在操作系统已经被引导到初始功能级别之后,使计算平台响应于由计算平台执行该指令而对操作系统进行操作以接收执行控制。进一步,在接收到执行控制时,代替引导操作系统的其余部分,发起恢复进程以从可访问计算平台的持久性存储中恢复初始执行映像。初始执行映像具有无状态初始任务,并且该初始执行映像被预先保存在持久性存储中,就好像该初始执行映像是在计算平台仅具有该无状态初始任务和处于初始功能级别的操作系统的情况下,为紧接在计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
在各种实施例中,指令的执行进一步使计算平台对操作系统进行操作以随后发起另一恢复进程,以从计算平台的持久性存储中恢复完全执行映像。完全执行映像具有多个操作任务,并且该完全执行映像被保存在持久性存储中,作为在计算平台具有该多个操作任务和处于完全功能级别的操作系统的情况下紧接在计算平台上一次断电之前执行的挂起进程的一部分。
在各种实施例中,指令的执行进一步使计算平台在恢复初始执行映像之后并在恢复完全执行映像之前对操作系统进行操作以发起另一个恢复进程,从而从持久性存储中恢复中间执行映像。中间执行映像具有无状态中间任务,并且该中间执行映像被预先保存在持久性存储中,就好像该中间执行映像是在计算平台仅具有该无状态中间任务和处于中间功能级别的操作系统的情况下,为紧接在计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
在各种实施例中,一种用于计算的装置包括设置在车辆中的计算平台,该计算平台具有用于主管服务虚拟机(SVM)和一个或多个用户虚拟机(UVM)的管理程序、计算平台不可或缺的引导程序、以及SVM的OS。引导程序被布置成接收将计算平台通电或引导计算平台的请求。引导程序响应于对该请求的接收而将管理程序引导到初始功能级别,在该管理程序已经被引导到初始功能级别之后,该管理程序启动SVM并将SVM的操作系统(OS)初始化为初始功能级别。在SVM的OS已经被初始化为初始功能级别之后,该OS在接收到执行控制时,代替引导OS的其余部分,发起恢复进程以从计算平台的持久性存储中恢复初始执行映像。初始执行映像具有初始任务,并且该初始执行映像被预先保存在持久性存储中,就好像该初始执行映像是在SVM仅具有该初始任务和处于初始功能级别的OS的情况下,为紧接在SVM上一次关闭之前执行的挂起进程的挂起到持久性存储的映像一样。初始任务的示例是后视相机任务。
在各种实施例中,SVM的OS被进一步布置成随后发起另一个恢复进程,以从持久性存储中恢复完全执行映像。完全执行映像具有多个操作任务,并且该完全执行映像被保存在持久性存储中,作为在SVM具有该多个操作任务和处于完全功能级别的OS的情况下紧接在SVM上一次关闭之前执行的挂起进程的一部分。操作任务的示例是仪表板任务。
在各种实施例中,SVM的OS被进一步布置成在恢复初始执行映像之后但在恢复完全执行映像之前发起另一个恢复进程,以从持久性存储中恢复中间执行映像。中间执行映像具有中间任务,并且该中间执行映像被预先保存在持久性存储中,就好像该中间执行映像是在SVM仅具有该中间任务和处于中间功能级别的OS的情况下,为紧接在SVM上一次关闭之前执行的挂起进程的挂起到持久性存储的映像一样。中间任务的示例是启动窗口(供应商标志)任务。
在以下详细描述中,参考形成本文一部分的附图,其中相同的标记在全文中指示相同的部分,并且其中通过说明的方式示出了可以实践的实施例。应理解,可在不脱离本公开的范围的情况下,利用其他实施例并作出结构或逻辑的改变。因此,以下详细描述不应以限制的意义来理解,并且实施例的范围由所附权利要求及其等效方案来限定。
所附描述中公开了本公开的各方面。可在不脱离本公开的精神或范围的情况下设计本公开的替代实施例及其等效物。应当注意,下文公开的相同的要素由附图中相同的附图标记指示。
可以按在理解要求保护的主题时最有帮助的方式将各种操作描述为依次的多个分立动作或操作。然而,不应将描述的次序解释为暗示这些操作必然依赖于次序。特别地,可以不按照呈现的次序执行这些操作。可以以不同于所述的实施例的次序执行所述的操作。在附加的实施例中,可以执行各种附加操作和/或可以省略所述的操作。
出于本公开的目的,短语“A和/或B”意思是(A)、(B)或(A和B)。出于本公开的目的,短语“A、B和/或C”意思是(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
说明书可使用短语“在实施例中”或“在多个实施例中”,其可各自指代相同或不同实施例中的一者或多者。此外,如相对于本公开的实施例所使用的术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义的。
如本文中所使用的,术语“模块”可指代以下部件的一部分或包括以下部件:专用集成电路(ASIC)、电子电路、组合逻辑电路、执行一个或多个软件或固件程序的处理器(共享的、专用的、或组)和/或存储器(共享的、专用的、或组)、和/或提供所描述的功能的其他合适的部件。
现在参考图1,其中示出了根据各种实施例的本公开的多阶段/级别引导进程的概览。如图所示,用于在多个阶段中引导客户端或嵌入式计算平台的进程100,每个阶段具有增大的功能级别,进程100包括在框102-114处执行的操作。在接收到将客户端/嵌入式计算平台通电或冷启动(cold boot)的请求时,在框102处,客户端/嵌入式计算平台的OS被引导到初始状态,该初始状态被配置成提供初始功能级别(轻型(light)),例如,仅具有足以支持执行初始任务的功能。
接下来,在框104处,在将客户端/嵌入式计算平台的OS引导到可配置成提供初始功能级别(轻型)的初始状态时,可以发起恢复进程以恢复对初始执行映像的执行,也被称为阶段I或级别I执行映像。初始执行映像基本上包括用于以初始功能级别配置(轻型)OS的数据,以及初始任务,也被称为阶段I或级别I任务。包括初始任务和用于以初始功能级别配置(轻型)OS的数据的初始执行映像被预先保存在客户端/嵌入式计算平台的持久性存储中,就好像该初始执行映像是恰好在客户端/嵌入式计算平台上一次被完全断电之前执行的挂起进程的“挂起到持久性存储”的映像一样。在恢复时,在(轻型)OS被重新配置在初始功能级别的情况下,在框106处,执行控制被转移到初始任务,以执行初始任务。
在各种实施例中,假想的“挂起进程”和恢复进程可以是本领域中已知的许多已知的挂起到持久性存储进程和从持久性存储恢复进程中的任一者。初始任务可以是无状态任务。因此,可以在相对短的x秒内完成阶段I引导,或将客户端/嵌入式计算平台引导到初始任务可用的地步。
继续参考图1,在各种实施例中,在正在执行初始任务的同时,在框107处,如果需要的话,可以可选地将OS进一步初始化为可配置成提供下一功能级别(加强型(plus)),也被称为阶段II或级别II功能。可以例如针对以下实施例执行该操作,在该实施例中,下一个任务(也被称为中间任务)的执行需要OS的更多功能;否则,可以跳过在框107处的可配置成提供阶段II或级别II功能的OS的进一步初始化。
接下来,在框108处,在完成初始任务的执行时,或在初始任务的空闲时,可以发起另一个恢复进程以恢复中间执行映像的执行,也被称为阶段II或级别II执行映像。中间执行映像基本上包括:用于以中间功能级别配置(加强型)OS的数据,以及中间任务,也被称为阶段II或级别II任务。包括中间任务和用于以中间功能级别配置(加强型)OS的数据的中间执行映像被类似地预先保存在客户端/嵌入式计算平台的持久性存储中,就好像该中间执行映像是恰好在客户端/嵌入式计算平台上一次被完全断电之前执行的挂起进程的“挂起到持久性存储”的映像一样。在恢复时,在(加强型)OS被重新配置在中间功能级别的情况下,在框110处,执行控制被转移到中间任务,以执行中间任务。在各种实施例中,可以在后台执行中间执行映像的恢复,并且当完成恢复并且中间任务可用于执行/准备好执行时切换到前台。
类似于阶段I或级别I,假想的“挂起进程”和阶段II或级别II采用的恢复进程可以是本领域中已知的许多已知的挂起到持久性存储进程和从持久性存储恢复进程中的任一者。中间任务也可以是无状态任务。因此,可以在相对短的y秒(略微超过x秒)内完成阶段II引导,或将客户端/嵌入式计算平台引导到中间任务可用的地步。
仍参考图1,在各种实施例中,在正在执行中间任务的同时,在框111处,如果需要的话,可以可选地将OS进一步初始化为可配置成提供完全功能级别,也被称为阶段III或级别III功能。可以例如针对以下实施例执行该操作,在该实施例中中间任务的执行不需要OS的完全功能级别;否则,可以跳过在框111处的可配置成提供完全功能级别的OS的进一步初始化。
接下来,在框112处,在完成中间任务的执行时,或在中间任务的空闲时,可以发起另一个恢复进程以恢复完全执行映像的执行,也被称为阶段III或级别III执行映像。完全执行映像基本上包括:用于以完全功能级别配置OS的数据,以及多个操作任务,也被称为阶段III或级别III任务。包括多个操作任务和用于以完全功能级别配置OS的数据的完全执行映像被保存在客户端/嵌入式计算平台的持久性存储中,作为恰好在客户端/嵌入式计算平台上一次被完全断电之前执行的挂起进程的一部分。在恢复时,在OS被重新配置为完全功能级别的情况下,在框114处,执行控制被转移到操作任务中的一者,以开始选择性地执行操作任务。在各种实施例中,可以类似地在后台执行完全执行映像的恢复,并且当完成恢复并且多个操作任务可用于执行/准备好执行时切换到前台。
类似于阶段I和II或级别I和II,阶段III或级别III采用的挂起和恢复进程可以是本领域中已知的许多已知的挂起到持久性存储进程和从持久性存储恢复进程中的任一者。多个操作任务可以是无状态任务或具有状态的任务。在阶段/级别I和II在相对短的x秒和y秒内完成的情况下,只要特定应用需要或适用,就可以在z秒内及时完成阶段III引导,或将客户端/嵌入式计算平台引导到操作任务可用的地步。
在进一步描述本公开的多阶段/级别引导之前,应注意,短语“完全功能级别”不意味着不能例如通过借助附加的插件等等来进一步扩展OS的功能。该短语旨在传达在冷启动或恢复完成时的客户端/嵌入式计算平台的目标功能集。
进一步,虽然已经以3个引导阶段或级别描述了进程100,但是本公开不限于此。可以以更多阶段/级别(例如,更多“中间”阶段/级别)或更少阶段/级别(例如,没有任何中间阶段/级别)来实践进程100
现在参考图2,其中示出了根据各种实施例的针对图1的执行映像的恢复中的每一者的示例恢复进程。对于所示实施例,用于恢复挂起的执行映像的执行的进程200假设,挂起进程压缩执行映像并且出于安全目的对压缩的执行映像进行加密。进程200包括在框202-210处执行的操作。
在框202处,将加密的挂起到持久性存储的执行映像加载回客户端/嵌入式计算平台的存储器的工作区域中。接下来,在框204处,对重新加载的加密执行映像进行解密。在解密时,检查并验证纯文本执行映像以确保该执行映像是真实的且未被破坏。可以本领域中已知的许多认证/验证技术中的任一者来完成认证和验证。在框206处,对经认证/验证的执行映像进行解压缩。
在框208处,将解压缩的执行映像从工作存储复制到适当的存储器槽中。在框208处,对于随后阶段/级别(例如,阶段/级别II或阶段/级别III)中的每一者,在复制正在进行的同时,初始/中间任务被停止、闲置或以其他方式冻结。
最后,在框210处,在该复制完成时,可以将执行切换到最近新恢复/重构的执行映像。
现在参考图3,其中示出了根据各种实施例的多阶段/级别引导进程的示例存储器布局。如图所示,对于示例实施例,当阶段/级别I恢复进程将初始执行映像300a重新加载到存储器中并且将(轻型)OS重新配置成初始功能级别时,将要配置成提供初始功能级别和初始任务的具有OS的初始部分的初始执行映像的各个片段304复制到各个存储器槽/页面中。其他的存储器槽/页面302未受影响。
当阶段/级别II恢复进程将中间执行映像300b重新加载到存储器中并且将(加强型)OS重新配置成中间功能级别时,将要配置成提供附加的中间功能级别和中间任务的具有OS的中间部分的中间执行映像的各个片段306复制到各个存储器槽/页面中。可将一些片段306复制到先前未受影响的存储器槽/页面302的部分中,而将其他片段复制到由初始执行页面300a使用的存储器槽/页面304的部分中并替换由初始执行页面300a使用的存储器槽/页面304的部分的内容。
可以针对每个后续阶段/级别重复该复制过程(包括覆盖),直到完成完全执行映像的恢复/重新加载为止。
现在参考图4,其中示出了根据各种实施例的如由车载系统实践的示例多阶段引导进程的概览。如图所示,用于在多个阶段中引导车载系统的进程400,每个阶段具有增大的功能级别,进程400包括在框402-414处执行的操作。在接收到将车载系统通电或冷启动的请求时,在框402处,车载系统的OS被引导到初始状态,该初始状态可配置成提供初始功能级别(轻型),例如,仅具有足以支持执行后视相机任务的功能。
接下来,在框404处,在将车载系统的OS引导到可配置成提供初始功能级别(轻型)的初始状态时,可以发起恢复进程以恢复初始执行映像的执行,也被称为阶段I或级别I执行映像。初始执行映像基本上包括:用于以初始功能级别配置(轻型)OS的数据,以及后视相机任务(也被称为阶段I或级别I任务)。包括后视相机任务和用于以初始功能级别配置(轻型)OS的数据的初始执行映像被预先保存在车载系统的持久性存储中,就好像该初始执行映像是恰好在客户端/嵌入式计算平台上一次被完全断电之前执行的挂起进程的“挂起到持久性存储”的映像一样。在恢复时,在(轻型)OS以初始功能级别被重新配置的情况下,在框406处,执行控制被转移到后视相机任务,以执行后视相机任务。
在各种实施例中,假想的“挂起进程”和恢复进程可以是本领域中已知的许多已知的挂起到持久性存储进程和从持久性存储恢复进程中的任一者。后视相机任务是无状态任务。因此,对于各种当前可用的计算平台,可以在相对短的2秒内完成阶段I引导,或将车载系统引导到后视相机任务为可用的地步。
继续参考图1,在各种实施例中,在正在执行初始任务的同时,在框407处,将OS进一步初始化为可配置成提供下一功能级别(加强型),也被称为阶段II或级别II功能。
接下来,在框408处,在完成后视相机任务的执行时,或在后视相机任务的空闲时,可以发起另一个恢复进程以恢复中间执行映像的执行,也被称为阶段II或级别II执行映像。中间执行映像基本上包括:用于以中间功能级别配置(加强型)OS的数据,以及中间任务,也被称为阶段II或级别II任务。包括中间任务和用于以中间功能级别配置(加强型)OS的数据的中间执行映像被类似地预先保存在车载系统的持久性存储中,就好像该中间执行映像是恰好在车载系统上一次被完全断电之前执行的挂起进程的“挂起到持久性存储”的映像一样。在恢复时,在(加强型)OS以中间功能级别被重新配置的情况下,在框410处,执行控制被转移到启动窗口(供应商标志)任务,以执行启动窗口(供应商标志)任务。在各种实施例中,可以在后台执行中间执行映像的恢复,并且当完成恢复并且启动窗口(供应商标志)任务可用于执行/准备好执行时切换到前台。
类似于阶段I或级别I,阶段II或级别II采用的恢复进程和假想的“挂起进程”可以是本领域中已知的许多已知的挂起到持久性存储进程和从持久性存储恢复进程中的任一者。启动窗口(供应商标志)任务也是无状态任务。因此,可以在相对短的4秒(略微超过2秒)内完成阶段II引导,或将车载系统引导到启动窗口(供应商标志)任务为可用的地步。
仍参考图4,在各种实施例中,在正在执行启动窗口(供应商标志)任务的同时,在框411处,将OS进一步初始化为可配置成提供完全功能级别(具有完全图形用户界面(GUI)以支持人机交互),也被称为阶段III或级别III功能。
接下来,在框112处,在完成启动窗口(供应商标志)任务的执行时,或在启动窗口(供应商标志)任务的空闲时,可以发起另一个恢复进程以恢复完全执行映像的执行,也被称为阶段III或级别III执行映像。完全执行映像基本上包括:用于以完全功能级别配置OS的数据,以及多个操作任务,也被称为阶段III或级别III任务。包括多个操作任务和用于以完全功能级别配置OS的数据的完全执行映像被保存在车载的持久性存储中,作为恰好在车载系统上一次被完全断电之前执行的挂起进程的一部分。在恢复时,在OS以完全功能级别被重新配置的情况下,在框414处,执行控制被转移到操作任务中的一者,以开始选择性地执行操作任务。在各种实施例中,可以类似地在后台执行完全执行映像的恢复,并且当完成恢复并且多个操作任务可用于执行/准备好执行时切换到前台。
类似于阶段I和II或级别I和II,阶段III或级别III采用的挂起和恢复进程可以是本领域中已知的许多已知的挂起到持久性存储进程和从持久性存储恢复进程中的任一者。在阶段/级别I和II在相对短的2秒和4秒内完成的情况下,在许多当前可用的计算平台中,可以在约10秒内及时完成阶段III引导,或将客户端/嵌入式计算平台引导到操作任务可用的地步。
现在参考图5,其中示出了根据各种实施例的断电和通电进程中的每一者的示例。如图所示,对于所示实施例,断电进程500包括在框510-516处的操作,而通电进程530包括在框530-540处的操作。
用于将计算平台断电的进程500在框510处开始。在框510处,在将计算平台断电之前,对于阶段/级别1到阶段/级别n-1(最后的阶段/级别n之前的阶段/级别)中的每一者,将执行映像预先保存到计算平台的持久性存储中。这些执行映像中的每一者被保存为就好像这些执行映像是挂起进程的挂起到持久性存储的映像一样,该挂起到持久性存储的映像具有在恢复时用于将计算平台的OS配置成对应的功能级别的数据以及将在引导的特定阶段/级别执行的任务。通常,为了促进快速引导,每个阶段/级别的OS被配置成基本仅具有足够的功能以支持针对特定阶段/级别的任务的执行。另外,将在阶段/级别I到阶段/级别n-1执行的任务可以是无状态的,以进一步加速阶段/级别中的每一者的引导时间。
随后,在框512处,可以由计算平台(例如,由计算平台的OS)接收断电请求。在框514处,代替直接进行断电,发起挂起进程以将计算平台挂起到持久性存储。作为挂起进程的一部分,可以执行各种可选操作来准备计算平台,以在稍后接收到通电或冷启动请求时加速从持久性存储的后续恢复。这些各种可选操作可包括但不限于:迫使各种应用释放它们被分配的内存中的一些或全部,以减少必须从存储器复制/保存到持久性存储的内容的量,或对要从存储器复制/保存到持久性存储的内容的量进行压缩,以减少挂起所需的时间量以及恢复所需的时间量。进一步,各种可选操作可包括:对要从存储器复制/保存到持久性存储的内容进行优先级排序,使得在稍后的恢复进程期间将首先复制回较高优先级的内容。又进一步,各种可选操作可包括:对要复制/保存的内容进行签名和/或对要复制/保存的内容进行加密,以保护内容。
在框516处,在完成可选的准备操作(如果有的话)时,就完成了挂起进程。此后,将计算平台断电。
注意,除非需要改变阶段/级别I到阶段/级别n-1的恢复执行映像中的一者,否则在第一次断电之前仅需执行一次在框510处的操作。
仍参考图5,用于将计算平台通电的进程530在框532处开始。在框532处,(例如,由计算平台的引导程序)接收将计算平台通电或冷启动的请求。在框534处,如前所述,OS被冷启动到初始功能级别(轻型)。接下来,在框536处,发起恢复进程以恢复计算平台的阶段/级别I执行映像,将OS配置成阶段/级别I的功能,并执行阶段/级别I任务。在一些实施例中,在正在执行阶段/级别I任务的同时,OS可以被进一步初始化为可配置成另一阶段/级别的功能。
在框538处,针对一个或多个附加的阶段/级别将框536的操作重复一个或多个迭代,针对该一个或多个阶段/级别相继地恢复一个或多个挂起到持久性存储的执行映像,并针对该一个或多个阶段/级别中的每一者执行任务。在每个执行期间,如果需要的话,进一步将OS初始化为可为下一阶段/级别配置。
最后,在框540处,针对最终阶段/级别重复框536的操作,针对最终阶段/级别恢复挂起到持久性存储的执行映像,并使一个或多个操作任务可用于执行。
现在参考图6,其中示出了根据各种实施例的用于并入并使用本公开的多阶段/级别引导技术的环境的概览。如图所示,在实施例中,示例环境650包括车辆652,该车辆652包括发动机、变速器、轮轴、车轮等等。进一步地,车辆652包括IVI系统600,IVI系统600具有多个信息娱乐子系统/应用(例如,仪表板子系统/应用、前座信息娱乐子系统/应用,诸如,导航子系统/应用、媒体子系统/应用、车辆状态子系统/应用等等,以及多个后座娱乐子系统/应用)。进一步地,IVI系统600设置有本公开的多阶段/级别引导技术650,允许IVI系统600在发动机关闭(也被称为钥匙关闭)时被断电,但在发动机开启(也被称为钥匙开启)时当IVI系统600被通电时看起来立即可用。
在实施例中,IVI系统600可自己或响应于用户交互而经由车辆652附近的发射塔656上的无线信号中继器或基站以及一个或多个私有和/或公共有线和/或无线网络658与一个或多个车辆外远程内容服务器660进行通信或交互。私有和/或公共有线和/或无线网络658的示例可包括因特网、蜂窝服务提供商的网络等等。应当理解,当车辆652在去往其目的地的途中时,发射塔656可以是在不同时间/位置处的不同的塔。
现在参考图7,其中进一步详细地示出了根据各种实施例的图6的车载系统的硬件/软件视图。如图所示,对于实施例,车载系统700(其可以是车载系统600)包括硬件701和软件710。硬件701包括处理器702、存储器控制器703、存储器704、只读存储器(ROM)706、通信和/或输入/输出(I/O)设备708和持久性存储709。存储器704包括软件710,而ROM 706包括引导程序711。
软件710包括主管多个VM 722-728的管理程序712。管理程序712被配置成用于主管VM 722-728的执行。VM 722-728包括服务VM 722和多个用户VM 724-728。服务VM 722包括主管多个仪表板应用732的执行的服务OS。用户VM 724-728可包括:用户VM 724,该用户VM 724具有主管前座信息娱乐应用734的执行的用户OS;以及多个附加的用户VM 724-728,该多个附加的用户VM 724-728具有对应的主管后座娱乐应用736-738的执行的用户OS等等。
为了使得操作系统700能够被断电,当车辆652的发动机被钥匙关闭时(但在车辆652的发动机被钥匙开启时,当车载系统700被通电时显现对于用户立即可用),软件710与本公开的多阶段/级别引导技术650结合。为了实现所需的断电但在通电时显现立即可用,在实施例中,多阶段/级别引导技术650的各个部件被布置成在断电期间发起挂起到存储的进程,以在将IVI系统700断电之前将SVM 722挂起到持久性存储,并且在通电时,引导进程经历多阶段/级别引导,相继地将SVM 722的OS恢复到一个或多个阶段/级别并且在该一个或多个阶段/级别处执行一个或多个时间敏感的任务。
在实施例中,为了促进功率管理,管理程序712和VM 722-728的OS中的每一者可包括功率管理器740-746。在实施例中,功率管理器740-746被配置成符合高级配置和电源接口(ACPI)标准地来对管理程序712和VM 722-728的功率状态进行管理。即,功率管理器740-746被配置成符合ACPI标准地来将管理程序712和VM 722-728挂起到S3挂起状态(也被称为睡眠或休眠状态)和从S3挂起状态恢复管理程序712和VM 722-728,以及将计算平台置于S4断电状态。在实施例中,服务VM 722和用户VM 724-728的每个OS可进一步包括存储器管理器772-778,以管理对在相应VM中运行的各个服务和/或应用的内存的分配。
除了结合了IVI系统700的本公开的多阶段/级别引导技术650之外,硬件701的元件702-708和软件710的元件712-738可以是本领域中已知的多种这些元件中的任一者。例如,处理器702可以是本领域中已知的多种多核处理器中的任一者,诸如可从加利福尼亚州圣克拉拉市的获得的那些多核处理器。存储器104可以是本领域中已知的多种易失性存储器中的任一者,包括传统的动态随机存取存储器(DRAM)或先进的交叉点存储器。存储器控制器703可以仅仅提供访问控制,即读取和/或写入存储器704,或包括高级功能,诸如加密/解密服务。ROM 706可以是本领域中已知的多种持久性只读存储器中的任一者,诸如但不限于电可擦除可编程只读存储器(EEPROM)。引导程序711同样可以是本领域中已知的多种引导程序中的任一者,诸如主引导加载程序或二级引导加载程序(SBL)、多引导程序(例如,Grub)或汽车引导加载程序(ABL)。引导程序711可以是基本输入/输出系统(BIOS)的一部分。
通信和I/O设备708可包括本领域中已知的任何数量的通信和I/O设备。通信设备的示例可包括但不限于,用于近场通信(NFC)、WiFi、蜂窝通信(诸如,LTE 4G或5G)等等的联网接口。I/O设备的示例可包括但不限于持久性存储709、显示器、键盘、光标控件(鼠标、轨迹球等)等等。在实施例中,持久性存储709可用于提供用于将存储器内容从存储器704中交换出的交换空间,以允许将存储器704的一部分重新分配用于其他用途,或允许将存储器704关闭。当车载系统700的计算平台被挂起到存储时,持久性存储709也可以用于存储存储器内容。
管理程序712可以是本领域中已知的多种管理程序中的任一者,诸如,KVM、开源管理程序、可从佛罗里达州劳德代尔堡的思杰公司(Citrix Inc)获得的Xen、或者可从加利福尼亚州帕洛阿尔托的VMware公司获得的VMware等等。类似地,服务VM 722的服务OS和用户VM 724-728的用户OS可以是本领域中已知的多种OS中的任一者,诸如,可从例如北卡罗来纳州罗利市的红帽(Red Hat)公司获得的Linux、或可从加利福尼亚州山景城的谷歌公司获得的安卓(Android)。
在各种实施例中,(多个)处理器702、ROM 706、存储器控制器703和一些通信&I/O设备708可以是片上系统(SoC)的一部分。对于这些实施例中的一些,SoC可以进一步包括图形处理器、计算机视觉和/或深度机器学习加速器。
现在参考图8,其中示出了根据各种实施例的适合于由IVI系统600/700进行实践的断电和通电进程中的每一者的示例。如图所示,对于所示实施例,断电进程800包括在框810-816处的操作,而通电进程830包括在框830-840处的操作。
用于将计算平台断电的进程800在框810处开始。在框810处,在将计算平台断电之前,对于阶段/级别1和阶段/级别2,将执行映像预先保存到计算平台的持久性存储中。这些执行映像中的每一者被保存为就好像这些执行映像是具有用于将计算平台的OS配置成对应的功能级别的数据以及将在引导的特定阶段/级别执行的任务的恢复执行映像。更具体地,阶段/级别I的任务是无状态的后视相机任务,并且阶段/级别II的任务是无状态的启动窗口(供应商标志)任务。对于所示实施例,为了促进快速引导,每个阶段/级别的OS被配置成基本上仅具有足够的功能以支持针对特定阶段/级别的任务的执行。
随后,在框812处,可以计算平台(例如,由计算平台的SVM的OS)接收断电请求。在框814处,代替直接进行断电,发起挂起进程以将SVM挂起到持久性存储。作为挂起进程的一部分,可以执行各种可选操作来准备SVM,以在稍后接收到通电或冷启动请求时从持久性存储恢复。如前所述,这些各种可选操作可包括但不限于:迫使SVM的各种仪表板应用释放它们被分配的内存中的一些或全部,以减少必须从存储器复制/保存到持久性存储的内容的量,或对要从存储器复制/保存到持久性存储的内容的量进行压缩,以减少挂起所需的时间量以及恢复所需的时间量。进一步,各种可选操作可包括:对要从存储器复制/保存到持久性存储的内容进行优先级排序,使得在稍后的恢复进程期间将首先复制回高优先级的内容。又进一步,各种可选操作可包括:对要复制/保存的内容进行签名和/或对要复制/保存的内容进行加密,以保护内容。
在框816处,在完成可选准备操作(如果有的话)时,就完成了针对SVM的挂起进程。此后,将计算平台断电。
注意,除非需要改变阶段/级别I到阶段/级别II的恢复执行映像中的一者,否则在第一次断电之前仅需要执行一次在框810处的操作。
仍参考图8,用于将计算平台通电的进程830在框832处开始。在框832处,(例如,由计算平台的引导程序)接收将计算平台通电或冷启动的请求。在框834处,首先将管理程序冷启动到初始功能级别(轻型),然后将SVM的OS冷启动到初始功能级别(轻型)。接下来,在框836处,发起恢复进程以恢复SVM的OS的阶段/级别I执行映像,将SVM的OS配置成阶段/级别I的功能,并执行阶段/级别I后视相机任务。在一些实施例中,在正在执行阶段/级别I后视相机任务的同时,管理程序和/或SVM的OS可被进一步初始化为可配置成另一个阶段/级别的功能。
在框838处,重复框836的操作以恢复被挂起到持久性存储的执行映像的阶段/级别II,并执行阶段/级别II任务,启动窗口。并且在执行期间,将可针对下一阶段/级别配置的管理程序和SVM的OS进一步初始化。
在框840处,针对最终阶段/级别重复框836的操作,针对最终阶段/级别恢复挂起到持久性存储的执行映像,并使一个或多个操作任务可用于执行。
在框842处,一个或多个用户VM被冷启动。
图9示出了适合用于实践本公开的所选各方面的示例计算平台。如图所示,计算平台900包括一个或多个片上系统(SoC)902,每个片上系统902具有一个或多个处理器核、图形单元、计算机视觉和/或深度机器学习加速器。另外,计算平台900可包括ROM 903和系统存储器904,ROM 903可以是本领域中已知的多种ROM中的任一者,并且系统存储器904可以是本领域中已知的多种易失性存储中的任一者。在替代的实施例中,只读存储器(ROM)903和系统存储器904可以是SoC 902的一部分。
另外,计算系统900可包括持久性存储设备906。持久性存储设备906的示例可包括但不限于:闪存驱动器、硬盘驱动器、光盘只读存储器(CD-ROM)等等。此外,计算系统900可包括输入/输出设备908(诸如,显示器、键盘、光标控件等等)和通信接口910(诸如,网络接口卡、调制解调器等等)。可经由系统总线912将这些元件彼此耦合,该系统总线912可表示一个或多个总线。在多个总线的情况下,可由一个或多个总线桥(未示出)来桥接该多个总线。
这些元件中的每个元件可执行其在本领域中已知的常规功能。特别地,ROM 903可包括具有引导加载程序的基本输入/输出系统服务(BIOS)905。可采用系统存储器904和大容量存储器设备906来存储实现与管理程序712、服务/用户VM 722-728的服务/用户OS(包括对应的功率管理器)相关联的操作的编程指令的工作副本和永久副本,被统称为计算逻辑922。可通过由SoC 902的(多个)处理器核支持的汇编器指令或可以被编译成此类指令的诸如例如C之类的高级语言来实现各种元件。
如本领域技术人员将领会的那样,本公开可被体现为方法或计算机程序产品。因此,除了如前所述被体现为硬件之外,本公开还可采取完全软件的实施例(包括固件、驻留软件、微代码等)或者组合全部通常称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本公开可采取计算机程序产品的形式,该计算机程序产品体现在表达的任何有形的或非暂态介质中,该表达具有体现在介质中的计算机可用的程序代码。图10示出了示例计算机可读非暂态存储介质,所述示例性计算机可读非暂态存储介质可以适用于存储响应于装置对指令的执行而使所述装置实践本公开的所选方面的该指令。如图所示,非暂态计算机可读存储介质1002可以包括多个编程指令1004。编程指令1004可被配置成使得设备(例如,计算平台900)能够响应于编程指令的执行而实现引导程序711、管理程序721、服务/用户VM 722-728的服务/用户OS、包括对应的功率管理器(的各方面)。在替代的实施例中,可以替代地将编程指令1004设置在多个计算机可读非暂态存储介质1002上。在又其他实施例中,可将编程指令1004设置在计算机可读暂态存储介质1002上,诸如,信号。
可以利用一种或多种计算机可用或计算机可读介质的任何组合。计算机可用或计算机可读介质可以是,例如,但不限于:电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非穷尽性列表)将包括以下项:具有一条或多条导线的电连接件、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储设备、诸如支持互联网或内联网的那些传输介质之类的传输介质、或磁存储设备。注意,计算机可用或计算机可读介质甚至可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而被电子地捕获,(如有必要)随后被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。在本文档的上下文中,计算机可用或计算机可读介质可以是可包含、储存、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合指令执行系统、装置或设备一起使用的任何介质。计算机可用介质可包括被传播的数据信号,随其体现在基带中或作为载波的一部分的计算机可用程序代码。计算机可用程序代码可以使用任何适当的介质(包括但不限于无线、有线、光缆、RF等)进行传输。
用于执行本公开的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,该一种或多种编程语言包括诸如Java、Smalltalk、C++等的面向对象的编程语言以及诸如“C”编程语言或类似的编程语言的常规的过程编程语言。程序代码可完全在用户的计算机上执行、部分地在用户的计算机上执行、作为独立式软件包执行、部分地在用户的计算机上并且部分地在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一场景中,可通过任何类型的网络(包括局域网(LAN)或广域网(WAN))将远程计算机连接至用户的计算机,或可(例如,使用互联网服务提供商通过互联网)进行至外部计算机的连接。
参照根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图描述了本公开。将会理解,可由计算机程序指令来实现流程图图示和/或框图的每一个框以及流程图图示和/或框图中的框的组合。可将这些计算机程序指令提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器来生产机器,使得经由计算机或其他可编程数据处理装置的处理器执行的这些指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的装置。
也可将这些计算机程序指令存储在计算机可读介质中,该计算机可读介质可指示计算机或其他可编程数据处理装置按照特定方式运作,使得存储在该计算机可读介质中的该指令产生制品,该制品包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的指令装置。
也可将计算机程序指令加载到计算机或其他可编程数据处理装置上以使一系列操作步骤在该计算机或其他可编程装置上执行来产生计算机实现的过程,使得在该计算机或其他可编程装置上执行的该指令提供用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的过程。
图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。在这方面,流程图或框图中的每一个框可表示包括用于实现(多个)指定的逻辑功能的一个或多个可执行指令的代码模块、代码段或代码部分。还应当注意,在一些替代实现方式中,框中所标注的多个功能可不按图中所标注的次序发生。例如,取决于所涉及的功能,相继示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的顺序来执行。还将注意,可由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的多种组合来实现框图和/或流程图图示中的每一个框和框图和/或流程图图示中的多个框的组合。
本文中所使用的术语仅用于描述特定实施例,并且不旨在限制本公开。如本文中所使用,单数形式的“一”(“a”、“an”)和“该”(“the”)旨在也包括复数形式,除非上下文另外清楚地指示。还将理解,当在本说明书中使用术语“包括”(“comprise”)和/或“包括”(“comprising”)时,其指定所陈述的特征、整数、步骤、操作、元件、和/或部件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、部件、和/或它们的组的存在或添加。
可将实施例实现为计算机进程、计算系统或实现为制品,诸如,计算机可读介质的计算机程序产品。计算机程序产品可以是计算机存储介质,该计算机存储介质可由计算机系统读取并对计算机程序指令编码以执行计算机进程。
所附权利要求书中的所有“装置+功能”元件或“步骤+功能”要素的对应的结构、材料、动作及等效物旨在包括用于结合明确要求保护的其他要求保护的要素来执行该功能的任何结构、材料或动作。已出于说明和描述的目的呈现了本公开的描述,但是该描述不旨在是穷尽性的,也不限于按所公开形式的本公开。在不背离本公开的范围和精神的情况下,许多修改和变型对本领域普通技术人员将是显而易见的。选择并描述实施例是为了最好地解释本公开的原理和实际应用,并且使其他本领域普通技术人员能够理解对具有各种修改的实施例的公开适用于所构想的特定使用。
返回参考图9,对于一个实施例,SoC 902的处理器中的至少一个处理器可以与具有计算逻辑922的各方面的存储器封装在一起。对于一个实施例,SoC 902的处理器中的至少一个处理器可以与具有计算逻辑922的各方面的存储器封装在一起,以形成系统级封装(SiP)。对于一个实施例,SoC 902的处理器中的至少一个处理器可以与具有计算逻辑922的各方面的存储器集成在同一管芯上。对于一个实施例,SoC 902的处理器中的至少一个处理器可以与具有计算逻辑922的各方面的存储器封装在一起,以形成SoC。
因此,已描述了本公开的各种示例实施例,它们包括但不限于:
示例1是至少一个计算机可读介质(CRM),该至少一个计算机可读介质具有存储在其中的指令,该指令使计算平台响应于由该计算平台执行该指令而对操作系统进行操作以:在该操作系统已经被引导到初始功能级别之后,接收执行控制;以及在接收到执行控制时,代替引导该操作系统的其余部分,发起恢复进程以从可访问计算平台的持久性存储中恢复初始执行映像,该初始执行映像具有无状态初始任务,并且已经被预先保存在该持久性存储中,就好像该初始执行映像是在该计算平台仅具有该无状态初始任务和处于该初始功能级别的该操作系统的情况下紧接在该计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
示例2是示例1,其中将提供第一功能级别的该操作系统的一部分加载到该计算平台的存储器的一组初始存储器槽中的第一响应存储器槽中;并且其中恢复该初始执行映像包括:将该初始执行映像加载或重新加载到该计算平台的存储器的该一组初始存储器槽中的第二对应的存储器槽中。
示例3是示例1,其中在加载或重新加载具有该无状态初始任务的该初始执行映像时,进一步使该计算平台操作该操作系统以将执行控制转移到该无状态初始任务,以执行该无状态初始任务。
示例4是示例3,其中在正在执行该无状态初始任务的同时,进一步使该计算平台操作该操作系统以将该操作系统初始化为比该初始功能级别功能更强大的中间功能级别。
示例5是示例3,其中进一步使该计算平台操作该操作系统以发起另一个恢复进程,以从该持久性存储恢复中间执行映像,该中间执行映像具有无状态中间任务并且已经被预先保存在该持久性存储中,就好像该中间执行映像是在该计算平台仅具有该无状态中间任务和处于该中间功能级别的该操作系统的情况下,为紧接在该计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
示例6是示例5,其中恢复该中间执行映像包括:将提供超过该初始功能级别的该中间功能级别的该操作系统的一部分和该中间执行映像都加载或重新加载到该计算平台的存储器的一组中间存储器槽中的对应的存储器槽中。
示例7是示例5,其中进一步使该计算平台在将该操作系统加载或重新加载到该中间功能级别、而该中间执行映像具有该无状态中间任务时,操作该操作系统以将执行控制转移到该无状态中间任务,以执行该无状态中间任务。
示例8是示例4,其中进一步使该计算平台在正在执行该无状态初始任务的同时或在已经执行该无状态初始任务之后,操作该操作系统以将该操作系统初始化为该操作系统的完全功能。
示例9是示例4,其中进一步使该计算平台操作该操作系统以发起另一个恢复进程,以从该持久性存储恢复完全执行映像,该完全执行映像具有多个操作任务并且已经被保存在该持久性存储中,作为在该计算平台具有该多个操作任务和处于完全功能级别的该操作系统的情况下、紧接在该计算平台上一次断电之前执行的挂起进程的一部分。
示例10是示例9,其中恢复该完全执行映像包括:将提供至少超过该初始功能级别的该完全功能级别的该操作系统的一部分和该完全执行映像都加载或重新加载到该计算平台的存储器的多个存储器槽中的对应的存储器槽中。
示例11是示例10,其中进一步使该计算平台在将该操作系统加载或重新加载到该完全功能级别、而该完全执行映像具有该多个操作任务时,操作该操作系统以将执行控制转移到该操作任务中的一者,以执行该多个操作任务。
示例12是一种计算的方法,包括:从计算平台的持久性存储恢复该计算平台的初始执行映像,以执行初始任务,该初始执行映像具有该初始任务,并且该初始执行映像已被预先保存在该持久性存储中,就好像该初始执行映像是在计算平台仅具有该初始任务和处于初始功能级别的操作系统的情况下紧接在该计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样;以及随后,从该持久性存储恢复计算平台的完全执行映像,以执行多个操作任务中的一者,该完全执行映像具有该多个操作任务,并且该完全执行映像已经被预先保存在该持久性存储中,作为在该计算平台具有该多个操作任务和处于比该初始功能级别具有更多功能的完全功能级别的该操作系统的情况下、紧接在该计算平台上一次断电之前执行的挂起进程的一部分。
示例13是示例12,进一步包括:在从该计算平台的该持久性存储恢复该初始执行映像之前,将该操作系统初始化为该初始功能级别;以及在将该操作系统加载或重新加载到该初始功能级别、而该初始执行映像具有该初始任务时,将执行控制转移到该初始任务,以执行该初始任务。
示例14是示例12,进一步包括:在执行该初始任务之后,但在恢复该计算平台的该完全执行映像之前,从该计算平台的持久性存储恢复该计算平台的中间执行映像,该中间执行映像具有该中间任务,并且该中间执行映像已经被预先保存在该持久性存储中,就好像该中间执行映像是在该计算平台具有该多个操作任务和处于比该初始功能级别具有更多功能但是比该完全功能级别具有更少功能的中间功能级别的操作系统的情况下、紧接在该计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
示例15是一种用于计算的装置,包括:设置在车辆中的计算平台,该计算平台具有管理程序以主管服务虚拟机(SVM)和一个或多个用户虚拟机(UVM);计算平台不可或缺的引导程序,该引导程序用于接收对该计算平台通电或引导该计算平台的请求,其中该引导程序响应于该请求的接收而将该管理程序引导到初始功能级别,在该管理程序已经被引导到该初始功能级别时,该管理程序启动该SVM并将该SVM的操作系统(OS)初始化为初始功能级别;以及该SVM的OS,其中在该OS已经被初始化为该初始功能级别之后,该OS在接收到执行控制时,代替引导该OS的其余部分,而发起恢复进程以从该计算平台的持久性存储中恢复初始执行映像,该初始执行映像具有初始任务,并且该初始执行映像已经被预先保存在该持久性存储中,就好像该初始执行映像是在该SVM仅具有该初始任务和处于该初始功能级别的该OS的情况下、紧接在该SVM上一次关闭之前执行的挂起进程的挂起到持久性存储的映像一样。
示例16是示例15,其中该初始任务包括后视相机任务,并且处于完全操作状态的该SVM主管多个仪表板任务;并且其中,在加载或重新加载具有该后视相机任务的该初始执行映像时,该SVM的OS将进一步将执行控制转移到该后视相机,以执行该后视相机任务。
示例17是示例15,其中为了将该管理程序引导到该初始功能级别,该引导程序将提供初始功能级别的该管理程序的一部分加载到该计算平台的存储器的一组初始存储器槽中的第一对应的存储器槽中;其中为了将该SVM的OS初始化为该初始功能级别,该管理程序将提供该初始功能级别的该SVM的OS的一部分加载到该计算平台的存储器的该一组初始存储器槽中的第二对应的存储器槽中,并且其中为了恢复该初始执行映像,该SVM的OS将该初始执行映像加载或重新加载到该计算平台的存储器的该一组初始存储器槽中的第三对应的存储器槽中。
示例18是示例17,其中在正在执行该初始任务的同时,该管理程序或SVM的OS将进一步将该管理程序或该SVM的OS初始化为比它们对应的初始功能级别功能更强大的中间功能级别。
示例19是示例17,其中该SVM的OS将进一步发起另一个恢复进程,以从该持久性存储恢复中间执行映像,该中间执行映像具有中间任务并且已经被预先保存在该持久性存储中,就好像该中间执行映像是在该SVM仅具有该中间任务和处于该中间功能级别的该OS的情况下、紧接在该SVM上一次关闭之前执行的挂起进程的挂起到持久性存储的映像一样。
示例20是示例19,其中该中间任务包括启动窗口任务,并且处于完全操作状态的该SVM将主管多个仪表板任务;并且其中,在加载或重新加载具有该启动窗口任务的该中间执行映像时,该OS将进一步将执行控制转移到该启动窗口任务,以执行该启动窗口任务。
示例21是示例19,其中恢复中间执行映像包括:将该中间执行映像加载或重新加载到该计算平台的存储器的一组中间存储器槽中的对应的存储器槽中。
示例22是示例19,其中在正在执行该初始任务的同时,或在已经执行该初始任务之后,该管理程序或该SVM的OS将进一步将该管理程序或该SVM的OS初始化为它们的完全功能。
示例23是示例17,其中该SVM的OS将发起另一个恢复进程,以从该持久性存储恢复完全执行映像,该完全执行映像具有多个操作任务并且已经被预先保存在该持久性存储中,作为在该SVM具有该多个操作任务和处于完全功能级别的该OS的情况下、紧接在该SVM上一次关闭之前执行的挂起进程的一部分。
示例24是示例23,其中恢复该完全执行映像包括:将提供至少超过该初始功能级别的该完全功能级别的该OS的一部分和该完全执行映像都加载或重新加载到该计算平台的存储器的多个存储器槽中的对应的存储器槽中。
示例25是示例23,其中在将该SVM的OS加载或重新加载到该完全功能级别、而该完全执行映像具有该多个操作任务时,该SVM的OS将执行控制转移到该操作任务中的一者,以执行该多个操作任务。
对于本领域技术人员将明显的是,在不背离本公开的精神或范围的情况下,可在所公开设备和相关联方法的所公开实施例中作出各种修改和变化。因此,本公开旨在涵盖以上所公开的实施例的修改和变化,只要这些修改和变化落在任意权利要求和其等效物的范围内。
Claims (25)
1.至少一种计算机可读介质(CRM),所述至少一种计算机可读介质具有存储在其中的指令,所述指令响应于由计算平台执行所述指令而使所述计算平台对操作系统进行操作以:
在所述操作系统已经被引导到初始功能级别之后,接收执行控制;以及
在接收到执行控制时,代替引导所述操作系统的其余部分,而发起恢复进程以从可访问所述计算平台的持久性存储恢复初始执行映像,所述初始执行映像具有无状态初始任务,并且已经被预先保存在所述持久性存储中,就好像所述初始执行映像是在所述计算平台仅具有所述无状态初始任务和处于所述初始功能级别的所述操作系统的情况下、紧接在所述计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
2.如权利要求1所述的CRM,其特征在于,将提供第一功能级别的所述操作系统的一部分加载到所述计算平台的存储器的一组初始存储器槽中的第一响应存储器槽中;并且其中恢复所述初始执行映像包括:将所述初始执行映像加载或重新加载到所述计算平台的存储器的所述一组初始存储器槽中的第二对应的存储器槽中。
3.如权利要求1所述的CRM,其特征在于,进一步使所述计算平台在加载或重新加载具有所述无状态初始任务的所述初始执行映像时,操作所述操作系统以将执行控制转移到所述无状态初始任务,以执行所述无状态初始任务。
4.如权利要求3所述的CRM,其特征在于,进一步使所述计算平台在正在执行所述无状态初始任务的同时,操作所述操作系统以将所述操作系统初始化为比所述初始功能级别功能更强大的中间功能级别。
5.如权利要求3所述的CRM,其特征在于,进一步使所述计算平台操作所述操作系统以发起另一个恢复进程,以从所述持久性存储恢复中间执行映像,所述中间执行映像具有无状态中间任务并且已经被预先保存在所述持久性存储中,就好像所述中间执行映像是在所述计算平台仅具有所述无状态中间任务和处于所述中间功能级别的所述操作系统的情况下、紧接在所述计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
6.如权利要求5所述的CRM,其特征在于,恢复所述中间执行映像包括:将提供超过所述初始功能级别的所述中间功能级别的所述操作系统的一部分和所述中间执行映像都加载或重新加载到所述计算平台的存储器的一组中间存储器槽中的对应的存储器槽中。
7.如权利要求5所述的CRM,其特征在于,进一步使所述计算平台在将所述操作系统加载或重新加载到所述中间功能级别、而所述中间执行映像具有所述无状态中间任务时,操作所述操作系统以将执行控制转移到所述无状态中间任务,以执行所述无状态中间任务。
8.如权利要求4所述的CRM,其特征在于,进一步使所述计算平台在所述无状态初始任务正在被执行时,或在所述无状态初始任务已经被执行之后,操作所述操作系统以将所述操作系统初始化为所述操作系统的完全功能。
9.如权利要求4所述的CRM,其特征在于,进一步使所述计算平台操作所述操作系统以发起另一个恢复进程,以从所述持久性存储恢复完全执行映像,所述完全执行映像具有多个操作任务并且已经被保存在所述持久性存储中,作为在所述计算平台具有所述多个操作任务和处于完全功能级别的所述操作系统的情况下、紧接在所述计算平台上一次断电之前执行的挂起进程的一部分。
10.如权利要求9所述的CRM,其特征在于,恢复所述完全执行映像包括:将提供至少超过所述初始功能级别的所述完全功能级别的所述操作系统的一部分和所述完全执行映像都加载或重新加载到所述计算平台的存储器的多个存储器槽中的对应的存储器槽中。
11.如权利要求10所述的CRM,其特征在于,进一步使所述计算平台在将所述操作系统加载或重新加载到所述完全功能级别、而所述完全执行映像具有所述多个操作任务时,操作所述操作系统以将执行控制转移到所述操作任务中的一者,以执行所述多个操作任务。
12.一种计算方法,包括:
从计算平台的持久性存储恢复所述计算平台的初始执行映像,以执行初始任务,所述初始执行映像具有所述初始任务,并且所述初始执行映像已被预先保存在所述持久性存储中,就好像所述初始执行映像是在所述计算平台仅具有所述初始任务和处于初始功能级别的操作系统的情况下、紧接在所述计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样;以及
随后,从所述持久性存储恢复所述计算平台的完全执行映像,以执行多个操作任务中的一者,所述完全执行映像具有所述多个操作任务,并且所述完全执行映像已经被预先保存在所述持久性存储中,作为在所述计算平台具有所述多个操作任务和处于比所述初始功能级别具有更多功能的完全功能级别的所述操作系统的情况下、紧接在所述计算平台上一次断电之前执行的挂起进程的一部分。
13.如权利要求12所述的方法,进一步包括:
在从所述计算平台的所述持久性存储恢复所述初始执行映像之前,将所述操作系统初始化为所述初始功能级别;以及
在将所述操作系统加载或重新加载到所述初始功能级别、而所述初始执行映像具有所述初始任务时,将执行控制转移到所述初始任务,以执行所述初始任务。
14.如权利要求12所述的方法,进一步包括:在执行所述初始任务之后、但在恢复所述计算平台的所述完全执行映像之前,从所述计算平台的持久性存储恢复所述计算平台的中间执行映像以执行中间任务,所述中间执行映像具有所述中间任务,并且所述中间执行映像已经被预先保存在所述持久性存储中,就好像所述中间执行映像是在所述计算平台具有所述多个操作任务和处于比所述初始功能级别具有更多功能但是比所述完全功能级别具有更少功能的中间功能级别的所述操作系统的情况下、紧接在所述计算平台上一次断电之前执行的挂起进程的挂起到持久性存储的映像一样。
15.一种用于计算的装置,包括:
设置在车辆中的计算平台,所述计算平台具有管理程序以主管服务虚拟机(SVM)和一个或多个用户虚拟机(UVM);
所述计算平台不可或缺的引导程序,所述引导程序用于接收对所述计算平台通电或引导所述计算平台的请求,其中所述引导程序响应于所述请求的接收而将所述管理程序引导到初始功能级别,在所述管理程序已经被引导到所述初始功能级别时,所述管理程序启动所述SVM并将所述SVM的操作系统(OS)初始化为初始功能级别;以及
所述SVM的OS,其中在所述OS已经被初始化为所述初始功能级别之后,所述OS在接收到执行控制时,代替引导所述OS的其余部分,而发起恢复进程以从所述计算平台的持久性存储恢复初始执行映像,所述初始执行映像具有初始任务,并且所述初始执行映像已经被预先保存在所述持久性存储中,就好像所述初始执行映像是在所述SVM仅具有所述初始任务和处于所述初始功能级别的所述OS的情况下、紧接在所述SVM上一次关闭之前执行的挂起进程的挂起到持久性存储的映像一样。
16.如权利要求15所述的装置,其特征在于,所述初始任务包括后视相机任务,并且处于完全操作状态的所述SVM主管多个仪表板任务;并且其中,在加载或重新加载具有所述后视相机任务的所述初始执行映像时,所述SVM的OS将进一步将执行控制转移到所述后视相机,以执行所述后视相机任务。
17.如权利要求15所述的装置,其特征在于,为了将所述管理程序引导到所述初始功能级别,所述引导程序将提供初始功能级别的所述管理程序的一部分加载到所述计算平台的存储器的一组初始存储器槽中的第一相应存储器槽中;其中为了将所述SVM的OS初始化为所述初始功能级别,所述管理程序将提供所述初始功能级别的所述SVM的OS的一部分加载到所述计算平台的存储器的所述一组初始存储器槽中的第二对应的存储器槽中,并且其中为了恢复所述初始执行映像,所述SVM的OS将所述初始执行映像加载或重新加载到所述计算平台的存储器的所述一组初始存储器槽中的第三对应的存储器槽中。
18.如权利要求17所述的装置,其特征在于,在正在执行所述初始任务的同时,所述管理程序或所述SVM的OS将进一步将所述管理程序或所述SVM的OS初始化为比它们对应的初始功能级别功能更强大的中间功能级别。
19.如权利要求17所述的装置,其特征在于,所述SVM的OS将进一步发起另一个恢复进程,以从所述持久性存储恢复中间执行映像,所述中间执行映像具有中间任务并且已经被预先保存在所述持久性存储中,就好像所述中间执行映像是在所述SVM仅具有所述中间任务和处于所述中间功能级别的所述OS的情况下、紧接在所述SVM上一次关闭之前执行的挂起进程的挂起到持久性存储的映像一样。
20.如权利要求19所述的装置,其特征在于,所述中间任务包括启动窗口任务,并且处于完全操作状态的所述SVM将主管多个仪表板任务;并且其中,在加载或重新加载具有所述启动窗口任务的所述中间执行映像时,所述OS将进一步将执行控制转移到所述启动窗口任务,以执行所述启动窗口任务。
21.如权利要求19所述的装置,其特征在于,恢复所述中间执行映像包括:将所述中间执行映像加载或重新加载到所述计算平台的存储器的一组中间存储器槽中的对应的存储器槽中。
22.如权利要求19所述的装置,其特征在于,在正在执行所述初始任务的同时,或在已经执行所述初始任务之后,所述管理程序或所述SVM的OS将进一步将所述管理程序或所述SVM的OS初始化为它们的完全功能。
23.如权利要求17所述的装置,其特征在于,所述SVM的OS将发起另一个恢复进程,以从所述持久性存储恢复完全执行映像,所述完全执行映像具有多个操作任务并且已经被预先保存在所述持久性存储中,作为在所述SVM具有所述多个操作任务和处于完全功能级别的所述OS的情况下、紧接在所述SVM上一次关闭之前执行的挂起进程的一部分。
24.如权利要求23所述的装置,其特征在于,恢复所述完全执行映像包括:将提供至少超过所述初始功能级别的所述完全功能级别的所述OS的一部分和所述完全执行映像都加载或重新加载到所述计算平台的存储器的多个存储器槽中的对应的存储器槽中。
25.如权利要求23所述的装置,其特征在于,在将所述SVM的OS加载或重新加载到所述完全功能级别、而所述完全执行映像具有所述多个操作任务时,所述SVM的OS将执行控制转移到所述操作任务中的一者,以执行所述多个操作任务。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/121724 WO2020124354A1 (en) | 2018-12-18 | 2018-12-18 | Computing method and apparatus with multi-phase/level boot |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113168331A true CN113168331A (zh) | 2021-07-23 |
Family
ID=71100237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880094912.6A Pending CN113168331A (zh) | 2018-12-18 | 2018-12-18 | 具有多阶段/级别引导的计算方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11675600B2 (zh) |
CN (1) | CN113168331A (zh) |
DE (1) | DE112018007748T5 (zh) |
WO (1) | WO2020124354A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021004887A1 (de) * | 2021-09-28 | 2023-03-30 | Mercedes-Benz Group AG | Verfahren zum Betrieb eines informationstechnischen Systems, informationstechnisches System und Fahrzeug |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002072998A (ja) * | 2000-08-25 | 2002-03-12 | Internatl Business Mach Corp <Ibm> | 輝度制御装置、輝度調節システム、コンピュータシステム、液晶ディスプレイ装置、輝度制御方法、コンピュータプログラム及び記憶媒体 |
US7818443B2 (en) * | 2000-12-01 | 2010-10-19 | O2Micro International Ltd. | Low power digital audio decoding/playing system for computing devices |
US7522965B2 (en) * | 2000-12-01 | 2009-04-21 | O2Micro International Limited | Low power digital audio decoding/playing system for computing devices |
US8176485B2 (en) * | 2006-05-15 | 2012-05-08 | Microsoft Corporation | Launching hypervisor under running operating system |
US7882341B2 (en) * | 2007-12-31 | 2011-02-01 | Intel Corporation | System and method to enable parallelization of early platform initialization |
US7987336B2 (en) * | 2008-05-14 | 2011-07-26 | International Business Machines Corporation | Reducing power-on time by simulating operating system memory hot add |
US8219741B2 (en) * | 2008-10-24 | 2012-07-10 | Microsoft Corporation | Hardware and operating system support for persistent memory on a memory bus |
WO2012001787A1 (ja) * | 2010-06-30 | 2012-01-05 | 富士通株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
MY179361A (en) * | 2011-10-03 | 2020-11-05 | Intel Corp | Hiding boot latency from system users |
US9678732B2 (en) * | 2012-09-14 | 2017-06-13 | Intel Corporation | Firmware agent |
US9552211B1 (en) * | 2013-03-14 | 2017-01-24 | Nutanix, Inc. | Method for performing hot-swap of a storage device in a virtualization environment |
US9875115B2 (en) | 2013-12-20 | 2018-01-23 | Microsoft Technology Licensing, Llc | Memory-preserving reboot |
US10162625B2 (en) * | 2015-04-14 | 2018-12-25 | Ford Global Technologies, Llc | Vehicle control storage methods and systems |
CN104778066B (zh) * | 2015-04-21 | 2018-01-23 | 北京凌阳益辉科技有限公司 | 一种嵌入式操作系统的快速启动方法及其装置 |
US20180253556A1 (en) * | 2017-03-02 | 2018-09-06 | Qualcomm Incorporated | Selective restoration and authentication of a secure image |
US11037383B2 (en) * | 2017-10-31 | 2021-06-15 | Mitsubishi Heavy Industries Machinery Systems, Ltd. | Vehicle mounted device, control method, and program |
US20200364040A1 (en) * | 2019-05-17 | 2020-11-19 | Dell Products, Lp | System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module |
-
2018
- 2018-12-18 WO PCT/CN2018/121724 patent/WO2020124354A1/en active Application Filing
- 2018-12-18 CN CN201880094912.6A patent/CN113168331A/zh active Pending
- 2018-12-18 DE DE112018007748.9T patent/DE112018007748T5/de active Pending
- 2018-12-18 US US17/054,713 patent/US11675600B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11675600B2 (en) | 2023-06-13 |
DE112018007748T5 (de) | 2021-04-08 |
US20210064384A1 (en) | 2021-03-04 |
WO2020124354A1 (en) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102356316B1 (ko) | 차량 시스템, 차량 및 이러한 차량 시스템을 동작시키기 위한 방법 | |
US10127073B2 (en) | Operating system context switching | |
US10338935B2 (en) | Customizing program logic for booting a system | |
EP3846024B1 (en) | Virtual machine management method and device for cloud platform | |
US20210225096A1 (en) | Power off and power on method and apparatus for an in-vehicle system | |
CN107783821A (zh) | 车载一体虚拟化方法和装置 | |
US20180203622A1 (en) | Vehicular device | |
CN114461287B (zh) | 操作系统启动方法、装置、电子设备和存储介质 | |
CN110968392B (zh) | 一种升级虚拟化模拟器的方法和装置 | |
KR101673299B1 (ko) | 운영 시스템 복구 방법 및 장치, 그리고 단말기기 | |
GB2516842A (en) | Deployment of software images with distinct configuration logic | |
US10127050B2 (en) | Efficient booting system | |
US9557980B2 (en) | Seamless application integration apparatus and method | |
JP6859463B2 (ja) | 仮想マシンを起動させるための方法、装置、デバイス及び媒体 | |
US9519489B2 (en) | Boot from modified image | |
US11675600B2 (en) | Computing method and apparatus with multi-phase/level boot | |
Chiang et al. | Bootstrapped migration for linux OS | |
KR20080079549A (ko) | 시스템의 부팅 방법 | |
US11425191B1 (en) | Unified and efficient method to generate file system table (FSTAB) to support on-premise and multi-cloud environment | |
CN113239347B (zh) | 一种适用于tee安全应用实例的启动方法及装置 | |
US8990803B2 (en) | Virtual media shelf | |
CN118656131A (zh) | 车载操作系统的融合方法、装置、设备及存储介质 | |
CN107256171B (zh) | 一种基于bios的多系统安装和切换方法及系统 | |
US10956175B2 (en) | Boot process modification | |
CN115390985A (zh) | 虚拟化系统和防止虚拟化系统的存储器崩溃的方法 |
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 |