首页> 中国专利> 辅助计算机系统中多个管理程序的联合操作的系统和方法

辅助计算机系统中多个管理程序的联合操作的系统和方法

摘要

公开了辅助计算机系统中多个管理程序的联合操作的系统和方法。公开了用于协调多个管理程序的联合操作的系统和方法。在计算机系统中协调多个管理程序的联合操作。执行持续管理程序和非持续管理程序。非持续管理程序根据由调度程序引擎控制的操作规程在监管员程序模式下执行,并且持续管理程序在处理程序引擎的控制下在管理程序模式下执行。处理程序引擎监控并响应处理器在管理程序模式和监管员程序模式之间的企图模式转换,并且视情况协调持续管理程序的挂起和恢复。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-19

    授权

    授权

  • 2016-05-18

    实质审查的生效 IPC(主分类):G06F9/455 申请日:20151202

    实质审查的生效

  • 2016-04-20

    公开

    公开

说明书

技术领域

本发明的一般地涉及信息处理,具体地,涉及计算虚拟化技术。更 具体地涉及计算机系统中多个管理程序(hypervisor)的联合操作。

背景技术

现今的计算机系统看到了日益增加的各种应用程序中的虚拟化技术 的使用—无论在大数据中心还是在个人计算中。虚拟化支持如在单个计算 机系统上运行多个操作系统、最大化利用可用硬件资源这样的配置。例如, 个人计算机的用户可以利用多个虚拟机,用于在其单个机器上的不同的操 作系统中同步执行各种应用程序。更多的时候,在大容量的服务器上发现 虚拟化,诸如当提供主机托管服务时的那些服务器。

虚拟机的操作一般需要使用管理程序,其协调虚拟机的执行,充当 虚拟机的管理器或分派器。通常,管理程序还称为虚拟机监控程序(VMM)。

如果计算机系统有多个管理程序,有必要恰当地协调它们的操作。 一般由其设计提供虚拟机管理程序的联合操作:当管理程序控制了计算平 台时,处理器的状态(即保护环)临时改变,并且在管理程序的动作完成 之后,处理器返回到其初始状态。例如,在windows操作系统中,如果同 步操作来自不同制造商的数个虚拟机,那么调度程序会以针对操作系统中 的通常的线程同样的方式来分配时间用于管理程序的执行(例如考虑各个 线程的优先级)。管理程序代码本身根据某一时间量的到期来正确完成其执 行;然而应该注意到该时间量并不是必须和由OS的调度程序分配的时间 量一致。

在将要同时使用多个管理程序的系统中,常规的多任务技术可能不 能有效工作,并且在最坏情况下它们甚至不会有效工作。当在多个管理程 序中存在这样的管理程序:其以比另一个管理程序的优先级高的优先级执 行时,那些问题进一步恶化。例如,在持续管理程序用于执行非常重要的 虚拟机而伴随有一个或多个非持续管理程序的情况下,常规的多任务技术 保证持续管理程序的正确持续操作存在困难。另一个问题在于,其他的常 规管理程序可能没有意识到持续管理程序的存在,并且可能在管理程序模 式下试图抢占的处理器上的执行时使操作系统崩溃。因此需要辅助多个管 理程序的有效和高效的同步执行的解决方案。

发明内容

本发明的一个方面涉及用于协调多个管理程序的联合操作的专用系 统。系统是包括计算平台的专用机器,所述计算平台具有处理器、数据存 储和输入/输出设备,所述处理器可在管理程序模式和监管员程序模式之间 切换,管理程序模式提供比监管员程序模式更高的优先权级别。计算平台 包含指令,当所述指令被执行时使得计算平台实现持续管理程序和非持续 管理程序、配置为协调监管员程序模式下非持续管理程序的操作的调度程 序引擎、配置为协调管理程序模式下持续管理程序的操作的处理程序引擎。

处理程序引擎监控并响应处理器在管理程序模式和监管员程序模式 之间的企图模式转换。响应于从管理程序模式到监管员程序模式的企图模 式转换,处理程序引擎挂起对持续管理程序的执行,包括保存处理器的状 态,并且将处理器转换为在监管员程序模式下执行非持续管理程序。响应 于监管员程序模式指令的执行的终结,处理程序引擎挂起对非持续管理程 序的执行,包括保存处理器状态,并且将处理器转换为在管理程序模式下 执行持续管理程序。

附图说明

结合附图参考本发明的各种实施例的以下详细描述可更完整地理解 本发明,其中:

图1是示出了多个管理程序在其上操作的常规操作系统的一部分的 示图,包括持续管理程序和一个或多个非持续管理程序。

图2A是示出了根据一个实施例的、保证多个管理程序在系统中的 执行的系统的示图。

图2B是示出了根据一个实施例的、处理程序引擎的示例性体系架 构的示图。

图3是示出了根据一个实施例的、图2A-图2B中所示系统的操作过 程。

图4是示出了成为专用机器的计算机系统的示图,所述专用机器具 有根据本发明的方面的实现的改善功能。

虽然本发明可修正为各种修改和替代形式,但其细节已在图中通过 示例的方式示出,并将进行详细描述。然而,应予以理解的是,不旨在将 本发明限于所描述的特定实施例。相反,旨在覆盖落入由附加权利要求所 定义的本发明的精神和范围内的所有修改、等同物以及替代物。

具体实施方式

Ⅰ术语词汇

以下术语词汇阐述了本文中使用的术语的定义。该术语词汇不仅用 于本申请。

“计算平台”、“计算机”和“计算机系统”—可互操作的电子器 件的电子设备或系统,包含硬件,所述硬件包括一个或多个处理器、数据 存储器、输入-输出设备;以及可根据由硬件实施的软件指令存储和操纵的 信息。它可以是一个物理机器,或者分布在多个物理机器中,例如通过角 色或功能,或者在云计算分布式模型的情况下通过处理线程。示例包括台 式机或移动个人计算机(PC)、智能手机和平板电脑,以及网络设备诸如 路由器、交换机等。计算平台可以是独立的设备或是作为较大的设备或系 统的一部分的嵌入式设备。

“数据存储”—在物理存储介质上存储数据的一个或多个电子硬件 设备。示例包括易失性存储(例如随机存取存储器(RAM),无论静态或 动态)、非易失性存储(例如电子可擦除可编程只读存储器、磁盘等)。

“驱动程序”—引擎或组件,其就像诸如磁盘驱动器的设备与诸如 操作系统壳(shell)的使用设备的程序之间的翻译器。驱动程序通常接受 来自程序的通用命令并且随后将其翻译为用于设备的专用命令。

“引擎”—使用硬件、或者作为硬件或软件的组合实现的真实的设 备、组件或组件的布置,例如通过微处理器系统和适配引擎以实现特定功 能的程序指令集,其(被执行时)将微处理器转换为专用设备。引擎也可 以实现为两者的组合,具有某些由硬件单独实现的功能,以及由软件控制 的硬件的组合辅助的其他功能。在某些实现方案中,至少部分引擎或者在 一些情况下全部引擎可以在执行操作系统、系统程序和应用程序的一个或 多个计算机的处理器上执行,同时也使用多任务、多线程、分布式(例如 集群、点对点、云等)处理、合适的或其他这样的技术来实现引擎。此外, 引擎本身可以包括一个以上的子引擎,其每一个可以看作独立的引擎。

“管理程序”—也称为虚拟机监控程序(VMM),是可由处理器执 行的程序,其协调虚拟机的执行并充当虚拟机的管理器或虚拟机的分派器。 管理程序呈现采用虚拟操作平台的访客操作系统或系统程序,并且管理访 客操作系统或系统程序的执行。程序系统或其他系统软件的多个实例可以 共享虚拟化硬件资源。

“管理程序模式”—与甚至高于监管员模式的优先权级别相关联的 处理器模式。管理程序模式一般提供专用指令,其辅助一个或多个管理程 序防止每个均在监管员模式下执行的不同的操作系统或其他系统程序彼此 影响的能力。一般,在系统中监管员程序模式指定为保护环0,管理程序 模式指定为保护环-1

“输入/输出设备”或“输入/输出设施”—计算机系统的电子硬件部 分,其辅助信息流入和流出计算机系统。示例包括网络接口设备、监视器、 键盘、鼠标、打印机、串行端口等。

“持续管理程序”—在其操作的常规过程中被期望执行为操作系统 或其他基本程序的活跃的不间断的进程的管理程序。该持续的操作规程不 同于周期性的或非持续的规程,在周期性的或非持续的规程中管理程序偶 尔用于特定任务,在任务结束后周期性管理程序可以关闭,而持续管理程 序却保持运行。持续管理程序的示例包括要求不间断执行特别重要的虚拟 机的管理程序,或者要求保证和安全相关的操作诸如反病毒进程的执行的 管理程序。

“处理器”—计算机系统的电子硬件部分,其通过实施系统的基本 的算术的、逻辑的、临时的存储和输入/输出操作来实施计算机程序的指令。 典型地,处理器实现为微处理器(即,集成在单芯片上),虽然该定义包 括在多个互连的集成电路上实现的处理器电路。如今的处理器典型地包括 多个处理核并且可以在多个处理核之间分布工作负载。

“处理器模式”—也称为“权限级别”,是用于一些计算机体系架 构的处理器的操作规程,其选择性地对由处理器运行的某些进程所执行的 操作的类型和方面设置一个或多个限制。例如,高信任度的内核代码以及 在某些情况下高信任度的驱动程序或其他系统程序被允许在称为监管员程 序模式的不受限制(或相对较少限制)的模式下执行;而其他进程(包括 操作系统的非监管员部分)在称为用户模式的相对较多限制的模式下执行, 并且必须使用系统调用以请求更受信任的内核代表其实施受限制的操作。 处理器模式支持保护环体系架构。

“保护环”—在计算机系统的体系架构中的两个或两个以上的权限 的分层级别或层次。这通常通过在硬件或微代码级别提供不同的处理器模 式的一些架构体系硬件强制实施。例如,传统上已经在从最高权限(最受 信任,通常编号为0)到最小权限(最不受信任,通常具有最高的环号) 的层级中布置环。典型地,环0是操作系统的内核在其上执行的级别,并 且较高编号的环与逐渐增加限制的权限级别相关联。某些现代的处理器支 持甚至高于环0的权限级别,称为环-1。

“监管员程序模式”—与较高权限级别的进程诸如高信任度的操作 系统内核进程和某些高信任度的驱动程序相关联的处理器模式。监管员程 序模式允许敏感的机器代码操作的执行,诸如针对各种描述符表修改寄存 器或者执行诸如禁用中断的操作。监管员程序模式还可以准许访问受限制 的地址空间、存储器管理硬件和否则难以通过用户模式进程访问的某些外 围设备。

“系统虚拟机”—提供完整的系统平台的虚拟机,所述完整的系统 平台支持完整的操作系统的执行。这些通常仿真现有的体系架构,并且构 建为提供虚拟机的多个实例,所述实例的每一个提供隔离的计算环境。这 种类型的体系架构在支持云计算服务、网页主机托管和很多其他服务的服 务器上是普遍存在的。系统虚拟机可以在称为主机机器的物理计算机系统 的硬件上直接运行,或者在直接在主机机器上运行的操作系统之上运行(称 为操作系统级虚拟化)。示例包括WindowsVirtualPC、VMware、OracleVM 等。

“用户模式”—与诸如应用程序的较低优先权级别的进程相关联的 处理器模式。用户模式禁止执行能够改变或破坏数据、访问输入/输出设施 和外围设备、协调各种程序的执行的敏感操作。在用户模式下执行的进程 必须请求较高优先权级别的进程代表其实施这些类型的动作。

“虚拟机”是计算机系统的基于软件的实现,其像使用主机机器的 硬件的物理机器一样执行程序。基于它们的使用和与任何真实机器的对应 程度虚拟机被分为两个主要的分类:系统虚拟机和进程虚拟机。

“用于执行持续管理程序和非持续管理程序的装置”—根据下述它 们的各种实施例的任何一个(或者其组合)或它们的等同物的任何一个的、 一个或多个处理单元404、系统存储器406和用于执行持续管理程序110a 和非持续管理程序110b的代码。

“用于执行处理程序引擎的装置”—根据下述它们的各种实施例的 任何一个(或者其组合)或它们的结构等同物的任何一个的、一个或多个 处理单元404、系统存储器406和用于执行处理程序引擎210的代码。

Ⅱ.优选实施例描述

发明的方面涉及如下计算方案:如果还存在其他管理程序,其中那 些其他管理程序在同一个处理器核中周期性地操作,则辅助管理程序之一 在计算机系统中持续操作。在本上下文中,管理程序的持续性意味着管理 程序在其操作的常规过程中被期望执行为操作系统或其他基础程序的活跃 的不间断的进程。该持续的操作规程不同于周期性的或非持续的规程,在 该周期性的或非持续的规程中管理程序偶尔用于特定任务,在完成该任务 之后周期性的管理程序可以被关闭而持续管理程序却保持运行。

持续管理程序110a的示例可以是要求非常重要的虚拟机的不间断 的执行的管理程序,或者是要求确保诸如反病毒进程的数个与安全相关的 操作的执行的管理程序。非持续管理程序110b的示例可以是虚拟机分派 器,也称为虚拟机监控器(VMM)诸如由加利福利亚州帕洛阿尔托的 VMWare公司生产的那些、加利福利亚州红杉市Oracle公司的VirtualBox、 以及佛罗里达州劳德代尔堡的CitrixSystems公司的Xen。

持续管理程序110a相比任何非持续管理程序110b将通常以更高的 优先权级别执行。例如,在支持具有甚至比操作系统更高的优先权级别的 保护环的现代的处理器中,管理程序110a将会以较高的优先权级别(例如, 保护环-1,即“管理程序模式”)执行,而非持续管理程序110b将会以操 作系统的优先权级别(例如,保护环0,即“监管员程序模式”)执行。

根据本发明的方面的计算系统包括各种引擎,其每一个被构造、编 程、配置或另外适配为自主地实施功能或功能集。文本所使用的术语引擎 指真实的设备、组件,或者使用硬件或作为硬件和软件的结合所实现的组件 布置,所述硬件诸如通过专用集成电路(ASIC)或现场可编程门阵列(FPGA), 所述硬件和软件的结合诸如通过微处理器系统和一组调整模块实现特定功能 的程序指令,这些指令(在执行时)将该微处理器系统转化为特殊目的装置。 引擎也可以实现为两者的结合,由硬件单独帮助实现某些功能,以及由硬件 和软件的结合来帮助实现其他功能。在某些实现方案中,可以在执行操作系 统、系统程序和应用程序的一个或多个计算机的处理器上执行引擎的至少一 部分以及在一些情况下执行引擎的全部,同时也实现引擎(并且从而成为专 用机器)。每个引擎均可以在各种适合的物理和逻辑配置中实现,并且,一般 不应限定于任何本文例示的特定实现方案,除非这种限定被明确要求。此外, 引擎自身可以包括一个以上的子引擎,其每一个可以看作单独的引擎。另外, 在本文所述的实施例中,各种引擎的每一个对应于限定的功能;然而,应该 理解在其他预期的实施例中,每个功能可以分布到一个以上的引擎。同样, 相比在本文的示例中所具体示出的,在其他预期的实施例中,多个限定的功 能可以由单个引擎实现,其实施可能与其他函数一起的或者不同地分布在引 擎组中的那些多个函数。

图1是示出了常规操作系统(OS)10的一部分的示图,多个管理程 序在所述操作系统10上操作—例如,持续运行的管理程序110a,以及其 他管理程序110b(可以存在一个以上)。在管理程序110a和110b的常规 操作的情况下,常规任务调度程序120将分配每个管理程序用于执行的时 间。例如,在WindowsOS中,调度程序120通过优先权管理多任务控制, 其意味着较高优先权线程的第一优先权执行。结果,在使用调度程序120 的OS10中,即使较高优先权被指派给管理程序110a,也不可能保证管理 程序110a的持续操作,因为调度程序120迟早将分配时间量用于管理程序 110b的代码的执行。在本上下文中,管理程序110b中的一个的执行基本 上是指在那些管理程序下操作的虚拟机的执行。

在各种实施例中,管理程序110a、110b以及任务调度程序120中的 每一个均被实现为包括计算平台的相关部分的引擎,即与所有必要的固件 或软件组件相结合的硬件,例如计算机系统的基本输入/输出系统、操作系 统、设备驱动程序、函数库和存储在计算平台的存储介质中并且能够在计 算机系统的处理器上执行的其他程序指令的相关部分。

应该注意由于数个原因持续管理程序110a在反病毒操作的执行期 间可能成为必须的。首先,管理程序可以允许检测OS核(监管员程序模 式,环0)级别上恶意代码的执行。其次,管理程序可能需要旁路OS核保 护,诸如PatchGuard。在多内核处理器中,管理程序的分开的拷贝将在每 个核中操作,但是具有不同的对应上下文。

图2A示出了根据一个实施例的,用于保证系统中多个管理程序的 执行的系统。如图示,操作系统100宿主持续管理程序110a,但是在该实 施例中,持续管理程序110a不由调度程序120控制(不像管理程序110b), 而是由处理程序210控制,其跟踪系统的状态信息220。处理程序210在 各个实施例中物理地实现为包括计算硬件和对应软件组件的引擎。在相关 实施例中,处理程序210进一步使用在计算硬件上执行的专门的OS驱动 程序来实现。

通常,当处理器在管理程序模式(保护环-1)下任何管理程序110b 试图开始执行其代码时,处理器的操作模式首先发生改变,因为在该时间 期间负责准备虚拟机的后续启动的命令将被执行。例如,页目录和CR3注 册表被整体重新加载。虚拟机110b的启动的另一个示例是vmrun命令(在 VMWare的情况下)的执行。任何的这些参数和命令在图2A中全体表现 为系统的状态信息220。

处理程序210跟踪对规定参数的任何修改的进行,或者命令的执行 (通过拦截它们)以检测执行对应的管理程序110b的需要。相应地,处理 程序210将停止持续管理程序110a的执行。

图2B是示出了根据一个实施例的处理程序引擎210的示例性体系 架构的框图。命令检测器引擎250和参数改变监控器引擎252被各自编程 或者另外配置为监控系统的状态信息220。命令检测器引擎检测命令,而 参数改变监控器引擎252检测操作系统中某些参数的改变。管理程序执行 检查器256将检测到的命令和参数中的改变与指示对管理程序110b的执行 的调用的标准或者恢复持续管理程序110a的操作的适合性进行比较。这样 的标准包括在处理器的状态中的改变、页目录或CR3注册表的重新加载、 或者vmrun命令的发生。在相关实施例中,拦截器引擎258被编程或者另 外配置为响应于检测到指示企图模式转换的命令或参数改变的发生,阻止 该命令或模式转换的执行直到采取特定的系列动作。持续管理程序执行控 制器引擎260被编程或另外配置为采取如下详细描述的动作。

下面是根据一个实施例的、由持续管理程序执行控制器引擎260结 合组成处理程序210的其他引擎激活的和去激活持续管理程序110a的进程 的过程的更详细的讨论。该过程包括以下动作:

a.保留处理器的先前状态(即保护环-1的管理程序模式中的管理程 序110b之一的代码的执行的最后时刻);

b.在不同的模式例如监管员程序模式(保护环0)中执行持续管理 程序110a的代码;

c.确定企图执行任何管理程序110b的代码;

d.恢复处理器的先前状态用于由管理程序110b正确处理用于虚拟 机的激活的指令;

e.在管理程序110b的代码的执行之前,从管理程序模式退出并且 在监管员程序模式下转移对的管理程序110a的最后的指令的控制。该操作 确保持续管理程序110a被退出管理程序模式并且进入监管员程序模式,从 而当管理程序110b在管理程序模式下执行时管理程序110b意识不到持续 管理程序110a的存在。

因此,因为继续执行已经在不同的保护环的权限内实施(通常,它 会是对应于内核的优先权级别的环0),所以持续管理程序110a的线程的 下一个指令已经在管理程序模式之外执行,。

图3示出了根据一个实施例的操作的过程。在310,处理程序210 (使用命令检测器250和参数改变监控器252)跟踪系统的状态信息220。 如果在320管理程序执行检测器引擎256确定系统的状态已经改变(例如 页目录被覆写或者vmrun命令已经运行),那么在330持续管理程序110a 的执行由持续管理程序执行控制器260停止。

在相关的实施例中,在320由管理程序执行检测器引擎256实施附 加的检查,即确定CR3注册表的重新加载被从中调用的处理器模式。如果 注册表重新加载被从内核模式调用,则被认为仅是上下文的切换,并且如 果是从用户模式调用,则有可能另外检查这是例如来自虚拟机的进程的调 用。这样的检测允许系统最小化在停止持续管理程序110a的情况下“错误 的激活”的数目,以便避免无绝对的必要而停止它。

在340,管理程序执行监测器引擎256针对恢复持续管理程序110a 的适合性进行检查。该动作可以响应于以下一个或多个条件:

●由调度程序120分配用于管理程序110b之一的执行的执行时间量到 期;

●系统120的状态的改变已经发生;

●处理程序210跟踪管理程序110b的执行并且接收关于其操作结束的 通知(例如,通过由管理程序的开发者提供的正式的应用程序可编程接口 或者API)。

如果在350确定了管理程序110b之一已经完成执行(通过检查条件 诸如以上标识的那些),那么在360持续管理程序110a由持续管理程序执 行控制器260恢复。在相关实施例中,存在多个不同的管理程序110b的情 况下,在紧接着第一管理程序110b的执行完成之后、持续管理程序110a 恢复之前,持续管理程序110a在恢复执行前等待所有管理程序110b完成 它们的执行。

在一个实施例中,持续管理程序110a的操作的恢复使用定时器过程 来实施(例如,在WindowsOS中使用KeSetTimer调用来进行)。例如, 一旦指定的时间到期(当执行时间量已经到期),那么调度程序120确定 哪个代码必须被执行(例如,持续管理程序110a的开始)。定时器可以被 重新设置以便在下一次管理程序110b完成其操作并且持续管理程序110a 可以启动时允许后续的启动。

持续管理程序110a何时应该停止的另一个示例与系统的状态信息 220中的电源相关的改变有关,例如,当将要进入“休眠”模式时。为此, 跟踪与电源相关的函数(WindowsOS中的电源管理事件回调函数)或系 统变量(WindowsOS中的SYSTEM_POWER_STATE)。

需要停止管理程序110a的另一个示例是也导致处理器的状态的显 著改变的一段代码的启动,例如,仿真器(诸如QEMU(快速仿真器)和 其他类似的程序,包括在反病毒应用程序中使用的那些)。但是如果仿真 器和持续管理程序110a包括在反病毒产品中,那么在仿真器的操作之后, 后者可以自动启动持续管理程序110a。

图4为更详细地示出了计算机系统400的图示,其被制成具有根据本 文所描述的发明的方面的实现的改善功能的专用机器。计算机系统400可以 包括诸如个人计算机402的计算设备。个人计算机402包括一个或多个处理 单元404、系统存储器406、视频接口408、输出外围设备接口410、网络接 口412、用户输入接口414、可移除存储器接口416和非可移除存储器接口 418以及耦合到各个组件的系统总线或高速通信通道420。在各个实施例中, 处理单元404可以具有多个逻辑核,其能够处理存储在计算机可读介质诸如 系统存储器406或附接到可移除存储器接口416和非可移除存储器接口418 的存储器上的信息。计算机402系统存储器406可以包括诸如只读存储器 (ROM)的非易失性存储器422或者诸如随机存取存储器(RAM)的易失性 存储器424。ROM422可以包括级别输入/输出系统(BIOS)426以帮助与计 算机402的其他部分通信。RAM424可以存储各种软件应用程序部分诸如操 作系统428、应用程序430和其他程序引擎432。此外,RAM424可以存储 诸如程序或应用程序数据434的其他信息。在各个实施例中,RAM424存储 要求低延时和高效率访问的信息诸如程序和对其进行操纵或操作的数据。在 各个实施例中,RAM424包括双倍数据速率(DDR)存储器、错误纠正存储 器(ECC)或具有改变的延迟和配置的其他存储器技术诸如RAMBUS或DDR2 和DDR3。这样,在各个实施例中,系统存储器406可以存储输入数据存储、 访问证书数据存储、操作存储器数据存储、指令集数据存储、分析结果数据 存储和操作存储器数据存储。此外,在各个实施例中,处理单元404可以配 置为通过要求在对信息的访问被授予之前访问证书来执行限制对上述数据存 储的访问的指令。

可移除存储器接口416和非可移除存储器接口418可以将计算机402 耦合到硬盘驱动器436诸如SSD或旋转硬盘驱动器。这些硬盘驱动器436可 以提供针对各种软件应用程序的进一步存储,诸如操作系统438、应用程序 440和其他程序引擎442。此外,硬盘驱动器436可以存储诸如程序或应用程 序数据444的其他信息。在各个实施例中,硬盘驱动器436存储不要求如在 其他存储介质中的同样的低延迟的信息。此外,操作系统438、应用程序440 数据、程序引擎442和程序或应用程序数据444可以是如在上述的各个实施 例中的RAM424中存储的同样的信息或者它可以是RAM424存储的数据的 不同的数据可能衍生。

此外,可移除非易失性存储器接口416可以耦合计算机402到利用磁 介质诸如软盘448,ZiporJazz的磁便携硬盘驱动器446,或耦合到 利用诸如DVD-R/RW,CD-R/RW以及其他类似格式的用于计算机 可读介质的存储的光盘驱动器450。另外其他实施例利用SSD或封装在便携 外壳54中的旋转硬盘以增加可以移除存储器的容量。

计算机402可以利用网络接口412通过本地局域网(LAN)458或广 域网(WAN)460和一个或多个远程计算机456通信。网络接口412可以利 用网络接口卡(NIC)或其他接口诸如调制解调器462以使能通信。调制解 调器462可以使能通过电话线、同轴线、光纤、电力线或无线的通信。远程 计算机456可以包含类似的硬件和软件配置或者可以具有存储器464,其包 含可以提供附加的计算机可读指令给计算机402的远程应用程序466。在各 个实施例中,远程计算机存储器464可以用于存储信息诸如识别的文件信息, 其可以随后下载到本地系统存储器406。此外,在各个实施例中,远程计算 机456可以是应用程序服务器、管理服务器、客户端计算机或网络装置。

用户可以使用连接到用户输入接口414输入设备诸如鼠标468和键盘 470来输入信息到计算机402。此外,输入设备可以是触控板、指纹扫描仪、 操纵杆、条形码扫描仪、媒体扫描仪等。视频接口408可以提供可视信息到 诸如监控器的显示器472。视频接口408可以是嵌入式接口或者可以是分离 式接口。而且,为了增加计算机402操作中的灵活性,计算机可以利用多 个视频接口408、网络接口412以及可移除接口416和非可移除接口418。 而且,各个实施例利用若干监视器472和若干视频接口408改变计算机402 的性能和容量。计算机402中可以包括其他计算机接口,例如输出外围接 口410。该接口可以耦合至打印机474或扬声器476或其他给计算机402 提供附加功能的外围接口。

计算机402的不同的可替代的配置和实现方式都落入本发明的精 神。这些改变可以包括但不限于,耦合至系统总线420的附加接口,例如 通用串行总线(USB)、打印机端口、游戏端口、PCI总线、PCIExpress 或上面描述的多个元件结合成的芯片集元件,例如北桥和南桥。例如,在 各个实施例中,处理单元404可以包括嵌入式存储器控制器(未示出), 使得能够相比系统总线420可以提供的,从系统存储器406进行更有效的 数据转移。

上面的实施例意图说明并且不意图限制。附加的实施例落入权利要 求的保护范围。此外,虽然本发明的各方面已经参考具体实施例进行了描 述,但本领域技术人员将意识到,可以进行形式以及细节上的改变而不脱 离由权利要求限定的本发明的保护范围。

相关领域的一般技术人员将意识到,本发明可以包括比上面描述的 任何个别实施例中描述的更少的特征。此处描述的实施例并不意味着可能 组合了发明的多个特征的详尽介绍方式。因此,各实施例并不是相互排斥 的特征组合;而是,本发明可以包括选自不同个别实施例的不同个别特征 的组合,如本领域普通技术人员将理解的。

限制引用上面的文档的任何合并,以便没有与此处明确公开的相反 的主题名称并合并。引用上面文档的任何合并进一步被限制,以便包括在 文档中的权利要求不会通过引用到本申请的权利要求中被合并。然而,任 何文件的权利要求作为此公开的一部分被合并,除非特别排除。引用上面 文件的任何合并仍然进一步被限制,以便文件中提供的任何定义不会在此 处被引用合并,除非此处明确包括。

为了理解本发明的权利要求的目的,明确意图不借助35U.S.C.第6 段第112部分的条款,除非权利要求中叙述了特定术语“装置是”或“步 骤为”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号