CN101226478B - 提高平台引导效率的系统和方法 - Google Patents

提高平台引导效率的系统和方法 Download PDF

Info

Publication number
CN101226478B
CN101226478B CN200710192949.6A CN200710192949A CN101226478B CN 101226478 B CN101226478 B CN 101226478B CN 200710192949 A CN200710192949 A CN 200710192949A CN 101226478 B CN101226478 B CN 101226478B
Authority
CN
China
Prior art keywords
guiding
subregion
guiding target
medium
sector
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.)
Expired - Fee Related
Application number
CN200710192949.6A
Other languages
English (en)
Other versions
CN101226478A (zh
Inventor
M·A·罗思曼
V·J·齐默
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101226478A publication Critical patent/CN101226478A/zh
Application granted granted Critical
Publication of CN101226478B publication Critical patent/CN101226478B/zh
Expired - Fee Related 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
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明的实施例涉及通过采用虚拟化或分区技术降低引导时间。在一个实施例中,管理程序/平台分区控制对引导目标介质的平台存取。引导目标数据有选择地存储在快速存储器中。当系统重新引导时,或者复位平台上的操作系统时,可以从快速存储器,而不是原始的、较慢的引导目标介质中检索引导目标信息。描述了其它实施例并要求其权利。

Description

提高平台引导效率的系统和方法
技术领域
本发明的实施例一般涉及计算平台,更具体地说,涉及通过采用虚拟化或分区技术降低引导时间。在一个实施例中,管理程序/平台分区将控制该平台,并允许初始化其余的主分区。 
背景技术
现有的用于提高平台引导效率或降低引导时间的各种不同机制已在现有系统中实现了。 
许多平台销售商和用户关心引导平台要花的时间。在这种意义下,引导包括给平台上电,并进行到获得用户登录提示或能运行用户应用程序的那点。有许多与确保平台可通过固件路径尽可能快地运行相关联的标准。启动操作系统(OS)需要的时间根据OS的复杂度可能有所不同。典型的桌面平台可能花7.5秒来对OS启动进行引导。总体上,现行的标准是由行业推进的。在服务器环境下,提供高度可用系统也是显而易见的。引导时间越短,在维护或毁坏之后,服务器越可用。在需要高度可用/可靠的系统或在每个用户会话之后系统重新引导的网吧中,极度期望较快的引导时间。 
发明内容
根据本发明一个方面,提供一种用于加速引导时间的平台系统,包括:平台,该平台具有与存储器耦合的至少一个处理器;引导高速缓存代理,运行在第一执行分区中的所述至少一个处理器上,所述第一执行分区控制对引导目标介质的存取;以及操作系统,运行在第二执行分区中,其中第二执行分区经由第一执行分区存取所述引导目标介质,其中在引导时间,所述引导高速缓存代理有选择地将引导目标数据存储到具有比所述引 导目标介质更快存取的存储器,并且其中在第二执行分区中的操作系统复位或重新引导时,所述引导高速缓存代理有选择地从更快存储器中检索存储的引导目标数据。 
根据本发明另一方面,提供一种用于加速引导时间的方法,包括:有选择地存储在引导时间由引导高速缓存代理检索的引导目标数据,所述引导目标数据是从引导目标介质中检索的,其中所述引导目标数据存储在比所述引导目标介质更快的存储器中;以及在重新引导操作系统时,从所存储的引导目标数据和所述引导目标介质中的至少一个检索所述引导目标数据,所述检索由所述引导高速缓存代理控制,其中所述引导高速缓存代理驻留在第一平台执行分区中,而所述操作系统驻留在第二平台执行分区中。 
根据本发明又一方面,提供一种用于加速引导时间的装置,包括:存储逻辑,有选择地将引导目标数据存储在第二介质中,该引导目标数据在引导时间由引导高速缓存代理来检索,所述引导目标数据是从引导目标介质中检索的,所述引导目标数据然后存储在所述第二介质中,其中所述第二介质包括比所述引导目标介质更快的存储器;以及检索逻辑,在重新引导操作系统时,从所述第二介质中的所存储的引导目标数据和所述引导目标介质中的至少一个检索所述引导目标数据,所述检索由所述引导高速缓存代理控制。 
附图说明
从本发明的以下详细说明,本发明的特征和优点将更显而易见: 
图1示出了根据本发明实施例用于引导高速缓存的示例性方法的流程图; 
图2示出了根据本发明实施例的引导高速缓存代理的框图,该引导高速缓存代理驻留在具有多个分区的平台上嵌入式分区中;以及 
图3是根据本发明实施例的示例性平台的框图,在该平台中引导高速缓存代理驻留在虚拟机监控程序(VMM)中。 
具体实施方式
本发明的实施例是涉及采用引导高速缓存代理加速引导时间的系统和方法。在至少一个实施例中,本发明想要在重新引导或复位时,在快速存储器中,通常是在易失性系统存储器中,高速缓存选定的引导目标
数据,并且截取存取高速缓存的引导目标数据的请求,而不是从较慢的引导目标存储器中读取数据。 
说明书中提到本发明的“一个实施例”或“实施例”是指结合实施例所描述的特定特性、结构或特征包括在本发明的至少一个实施例中。因此,在整个说明书的不同地方出现的短语“在一个实施例中”不一定是指同一实施例。 
出于解释的目的,阐述了具体配置和细节,以便提供对本发明的全面理解。然而,显然,对于本领域的普通技术人员来说,在没有本文给出的具体细节的情况下也可实施本发明的实施例。此外,为了不模糊本发明,可以省略或简化公知的特征。整个说明书中可以给出各种不同的例子。这些仅仅是对本发明具体实施例的描述。本发明的范围不限于所给出的例子。 
在一个实施例中,虚拟机监控程序(VMM)或管理程序用于实现更有效的引导。VMM可以在引导期间跟踪系统。VMM虚拟化对硬件的存取,并为某些设备提供抽象。在引导期间,VMM使一些设备对操作系统(OS)是可见的,而使其它设备对OS是隐蔽的。在将来的系统中,许多平台可以由VMM或平台资源层(PRL)控制或监控。目前,VMM采用软件实施方式使用。 
在另一个实施例中,平台资源层(PRL)可以实现为芯片组辅助拓扑,其可以在将来硅产品例如从Intel公司出厂时启动。这些芯片组特征可以支持提供各种不同执行环境下硬件辅助、还有软件可编程隔离的能力。该芯片组提供模拟传统软件VMM的多个控制点的测量解决方案,但经由基础平台硬件/芯片组的各种不同组件中的硬件辅助来实现。该芯片组辅助拓扑允许在平台上定义多个分区。如下所述,嵌入式或系统分区可以控制引导过程。 
在一个实施例中,可以为VMM一部分的引导高速缓存代理监控引导期间平台所做的工作。该代理是相对静态的。在传统的环境中,拔掉电源插头,整个系统默许,并且引导从头开始。然而,部分系统保持相 当静态,并且从头开始通常是不必要的。在平台引导期间,系统块可以保持有感知力,即常驻或可操作的。在该引导过程期间,初始化硬件;确定引导目标;从目标介质载入引导代码并执行;等等。总的来说,成百上千兆字节的数据可能需要从引导目标介质中读取。OS可以从盘以及所需的驱动程序中载入。 
在一个实施例中,高速缓存代理监控引导过程,并可以将关于该引导过程各部分的信息存储到系统存储器(RAM)中,包括从引导目标中检索的信息。随着时间的流逝,物理或系统易失性存储器变得越来越便宜。因此,存储几百兆字节的数据不再像以前那样昂贵了。该存储器对于平台上的处理器通常是快速而高度可存取的。在引导过程期间,OS载入程序从引导目标,典型的是从硬盘驱动器,检索特定数量的数据和指令。引导高速缓存代理监控该数据检索,直到预定的点,并可以在一部分系统存储器中复制或镜像信息。该方法利用了如下可能性的事实:当系统再次引导时,将需要这个相同的信息,而几乎没有或没有修改。在传统的固件实施方式中,固件从硬盘驱动器(引导目标介质)载入第一扇区的数据(即,引导记录),然后由操作系统填充在硬盘驱动器上的引导记录充当OS载入程序。在可扩展固件接口(EFI)兼容体系结构实施例中,代替载入第一扇区,启动通常称作OS载入程序的OS应用程序,具有同样的效果。OS载入程序继续从引导目标介质载入引导所需的其余数据。该其余数据在前一引导中通常未修改。 
根据本发明的实施例,当下一次系统引导时,该载入信息将驻留在快速、可存取存储器中。因而,引导高速缓存代理可以提供该数据给OS或固件,并避免必须存取诸如硬盘驱动器之类的较慢介质设备。使用易失性系统存储器的优点是,尽管RAM是易失性的,但其通常不进行初始化、归零或引起不可靠,除非完全去掉电源。因此,当系统重新引导时,还没有完全去掉其电源,可在重新引导期间从系统存储器中检索数据。 
引导高速缓存代理可以具有专用资源,例如独立的处理器、存储器等等。当在引导期间载入数据并执行时,引导高速缓存代理可以存储并 从专用资源中检索引导数据,该专用资源对主OS不可用。在重新引导期间,OS专用存储器如通常一样初始化,但这并不妨碍专用于引导高速缓存代理的存储器。 
参照图1,示出了根据本发明实施例用于引导高速缓存代理的示例性方法。在框101,给系统上电,或进行复位请求。在框103,如果必需,例如当第一次引导时,初始化平台的基础结构。在框105,确定平台是否支持引导路径高速缓存。如果不支持,在框107,平台继续从引导目标介质进行引导。 
如果平台支持引导路径高速缓存,那么在框109启动数据的必要路由。在平台具有VMM、管理程序、或其它特权层的情况下,VMM虚拟化I/O存取,并使引导高速缓存代理能够控制从引导介质中的数据检索。启动引导高速缓存代理以在易失性存储器中镜像扇区数据,并索引所检索的扇区,供以后使用。在平台具有芯片组分区支持的情况下,驻留在嵌入式平台中的引导高速缓存代理自动控制设备存取,并被启动以在分区的存储器中镜像引导数据,供以后使用。 
如果主分区正在引导,如框111所确定的,则在框113确定之前是否已高速缓存了引导路径。如果是,则引导高速缓存代理截取从引导目标中读取引导数据的请求。如果请求的扇区位于引导高速缓存代理索引中,则从易失性存储器而不是引导目标介质中检索扇区。用于截取的方法取决于平台体系结构,即,VMM或芯片组分区(PRL)。 
如果确定不是主分区(或其它客OS)引导,则在框107可以重新开始正常操作,即,正常引导。 
如果之前尚未高速缓存该引导路径,如框113所确定的,则可以考虑目标策略以确定是否应高速缓存引导数据。例如,在一些情况下,平台可被启动以引导MicrosoftWindowsTM和Linux。可能存在有限的存储器可用于高速缓存引导目标数据,并且用户可选择仅高速缓存一个操作系统的数据或另一个操作系统的数据。然后,可根据哪个引导目标已经选择用于复位/引导,高速缓存引导数据。在其它情况下,可保存引导 目标的使用频率,并且将仅高速缓存使用最频繁的引导目标。在其它情况下,将总是高速缓存该引导目标或其一部分。本领域的普通技术人员将理解,可以针对具有不同功能的平台调整各种不同的策略。 
如果目标策略指示目标被启动用于高速缓存,如框115所确定的,则在框119,在易失性或较快存储器中镜像从引导目标中检索的扇区。虽然本发明的实施例描述在易失性存储器中高速缓存数据,但可以想到,可使用任何比引导目标快的存储器进行高速缓存,仍将获得所公开方法的益处。当接收到复位或重新引导告警时,在框111处理再次继续,以确定是否应重新引导主分区,以及是否可以从快速存储器中检索数据,和引导目标介质相反。 
如果目标策略指示不应高速缓存引导数据,则在框107操作继续进行正常引导。 
在运行VMM的实施例中,VMM充当中介来复位请求。VMM截取复位请求,并仅复位由运行OS进行请求的虚拟机所使用的部分存储器和资源。平台的其它组件可以不复位。在用PRL使能的芯片组运行的实施例中,芯片组可以充当中介,并截取复位请求。 
在平台资源层(PRL)体系结构或嵌入式分区体系结构中,平台的各种不同组件被增强,以使能够分区处理器、存储器和其它资源。现参照图2,示出了根据本发明实施例的PRL体系结构的示例性框图。为了更好地描述分区,用实线框描绘主分区210可用的组件。用粗实线描绘嵌入式或系统分区220可用的组件。用点和短线交替的框描绘两分区都可用的组件。 
在该示例性实施例中,平台在插座0-3(231-234)中具有四个多核处理器。虽然该例仅示出四个处理器插座,但对本领域普通技术人员来说,处理器和核的各种不同配置可用来实施本发明的实施例是显然的。例如,插座0(231)具有四个处理核235a-d。本质上,在这个例子中,所描述的实施例在平台上具有16个有效的处理器(例如,四个插座其中每个插座中具有四个核)。在这个例子中,插座0-2(231-233)仅对主分 区210可用。插座3(234)可用于主分区210和嵌入式分区220。在插座3(234)中,核0仅对主分区210可用,而核1-3仅对嵌入式分区220可用。嵌入式分区220具有引导高速缓存代理221,如上面和下面更全面讨论的。 
在这个实施例中,平台具有耦合到存储器202的存储器控制器集线器(MCH)201(亦称作北桥)。存储器202可具有两个分区MEM1(203)和MEM2(205)。存储器分区MEM1(203)仅可用于嵌入式分区,而存储器分区MEM2(205)仅可用于主分区。包括MCH的芯片组配置成采用硬件构造分区存储器,和使用软件构造的VMM解决方案成对比。将理解,存储器202可以是硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任何其它类型的处理器可读介质。存储器202可存储用于执行运行本发明实施例的指令。虽然在这个例子中仅示出两个分区,但将理解,可有不止一个客OS,每个都在其自己的分区中运行。 
MCH 201可以经由外设组件互连(PCI)总线与亦称作南桥的I/O控制器集线器(ICH)207通信。ICH 207可以经由低引线数(LPC)总线(未示出)耦合到一个或多个诸如PCI硬盘驱动器之类的组件、诸如IDE、USB、LAN和音频之类的传统组件,以及超级I/O(SIO)控制器。在这个例子中,示出了ICH 207耦合到硬盘驱动器209和网络接口控制器(NIC)211。 
MCH 201配置成控制对存储器的存取,而ICH 207配置成控制I/O存取。在嵌入式分区体系结构中,在引导时,芯片组由固件配置成分区平台上的各种资源。在一些情况下,可仅有一个分区,且平台在大多数方面充当传统平台。在示出的例子中,有两个分区,主分区210和嵌入式分区220。指定的每个分区被给予唯一的分区标识符(ID)。 
在嵌入式分区配置的情况下,当设备发送告警时,芯片组可适当地将该告警路由到适当的分区,因为该信息在引导时编码了。在VMM使能的系统中,硬件将设备告警传递到VMM(虚拟化设备),且软件适当地将信息路由到各种不同虚拟机。嵌入式分区可以充当硬件辅助虚拟化。 
在一个实施例中,引导高速缓存代理包含在VMM中,该VMM控制运行在平台上的所有客虚拟机(VM)和客操作系统(OS)。在另一个实施例中,引导高速缓存代理包含在特权分区、过程或管理程序中,其控制各个OS的I/O请求。在所有情况下,引导高速缓存代理在初始引导期间有选择地镜像从引导或其它目标介质中检索的数据,并在随后引导时返回该数据,以避免从较慢的介质中读取。在VMM体系结构的情况下,设备存取被虚拟化,且引导高速缓存代理充当软件中介,以从该设备检索数据。 
现参照图3,示出了一种示例性虚拟化平台,其中引导高速缓存代理321驻留在VMM中。在该示例性实施例中,虚拟机(VM)310具有客OS 311。各种不同的用户应用程序313可以运行在客OS 311下。该OS具有可在VMM 320中虚拟化的设备驱动程序315。存取平台硬件330,包括引导目标(未示出),将需要使用VMM。在引导的情况下,VMM 320中的引导高速缓存代理321可以截取对引导目标的设备存取,并控制是从较慢的引导目标还是从较快的易失性存储器中读取扇区。 
类似地,示出了平台分区或更有特权的分区340,具有其自己的OS341、用户应用程序343、设备驱动程序345。该平台分区亦可具有经由VMM 320虚拟化的设备。在一些情况下,引导高速缓存代理亦将高速缓存用于该分区的引导目标数据。 
在一个实施例中,引导高速缓存代理根据扇区、或逻辑块地址,高速缓存在引导期间请求的信息。在引导过程中,从引导介质中读取特定扇区,并且这些扇区由高速缓存引导代理镜像到分区的或专用的易失性存储器。在一个实施例中,引导高速缓存代理将所存储扇区的索引连同实际的扇区数据存储到缓冲区中。在随后的重新引导期间,引导高速缓存代理截取从引导介质进行读取的请求。如果请求的扇区之前已镜像到易失性存储器,则与从非易失性存储器(引导介质)中读取数据相比较,引导高速缓存代理以相当节省时间的方式返回该数据。 
这里描述的技术不限于任何特定硬件或软件配置;它们可以在任何 计算、消费电子或处理环境中找到适用性。该技术可以在硬件、软件或两者组合中实现。 
为了模拟,程序代码可以使用硬件描述语言或另一种功能性描述语言来表示硬件,其实质上提供了一种期望设计的硬件如何执行的模型。程序代码可以是汇编语言或机器语言,或者是可编译和/或解释的数据。此外,在本领域中通常以一种形式或另一种采取行动或引起结果的形式谈及软件。这种表述仅仅是一种叙述由处理系统执行的程序代码的简写方式,该程序代码使处理器执行一个动作或产生一个结果。 
每个程序可以高级面向过程或面向对象编程语言来实现以与处理系统通信。然而,如果需要的话,可以用汇编语言或机器语言实现程序。在任何情况下,该语言都可被编译或解释。 
可使用程序指令使编程有指令的通用或专用处理系统执行这里所描述的操作。备选地,可由包含用于执行操作的硬布线逻辑的特定硬件组件,或由编程计算机组件和定制硬件组件的任何组合来执行操作。这里所描述的方法可提供作为计算机程序产品,其可包括其上存储有指令的机器可存取介质,该指令可用来对处理系统或其它电子设备进行编程,从而执行该方法。 
例如,程序代码或指令可以存储在易失性和/或非易失性存储器中,例如存储设备和/或相关联的机器可读或机器可存取介质,包括固态存储器、硬盘驱动器、软盘、光存储器、磁带、闪存、存储棒、数字视频盘、数字多功能盘(DVD)等等,以及更多的外来介质,诸如机器可存取生物状态保持存储器。机器可读介质可包括用于以机器可读形式存储、传递、或接收信息的任何机制,并且该介质可包括有形介质,通过该介质,编码程序代码的电、光、声或其它形式的传播信号或载波可以通过诸如天线、光纤、通信接口等传递。可以分组、串行数据、并行数据、传播信号等形式传输程序代码,并可以压缩或加密格式使用程序代码。 
可以在诸如移动或固定计算机、个人数字助理、机顶盒、蜂窝式电话和寻呼机、消费电子设备(包括DVD播放机、个人视频录像机、个人 视频播放机、卫星接收机、立体声接收机、有线TV接收机)以及其它电子设备之类的可编程机器上执行的程序中实现程序代码,每个设备都包括处理器、处理器可读的易失性和/或非易失性存储器、至少一个输入设备和/或一个或多个输出设备。可以将程序代码应用到使用输入设备输入的数据上,以执行所描述的实施例并产生输出信息。可以将输出信息应用到一个或多个输出设备上。本领域的普通技术人员可理解,可以用各种不同计算机系统配置实施所公开主题的实施例,这些计算机系统配置包括多处理器或多核处理器系统、小型计算机、大型计算机,以及实质上可嵌入在任何设备中的普遍或微型计算机或处理器。也可以在分布式计算环境中实施所公开主题的实施例,其中的任务或部分任务可以由远程处理设备执行,该远程处理设备通过通信网络链接。 
虽然操作可描述为顺序过程,但实际上一些操作可以并行、并发和/或在分布式环境中执行,并且其中本地和/或远程存储的程序代码通过单或多处理器机器进行存取。另外,在一些实施例中,在不脱离所公开的主题的精神下,可以重新安排操作顺序。程序代码可以由嵌入式控制器或结合嵌入式控制器来使用。 
虽然参照说明性实施例对本发明进行了描述,但不以限制意义解释本说明书。说明性实施例的各种不同修改,以及本发明的其它实施例,对于本发明所属技术领域的技术人员是显而易见的,并视为落在本发明的精神和范围之内。 

Claims (22)

1.一种用于加速引导时间的产品,包括:
引导高速缓存代理,运行在第一执行分区中的至少一个处理器上,所述第一执行分区控制对引导目标介质的存取;以及
操作系统,运行在第二执行分区中,其中第二执行分区经由第一执行分区存取所述引导目标介质,
其中在引导时间,所述引导高速缓存代理有选择地将引导目标数据存储到具有比所述引导目标介质更快存取的存储器,并且其中在第二执行分区中的操作系统复位或重新引导时,所述引导高速缓存代理有选择地从更快存储器中检索存储的引导目标数据。
2.根据权利要求1所述的产品,其中所述更快存储器是易失性系统存储器,并且其中第一执行分区外的操作系统不存取所述更快存储器中存储的引导目标数据。
3.根据权利要求1所述的产品,还包括用于芯片组分区的单元,其中所述引导高速缓存代理驻留在嵌入式执行分区中。
4.根据权利要求3所述的产品,其中所述芯片组使资源能够专用于所选的执行分区,其中分区在引导时定义。
5.根据权利要求3所述的产品,其中所述嵌入式执行分区是自动截取对所述引导目标介质的设备存取的特权分区。
6.根据权利要求1所述的产品,其中所述更快存储器是非易失性存储器,并且其中第一执行分区外的操作系统不存取所述更快存储器中存储的引导目标数据。
7.根据权利要求1所述的产品,还包括用于虚拟化的单元,其中所述引导高速缓存代理驻留在虚拟机监控程序中,并且其中所述虚拟机监控程序虚拟化对所述引导目标介质的设备存取。
8.根据权利要求1-7中任一项所述的产品,其中所述引导高速缓存代理存储从所述引导目标介质检索的扇区的索引,以标识存储的数据扇区,并且其中所述引导高速缓存代理确定请求的扇区是否已经存储,如果没有存储,则从所述引导目标介质中检索请求的扇区,否则,所述引导高速缓存代理从存储的存储器中检索请求的扇区。
9.根据权利要求8所述的产品,其中所述引导高速缓存代理根据目标策略有选择地存储来自所述引导目标介质的扇区。
10.一种用于加速引导时间的方法,包括:
有选择地存储在引导时间由引导高速缓存代理检索的引导目标数据,所述引导目标数据是从引导目标介质中检索的,其中所述引导目标数据存储在比所述引导目标介质更快的存储器中;以及
在重新引导操作系统时,从所存储的引导目标数据和所述引导目标介质中的至少一个检索所述引导目标数据,所述检索由所述引导高速缓存代理控制,其中所述引导高速缓存代理驻留在第一平台执行分区中,而所述操作系统驻留在第二平台执行分区中。
11.根据权利要求10所述的方法,其中第一平台执行分区是虚拟机监控程序,而第二执行分区是虚拟机。
12.根据权利要求10所述的方法,其中第一平台执行分区是用芯片组分区启动的平台的嵌入式执行分区。
13.根据权利要求10-12中任一项所述的方法,其中所述更快存储器是易失性系统存储器,其中第二执行分区不存取所存储的引导目标数据。
14.根据权利要求13所述的方法,还包括:
由所述引导高速缓存代理存储从所述引导目标介质中检索的扇区的索引,以标识所存储的数据扇区;以及
确定请求的扇区是否已经存储,如果没有存储,则从所述引导目标介质中检索所述请求的扇区,否则,从所存储的存储器中检索所述请求的扇区。
15.根据权利要求10-12中任一项所述的方法,其中有选择地存储引导目标数据还包括:
根据目标策略有选择地存储来自所述引导目标介质的扇区。
16.一种用于加速引导时间的装置,包括:
存储逻辑,有选择地将引导目标数据存储在第二介质中,该引导目标数据在引导时间由引导高速缓存代理来检索,所述引导目标数据是从引导目标介质中检索的,所述引导目标数据然后存储在所述第二介质中,其中所述第二介质包括比所述引导目标介质更快的存储器;以及
检索逻辑,在重新引导操作系统时,从所述第二介质中的所存储的引导目标数据和所述引导目标介质中的至少一个检索所述引导目标数据,所述检索由所述引导高速缓存代理控制。
17.根据权利要求16所述的装置,其中所述引导高速缓存代理驻留在第一平台执行分区中,而所述操作系统驻留在第二平台执行分区中。
18.根据权利要求17所述的装置,其中第一平台执行分区是虚拟机监控程序,而第二执行分区是虚拟机。
19.根据权利要求17所述的装置,其中第一平台执行分区是用芯片组分区启动的平台的嵌入式执行分区。
20.根据权利要求16-19中任一项所述的装置,其中所述更快存储器是易失性系统存储器,且其中第二执行分区不存取所存储的引导目标数据。
21.根据权利要求20所述的装置,其中所述存储逻辑还包括:
逻辑,由所述引导高速缓存代理存储从所述引导目标介质中检索的扇区的索引,以标识所存储的数据扇区;以及
其中检索逻辑还包括:逻辑,确定请求的扇区是否已经存储,如果没有存储,则从所述引导目标介质中检索请求的扇区,否则,从所存储的存储器中检索所述请求的扇区。
22.根据权利要求16-19中任一项所述的装置,其中有选择地存储引导目标数据还包括:逻辑,根据目标策略有选择地存储来自所述引导目标介质的扇区。
CN200710192949.6A 2006-09-29 2007-09-29 提高平台引导效率的系统和方法 Expired - Fee Related CN101226478B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/541,242 US8082431B2 (en) 2006-09-29 2006-09-29 System and method for increasing platform boot efficiency
US11/541242 2006-09-29

Publications (2)

Publication Number Publication Date
CN101226478A CN101226478A (zh) 2008-07-23
CN101226478B true CN101226478B (zh) 2014-10-22

Family

ID=38935894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710192949.6A Expired - Fee Related CN101226478B (zh) 2006-09-29 2007-09-29 提高平台引导效率的系统和方法

Country Status (5)

Country Link
US (1) US8082431B2 (zh)
EP (1) EP1906306A3 (zh)
JP (1) JP5001773B2 (zh)
KR (1) KR20080029947A (zh)
CN (1) CN101226478B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010100757A1 (ja) * 2009-03-06 2010-09-10 富士通株式会社 演算処理システム、再同期方法、およびファームプログラム
WO2010116473A1 (ja) * 2009-03-30 2010-10-14 富士通株式会社 管理サーバ、ブートサーバ、ネットワークブートシステム、ネットワークブート方法、ブートイメージ選択プログラムおよびブートイメージ提供プログラム
US8230208B2 (en) * 2009-04-20 2012-07-24 Intel Corporation Booting an operating system of a system using a read ahead technique
JP5460167B2 (ja) * 2009-07-31 2014-04-02 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及び制御プログラム
US20110225408A1 (en) * 2010-03-10 2011-09-15 Ren Guo Cache boot mechanism
JP5692590B2 (ja) * 2011-04-20 2015-04-01 日本電気株式会社 リブート、ブート、シャットダウン高速化装置並びにリブート、ブート、シャットダウン高速化方法
KR20130068630A (ko) * 2011-12-15 2013-06-26 한국전자통신연구원 임베디드 디바이스의 초기화 방법 및 장치
JP6132009B2 (ja) * 2012-03-31 2017-05-24 インテル・コーポレーション システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム
CN102707966B (zh) 2012-04-12 2014-09-03 腾讯科技(深圳)有限公司 加速操作系统启动的方法及装置、预取信息生成方法及装置和终端
KR101997079B1 (ko) * 2012-07-26 2019-07-08 삼성전자주식회사 가변 저항 메모리를 포함하는 저장 장치 및 그것의 동작 방법
CA2887601C (en) 2012-10-15 2020-08-25 Verifi Llc Sneak water detection for concrete delivery vehicles
US9110677B2 (en) * 2013-03-14 2015-08-18 Sandisk Technologies Inc. System and method for predicting and improving boot-up sequence
CN103929678A (zh) * 2014-05-07 2014-07-16 上海联彤网络通讯技术有限公司 基于安全电视子系统实现智能机顶盒服务的系统及方法
US9684532B2 (en) * 2014-08-22 2017-06-20 Netapp, Inc. Virtual machine reboot information persistence into host memory
KR102379202B1 (ko) 2015-09-30 2022-03-28 삼성전자주식회사 전자 장치 및 그 부팅 방법
US9898307B2 (en) * 2015-12-21 2018-02-20 Intel Corporation Starting application processors of a virtual machine
US9952890B2 (en) * 2016-02-29 2018-04-24 Red Hat Israel, Ltd. Kernel state data collection in a protected kernel environment
KR102327065B1 (ko) * 2016-03-10 2021-11-16 에스케이텔레콤 주식회사 부트워킹셋을 이용한 가상머신 프로비저닝 가속장치와 가상머신 관리장치 및 방법
US9965315B1 (en) 2016-06-17 2018-05-08 Rockwell Collins, Inc. Multi-core guest operating system loading approach
US10474473B2 (en) * 2017-04-11 2019-11-12 Intel Corporation Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
KR102570033B1 (ko) * 2018-05-18 2023-08-23 이슬기 가상화 시스템
US11249791B2 (en) * 2019-04-30 2022-02-15 Acronis International Gmbh System and method of selectively restoring a computer system to an operational state
US11972265B2 (en) 2022-04-22 2024-04-30 Red Hat, Inc. Parallel booting operating system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2970589B2 (ja) 1997-04-18 1999-11-02 日本電気株式会社 大規模メモリを用いた高速システム起動方式
JP2001101034A (ja) * 1999-09-29 2001-04-13 Hitachi Ltd 異種os間制御による障害復旧方法
US7487330B2 (en) * 2001-05-02 2009-02-03 International Business Machines Corporations Method and apparatus for transferring control in a computer system with dynamic compilation capability
US6965989B1 (en) * 2001-08-14 2005-11-15 Network Appliance, Inc. System and method for fast reboot of a file server
US20030142561A1 (en) * 2001-12-14 2003-07-31 I/O Integrity, Inc. Apparatus and caching method for optimizing server startup performance
US7272664B2 (en) * 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information
EP1467282B1 (en) * 2003-04-09 2008-10-01 Jaluna SA Operating systems
KR20060023956A (ko) * 2003-04-09 2006-03-15 쟈루나 에스에이 운영체제
US7127600B2 (en) * 2003-09-30 2006-10-24 Intel Corporation Aggressive content pre-fetching during pre-boot runtime to support speedy OS booting
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
US7496961B2 (en) * 2003-10-15 2009-02-24 Intel Corporation Methods and apparatus to provide network traffic support and physical security support
US7162560B2 (en) * 2003-12-31 2007-01-09 Intel Corporation Partitionable multiprocessor system having programmable interrupt controllers
US7296143B2 (en) * 2004-06-22 2007-11-13 Lenovo (Singapore) Pte. Ltd. Method and system for loading processor boot code from serial flash memory
JP2006126987A (ja) * 2004-10-27 2006-05-18 Ricoh Co Ltd 画像処理装置
US20060136664A1 (en) * 2004-12-16 2006-06-22 Trika Sanjeev N Method, apparatus and system for disk caching in a dual boot environment
US7398382B2 (en) * 2004-12-29 2008-07-08 Intel Corporation Method and apparatus to enhance platform boot efficiency

Also Published As

Publication number Publication date
US8082431B2 (en) 2011-12-20
EP1906306A3 (en) 2009-06-10
KR20080029947A (ko) 2008-04-03
JP2008135009A (ja) 2008-06-12
EP1906306A2 (en) 2008-04-02
US20080082808A1 (en) 2008-04-03
JP5001773B2 (ja) 2012-08-15
CN101226478A (zh) 2008-07-23

Similar Documents

Publication Publication Date Title
CN101226478B (zh) 提高平台引导效率的系统和方法
US10409654B2 (en) Facilitating event-driven processing using unikernels
CN101276284B (zh) 用于提高平台网络引导效率的系统和方法
CN107092441B (zh) 虚拟盘存储技术
CN105308612B (zh) 用于安全代码启动的动态加载测量环境
US8874888B1 (en) Managed boot in a cloud system
KR101371270B1 (ko) 가상화된 서버 플랫폼 상에서 부팅가능한 가상 스토리지 설비를 설치하는 시스템들 및 방법들
US9152573B2 (en) Sharing memory pages having regular expressions within a virtual machine
CN103988181B (zh) 用于给虚拟映像打补丁的方法和系统
US7721080B2 (en) Management of option ROM
US20100235825A1 (en) Mechanism for Staged Upgrades of a Virtual Machine System
US20110246988A1 (en) Hypervisor for starting a virtual machine
US20080209198A1 (en) Boot Acceleration For Computer Systems
JP2016167143A (ja) 情報処理システムおよび情報処理システムの制御方法
US20230336624A1 (en) Persistent storage overlay
US10691545B2 (en) Modifying a container instance network
CN114691300A (zh) 一种虚拟机实例的热迁移方法
US10565000B2 (en) Method and apparatus for online upgrade of kernel-based virtual machine module
CN111782335A (zh) 通过进程内操作系统的扩展应用机制
US10592425B2 (en) Virtualizing NVDIMM WPQ flushing with minimal overhead
JP7522775B2 (ja) 不揮発性記憶区画識別子
US20230185580A1 (en) Single node deployment of container platform
CN115167970A (zh) 执行容器镜像的惰性拉取的混合方法
US9229763B2 (en) Virtual media shelf
US20230015103A1 (en) Live updating a virtual machine virtualizing physical resources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141022

Termination date: 20180929

CF01 Termination of patent right due to non-payment of annual fee