用于提高平台网络引导效率的系统和方法

文档序号:6461840阅读:139来源:国知局
专利名称:用于提高平台网络引导效率的系统和方法
技术领域
本发明的实施例总体上涉及计算平台,更具体地,涉及通过利用虚拟 化或分区技术来减少引导(boot)时间。在一个实施例中,管理程序 (hypervisor)/平台分区将控制该平台并顾及其余主分区的初始化。
背景技术
现有系统中实现了各种用于增加平台引导效率或者减少引导时间的机制。许多平台厂商和用户关心引导平台所需要的时间。在这个意义上,引 导操作包括为平台加电,并继续到给出用户登录提示或者能够运行用户 应用的那个点。有许多关于确保平台能尽快运行完其固件路径的标准。启动操作系统(OS)所需要的时间可能基于OS的复杂性而有不同。典型的桌 面平台可能花7.5秒钟进行引导至启动OS。实际的标准由整个工业界驱动。 这一点在提供高可用性系统的服务器环境中也是明显的。引导时间越短, 服务器在维护或者崩溃后就越快可用。更快的引导时间在具有高可用性/ 可靠性需求的系统中或在每次用户会话后系统都要重引导(reboot)的网吧 (Internet Caf6)中是极为可取的。此外,远程网络引导可能极其耗时。与从 服务器磁盘中读取所有的正常平台远程引导内容相关的典型开销通常在 20-300秒之间。大量与载入操作系统(OS)相关的开销都涉及远程网络附加 装置的低数据吞吐率、以及从数据所在的高延迟低速出口(spigot)(例如,远 程服务器)进行的读取。


从下面对本发明的详细描述中,本发明的特征及优势将会变得显而易见,其中图1是比较说明现有系统的网络引导时间表与根据本发明的实施例的网络引导的时间表的方框图;图2是根据本发明的实施例的一个示例性平台资源层(PRL)体系结构 平台的方框图;图3是根据本发明的实施例的一个示例性虚拟化平台的方框图,其中 的弓I导缓存代理(boot caching agent)位于VMM内;图4是根据本发明的实施例的一种用于引导缓存代理的示例性方法的 流程图;以及图5是根据本发明的实施例当引导目标介质不在远程时的一种用于引 导缓存代理的示例性方法的流程图。
具体实施方式
本发明的实施例是一种涉及加快平台的网络引导时间的系统和方法。 对于普通平台引导,其引导时间开销要求大约350MB的数据传输。采用 当前的普通网络吞吐量,该传输增加28-280秒的引导时间。此处所描述的 本发明的实施例提供了将4-22秒的时间开销改进到大约1/5至1/3秒量级 的能力。在说明书中提及的本发明的"一个实施例"或者"实施例",表示所描 述的特定的与该实施例有关的特征、结构或者特性包含在本发明的至少一 个实施例中。因此,在整个说明书中多个位置出现的短语"在一个实施例 中"并不一定都指同一个实施例。出于解释的目的,阐述了许多具体结构和细节,以提供对本发明的透 彻理解。不过,对于本领域技术人员来说显而易见的是,本发明的实施例 无需这里提供的具体细节就可以实现。进一步,公知的特征可能会被忽略 或者简化,以避免其使本发明难以理解。在整个说明书中可能给出各种例 子。这些例子只是对本发明具体实施例的描述。本发明的范围并不局限于 给出的例子。图1是说明与根据本发明的实施例的网络引导时间表相比,现有系统 中网络引导的时间表的方框图。在现有系统中,如图中上半部分所示,首 次引导100可能需要《+3的时间。在现有系统中,平台的首次引导必须首 先执行系统初始化任务101。接着与PXE (Pre-boot Execution Environment,预引导执行环境)服务器103进行握手。预引导执行环境(PXE,或称为预执行环境)是利用独立于可用的数据存储设备(如硬盘)或已安装的操作系统的网络接口卡来对计算机进行自展(bootstrap)的环境。PXE由英特尔公司 作为Wired for Management框架的一部分提出,并在由英特尔公司和 SystemSoft于1999年9月20日发布的规范(v2.1)中进行说明。在公共互联 网上URL为www*pix*net/software/pxeboot/archive/pxespec.pdf中可以找至U 该规范。需要注意的是本文档中URL中的句点已被替换为星号,以避免出 现无意的超链接。PXE利用了若干网络协议(如IP、 UDP(用户数据报协议)、 DHCP(动态主机配置协议)、TFTP(简单文件传输协议))以及例如 GUID/UUID (全局唯一标识符/通用唯一标识符)和通用网络设备接口这样 的概念,并用一组预定义的API (应用编程接口)扩展了 PXE客户机(要通过 PXE进行自展的计算机)的固件。 一旦握手操作完成,可以从PXE服务器 下载引导映像(image)。可以理解,使用其他协议的其他类型服务器也可以 用于该引导目标介质。 一旦引导映像被下载到了该平台,就从目标107引 导该映像。要首次引导一个平台就必须完成这些任务,完成需要"+3的时 间。在现有系统中,任何后续的引导llO必须执行相同的功能lll、 113、 115禾fU17,完成也需要"+3的时间。在本发明的实施例中,首次引导120实际上将执行与现有系统中一样 的功能121、 123、 125和127。 一个例外是当引导映像从PXE服务器125 被下载时,引导映像可以在126被缓存。该缓存映像可以在后续引导中被 利用以加快从网络引导的时间。首次引导仍将需要大约"+3的时间完成。在一实施例中,在后续引导130期间,改变了执行的任务以增强引导 时间。固件在131被初始化。在133,与PXE服务器进行握手,以便获取 目标引导映像的校验和或其他类似技术。如果校验和或者其他验证技术得 到确认,那么在135,就可以从缓存中获取引导映像并进行引导。在此情 形中,如果被缓存的版本仍然有效,则不必再从网络上下载该引导映像。 使用缓存中的引导映像显著地加快了引导时间,使完成时间变成"+1 。如图1中的说明所示,工作站150在首次引导时必须从PXE服务器 170下载引导映像160。在后续引导中,该大的引导映像被本地存储在缓存 180中,并且网络流量190显著地减少。在平台资源层(PRL)体系结构或者内嵌分区(embedded partition)体系结 构中,平台的各种组件被增强以使得能够对处理器、存储器和其他资源进 行分区操作。现在参考图2,所示的是根据本发明的实施例的PRL体系结 构的示例性方框图。为更好的说明分区操作,主分区210可用的组件用实 线方框画出,内嵌或者系统分区220可用的组件用粗实线方框画出,两个 分区都可用的组件用点和虚线交替的方框画出。在该示例性实施例中,平台在插槽0-3 (231-234沖有四个多核处理器。 虽然这个例子只示出四个处理器插槽,但对于本领域技术人员来说,很明 显可以采用各种处理器及内核配置来实现本发明的实施例。例如,插槽0 (231)可以具有四个处理内核235a-d。实质上,在这个例子中,所说明的实 施例在该平台上具有16个有效的处理器(例如,4个插槽,每个插槽4个 内核)。在这里例子中,插槽0-2 (231-233)仅对主分区210可用。插槽3 (234) 对主分区210和内嵌分区220均可用。在插槽3 (234)内,内核O仅对主分 区210可用,而内核l-3仅对内嵌分区220可用。内嵌分区220具有引导 缓存代理221,将会在下面更全面讨论。在该实施例中,该平台具有与存储器202耦合的存储器控制器中枢 (MCH) 201 (也称作y/T熟。存储器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可以通过少针脚型(low pin count, LPC)总 线(未示出)与一个或多个组件耦合,例如PCI硬盘驱动器,诸如IDE、 USB、 LAN和音频这样的传统组件,以及超级I/0(SIO)控制器。在本例中,示出 ICH 207与硬盘驱动器209以及网络接口控制器(NIC) 211耦合。MCH201用来控制对存储器的访问,而ICH207用来控制I/O访问。 在内嵌分区体系结构中,在引导时固件将芯片组配置为对平台上的各种资 源进行分区。在某些情形中,可以只有一个分区而平台在很多方面表现如 同传统平台。在所示例子中有两个分区,主分区210和内嵌分区220。每 个指定的分区被赋予了唯一的分区标识符(ID)。在内嵌分区配置下,当设备发出一个警报时,芯片组可以正确地将其 路由至正确的分区,因为该信息在引导时已经被编码。在支持VMM的系 统中,硬件将设备警报传递给VMM (虚拟化设备),而由软件将该信息路 由给各种虚拟机。内嵌分区可以作为由硬件辅助的虚拟化。在一个部署了虚拟化方案的实施例中,在VMM中实现了引导缓存代 理,该VMM控制运行在平台上的所有客户虚拟机(VM)以及客户操作系统 (OS)。在另一个实施例中,在用于控制各个OS的I/O请求的特权分区、 进程、或者管理程序中实现了引导缓存代理221。在所有情形下,引导缓 存代理选择性地将在初始引导期间从网络PXE服务器获得的引导映像进 行镜像复制(mirror),并在后续引导时返回该数据以避免从网络介质读取。 在VMM体系结构的情况中,网络和其他设备的访问被虚拟化,引导缓存 代理则作为软件中介从设备获取数据。现在参考图3,示出了示例性虚拟化平台,其中引导缓存代理321位 于VMM中。在该示例性实施例中,虚拟机(VM)具有客户OS 311。在客 户OS 311中可以运行各种用户应用程序313。该OS具有可以在VMM320 中被虚拟化的设备驱动程序315。对于平台硬件330的访问,包括对网络 引导目标(未示出)的访问,需要使用该VMM。在引导的情形下,VMM320 中的引导缓存代理321可以拦截(intercept)网络设备对于引导目标的访问并 控制是从较慢的网络引导目标还是从较快的被缓存的易失性存储器中读取 引导映像。类似地,示出了有其自己的OS341、用户应用程序343、设备驱动程 序345的平台分区或更有特权的分区340。通过VMM 320,该平台分区也 可以具有被虚拟化的设备。在一些情况下,引导缓存代理也会对该分区的 引导目标数据进行缓存。现在参考图4,所示的是根据本发明实施例的用于引导缓存代理的示例性方法的流程图。在方框401,系统加电或发出重置请求。方框403,在 需要的时候,例如首次引导时,平台的底层结构被初始化。在方框405, 确定该平台是否支持引导路径缓存操作。若不支持,则在方框407,该平 台将继续从引导目标介质进行引导。若该平台支持引导路径缓存操作,则在409,启动合适的引导路径代 理。如上所述,引导缓存代理221/321可以位于内嵌分区220或者VMM 320 中,如图2和图3所示。基于引导缓存代理的实现,在方框411,支持对 数据进行必要的路由。对于具有VMM、管理程序或者其他特权层的平台, VMM将I/O访问虚拟化,并使引导缓存代理能够控制从远程目标引导介 质的数据获取。该引导缓存代理能够将引导映像镜像复制到易失性存储装 置或者其他本地存储装置中,并对获取的映像编制索引以便将来使用。对 于具有芯片组分区操作支持的平台,位于内嵌平台中的引导缓存代理自动 对设备访问进行控制,并能够将引导数据镜像复制到分区后的存储器中以 便将来使用。如果像在413所确定的那样,引导目标位于远程服务器中,则在方框 417,客户机通常通过PXE握手操作连接到该远程服务器。采用非PXE协 议来访问服务器同样也可以在本发明的其他实施例中实现,这一点对于本 领域技术人员来说将是显而易见的。在方框419,从文件服务器中读取校 验和或者其他验证值(validator),例如循环冗余校验(CRC)或者哈希码。对 于关于目标的每一个引导映像,该服务器可以包含checksum.txt文件的等 价物。校验和或者其他验证值可以被连接到引导映像本身,也可以作为服 务器上的单独文件来实现。基于系统管理策略,可以采用各种验证实现方 式。在方框421,确定是否之前己经在快速的易失性或者非易失性本地存 储器中存储了引导映像的被缓存的拷贝。从该描述可以明显看出,被缓存 的引导映像既可以保存在易失性系统存储器中,也可以保存在与平台耦合 的快速非易失性存储器中。任何在重置或者加电过程中可以访问的本地存 储器都可以被采用,因为这将会比从网络服务器获取引导映像更快。如果存在被缓存的拷贝,那么在方框425,确定被缓存的校验和或者 验证值是否与从网络服务器获取的验证值相匹配。有可能位于服务器上的引导映像在最近一次平台引导以后被更新过。在此情形下,验证值将不会匹配。如果被缓存的拷贝被确认为正是当前的,则在方框427,启动被缓 存的引导映像。 一旦启动被缓存的引导映像,在方框415,平台将继续正 常操作。如果不存在引导映像的被缓存的拷贝,或者验证失败,则在方框423, 平台将从网络服务器下载引导映像和辅助文件。此时,下载的引导映像及 其校验和或其他验证值被保存在本地以便于在将来的引导中使用。 一旦下 载完成并被启动,在方框415,平台将继续正常操作。如果在方框413确定引导目标不在远程服务器上,则在方框415,平 台可以继续正常操作。这种情况下,正常操作可以包括从较慢的介质(例如 闪速存储器)引导平台。在另一个实施例中,若平台要从本地介质引导,那么其他加快引导时 间的方法也可以被采用,正如在2006年9月29日由Michael A. Rothman 等提交的题为"System and Method for Increasing Platform Boot Efficiency" 的共有未决美国专利申请No. 11/541,242 (代理人案巻号P23514)(下略为 "Rothman等")中所描述的。参考图5,所示的是根据Rothman等公开的发明的实施例的用于引导 缓存代理的示例性方法。Rothman等公开了高效引导的实施例,其中通过 将较慢引导目标上的扇区缓存到较快的介质(通常为易失性系统存储器)来 加快后续引导时间。在所公开的本发明的一实施例中,在方框501,系统 加电或重置请求被发出。在方框503,如果有需要,例如在首次引导时, 平台的底层结构被初始化。在方框505,确定该平台是否支持引导路径缓 存操作。如果不支持,则在方框507,该平台将继续从本地引导目标介质 进行引导。如果该平台支持引导路径缓存操作,则在方框509,支持对数据进行 必要的路由。对于具有VMM、管理程序、或者其他特权层的平台,VMM 将I/O访问虚拟化,并使引导缓存代理能够控制从引导介质的数据获取。 该引导缓存代理能够将扇区数据镜像复制到易失性存储装置中,并对获取 的扇区编制索引以便将来使用。对于具有芯片组分区操作支持的平台,位 于内嵌平台上的弓I导缓存代理自动对设备访问进行控制,并能够将弓I导数据镜像复制到分区后的存储器中以便将来使用。如果在方框511确定是主分区正在引导,那么在方框513,确定该引导路径是否之前被缓存过。如果是,那么引导缓存代理就将拦截从引导目 标读取引导数据的请求。如果被请求的扇区位于引导缓存代理索引中,那 么将从易失性存储装置而不是从引导目标介质中获取该扇区。用来拦截的方法取决于平台体系结构,即VMM或者芯片组分区(PRL)。如果确定并非主分区(或其他客户OS)在引导,那么在方框507,可以 恢复正常操作,即正常引导。如果在方框513中确定该引导路径之前并未被缓存,那么可以参考目 标策略来确定是否要对引导数据进行缓存。例如,在某些情形中,可以使 平台能够引导Microsoft WindowsTM和Li皿x⑧二者。可能只有有限的存储 器可供对引导目标数据进行缓存,而用户可能选择仅缓存一个或另一个操 作系统的数据。该策略同样可以应用到图4所描述的缓存操作。这样就可 以基于选择了哪个引导目标进行重置/引导来缓存引导数据。在其他情形 中,可以保存引导目标的使用频率,而仅对使用最频繁的引导目标进行缓 存。在其他情形中,会始终缓存引导目标或者其一部分。本领域技术人员 可以理解,各种不同的策略可以适用于具有不同功能的平台。如果方框515中确定目标策略规定该目标能够被缓存,那么在方框 519,从引导目标获取的扇区被镜像复制到易失性的或者更快的存储装置 中。虽然实施例描述了在易失性存储器中对数据进行缓存,但是可以设想, 任何速度快于引导目标的存储器都可以用来进行缓存,并同样能获益于所 公开的方法。当收到重置或者重引导警报时,该处理过程在方框511再次 继续,以确定主分区是否需要被重引导、以及是否可以从相对于引导目标 介质较快的存储装置中获取数据。如果目标策略规定引导数据不应该被缓存,那么在方框507,所述操 作继续进行正常引导。在运行VMM的实施例中,VMM作为重置请求的中介。VMM拦截重 置请求并仅对运行着提出请求的OS的虚拟机所使用的那部分存储器和资 源进行重置。该平台的其他组件可以不被重置。在运行有支持PRL的芯片 组的实施例中,该芯片组可以作为中介并对重置请求进行拦截。在本发明的一个实施例中,当确定引导目标不在远程服务器上时(方框413),所述操作可以像如上所述的图5的方框511那样继续。类似地,同 本地引导一样,也可以为远程服务器引导实现缓存策略,来避免对不频繁 使用的引导目标进行缓存。需要注意的是,为本地引导而缓存的信息可以与为远程引导而缓存的 数据在格式上不同。在一个实施例中,本地引导数据按扇区被缓存。由于 对于远程设备来说扇区信息是未知的,所以改为对引导映像数据进行缓存。 当平台访问远程服务器时,可能传送其他数据,例如引导映像的辅助文件。 该数据也可以被缓存。对辅助文件的选择性缓存可以由目标策略决定。引 导一启动,就先对缓存进行访问以获取引导映像和辅助文件。在某些情形 中,可以基于预定分配的大小来填满缓存,而将会从网络服务器获取缺失 的数据。这样,引导时间将会随已被缓存数据的多少而变化。这里描述的技术不限于任何特定的硬件或者软件配置;这些技术可以 适用于任何计算、消费电子或者处理环境。这些技术可以以软件、硬件或 者二者的组合来实现。对于仿真,程序代码可以采用硬件描述语言或者其他实质上给出关于 所设计硬件预期会如何工作的模型的功能描述语言来描述硬件。程序代码 可以是汇编或者机器语言,或者是可被编译或解释的数据。此外,在本领 域内提及软件时,不管其是何种形式,通常将其看作执行某个动作或者引 起某个结果。这种表达仅仅是一种简洁方式,用于叙述处理系统执行程序 代码导致处理器执行某个动作或者产生某个结果。可以用高级的过程或面向对象编程语言来实现每个程序,以与处理系 统进行通信。然而,如果希望的话,也可以用汇编或机器语言来实现这些 程序。在任何情况下,所述语言可以是编译型的或者解释型的。程序指令可以用来让用该指令编程的通用或者专用处理系统执行这里 所描述的操作。或者,可以由特殊的包括用来完成所述操作的硬连线逻辑 的硬件部件,或者由编程的计算机部件以及定制的硬件部件的任意组合来 完成所述操作。这里描述的方法可以作为计算机程序产品,其包含其上存 储了指令的机器可访问的介质,所述指令可以用来对处理系统或者其他电 子设备进行编程来执行这些方法。程序代码或者指令可以存储在例如易失性或非易失性存储器中,例如 存储设备和/或相关的机器可读或机器可访问的介质,包括固态存储器、硬 盘驱动器、软盘、光存储、磁带、闪速存储器、记忆棒、数字视频盘、数字多用盘(DVD)等,以及一些更为特殊的介质,如机器可访问的生物状态保持存储装置。机器可读介质可以包括以机器可读的形式存储、传输、或 接收信息的任何机制,并且该介质可以包括有形介质,可以通过其来传递 用于对程序代码进行编码的电的、光的、声的、或者其他形式的传播信号 或载波,所述有形介质例如天线、光纤、通信接口等。程序代码可以以分 组、串行数据、并行数据、传播信号等形式传输,并且可以以压縮或者加 密的格式使用。程序代码可以在可编程机器上执行的程序中实现,所述可编程机器例 如移动或固定计算机、个人数字助理、机顶盒、移动电话和寻呼机、消费电子设备(包括DVD播放器、个人视频录像机、个人视频播放器、卫星接 收器、音频接收器及有线电视接收器)、以及其他的电子设备,这些设备每 个都包含处理器、处理器可读的易失性或非易失性存储器、至少一个输入 设备以及/或者一个或多个输出设备。程序代码可以应用到采用输入设备输 入的数据上,来执行所描述的实施例以及生成输出信息。输出信息可以应 用到一个或多个输出设备。本领域技术人员可以理解,所公开主题的实施 例可以采用各种计算机系统配置来实施,包括多处理器或者多核处理器系 统、小型计算机、大型计算机、以及几乎可以嵌入到任何设备中的普适或 微型计算机或处理器。所公开主题的实施例还可以在分布式计算环境中实 现,在该环境中任务或者其一部分可以由通过通信网络链接的远程处理设 备来执行。虽然可以将这些操作描述为顺序的处理过程,但是有些操作实际上可 以并行、并发和/或在分布式环境中执行,其程序代码可以在本地和/或远 程存储以便由单或多处理器机器进行访问。此外,在一些实施例中,可以 重新安排所述操作的顺序,而不会背离所公开主题的实质。程序代码可以 由嵌入式控制器使用,也可以与嵌入式控制器一起使用。虽然本发明参照说明性实施例来进行描述,但是该描述并非要以限制 性意思来解释。对说明性实施例的各种修改以及本发明的其他实施例,对于本领域技术人员来说都是明显属于本发明的,都被认为是落入本发明的 实质和范围内。
权利要求
1、一种用于加快引导时间的系统,包括平台,其具有与存储器耦合的至少一个处理器;引导缓存代理,其运行在第一分区中所述至少一个处理器上,该分区用来控制对引导目标介质的访问,其中,该引导目标介质是本地介质或远程介质二者之一;以及操作系统,其运行在第二分区中,其中,该第二分区能通过所述第一分区对所述引导目标介质进行访问,其中,在引导时,所述引导缓存代理将引导目标数据选择性地存储在与所述引导目标介质相比访问速度较快的存储器中,并且其中,一旦所述第二分区中的操作系统重置或者重引导,该引导缓存代理选择性地从该较快的存储器中获取所存储的引导目标数据。
2、 如权利要求1所述的系统,其中,所述较快的存储器是易失性系统 存储器,并且其中,在所述第一分区以外的操作系统不能访问存储在该较 快的存储器中的引导目标数据。
3、 如权利要求l所述的系统,其中,所述平台支持芯片组分区操作, 并且其中,所述引导缓存代理位于内嵌分区中。
4、 如权利要求3所述的系统,其中,所述芯片组使资源能够专用于选 定的分区,并且其中,分区操作是在引导时由平台固件定义的。
5、 如权利要求3所述的系统,其中,所述内嵌分区是自动拦截设备对 所述引导目标介质的访问的特权分区。
6、 如权利要求3所述的系统,其中,所述引导缓存代理将从远程引导 目标介质获取的引导映像文件存储在本地。
7、 如权利要求4所述的系统,其中,所述引导缓存代理确定有效的远 程引导映像是否已经存储在本地,如果没有则从所述远程引导目标介质获 取所请求的引导映像,否则所述引导缓存代理从进行存储的存储器获取本 地存储的有效引导映像。
8、 如权利要求l所述的系统,其中,所述较快的存储器是非易失性存储器,并且其中,在所述第一分区以外的操作系统不能访问存储在该较快 的存储器中的引导目标数据。
9、 如权利要求1所述的系统,其中,所述平台支持虚拟化,并且其中, 所述引导缓存代理位于虚拟机监视器(VMM)中。
10、 如权利要求9所述的系统,其中,所述VMM使设备对所述引导 目标介质的访问虚拟化。
11、 如权利要求10所述的系统,其中,所述引导缓存代理存储从所述 引导目标介质获取的引导映像和验证值,其中,所述引导目标介质是远程 介质。
12、 如权利要求9所述的系统,其中,所述引导缓存代理确定有效的 远程引导映像是否已经存储在本地,如果没有则从所述远程引导目标介质 获取所请求的引导映像,否则所述引导缓存代理从进行存储的存储器获取 本地存储的有效引导映像。
13、 如权利要求l所述的系统,其中,所述引导缓存代理基于目标策 略选择性地存储来自远程引导目标介质的弓I导映像和辅助弓I导文件。
14、 如权利要求l所述的系统,其中,所述引导缓存代理确定所述引 导目标介质是远程的还是本地的,如果所述目标是远程的,则该引导缓存 代理选择性地将从所述远程引导目标获取的引导映像文件、辅助引导文件以及验证值存储到本地存储器,如果所述目标是本地的,则该引导缓存代 理选择性地将从本地引导目标获取的扇区存储到较快的存储器。
15、 一种用于加快引导时间的方法,包括由引导缓存代理选择性地存储在引导时获取的引导目标数据,该引导 目标数据是从引导目标介质获取的,其中,该引导目标数据存储在与所述 引导目标介质相比较快的存储器中,并且其中,该引导目标介质是本地介 质或远程介质二者之一;以及一旦操作系统重引导,就从所存储的引导目标数据和所述引导目标介 质中的至少一个获取所述引导目标数据,其中该获取操作是由所述引导缓 存代理控制的。
16、 如权利要求15所述的方法,其中,所述引导缓存代理位于第一平台分区中,所述操作系统位于第二平台分区中。
17、 如权利要求16所述的方法,其中,所述第一平台分区是虚拟机监 视器,所述第二分区是虚拟机。
18、 如权利要求16所述的方法,其中,所述第一平台分区是支持芯片 组分区操作的平台的内嵌分区。
19、 如权利要求16所述的方法,其中,所述较快的存储器是易失性系 统存储器,并且其中,所述第二分区不能访问所存储的引导目标数据。
20、 如权利要求16所述的方法,进一步包括当所述引导目标介质是本地介质时,由所述引导缓存代理存储从该引 导目标介质获取的扇区的索引,以便识别所存储的扇区数据。
21、 如权利要求16所述的方法,进一步包括当所述引导目标介质是远程介质时,由所述引导缓存代理存储从该引导目标介质获取的引导映像文件、选择性的辅助文件以及验证值。
22、 如权利要求16所述的方法,其中,获取引导目标数据进一步包括: 确定所请求的引导目标数据是否已被存储,如果没有则从所述引导目标介质获取所请求的弓I导目标数据,否则从进行存储的存储器获取所请求 的引导目标数据,其中,对于本地介质,该引导目标数据包括引导扇区信 息,并且其中,对于远程介质,该引导目标数据包括引导映像、选择性的 辅助文件以及验证值。
23、 如权利要求22所述的方法,进一步包括使用从所述远程引导目标介质获取的验证值来验证所存储的引导目标数据;以及如果验证成功,则从进行存储的存储器获取所述引导目标数据,但如 果验证失败,则从所述远程引导目标介质获取所述引导目标数据。
24、 如权利要求15所述的方法,其中,选择性地存储引导目标数据进 一步包括当所述引导目标介质是本地介质时,基于目标策略选择性地存储来自 该引导目标介质的扇区,当所述引导目标介质是远程介质时,基于所述目 标策略选择性地存储引导映像文件和辅助文件。
25、 一种其中存储有指令的机器可读介质,所述指令当被机器执行时, 使得该机器由弓I导缓存代理选择性地存储在引导时获取的引导目标数据,该引导 目标数据是从引导目标介质获取的,其中,该引导目标数据存储在与所述 引导目标介质相比较快的存储器中,并且其中,该引导目标介质是本地介质或远程介质二者之一;以及一旦操作系统重引导,就从所存储的弓I导目标数据和所述引导目标介 质中的至少一个获取所述引导目标数据,其中该获取操作是由所述引导缓 存代理控制的。
26、 如权利要求25所述的介质,其中,所述引导缓存代理位于第一平 台分区中,所述操作系统位于第二平台分区中。
27、 如权利要求26所述的介质,其中,所述第一平台分区是虚拟机监 视器,所述第二分区是虚拟机。
28、 如权利要求26所述的介质,其中,所述第一平台分区是支持芯片 组分区操作的平台的内嵌分区。
29、 如权利要求26所述的介质,其中,所述较快的存储器是易失性系 统存储器,并且其中,所述第二分区不能访问所存储的引导目标数据。
30、 如权利要求26所述的介质,进一步包括在被所述机器执行时使得 该机器执行以下操作的指令当所述引导目标介质是本地介质时,由所述引导缓存代理存储从该引 导目标介质获取的扇区的索引,来识别所存储的扇区数据。
31、 如权利要求26所述的介质,其中,获取引导目标数据进一步包括 在执行时使得所述机器执行以下操作的指令确定所请求的引导数据是否已被存储,如果没有则从所述引导目标介 质获取所请求的引导目标数据,否则从进行存储的存储器获取所请求的引 导目标数据,其中,对于本地介质,该引导目标数据包括引导扇区信息, 并且其中,对于远程介质,该引导目标数据包括引导映像、选择性的辅助 文件以及验证值。
32、 如权利要求31所述的介质,进一步包括在被所述机器执行时使得 该机器执行以下操作的指令使用从所述远程引导目标介质获取的验证值来验证所存储的引导目标 数据;以及如果验证成功,则从进行存储的存储器获取所述引导目标数据,但如 果验证失败,则从所述远程引导目标介质获取所述引导目标数据。
33、如权利要求25所述的介质,其中,选择性地存储引导目标数据进一步包括在执行时使得所述机器执行以下操作的指令当所述引导目标介质是本地介质时,基于目标策略选择性地存储来自 该引导目标介质的扇区,当所述引导目标介质是远程介质时,基于所述目 标策略选择性地存储引导映像文件和辅助文件。
全文摘要
本发明的实施例包含通过利用虚拟化或分区技术来减少引导时间。在一个实施例中,管理程序/平台分区控制平台对引导目标介质的访问。引导目标介质可以是本地介质或者服务器上的远程介质。当引导介质是本地介质时,引导目标数据被选择性地存储在快速的存储器中。当引导目标介质是远程介质时,引导目标数据被存储在本地介质中。当系统重引导或者平台上的操作系统被重置时,引导目标数据可以被从快速的本地存储器中获取,而不是从原来的较慢的引导目标介质中获取。还描述和声明了其它实施例。
文档编号G06F9/445GK101276284SQ20081008727
公开日2008年10月1日 申请日期2008年3月26日 优先权日2007年3月27日
发明者M·A·罗思曼, V·J·齐默 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1