CN101976202A - 处理特许事件的多个虚拟机监控器的使用 - Google Patents

处理特许事件的多个虚拟机监控器的使用 Download PDF

Info

Publication number
CN101976202A
CN101976202A CN2010105367038A CN201010536703A CN101976202A CN 101976202 A CN101976202 A CN 101976202A CN 2010105367038 A CN2010105367038 A CN 2010105367038A CN 201010536703 A CN201010536703 A CN 201010536703A CN 101976202 A CN101976202 A CN 101976202A
Authority
CN
China
Prior art keywords
vmm
privileged
privileged event
virtual machine
event
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
CN2010105367038A
Other languages
English (en)
Other versions
CN101976202B (zh
Inventor
G·奈格
S·贝内特
A·卡吉
S·耶亚辛
A·安德逊
R·乌利希
E·科塔-罗布尔斯
S·罗杰斯
L·史密斯三世
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 CN101976202A publication Critical patent/CN101976202A/zh
Application granted granted Critical
Publication of CN101976202B publication Critical patent/CN101976202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

本发明涉及使用多个虚拟机监控器处理特许事件的方法、系统和产品。在一个实施例中,用于处理虚拟机环境中的特许事件的方法包括检测特许事件的出现、确定多个虚拟机监控器VMM中哪一个将处理特许事件以及把控制转到这个VMM。

Description

处理特许事件的多个虚拟机监控器的使用
本申请是分案申请,其母案申请的发明名称为:“处理特许事件的多个虚拟机监控器的使用”,其母申请的申请号为200480026300.1(PCT/US2004/029611),申请日为2004年9月10日。
技术领域
一般来说,本发明涉及虚拟机,更具体来说,涉及采用多个虚拟机监控器来处理特许事件。
背景技术
传统的虚拟机监控器(VMM)通常在计算机上运行,以及为其它软件提供一个或多个虚拟机的抽象。各虚拟机可用作独立平台,运行它自己的“客户操作系统”(即VMM接管的操作系统(OS))和其它软件,它们统称为客户软件。客户软件预期工作起来好像它在专用计算机而不是虚拟机上运行。也就是说,客户软件预期将控制各种事件以及有权访问硬件资源。硬件资源可包括处理器驻留资源(例如控制寄存器)、驻留在存储器中的资源(例如描述符表)以及驻留在基础硬件平台上的资源(例如输入输出装置)。事件可包括内部中断、外部中断、异常、平台事件(例如初始化(INIT)或系统管理中断(SMI))、某些指令的执行等。
在虚拟机环境中,VMM应当能够具有对这些事件和硬件资源的最终控制,以便提供在虚拟机上运行的客户软件的适当操作,以及提供对虚拟机上运行的客户软件及它们之间的防范。为了实现这个目的,当客户软件访问受保护资源时,或者当其它事件(例如中断或异常)出现时,VMM通常接收控制。例如,当VMM支持的虚拟机中的操作使系统装置产生中断时,当前运行的虚拟机被中断,以及处理器的控制被传递给VMM。然后,VMM接收该中断,并且自行处理中断或者把中断传递到适当的虚拟机。
发明内容
根据本发明的一个方面,提供了一种使用多个虚拟机监控器来处理特许事件的方法,该方法包括:在具有客户软件和多个虚拟机监控器(VMM)的虚拟机环境中检测多个特许事件之一的出现,其中所述多个虚拟机监控器被指定为处理不能由所述虚拟机环境中的所述客户软件处理的所述多个特许事件;根据所述检测的特许事件的特性或所述虚拟机监控器的特性中的至少其中之一确定所述多个虚拟机监控器中的哪一个将处理所述检测的特许事件;以及把控制转到所述多个VMM中所述的一个。
根据本发明的另一个方面,提供了一种使用多个虚拟机监控器(VMM)来处理特许事件的系统,该系统包括:多个被指定为处理多个特许事件的虚拟机监控器;以及路由选择逻辑,检测不能由客户软件处理的所述多个特许事件之一的出现,根据所述检测的特许事件的特性或所述虚拟机监控器的特性的至少其中之一确定所述多个VMM中的哪一个将处理所述检测的特许事件,以及把控制转到所述多个VMM中所述的一个。
根据本发明的又一个方面,提供了一种使用多个虚拟机监控器来处理特许事件的系统,该系统包括:存储器,其中存储了客户软件和多个被指定为处理多个特许事件的虚拟机监控器(VMM);以及处理器,耦合到所述存储器,执行所述客户软件,检测不能由所述客户软件处理的所述多个特许事件之一的出现,根据所述检测的特许事件的特性或所述虚拟机监控器的特性的至少其中之一确定所述多个VMM中的哪一个将处理所述检测的特许事件,以及把控制转到所述多个VMM中所述的一个。
根据本发明的再一个方面,提供了一种产品,该产品包括:在具有客户软件和多个虚拟机监控器(VMM)的虚拟机(VM)环境中检测多个特许事件之一的出现的部件,其中所述多个虚拟机监控器被指定为处理不能由所述虚拟机环境中的所述客户软件处理的所述多个特许事件;根据所述检测的特许事件的特性或所述虚拟机监控器的特性中的至少其中之一确定所述多个虚拟机监控器中的哪一个将处理所述检测的特许事件的部件;以及把控制转到所述多个VMM中所述的一个的部件。
附图说明
在附图的各图中,通过实例而不是限制来说明本发明,附图中,相似的参考标号表示类似的元件,附图包括:
图1说明本发明在其中可工作的虚拟机环境的一个实施例;
图2说明虚拟机环境中的多个VMM的配置;
图3是用于处理具有多个VMM的虚拟机环境中的特许事件的过程的一个实施例的流程图;
图4、图6和图7说明标识用于处理特许事件的VMM的过程的示范实施例;以及
图5说明具有两个VMM的虚拟机环境中的过程400的示范使用。
具体实施方式
描述用于采用多个虚拟机监控器来处理特许事件的方法及设备。为便于说明,以下描述中提出了大量具体细节,以便透彻地理解本发明。然而,本领域的技术人员十分清楚,即使没有这些具体细节,也可以实施本发明。
按照对计算机系统的寄存器或存储器中的数据位的操作的算法和符号表示来提供以下详细说明的一些部分。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其它技术人员最有效地传达其工作实质的方式。算法在此以及一般被认为是产生预期结果的独立操作序列。操作是要求物理量的物理处理的那些操作。这些量通常但不一定采取电或磁信号的形式,它们能够被存储、传送、组合、比较或者以其它方式处理。主要为了一般使用的原因,将这些信号称作位、值、元素、符号、字符、项、数等,已经证明有时便利。
但应当记住,所有这些及类似的术语都与适当的物理量关联,并且只是应用于这些量上的便捷标签。若没有明确说明,从以下论述中应当知道,贯穿本发明,采用诸如“处理”或“计算”或“运算”或者“确定”等术语的论述可表示计算机系统或类似电子计算装置的动作和过程,其中所述计算机系统或类似电子计算装置处理表示为计算机系统的寄存器和存储器中的物理(电子)量的数据并将其转换为同样表示为计算机系统存储器或寄存器或者其它这种信息存储、传送或显示装置中的物理量的其它数据。
在对实施例的以下详细描述中,参照附图,附图举例说明可实现本发明的特定实施例。附图中,相似的标号描述若干视图中基本上相似的组件。对这些实施例进行充分详细的描述,使本领域的技术人员能够实施本发明。可采用其它实施例,并且可进行结构、逻辑以及电气变更,而没有背离本发明的范围。此外,要理解,本发明的各种实施例虽然有所不同,但不一定是相互排斥的。例如,在一个实施例中描述的特定功能、结构或特征可包含在其它实施例中。因此,以下详细描述不是限制性的,本发明的范围仅由所附权利要求以及这些权利要求涵盖的全部等效范围来限定。
虽然以下实例可能在执行单元和逻辑电路的上下文中描述本发明的实施例,但是,本发明的其它实施例也可通过软件来实现。例如,在一些实施例中,本发明可作为计算机程序产品或软件来提供,它可包括其中已存储指令的机器或计算机可读介质,这些指令可用于对计算机(或其它电子装置)编程以执行根据本发明的过程。在其它实施例中,本发明的步骤可由包含用于执行步骤的硬连线逻辑的特定硬件组件来执行,或者由编程计算机组件和定制硬件组件的任何组合来执行。
因此,机器可读介质可包括用于存储或传送机器(例如计算机)可读形式的信息的任何机构,但不限于软盘、光盘、小型盘、只读存储器(CD-ROM)以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁或光卡、闪速存储器、基于因特网的传输、电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等)等等。
此外,设计可经过各种阶段,从创建到模拟直到制造。表示设计的数据可通过许多方式来表示设计。首先,如在模拟中有用的那样,硬件可采用硬件描述语言或者另一种功能描述语言来表示。另外,采用逻辑和/或晶体管门电路的电路级模型可在设计过程的某些阶段产生。此外,在某个阶段,大部分设计达到表示硬件模型中的各种装置的物理设置的数据级。在使用传统半导体制造技术的情况中,表示硬件模型的数据可能是指定用来产生集成电路的掩模的不同掩模层上的各种特征是否存在的数据。在设计的任何表示中,数据可通过任何形式的机器可读介质来存储。经调制或者以其它方式产生以便传送这种信息的光或电波、存储器或者磁或光存储装置、如盘可能是机器可读介质。这些介质的任一种可“携带”或“表明”设计或软件信息。传送表明或携带代码或设计的电载体以便执行电信号的复制、缓冲或重传时,制作新的副本。因此,通信提供商或网络提供商可制作体现本发明的技术的产品(载体)的副本。
图1说明本发明在其中可工作的虚拟机环境100的一个实施例。在这个实施例中,裸平台硬件110包括计算平台,它可能例如能够运行标准操作系统(OS)或虚拟机监控器(VMM)、如VMM 125。
平台硬件110可能是个人计算机(PC)、大型计算机、手持装置、便携计算机、机顶盒或其它任何计算系统的。平台硬件110包括至少一个处理器112、存储器120以及可能的其它未示出的平台硬件(例如输入输出装置)。
处理器112可以是能够运行软件的任何类型的处理器,例如微处理器、数字信号处理器、微控制器等等。处理器112可包括用于执行本发明的方法实施例的运行的微码、可编程逻辑或硬编码逻辑。
存储器120可以是硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、以上装置的任何组合、或者处理器112可读的其它任何类型的机器介质。存储器120可存储用于执行本发明的方法实施例的运行的指令或数据。
每个VMM 125虽然通常以软件来实现,但可模拟裸机接口并将其导出到高级软件。这种高级软件可包括标准或实时OS,可以是具有有限操作系统功能性的高度剥离的操作环境,可能不包括传统的OS工具,等等。VMM 125例如可通过硬件、软件、固件或者各种技术的组合来实现。
在运行时,每个VMM 125为“客户”软件(即,除VMM125的软件之外的软件)提供一个或多个虚拟机(VM)的抽象。VMM125可向各种客户提供相同或不同的抽象。在各VM上运行的客户软件可包括客户OS(例如,客户OS 134、144或154)以及各种客户软件应用程序(例如,应用程序136、146和156)。客户OS和软件应用程序在本文中统称为客户软件103、105和115。
客户软件103、105和115预期将访问客户软件正在其中运行的VM 132、142和152中的物理资源(例如,处理器寄存器、存储器和I/O装置)。VMM 125有助于对客户软件所需的资源的访问,同时保持对平台硬件110中的资源的最终控制。另外,客户软件103、105和115预期将处理诸如异常、中断以及平台事件(例如,初始化(INIT)和系统管理中断(SMI))等各种事件。这些事件的一部分是“特许的”,因为它们不能由客户软件进行处理,以便确保VM 132、142和152以及客户软件103、105和115的正确操作,以及用于对客户软件103、105和115及其之间的防范。特许事件由VMM 125来处理。
具体来说,特定VMM被标识用于处理每个特许事件。在一个实施例中,特定VMM采用路由选择逻辑130来标识。在一些实施例中,路由选择逻辑130实现为微码、可编程逻辑或者硬编码逻辑。在其它实施例中,路由选择逻辑130实现为驻留在存储器120中的软件。在另外一个实施例中,路由选择逻辑130实现为硬件和软件的组合。
一旦特定VMM被标识,它将有助于客户软件所需的功能性,同时保持对这种特许事件的最终控制。有助于客户软件所用的功能性的动作可包括VMM 125的一部分上的各种各样的活动。VMM125的这些活动不应当限制本发明的范围。
系统100可包括在平台硬件110上运行的两个或两个以上VMM 125。在一个实施例中,VMM 125并行运行,以及各VMM 125可接收来自VM的控制。图2说明系统100中的VMM 125的这种配置的一个实施例。
参照图2,说明VMM 210至214的示范并行配置。根据这种配置,在VM工作期间出现特许事件时,控制从VM传递给特定VMM。特定VMM根据某些标准来标识,下面更详细地进行论述。一旦特定VMM被标识,与虚拟化事件有关的信息被传递到这个VMM,以及控制被转变到它。例如,在VM 202工作期间出现的特许事件1可能引起从VM 202到VMM 210的转变,在VM 202工作期间出现的特许事件2可能引起从VM 202到VMM 212的转变,在VM206工作期间出现的特许事件3可能引起从VM 206到VMM 212的转变,以及在VM 206工作期间出现的特许事件4可能引起从VM 206到VMM 214的转变。相应的VMM则处理虚拟化事件,并且可把控制转回到从其接收了控制的VM。在一个实施例中,控制从VMM到VM的转移通过执行特殊指令来实现。控制从VMM到VM的转移在本文中称作VM入口,而控制从VM到VMM的转移在本文中则称作VM出口。
在一个实施例中,当VM出口出现时,控制在驻留于存储器并由处理器维护的虚拟机控制结构(VMCS)中描述的特定入口点(例如指令指针值)处被传递给VMM。在另一个实施例中,控制在通过重定向结构(例如
Figure BSA00000340244400081
4的处理器指令集体系结构(ISA)中的中断描述符表(在本文称作IA-32ISA))引导之后被传递给VMM。或者,本领域已知的其它任何机制都可用来把控制从VM转移到VMM。
特许事件可能在VMM工作期间出现。可能在VMM工作期间出现的特许事件的实例可包括例如系统管理中断(SMI)、INIT、不可屏蔽中断(NMI)、硬件中断、处理器间中断(IPI)等。在一个实施例中,如果特许事件在VMM工作期间出现,则路由选择逻辑用来标识被指定处理这个特许事件的VMM。如果指定VMM不是当前正在工作的VMM,则与该特许事件有关的信息被传递到指定VMM,以及控制被转到它。例如,在VMM 210工作期间出现的特许事件5可能引起从VMM 210到VMM 212的转变。然后,VMM 212处理该特许事件,并且可把控制转回给VMM 210。因此,在VMM 210与VMM212之间的交互中,VMM 210充当VM的角色。因此,在一个实施例中,与以上针对VM与VMM之间的控制转移所述的相似的VM出口和VM入口机制用于在VMM之间转移控制。
图3是用于处理具有多个VMM的虚拟机环境中的特许事件的过程300的一个实施例的流程图。该过程可通过可包括硬件(例如电路、专用逻辑、可编程逻辑、微码等)、软件(例如运行于通用计算机系统或专用机器的)或者它们两者的组合的处理逻辑来执行。
参照图3,过程300从处理逻辑检测特许事件的出现(处理框302)开始。特许事件为不是由当前运行的软件处理的事件。这类特许事件可包括异常、中断、平台事件、“特许”指令(其执行引起VM出口的指令)的执行等。特许事件可能在客户软件的操作期间或者在VMM工作期间出现。
在处理框304,处理逻辑确定多个VMM中哪一个将处理特许事件。确定可基于各种因素,例如特许事件的特性、VMM可修改的指定字段的当前值、VMM的操作参数、客户软件的操作参数等。在一个实例中,确定基于特许事件的类型,下面将结合图4更详细地论述。在另一个实例中,确定基于多个VMM之一所配置的控制字段的当前值,下面将结合图6更详细地论述。在又一个实例中,确定基于VMM的负荷和/或使用特性的评估,下面将结合图7更详细地论述。在又一个实例中,确定基于上述因素的组合。
一旦处理逻辑确定哪个VMM将处理特许事件,它把与特许事件有关的信息传递给指定VMM,以及把控制转到这个VMM(处理框306)。然后,VMM可自行处理该特许事件,或者将其路由到客户软件进行处理。
图4、图6和图7说明标识用于处理特许事件的VMM的过程的示范实施例。这些过程可通过可包括硬件(例如电路、专用逻辑、可编程逻辑、微码等)、软件(例如运行于通用计算机系统或专用机器的)或者它们两者的组合的处理逻辑来执行。
参照图4,过程400从处理逻辑在客户软件或VMM工作期间检测特许事件的出现(处理框402)开始。在处理框404,处理逻辑标识特许事件的类型。随后,处理逻辑确定哪个VMM被指定为处理这种类型的特许事件(处理框406)。在一个实施例中,各事件类型静态地映射到特定VMM(例如采用硬编码逻辑)。在另一个实施例中,确定是动态的,下面针对图6进行描述。在又一个实施例中,采用静态确定的VMM和动态确定的VMM的组合。也就是说,一些事件类型可静态映射到相应的VMM,而另一些事件类型则可能需要某种附加处理器操作进行确定。
如果当前工作的实体不是指定VMM(判定框408),则处理逻辑把控制转到指定VMM(处理框410)。在一个实施例中,到指定VMM的转变可通过产生VM出口来实现。或者,本领域已知的其它任何机制可用于把控制转到指定VMM。
如果当前工作的实体是指定VMM,则事件被传递给当前运行的VMM(处理框412)。在一个实施例中,事件到VMM的传递通过合成从VMM到其自身的VM出口来执行。在另一个实施例中,事件被传递,如它在非虚拟机环境中被传递那样(例如通过经由中断描述符表来引导或者引起到系统管理模式的转变)。应当注意,本领域已知的各种其它机制可用于把事件传递到当前运行的VMM。
图5说明根据本发明的一个实施例、具有两个VMM的虚拟机环境中的过程400的示范使用。两个VMM其中之一(例如VMM508)被唯一指定为处理某些平台事件(例如系统管理中断(SMI)、IPI、不可屏蔽中断等)。VMM 508称作平台VMM(PVMM)。在一些实施例中,PVMM被指定为仅处理SMI。在其它实施例中,PVMM处理附加事件类型以及SMI。在其它实施例中,采用多个PVMM,其中的每个处理不同的平台事件。
当特许事件出现时,路由选择逻辑510确定事件的类型。如果事件是要由PVMM 508处理的平台事件,则路由选择逻辑510将其路由到VMM 508。否则,事件被路由到VMM 506。如图5所示,路由选择逻辑510可路由在客户软件的操作期间或者在VMM工作期间出现的事件。
事件到VMM的路由选择根据当事件出现时什么实体正在运行可能有所不同。如果客户软件正在运行,则到路由选择逻辑510所选的VMM的转变在一个实施例中经由VM出口来执行。如果路由选择逻辑所选的VMM当事件出现时正在运行,事件可通过各种机制传递到VMM,如以上针对图4所述。
唯一地指定为处理某些平台事件的第二VMM的使用消除了硬件供应商与OS供应商之间的产品相关性。也就是说,它允许平台硬件供应商与OS供应商无关地开发第二VMM(PVMM)的代码。类似地,OS供应商可与硬件供应商无关地开发第一VMM的代码。另外,执行不同功能性的两个VMM的使用增强系统安全性,以及限制需要被验证安全性的代码的暴露。
参照图6,过程600从处理逻辑在客户软件或VMM工作期间检测特许事件的出现(处理框602)开始。在处理框604,处理逻辑接收标识特许事件的信息。随后,处理逻辑访问控制用于处理特许事件的VMM的选择的资源(例如存储器内数据结构、处理器寄存器、平台芯片组中的存储器、输入-输出装置中的寄存器等)(处理框606),以及读取与特许事件的标识符关联的资源字段的当前值(处理框608)。
在一个实施例中,特许事件的标识符是特许事件的类型,以及处理逻辑采用特许事件的类型来识别与这种类型的特许事件关联的资源字段值。
在另一个实施例中,标识信息标识与特许事件关联的特定输入-输出地址。在这个实施例中,处理逻辑分析与特许事件关联的输入-输出访问,确定访问什么输入-输出地址,然后采用这个输入-输出地址来查找与已确定输入-输出地址所属的输入-输出地址范围关联的资源字段值。在一个实施例中,资源字段的值在初始化期间被设置,并且不能修改。在另一个实施例中,资源字段的值可由VMM(例如,主VMM)根据诸如安全性要求、VMM对平台的了解等因素动态配置。资源字段值的这种动态配置允许VMM功能性被分割,从而可能改进安全性、系统性能、开发方法等。
此外,处理逻辑根据相应字段的当前值来确定哪个VMM被指定为处理特许事件(处理框610),如果当前工作的实体不是指定的VMM(判定框612),则把控制转到指定的VMM(处理框614)。在一个实施例中,到指定VMM的转变可通过产生VM出口来实现。或者,到指定VMM的转变可通过本领域的其它任何机制来实现。
如果指定VMM为当前工作的实体,则处理逻辑把事件传递给那个VMM(处理框616),如以上结合图4和图5所述。
参照图7,过程700从处理逻辑在客户软件或VMM的工作期间检测特许事件的出现(处理框702)开始。在处理框704,处理逻辑标识系统中的各VMM的资源使用/负荷参数。随后,处理逻辑在负荷平衡的上下文中评估VMM的资源使用和/或负荷参数(处理框706),并且根据以上负荷平衡评估来确定哪一个VMM是用于处理特许事件的最佳候选者(处理框708)。此外,如果当前工作的实体不是标识为最佳候选者的VMM(判定框712),则处理逻辑把控制转到所标识的VMM(处理框714)。在一个实施例中,到所标识VMM的转变可通过产生VM出口来实现。或者,到所标识VMM的转变可通过本领域的其它任何机制来实现。
如果指定VMM为当前工作的实体,则处理逻辑把事件传递给那个VMM(处理框716),如以上结合图4-6所述。
这样,描述了采用多个VMM来处理特许事件的方法及设备。应当理解,以上描述只是说明性而不是限制性的。通过阅读和理解以上描述,本领域的技术人员将会十分清楚其它许多实施例。因此,本发明的范围应当参照所附权利要求以及这些权利要求涵盖的完整等效范围共同确定。

Claims (29)

1.一种使用多个虚拟机监控器来处理特许事件的方法,该方法包括:
在具有客户软件和多个虚拟机监控器(VMM)的虚拟机(VM)环境中检测多个特许事件之一的出现,其中所述多个虚拟机监控器被指定为处理不能由所述虚拟机环境中的所述客户软件处理的所述多个特许事件;
根据所述检测的特许事件的特性或所述虚拟机监控器的特性中的至少其中之一确定所述多个虚拟机监控器中的哪一个将处理所述检测的特许事件;以及
把控制转到所述多个VMM中所述的一个。
2.如权利要求1所述的方法,其特征在于,所述多个VMM包括主VMM和一个或多个并行VMM。
3.如权利要求1所述的方法,其特征在于,确定多个VMM中的哪一个将处理所述检测的特许事件包括:
确定所述检测的特许事件的类型;以及
标识被指定为处理所确定类型的特许事件的所述多个VMM的其中之一。
4.如权利要求1所述的方法,其特征在于,确定多个VMM中哪一个将处理所述检测的特许事件包括:
访问资源中与所述检测的特许事件关联的字段;以及
根据所述字段的值来标识被指定为处理所述检测的特许事件的所述多个VMM其中之一。
5.如权利要求4所述的方法,其特征在于,与所述检测的特许事件关联的所述字段是与所述检测的特许事件的类型关联的字段。
6.如权利要求4所述的方法,其特征在于,与所述检测的特许事件关联的所述字段是与所述检测的特许事件的输入-输出地址所属的输入-输出地址范围关联的字段。
7.如权利要求4所述的方法,其特征在于,与所述检测的特许事件关联的所述字段的所述值是预先确定的或者是可动态配置的。
8.如权利要求1所述的方法,其特征在于,确定多个VMM中哪一个将处理所述检测的特许事件包括:
评估所述多个VMM的资源使用参数;以及
根据所述资源使用参数的评估来标识被指定为处理所述检测的特许事件的所述多个VMM其中之一。
9.如权利要求4所述的方法,其特征在于,所述资源驻留在存储器、处理器、芯片组和输入-输出装置其中的任一种中。
10.如权利要求1所述的方法,其特征在于,所述检测的特许事件表示中断、异常、特许指令的执行和平台事件其中的任一种。
11.如权利要求1所述的方法,其特征在于,所述检测的特许事件在客户软件工作期间出现。
12.如权利要求1所述的方法,其特征在于,所述检测的特许事件在所述多个VMM其中之一工作期间出现。
13.一种使用多个虚拟机监控器来处理特许事件的系统,该系统包括:
多个被指定为处理多个特许事件的虚拟机监控器(VMM);以及
路由选择逻辑,检测不能由客户软件处理的所述多个特许事件之一的出现,根据所述检测的特许事件的特性或所述虚拟机监控器的特性的至少其中之一确定所述多个VMM中的哪一个将处理所述检测的特许事件,以及把控制转到所述多个VMM中所述的一个。
14.如权利要求13所述的系统,其特征在于,所述多个VMM包括主VMM和一个或多个并行VMM。
15.如权利要求13所述的系统,其特征在于,所述路由选择逻辑通过确定所述特许事件的类型以及标识被指定为处理所确定类型的特许事件的所述多个VMM其中之一,确定所述多个VMM中哪一个将处理所述检测的特许事件。
16.如权利要求13所述的系统,其特征在于,所述路由选择逻辑通过评估所述多个VMM的资源使用参数以及根据所述资源使用参数的评估来标识被指定为处理所述检测的特许事件的所述多个VMM其中之一,确定所述多个VMM中哪一个将处理所述检测的特许事件。
17.如权利要求13所述的系统,其特征在于,所述检测的特许事件表示中断、异常、特许指令的执行和平台事件其中的任一种。
18.如权利要求13所述的系统,其特征在于,所述检测的特许事件在客户软件工作期间出现。
19.如权利要求13所述的系统,其特征在于,所述检测的特许事件在所述多个VMM其中之一工作期间出现。
20.一种使用多个虚拟机监控器来处理特许事件的系统,该系统包括:
存储器,其中存储了客户软件和多个被指定为处理多个特许事件的虚拟机监控器(VMM);以及
处理器,耦合到所述存储器,执行所述客户软件,检测不能由所述客户软件处理的所述多个特许事件之一的出现,根据所述检测的特许事件的特性或所述虚拟机监控器的特性的至少其中之一确定所述多个VMM中的哪一个将处理所述检测的特许事件,以及把控制转到所述多个VMM中所述的一个。
21.如权利要求20所述的系统,其特征在于,所述多个VMM包括主VMM和一个或多个并行VMM。
22.如权利要求20所述的系统,其特征在于,所述处理器通过确定所述特许事件的类型以及标识被指定为处理所确定类型的特许事件的所述多个VMM其中之一,确定所述多个VMM中哪一个将处理所述检测的特许事件。
23.如权利要求20所述的系统,其特征在于,所述处理器通过评估所述多个VMM的资源使用参数以及根据所述资源使用参数的评估来标识被指定为处理所述检测的特许事件的所述多个VMM其中之一,确定所述多个VMM中哪一个将处理所述检测的特许事件。
24.如权利要求20所述的系统,其特征在于,所述特许事件表示中断、异常、特许指令的执行和平台事件其中的任一种。
25.如权利要求20所述的系统,其特征在于,所述检测的特许事件在客户软件和所述多个VMM其中之一的任一个工作期间出现。
26.一种产品,该产品包括:
在具有客户软件和多个虚拟机监控器(VMM)的虚拟机(VM)环境中检测多个特许事件之一的出现的部件,其中所述多个虚拟机监控器被指定为处理不能由所述虚拟机环境中的所述客户软件处理的所述多个特许事件;
根据所述检测的特许事件的特性或所述虚拟机监控器的特性中的至少其中之一确定所述多个虚拟机监控器中的哪一个将处理所述检测的特许事件的部件;以及
把控制转到所述多个VMM中所述的一个的部件。
27.如权利要求26所述的产品,其特征在于,所述多个VMM包括主VMM和一个或多个并行VMM。
28.如权利要求26所述的产品,其特征在于,所述检测的特许事件表示中断、异常、特许指令的执行和平台事件其中的任一种。
29.如权利要求26所述的产品,其特征在于,所述检测的特许事件在客户软件和所述多个VMM其中之一的任一个工作期间出现。
CN201010536703.8A 2003-09-15 2004-09-10 使用多个虚拟机监控器处理特许事件的方法和装置 Active CN101976202B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/663206 2003-09-15
US10/663,206 US7424709B2 (en) 2003-09-15 2003-09-15 Use of multiple virtual machine monitors to handle privileged events
US10/663,206 2003-09-15

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2004800263001A Division CN1849585B (zh) 2003-09-15 2004-09-10 使用多个虚拟机监控器处理特许事件的方法、系统和产品

Publications (2)

Publication Number Publication Date
CN101976202A true CN101976202A (zh) 2011-02-16
CN101976202B CN101976202B (zh) 2014-02-05

Family

ID=34375810

Family Applications (4)

Application Number Title Priority Date Filing Date
CN2004800263001A Active CN1849585B (zh) 2003-09-15 2004-09-10 使用多个虚拟机监控器处理特许事件的方法、系统和产品
CN201210576617.9A Active CN103064725B (zh) 2003-09-15 2004-09-10 处理特许事件的多个虚拟机监控器的使用
CN201010536703.8A Active CN101976202B (zh) 2003-09-15 2004-09-10 使用多个虚拟机监控器处理特许事件的方法和装置
CN201210031136.XA Active CN102693148B (zh) 2003-09-15 2004-09-10 处理特许事件的多个虚拟机监控器的使用

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN2004800263001A Active CN1849585B (zh) 2003-09-15 2004-09-10 使用多个虚拟机监控器处理特许事件的方法、系统和产品
CN201210576617.9A Active CN103064725B (zh) 2003-09-15 2004-09-10 处理特许事件的多个虚拟机监控器的使用

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201210031136.XA Active CN102693148B (zh) 2003-09-15 2004-09-10 处理特许事件的多个虚拟机监控器的使用

Country Status (8)

Country Link
US (1) US7424709B2 (zh)
JP (1) JP4354488B2 (zh)
CN (4) CN1849585B (zh)
DE (3) DE112004003080B4 (zh)
GB (1) GB2420889B (zh)
HK (1) HK1084472A1 (zh)
TW (1) TWI259950B (zh)
WO (1) WO2005029326A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061711B2 (en) 2019-09-23 2021-07-13 Red Hat, Inc. Storage deduplication for virtual machines with encrypted storage
US11232030B2 (en) 2019-09-27 2022-01-25 Red Hat Inc. Storage deduplication for virtual machines with encrypted storage
US11656891B2 (en) 2019-09-27 2023-05-23 Red Hat, Inc. Copy-on-write for virtual machines with encrypted storage

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
WO2005036358A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Virtualization system for guest
US7222203B2 (en) * 2003-12-08 2007-05-22 Intel Corporation Interrupt redirection for virtual partitioning
US7475002B1 (en) * 2004-02-18 2009-01-06 Vmware, Inc. Method and apparatus for emulating multiple virtual timers in a virtual computer system when the virtual timers fall behind the real time of a physical computer system
US7707341B1 (en) * 2004-05-11 2010-04-27 Advanced Micro Devices, Inc. Virtualizing an interrupt controller
WO2006054507A1 (ja) 2004-11-19 2006-05-26 Matsushita Electric Industrial Co., Ltd. 動画像符号化方法及び動画像復号方法
US7647589B1 (en) * 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
US7752436B2 (en) 2005-08-09 2010-07-06 Intel Corporation Exclusive access for secure audio program
US8327353B2 (en) 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
US8117608B1 (en) 2005-09-03 2012-02-14 Ringcube Technologies, Inc. System and method of providing mobility to personal computers
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US7577686B1 (en) * 2006-02-10 2009-08-18 Ringcube Technologies, Inc. Dynamic table configuration in a virtual machine
US8214574B2 (en) * 2006-09-08 2012-07-03 Intel Corporation Event handling for architectural events at high privilege levels
US8407699B2 (en) 2008-03-10 2013-03-26 Citrix Systems, Inc. System and method for managing code isolation
US7840795B2 (en) * 2006-10-17 2010-11-23 Zachary Nathaniel Joseph Peterson Method and apparatus for limiting access to sensitive data
US7685401B2 (en) 2006-12-27 2010-03-23 Intel Corporation Guest to host address translation for devices to access memory in a partitioned system
US8291410B2 (en) * 2006-12-29 2012-10-16 Intel Corporation Controlling virtual machines based on activity state
US8171270B2 (en) * 2006-12-29 2012-05-01 Intel Corporation Asynchronous control transfer
US8301686B1 (en) 2007-04-16 2012-10-30 Citrix Systems, Inc. Systems and methods for decentralized computing
US8479195B2 (en) * 2007-05-16 2013-07-02 Vmware, Inc. Dynamic selection and application of multiple virtualization techniques
US8151264B2 (en) * 2007-06-29 2012-04-03 Intel Corporation Injecting virtualization events in a layered virtualization architecture
US8127291B2 (en) * 2007-11-02 2012-02-28 Dell Products, L.P. Virtual machine manager for managing multiple virtual machine configurations in the scalable enterprise
US8719936B2 (en) * 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system
WO2009113571A1 (ja) * 2008-03-11 2009-09-17 日本電気株式会社 複数の基盤ソフトウェアを動作可能な情報処理装置および方法
GB2462258B (en) * 2008-07-28 2012-02-08 Advanced Risc Mach Ltd Interrupt control for virtual processing apparatus
US8205197B2 (en) * 2008-11-12 2012-06-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for granting hypervisor privileges
US8250262B2 (en) 2009-01-05 2012-08-21 Citrix Systems, Inc. Systems and methods for input/output isolation
KR101571880B1 (ko) * 2009-02-02 2015-11-25 삼성전자 주식회사 전자장치와 가상머신 제공장치 및 이를 이용한 가상머신 서비스 이용 방법
JP4961459B2 (ja) * 2009-06-26 2012-06-27 株式会社日立製作所 仮想計算機システムおよび仮想計算機システムにおける制御方法
US8839138B1 (en) * 2009-12-21 2014-09-16 Symantec Corporation Systems and methods for transitioning between user interface environments
CN102110217B (zh) * 2009-12-28 2013-07-24 北京安码科技有限公司 一种通过虚拟机岗位轮换实现自动修复的方法
KR101658035B1 (ko) * 2010-03-12 2016-10-04 삼성전자주식회사 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
CN101957900B (zh) * 2010-10-26 2012-02-15 中国航天科工集团第二研究院七○六所 一种可信虚拟机平台
US8625429B2 (en) * 2010-12-17 2014-01-07 Jakub Schmidtke Scheduling data over multiple network interfaces
US9854024B2 (en) 2011-06-28 2017-12-26 Hewlett-Packard Development Company, L.P. Display of operating status information of a client in a remote desktop session
US9336034B2 (en) 2011-06-28 2016-05-10 Hewlett-Packard Development Company, L.P. Display of host operating system user interface elements within a guest operating system of a virtual machine
JP5870192B2 (ja) 2011-08-17 2016-02-24 ニシラ, インコーポレイテッド 論理l3ルーティング
CN103514044B (zh) * 2012-06-29 2017-02-08 北京金山安全软件有限公司 一种动态行为分析系统的资源优化方法、装置和系统
US8806104B2 (en) 2012-09-25 2014-08-12 Intel Corporation Enabling virtualization of a processor resource
US10437591B2 (en) 2013-02-26 2019-10-08 Qualcomm Incorporated Executing an operating system on processors having different instruction set architectures
US9396012B2 (en) 2013-03-14 2016-07-19 Qualcomm Incorporated Systems and methods of using a hypervisor with guest operating systems and virtual processors
US9606818B2 (en) 2013-03-14 2017-03-28 Qualcomm Incorporated Systems and methods of executing multiple hypervisors using multiple sets of processors
US10114756B2 (en) 2013-03-14 2018-10-30 Qualcomm Incorporated Externally programmable memory management unit
US10075470B2 (en) 2013-04-19 2018-09-11 Nicira, Inc. Framework for coordination between endpoint security and network security services
JP5608797B2 (ja) * 2013-07-31 2014-10-15 株式会社日立製作所 仮想化プログラム、仮想計算機システム及び計算機システム制御方法
US10009371B2 (en) 2013-08-09 2018-06-26 Nicira Inc. Method and system for managing network storm
US9798561B2 (en) 2013-10-31 2017-10-24 Vmware, Inc. Guarded virtual machines
US10277717B2 (en) 2013-12-15 2019-04-30 Nicira, Inc. Network introspection in an operating system
US9369478B2 (en) 2014-02-06 2016-06-14 Nicira, Inc. OWL-based intelligent security audit
US9658874B2 (en) 2014-06-18 2017-05-23 International Business Machines Corporation Selecting optimal hypervisor platforms that satisfy application workload requirements
US10025722B2 (en) * 2015-10-28 2018-07-17 International Business Machines Corporation Efficient translation reloads for page faults with host accelerator directly accessing process address space without setting up DMA with driver and kernel by process inheriting hardware context from the host accelerator
US10318311B2 (en) * 2016-06-30 2019-06-11 Amazon Technologies, Inc. Memory allocation techniques at partially-offloaded virtualization managers
US10127068B2 (en) 2016-06-30 2018-11-13 Amazon Technologies, Inc. Performance variability reduction using an opportunistic hypervisor
US11442760B2 (en) 2016-07-01 2022-09-13 Intel Corporation Aperture access processors, methods, systems, and instructions
CN107223236B (zh) * 2016-12-29 2020-05-15 深圳前海达闼云端智能科技有限公司 多虚拟机同时运行的方法、装置及电子设备
US11151262B2 (en) 2018-06-24 2021-10-19 Hex Five Security, Inc. Configuring, enforcing, and monitoring separation of trusted execution environments
EP4148605A1 (de) 2021-09-13 2023-03-15 Siemens Aktiengesellschaft Ausführen von privilegierten operationen in einem container

Family Cites Families (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) * 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) * 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) * 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) * 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) * 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) * 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) * 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) * 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4319323A (en) * 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) * 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) * 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) * 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) * 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) * 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
FR2592510B1 (fr) * 1985-12-31 1988-02-12 Bull Cp8 Procede et appareil pour certifier des services obtenus a l'aide d'un support portatif tel qu'une carte a memoire
FR2601525B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Dispositif de securite interdisant le fonctionnement d'un ensemble electronique apres une premiere coupure de son alimentation electrique
FR2601476B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour authentifier une donnee d'habilitation externe par un objet portatif tel qu'une carte a memoire
FR2601535B1 (fr) * 1986-07-11 1988-10-21 Bull Cp8 Procede pour certifier l'authenticite d'une donnee echangee entre deux dispositifs connectes en local ou a distance par une ligne de transmission
FR2618002B1 (fr) * 1987-07-10 1991-07-05 Schlumberger Ind Sa Procede et systeme d'authentification de cartes a memoire electronique
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
US5079737A (en) * 1988-10-25 1992-01-07 United Technologies Corporation Memory management unit for the MIL-STD 1750 bus
US5434999A (en) 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
FR2640798B1 (fr) 1988-12-20 1993-01-08 Bull Cp8 Dispositif de traitement de donnees comportant une memoire non volatile electriquement effacable et reprogrammable
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
JP2590267B2 (ja) 1989-06-30 1997-03-12 株式会社日立製作所 仮想計算機における表示制御方式
US5022077A (en) * 1989-08-25 1991-06-04 International Business Machines Corp. Apparatus and method for preventing unauthorized access to BIOS in a personal computer system
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
CA2010591C (en) 1989-10-20 1999-01-26 Phillip M. Adams Kernels, description tables and device drivers
CA2027799A1 (en) 1989-11-03 1991-05-04 David A. Miller Method and apparatus for independently resetting processors and cache controllers in multiple processor systems
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US5108590A (en) 1990-09-12 1992-04-28 Disanto Dennis Water dispenser
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5317705A (en) 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5287363A (en) * 1991-07-01 1994-02-15 Disk Technician Corporation System for locating and anticipating data storage media failures
US5437033A (en) 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5255379A (en) * 1990-12-28 1993-10-19 Sun Microsystems, Inc. Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor
US5453003A (en) 1991-01-09 1995-09-26 Pfefferle; William C. Catalytic method
US5319760A (en) 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5522075A (en) 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5455909A (en) 1991-07-05 1995-10-03 Chips And Technologies Inc. Microprocessor with operation capture facility
JPH06236284A (ja) 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
WO1993009494A1 (en) * 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5627987A (en) 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5574936A (en) * 1992-01-02 1996-11-12 Amdahl Corporation Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5486529A (en) 1992-04-16 1996-01-23 Zeneca Limited Certain pyridyl ketones for treating diseases involving leukocyte elastase
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5293424A (en) * 1992-10-14 1994-03-08 Bull Hn Information Systems Inc. Secure memory card
US5796835A (en) 1992-10-27 1998-08-18 Bull Cp8 Method and system for writing information in a data carrier making it possible to later certify the originality of this information
JP2765411B2 (ja) 1992-11-30 1998-06-18 株式会社日立製作所 仮想計算機方式
US5668971A (en) * 1992-12-01 1997-09-16 Compaq Computer Corporation Posted disk read operations performed by signalling a disk read complete to the system prior to completion of data transfer
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5483656A (en) * 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
US5469557A (en) * 1993-03-05 1995-11-21 Microchip Technology Incorporated Code protection in microcontroller with EEPROM fuses
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
FR2704341B1 (fr) 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JPH06348867A (ja) 1993-06-04 1994-12-22 Hitachi Ltd マイクロコンピュータ
FR2706210B1 (fr) 1993-06-08 1995-07-21 Bull Cp8 Procédé d'authentification d'un objet portatif par un terminal hors ligne, objet portatif et terminal correspondants.
US5555385A (en) * 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
US5459869A (en) 1994-02-17 1995-10-17 Spilo; Michael L. Method for providing protected mode services for device drivers and other resident software
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
FR2717286B1 (fr) 1994-03-09 1996-04-05 Bull Cp8 Procédé et dispositif pour authentifier un support de données destiné à permettre une transaction ou l'accès à un service ou à un lieu, et support correspondant.
US5684881A (en) 1994-05-23 1997-11-04 Matsushita Electric Industrial Co., Ltd. Sound field and sound image control apparatus and method
US5539828A (en) 1994-05-31 1996-07-23 Intel Corporation Apparatus and method for providing secured communications
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
JPH0883211A (ja) * 1994-09-12 1996-03-26 Mitsubishi Electric Corp データ処理装置
DE69534757T2 (de) * 1994-09-15 2006-08-31 International Business Machines Corp. System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften
FR2725537B1 (fr) 1994-10-11 1996-11-22 Bull Cp8 Procede de chargement d'une zone memoire protegee d'un dispositif de traitement de l'information et dispositif associe
US5606617A (en) 1994-10-14 1997-02-25 Brands; Stefanus A. Secret-key certificates
US5564040A (en) 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5560013A (en) * 1994-12-06 1996-09-24 International Business Machines Corporation Method of using a target processor to execute programs of a source architecture that uses multiple address spaces
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5615263A (en) 1995-01-06 1997-03-25 Vlsi Technology, Inc. Dual purpose security architecture with protected internal operating system
US5764969A (en) 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US5717903A (en) 1995-05-15 1998-02-10 Compaq Computer Corporation Method and appartus for emulating a peripheral device to allow device driver development before availability of the peripheral device
JP3451595B2 (ja) 1995-06-07 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ
US5684948A (en) * 1995-09-01 1997-11-04 National Semiconductor Corporation Memory management circuit which provides simulated privilege levels
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5737760A (en) 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
US5657445A (en) 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5835594A (en) 1996-02-09 1998-11-10 Intel Corporation Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US5729760A (en) 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US6199152B1 (en) * 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5740178A (en) * 1996-08-29 1998-04-14 Lucent Technologies Inc. Software for controlling a reliable backup memory
US5844986A (en) 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5935242A (en) * 1996-10-28 1999-08-10 Sun Microsystems, Inc. Method and apparatus for initializing a device
US5852717A (en) 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP4000654B2 (ja) * 1997-02-27 2007-10-31 セイコーエプソン株式会社 半導体装置及び電子機器
US6044478A (en) * 1997-05-30 2000-03-28 National Semiconductor Corporation Cache with finely granular locked-down regions
US6175924B1 (en) * 1997-06-20 2001-01-16 International Business Machines Corp. Method and apparatus for protecting application data in secure storage areas
US6035374A (en) * 1997-06-25 2000-03-07 Sun Microsystems, Inc. Method of executing coded instructions in a multiprocessor having shared execution resources including active, nap, and sleep states in accordance with cache miss latency
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US5935247A (en) * 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6108644A (en) * 1998-02-19 2000-08-22 At&T Corp. System and method for electronic transactions
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US6496847B1 (en) * 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6282650B1 (en) * 1999-01-25 2001-08-28 Intel Corporation Secure public digital watermark
US6560627B1 (en) * 1999-01-28 2003-05-06 Cisco Technology, Inc. Mutual exclusion at the record level with priority inheritance for embedded systems using one semaphore
US7111290B1 (en) * 1999-01-28 2006-09-19 Ati International Srl Profiling program execution to identify frequently-executed portions and to assist binary translation
US6188257B1 (en) * 1999-02-01 2001-02-13 Vlsi Technology, Inc. Power-on-reset logic with secure power down capability
FR2790844B1 (fr) * 1999-03-09 2001-05-25 Gemplus Card Int Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
US6615278B1 (en) * 1999-03-29 2003-09-02 International Business Machines Corporation Cross-platform program, system, and method having a global registry object for mapping registry equivalent functions in an OS/2 operating system environment
US6684326B1 (en) * 1999-03-31 2004-01-27 International Business Machines Corporation Method and system for authenticated boot operations in a computer system of a networked computing environment
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6275933B1 (en) * 1999-04-30 2001-08-14 3Com Corporation Security system for a computerized apparatus
US6529909B1 (en) * 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
JP3710671B2 (ja) * 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US6678825B1 (en) * 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
GB0020416D0 (en) * 2000-08-18 2000-10-04 Hewlett Packard Co Trusted system
US7818808B1 (en) * 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
US7631160B2 (en) * 2001-04-04 2009-12-08 Advanced Micro Devices, Inc. Method and apparatus for securing portions of memory
US6976136B2 (en) * 2001-05-07 2005-12-13 National Semiconductor Corporation Flash memory protection scheme for secured shared BIOS implementation in personal computers with an embedded controller
US7676430B2 (en) * 2001-05-09 2010-03-09 Lenovo (Singapore) Ptd. Ltd. System and method for installing a remote credit card authorization on a system with a TCPA complaint chipset
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
US7103771B2 (en) * 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US20030126453A1 (en) * 2001-12-31 2003-07-03 Glew Andrew F. Processor supporting execution of an authenticated code instruction
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7107460B2 (en) * 2002-02-15 2006-09-12 International Business Machines Corporation Method and system for securing enablement access to a data security device
US7343493B2 (en) * 2002-03-28 2008-03-11 Lenovo (Singapore) Pte. Ltd. Encrypted file system using TCPA
US20030231328A1 (en) * 2002-06-07 2003-12-18 Xerox Corporation Multiple printer driver
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US9020801B2 (en) * 2003-08-11 2015-04-28 Scalemp Inc. Cluster-based operating system-agnostic virtual computing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061711B2 (en) 2019-09-23 2021-07-13 Red Hat, Inc. Storage deduplication for virtual machines with encrypted storage
US11232030B2 (en) 2019-09-27 2022-01-25 Red Hat Inc. Storage deduplication for virtual machines with encrypted storage
US11656891B2 (en) 2019-09-27 2023-05-23 Red Hat, Inc. Copy-on-write for virtual machines with encrypted storage

Also Published As

Publication number Publication date
TWI259950B (en) 2006-08-11
DE112004001697T5 (de) 2006-07-13
CN101976202B (zh) 2014-02-05
GB2420889A (en) 2006-06-07
TW200513837A (en) 2005-04-16
US7424709B2 (en) 2008-09-09
CN1849585B (zh) 2010-12-22
HK1084472A1 (en) 2006-07-28
JP2007505402A (ja) 2007-03-08
DE112004003080B4 (de) 2016-07-28
JP4354488B2 (ja) 2009-10-28
CN103064725A (zh) 2013-04-24
CN102693148B (zh) 2016-05-11
DE112004003066B4 (de) 2016-07-28
US20050071840A1 (en) 2005-03-31
GB2420889B (en) 2007-04-25
CN103064725B (zh) 2016-04-06
GB0602500D0 (en) 2006-03-22
WO2005029326A1 (en) 2005-03-31
CN1849585A (zh) 2006-10-18
CN102693148A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN1849585B (zh) 使用多个虚拟机监控器处理特许事件的方法、系统和产品
US11704431B2 (en) Data security classification sampling and labeling
US11687645B2 (en) Security control method and computer system
US8850581B2 (en) Identification of malware detection signature candidate code
CN100514297C (zh) 为与虚拟机监控程序相关联的定时器提供支持
CN108292337B (zh) 虚拟化环境下安全堡垒区域的可信开启
CN109063469B (zh) 基于信任级别和其他属性对web内容进行的差异化的容器化与执行
US9489229B2 (en) Transparent dynamic code optimization
CN101339518B (zh) 在分层虚拟化体系结构中插入虚拟化事件的装置和方法
US10839312B2 (en) Warning filter based on machine learning
CN102906704B (zh) 控制处理适配器中断请求的速率
CN102906705B (zh) 将消息信号中断转换为对客户操作系统的i/o适配器事件通知
CN102906722A (zh) 将消息信号中断转换为i/o适配器事件通知
WO2022150112A1 (en) Contextual assistance and interactive documentation
CN100585562C (zh) 在恢复虚拟机的操作时将中断或异常转向的方法、装置和系统
Liu et al. Discovering and understanding android sensor usage behaviors with data flow analysis
CN117321584A (zh) 高数据i/o比模块的处理管理
CN110516447A (zh) 一种识别终端模拟器的方法与设备
Allievi et al. Windows Internals, Part 2
CN114830099A (zh) 集成引用和次对象的标记
Li et al. Detection malicious Android application based on simple-Dalvik intermediate language
KR102651294B1 (ko) 화면 구성 요소에 대한 정보 수집을 지원하는 방법
KR102202923B1 (ko) 공유 모듈 환경 내의 모듈 특정 트레이싱 기법
EP4312401A1 (en) Methods and systems for analyzing environment-sensitive malware with coverage-guided fuzzing
Ruchkin et al. Intelligent Security Strategy Based on the Selection of the Computer and Neural Network Architecture

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