CN101027640A - 为与虚拟机监控程序相关联的定时器提供支持 - Google Patents
为与虚拟机监控程序相关联的定时器提供支持 Download PDFInfo
- Publication number
- CN101027640A CN101027640A CNA200580032344XA CN200580032344A CN101027640A CN 101027640 A CN101027640 A CN 101027640A CN A200580032344X A CNA200580032344X A CN A200580032344XA CN 200580032344 A CN200580032344 A CN 200580032344A CN 101027640 A CN101027640 A CN 101027640A
- Authority
- CN
- China
- Prior art keywords
- vmm
- timer value
- timer
- control
- value
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000012546 transfer Methods 0.000 claims description 30
- 238000003860 storage Methods 0.000 claims description 10
- 230000007423 decrease Effects 0.000 claims description 8
- 230000003247 decreasing effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 87
- 230000008569 process Effects 0.000 description 29
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Measurement Of Unknown Time Intervals (AREA)
Abstract
在一个实施例中,一种方法包括将控制从虚拟机监控程序(VMM)转移到虚拟机(VM),确定VMM定时器指示符被设为启用值,并标识由VMM配置的VMM定时器值。该方法还包括周期性地将定时源的当前值与VMM定时器值进行比较,如果定时源的当前值达到VMM定时器值则生成一内部事件,并响应于该内部事件将控制转移到VMM,而不在VMM和VM的任一个中导致事件处理过程。
Description
领域
本发明的实施例一般涉及虚拟机,尤其涉及为与虚拟机监控程序相关联的定时器提供支持。
背景
定时器和时间基准源一般由操作系统和应用软件用于调度和优化活动。例如,操作系统内核可使用定时器以允许多个用户级应用程序在时间上共享系统的资源(例如中央处理单元(CPU))。在个人计算机(PC)平台上使用的定时器的一个示例是8254可编程间隔定时器。该定时器可被配置成在指定的间隔后或周期性地发出中断。
时间基准源的一个示例是IntelPentium4的指令集架构(ISA)(本文中称为IA-32 ISA)中使用的时间戳计数器(TSC)。TSC是64位计数器,它在处理器的硬件复位后被设为0,然后在每个处理器时钟周期加1,即使当处理器被HLT指令暂停时。TSC不能用于生成中断。它仅是时间基准,用于测量时间间隔。IA-32 ISA提供用于读取TSC的值的指令(RDTSC)和用于写入TSC的指令(WRMSR)。当使用WRMSR来写入时间戳计数器时,仅32个个较低位可被写入;32个较高位被清0。
在虚拟机系统中,虚拟机监控程序(VMM)可能需要以类似于常规的操作系统的方式利用基于平台的定时器。例如,VMM可使用定时器来调度资源、保证安全性、提供服务质量等。
附图简述
在附图的各图中作为示例而不是限制示出了本发明,其中相同的参考标号指的是相似的元素,附图中:
图1示出本发明可在其中操作的虚拟机环境的一个实施例;
图2是用于为与VMM相关联的定时器提供支持的过程的一个实施例的流程图;
图3和4是利用VMM定时器来决定是否将控制返回给VMM的过程的两个实施例的流程图;以及
图5是用于配置与VMM相关联的定时器的过程的一个实施例的流程图。
实施例的描述
描述了用于为与虚拟机监控程序相关联的定时器提供支持的方法和装置。在以下描述中,为了解释起见,陈述了众多具体细节以提供对本发明的全面理解。然而,本领域的技术人员可以明白,可在没有这些具体细节的情况下实施本发明。
以下详细描述的某些部分是按照计算机系统的寄存器或存储器内的数据位上的操作的算法和符号表示来呈现的。这些算法描述和表示是由数据处理领域的技术人员用于将其工作的实质内容传达给本领的其它技术人员的手段。算法此处一般被认为是通往理想结果的操作的自一致序列。该操作是需要对物理量的物理处理的那些操作。通常,尽管未必如此,但这些量可采用能够被存储、传输、组合、比较和用其它方式处理的电或磁信号的形式。已证明有时主要是出于公共用法的原因将这些信号称为位、值、元素、码元、字符、项、数等是方便的。
然而,应该记住,所有这些和类似的术语都与适当的物理量相关联,且仅仅是应用于这些量的方便的标记。除非明确说明,否则正如从以下讨论中所清楚的,应意识到在整个说明书讨论中利用了诸如“处理”、“计算”、“演算”、“确定”等术语来指计算系统或类似的电子计算设备的动作和/或进程,它们将表示为计算系统的寄存器和存储器内的物理(电子)量的数据处理和变换成同样表示为计算系统的存储器、寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。
在以下实施例的详细描述中,对作为说明示出其中可实施本发明的特定实施例的附图进行了参考。在附图中,相同的编号在各附图中描述基本类似的组件。足够详细地描述了这些实施例以使本领域的技术人员能够实施本发明。在不背离本发明的范围的情况下可利用其它实施例并作出结构、逻辑和电的改变。此外,应该理解,本发明的各实施例尽管是不同的,但未必是互斥的。例如,在一个实施例中描述的特定的特征、结构或特性可被包含在其它实施例中。因此,以下详细描述不应理解为限制的意思,且本发明的范围仅由所附权利要求书连同该权利要求书授权的全范围的等价技术方案来定义。
尽管以下的示例可描述在执行单元和逻辑电路的上下文中向与虚拟机监控程序(VMM)相关联的定时器提供支持,但本发明的其它实施例可通过软件来实现。例如,在某些实施例中,本发明可作为计算机程序产品或软件来提供,它可包括其上存储了指令的机器或计算机可读介质,该指令可用于对计算机(或其它电子设备)编程以执行根据本发明的进程。在其它实施例中,本发明的进程可由含有用于执行该进程的硬连线逻辑的专用硬件组件来执行,或者由编程的计算机组件和自定义硬件组件的任何组合来执行。
因此,机器可读介质可包括用于以机器(例如,计算机)可读形式存储或传输信息的任何机制,但不限于软盘、光盘、紧致盘、只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、因特网上的传输、电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)上。
此外,一种设计可经历从创建到模拟到制造的各种阶段。表示一种设计的数据可用多种方式来表示该设计。首先,正如模拟中使用的,硬件可利用硬件描述语言或另一种功能描述语言来表示。此外,具有逻辑和/或晶体管门的电路级模型可在设计过程的某些阶段中产生。此外,大部分设计在某些阶段达到表示硬件模型中的各个设备的物理布置的数据级。在采用常规的半导体制造技术的情况中,表示硬件模型的数据可以是指定用于产生集成电路的掩模的不同的掩模层上各种特征的存在或不存在的数据。在设计的任何表示中,可将数据存储在任何形式的机器可读介质中。调制或另外生成以传输该信息的光波或电波、存储器、诸如磁盘之类的磁性或光学存储可以是机器可读介质。这些介质中的任一种可“携带”或“指示”设计或软件信息。当发送指示或携带代码或设计的电载波时,就执行电信号的复制、缓冲或重新传输而言,作出了新的副本。因此,通信供应商或网络供应商可制作体现本发明的技术的制品(载波)的副本。
图1示出本发明可在其中操作的虚拟机环境的一个实施例。在该实施例中,裸平台硬件116包括能够例如执行标准操作系统(OS)或诸如VMM 112之类的虚拟机监控程序(VMM)的计算平台。
VMM 112尽管一般用软件来实现,但可仿真并导出至较高级软件的裸机接口。这种较高级的软件可包括标准或实时OS,可以是具有有限的操作系统功能的高度拆分的操作环境,可以不包括传统的OS工具等。或者,例如,VMM 112可在另一个VMM内或其上运行。例如,VMM可用硬件、软件、固件或通过各种技术的组合来实现。
平台硬件116可以属于个人计算机(PC)、大型机、手持式设备、便携式计算机、机顶盒或任何其它计算系统。平台硬件116包括处理器118和存储器120。
处理器118可以是诸如微处理器、数字信号处理器、微控制器等能够执行软件的任何类型的处理器。处理器118可包括用于实现本发明的方法实施例的执行的微码、可编程逻辑或硬编码逻辑。尽管图1仅示出一个这样的处理器118,但该系统中可有一个或多个处理器。
存储器120可以是硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存、以上设备的组合、或者可由处理器118读取的任何其它类型的机器介质。存储器120可存储用于实现本发明的方法实施例的执行的指令和/或数据。
VMM 112可向其它软件(即,“客机”软件)呈现一个或多个虚拟机(VM)的抽象,它可向各客机提供相同或不同的抽象。图1示出两个VM,即102和104。在每一个VM上运行的客机软件可包括诸如客机OS 104或106等客机OS和各种客机软件应用程序108和110。客机OS 104和106的每一个都期望访问客机OS 104或106在其上运行的VM 102和114内的物理资源(例如,处理器寄存器、存储器和I/O设备)并执行其它功能。例如,根据VM 102和114中存在的处理器和平台的架构,客机OS 104或106期望可对所有寄存器、高速缓存、结构、I/O设备、存储器等进行访问。可由客机软件访问的资源可分为“特许的”或“非特许的”。对于特许资源,VMM 112促进客机软件所期望的功能,同时保留对这些特许资源的最终控制。非特许资源不需要由VMM 112控制,并可由客机软件访问。
此外,每一个客机OS期望处理诸如异常(例如页错误、一般保护错误等)、中断(例如,硬件中断、软件中断)以及平台事件(例如,初始化(INIT)和系统管理中断(SMI))等各种错误事件。这些错误事件中的某一些是“特许的”,因为它们必须由VMM 112处理以确保VM 102和104的正确操作并针对客机软件和在客机软件中进行保护。
当特许错误事件发生或客机软件试图访问特许资源时,控制可被传递到VMM112。控制从客机软件到VMM 112的传递在本文中称为VM退出。在促进资源访问或适当处理事件后,VMM 112可将控制返回给客机软件。控制从VMM 112到客机软件的传递称为VM进入。
在一个实施例中,处理器118根据存储在虚拟机控制结构(VMCS)124中的数据来控制VM 102和104的操作。VMCS 124是一种可包含客机软件的状态、VMM112的状态、指示VMM 112如何希望控制客机软件的操作的执行控制信息、控制VMM 112和VM之间的转换的信息等的结构。处理器118从VMCS 124中读取信息以确定VM的执行环境并约束其行为。在一个实施例中,VMCS被存储在存储器120中。在某些实施例中,使用多个VMCS结构来支持多个VM。
在一个实施例中,当发生VM退出时,保存由客机软件使用的处理器状态的分量,加载由VMM 112要求的处理器状态的分量,并且执行在VMM 112中重新开始。在一个实施例中,由客机软件使用的处理器状态的分量被存储在VMCS 124的客机状态区中,而由VMM 112要求的处理器状态的分量被存储在VMCS 124的监控程序状态区中。在一个实施例中,当发生从VMM 112到客机软件的转移时,在VM退出时保存的处理器状态(并且在处理VM退出的同时可能由VMM 112修改)被恢复且控制返回到VM 102或114。
导致VM退出的事件可能要求或不要求“事件处理”过程的执行。事件处理过程指改变处理器上执行的代码的控制流的事件报告,即使没有分支要求这一改变存在于代码中。事件报告一般在事件是异常或中断时执行,并要求保存运行代码的状态(例如,在栈上),从而通过遍历一重定向结构(例如,IntelPentium4指令集架构(ISA)(本文中称为IA-32 ISA)中的中断描述符表(IDT)),加载事件处理程序的状态,并开始在新代码中执行来定位一中断向量。当在VM 102和104的操作期间发生异常或中断,且该异常或中断应由VMM 112处理(例如,不是由运行的VM 102或104发起或代表其发起的I/O操作的I/O完成中断)时,事件处理过程在退出运行的VM 102或114后执行(即,将控制转移到VMM 112)。
某些事件不要求上述事件处理过程在VMM 112或VM 102或114中执行。这种事件在本文中称为内部事件。例如,VM 102或114可导致VMM 112已出页但VM 102或114期望驻留的页上的页错误。这种页错误不能引起事件处理过程,以防止虚拟化违例。相反,该页错误利用VM退出来处理,这导致VM状态被保存在VMCS 124中,同时执行在VMM 112中重新开始,这将处理该页错误并将控制转移回VM 102或114。
VMM 112可能需要在VM 102或114的操作期间获得控制,以调度资源、提供服务质量、确保安全性并执行其它功能。因此,VMM 112需要具有允许VMM 112指示用于获得控制的理想的时间的定时器机制。在一个实施例中,VMM 112包括在请求控制向VM 102或114的转移之前提供用于与VMM定时器相关联的字段的值的定时器配置模块126。这些字段可包括例如指定是否应启用VMM定时器的VMM定时器指示符以及指示用于重新获得控制的理想的时间的VMM定时器值字段。
在一个实施例中,VMM定时器指示符和VMM定时器值被存储在VMCS 124中。或者,VMM定时器指示符和VMM定时器值可驻留在处理器118中、存储器120和处理器118的组合中、或任何其它一个或多个存储位置中。在一个实施例中,对VM 102和114的每一个维护一对单独的VMM定时器指示符和VMM定时器值。或者,对VM 102和144两者维护同一VMM定时器指示符和VMM定时器值,并在每一次VM进入前由VMM 112更新。
在其中系统100包括多个处理器或多线程处理器的一个实施例中,逻辑处理器的每一个与一对单独的VMM定时器指示符和VMM定时器值相关联,且VMM112对逻辑处理器的每一个配置该VMM定时器指示符和VMM定时器值。
在一个实施例中,处理器118包括负责基于VMM定时器指示符来确定是否启用VMM定时器的VMM定时器支持逻辑122。如果VMM定时器被启用,则VMM定时器支持逻辑122利用由VMM 112指定的VMM定时器值来决定何时将控制转移到VMM 112。
在一个实施例中,VMM定时器值指定应将控制返回给VMM112的时间。在VM 102或114的操作期间,VMM定时器支持逻辑122周期性地(例如,在由当前操作的VM 102或104执行的每一个周期后)将定时源的当前值与由VMM 112指定的VMM定时器值进行比较。定时源可以是由系统100用于测量时间间隔的任何时钟。例如,在IA-32 ISA中,用于测量时间间隔的定时源可以是时间戳计数器(TSC)。
当由定时源提供的当前时间“达到”由VMM 112指定的VMM定时器值时,VMM定时器支持逻辑122将控制转移到VMM 112,指示转移的原因是VMM定时器。如果当前时间匹配VMM定时器值或超过该定时器值(在当前时间和VMM定时器值之间的精确匹配是不可能的时候),则当前时间“达到”VMM定时器值。
在另一个实施例中,VMM定时器值指定在其结束时VMM 112应获得控制的时间间隔。在VM 102或114的操作期间,VMM定时器支持逻辑122将该时间间隔用作递减计数值,从而将其周期性地递减(例如,时钟的每N个时钟报时信号)。当递减计数值达到0时,VMM定时器支持逻辑122将控制转移到VMM 112。在一个实施例中,如果VM退出在递减计数值的期满前发生(例如,由于VM的操作期间所检测到的错误),则VMM定时器支持逻辑122将当前的递减计数值存储到VMCS 124中。所存储的递减计数值可取代先前由VMM 112指定的VMM计数器值,或者在指定的递减计数值字段中维护。
图2是用于为与VMM相关联的定时器提供支持的过程200的一个实施例的流程图。该过程可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(诸如通用计算机系统或专用机上运行的软件)或两者的组合的处理逻辑来执行。在一个实施例中,过程200由图1的VMM定时器支持逻辑122来执行。
参考图2,过程200以处理逻辑接收将控制从VMM转移到VM的请求(即,对于VM进入的请求)开始(处理框202)。在一个实施例中,VM进入请求经由由VMM执行的VM进入指令接收。
接着,处理逻辑确定VMM定时器指示符是否被设为启用值(处理框204)。VMM定时器指示符由VMM配置并可被设为启用值以指示VMM定时器机制被启用。如以上所讨论的,VMM定时器机制(本文中也称为VMM定时器)允许VMM在VM操作期间的特定时间点处获得控制。
如果在处理框204处确定为否定(VMM定时器标识符被设为禁用值),则处理逻辑前进到处理框210。
如果在处理框204处确定为肯定,则处理逻辑标识由VMM配置的VMM定时器值(处理框206)。在一个实施例中,处理逻辑通过从VMCS检索VMM定时器值来标识VMM定时器值。VMM在发出VM进入请求前将VMM定时器值存储到VMCS中。在处理框208处,处理逻辑利用VMM定时器值来配置并启用VMM定时器。
在一个实施例中,VMM定时器值指定应将控制返回到VMM的时间。VMM可通过在计算时将偏移值(即,指定允许VM执行多长时间的时间间隔)加到由VMM读取的定时源的值来计算该定时器值。在另一个实施例中,VMM定时器值是指定允许VM执行多长时间的偏移时间间隔。
接着,处理逻辑将控制转移到VM(处理框210),并允许VM执行直到与VM退出相关联的事件发生(处理框212)。在一个实施例中,如果将与事件相关联的执行控制指示符设为VM退出值以引起对于该事件的VM退出,则该事件与VM退出相关联。
在处理框214处,禁用VMM定时器。注意,如果在处理框208中未启用VMM,则不需要该处理步骤。接着,如果事件是与VM退出相关联的非VMM定时器事件(例如,错误)(处理框216),则处理逻辑将控制返回给VMM,指示VM退出的原因(处理框218)。
或者,如果事件是由VMM定时器引起的(处理框216),则处理逻辑将控制转移到VMM,指示VM退出是由VMM定时器引起的(处理框220)。
VMM定时器将基于由VMM指定的VMM定时器值来生成触发VM退出的事件。在其中VMM定时器值指定VMM期望获得控制的时间的一个实施例中,处理逻辑通过周期性地将时钟的当前值(例如,TSC或某些其它的定时基准)与VMM定时器值进行比较直到检测到时钟达到VMM定时器值来作出以上判定。在其中VMM定时器值是指定允许VM执行多长时间的偏移时间值的另一个实施例中,处理逻辑通过周期性地递减偏移时间值直到检测到偏移时间值达到0来作出以上判定。
应该注意,图2示出其中由非VMM定时器事件引起的VM退出可具有比由VMM定时器引起的VM退出高的优先级的实施例。然而,该优先化取决于所采用的优先化方案可以不同,并且由此,有关由非VMM定时器事件引起的VM退出的判定可在有关由VMM定时器事件引起的VM退出的判定后作出(处理框214)。此外,某些非VMM定时器事件可具有较高的优先级,而其它非VMM定时器事件可具有比VMM定时器事件低的优先级。
图3和4是利用VMM定时器来决定是否将控制返回给VMM的过程的两个实施例的流程图。该过程可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(诸如通用计算机系统或专用机上运行的软件)或两者的组合的处理逻辑来执行。在一个实施例中,该过程可由图1的VMM定时器支持逻辑122来执行。
参考图3,过程300利用指定应将控制返回给VMM的时间的VMM定时器值。如上所讨论的,VMM可通过在计算时将偏移值(即,指定允许VM执行多长时间的时间间隔)加到由VMM读取的定时源的值来计算该定时器值。
过程300在如图2所示的确定VMM定时器被启用、标识由VMM配置的VMM定时器值并将控制转移到VM之后开始。
最初,在VM的操作期间,处理逻辑确定由定时源提供的当前时间是否达到VMM定时器值(处理框302)。如以上所讨论的,定时源可以是系统100用于测量时间间隔的任何时钟。例如,支持IA-32 ISA的处理器可使用TSC来测量时间间隔。
在一个实施例中,并非定时源中的所有位都可以与VMM定时器值进行比较。相反,可以仅比较高位。比较的位数称为VMM定时器比较符长度。在一个实施例中,VMM可通过利用RDMSR指令读取能力模型专用寄存器(MSR)来确定VMM定时器比较符长度。在其中TSC用作定时源的一个实施例中,处理框302的确定通过将TSC的较高位与VMM定时器值的相同的较高位进行比较来作出,且如果TSC的值大于或等于VMM定时器值,则满足处理框302中的比较。
如果定时源的当前时间达到VMM定时器值,则处理逻辑创建一内部事件并生成VM退出,指示VM退出的原因是由于VMM定时器引起的(处理框304)。正如以上所讨论的,因为VM退出是由内部事件引起的,所以执行将在VMM中重新开始而不执行通常在退出VMM后对中断或异常执行的事件处理过程。
如果定时源的当前时间没有达到VMM定时器值,则处理逻辑检验与VM退出相关联的非VMM定时器事件(处理框306)。如果发生这一事件,则处理逻辑生成VM退出并指示VM退出的源(处理框308)。否则,处理逻辑返回到处理框302。取决于非VMM定时器事件的性质(例如,非VMM定时器事件是内部中断还是内部事件),退出VM后可以有或没有事件处理过程。
在一个实施例中,当前时间和VMM定时器值之间的比较(处理框302所示)在由VM执行的每个周期后执行,直到当前时间达到或超过VMM定时器值。
在一个实施例中,在被配置成在当前时间匹配VMM定时器值时生成信号的硬件组件中执行比较。该信号指示由于VMM定时器应生成VM退出。在一个实施例中,该信号在当前执行的指令的结束处识别(例如,由微码或另一硬件组件)。所识别的信号指示要求由于VMM定时器引起的VM退出。然后将该要求与其它VM退出源排定优先级(例如,由微码或另一硬件组件),并生成至VMM的适当VM退出。即,如果VMM定时器源的优先级比其它VM退出源高,则生成由于VMM定时器引起的VM退出。如果除VMM定时器外的VM退出源的优先级比VMM定时器高,则生成由于该其它源引起的VM退出。
参考图4,过程400利用指定指示允许VM执行多长时间的偏移值的VMM定时器值。过程400在如图2所示的确定VMM定时器被启用并标识由VMM配置的VMM定时器值之后开始。
最初,处理逻辑将由VMM配置的偏移值(例如,如存储在VMCS中的预占定时器字段中的)作为递减计数值存储在寄存器中(处理框402)。接着,处理逻辑将控制转移到VM(处理框403)。在将控制转移到VM后,处理逻辑开始以与时钟递增成正比的速率递减该递减计数值(例如,每N个时钟报时信号)(处理框404)。在每一次递减后,处理逻辑检查递减计数值是否达到0(处理框406)。注意,递减计数值的递减可导致值变为负。在该情况下,在一个实施例中,不允许值低于0(即,递减在0处停止)。或者,可允许值低于0,在该情况下处理框406处的确定可通过值达到0或穿过0来确定。如果递减计数值达到(匹配或穿过)0,则处理逻辑发出一内部事件并生成VM退出,指示VM退出的源是VMM定时器(处理框412)。在一个实施例中,一旦处理框406中的确定为肯定,则生成在当前执行的指令结束时识别的信号(例如,由微码或硬件组件)。该信号的识别指示可要求由于VMM定时器引起的VM退出。然后,将该要求与其它VM退出源排定优先级(例如,由微码),并如上所述地生成至VMM的适当VM退出。
如果递减计数值没有达到0,则处理逻辑检查与VM退出相关联的非VMM定时器事件(处理框408)。如果发生这一事件,则处理逻辑将当前递减计数值存储到VMCS(处理框410)并生成VM退出,指示该VM退出的源(处理框414)。否则,处理逻辑返回到处理框404。
在一个实施例中,处理框410中递减计数定时器值的存储由存储在VMCS中的存储VMM定时器控制值来控制。如果存储VMM定时器控制被设为启用值,则将递减计数定时器的值作为VM退出处理的一部分来存储(例如,至VMCS)。在一个实施例中,如果存储VMM计数器控制没有被设为启用值,则将值0存储到由VMM配置的偏移值(例如,至VMCS中的字段)。在另一个实施例中,如果存储VMM定时器控制没有被设为启用值,则不修改由VMM配置的偏移值。
图5是用于配置与VMM相关联的定时器的过程500的一个实施例的流程图。该过程可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(诸如通用计算机系统或专用机上运行的软件)或两者的组合的处理逻辑来执行。在一个实施例中,过程500可由图1的定时器配置模块126来执行。
参考图5,过程500以处理逻辑确定VMM定时器值(处理框502)并将其存储在VMCS中(处理框504)开始。在一个实施例中,VMM定时器值指定应将控制返回给VMM的时间。以下提供计算VMM定时器值的例子。
接着,处理逻辑将VMM定时器指示符设为启用值(处理框506),并发出请求以将控制转移到VM(VM进入请求)(处理逻辑508)。
随后,当生成从VM的VM退出时,处理逻辑接收回控制(处理框510)并确定是否由于VMM定时器而要将返回控制(处理框512)。如果是,则处理逻辑可执行期望的操作,然后生成至同一VM或不同VM的VM进入。
在生成VM进入之前,处理逻辑可能需要更新VM定时器指示符和/或VM定时器值(处理框514)。在一个实施例中,在VM退出前将剩余的时间保存在VMCS中(如以上参考图4讨论的)。在另一个实施例中,在从VM接收控制后由处理逻辑计算剩余的时间。
在一个实施例中,使用VMM定时器拉确定用于VM的调度量。当VM被调度执行时,由VMM将一量值分配给该VM。该值最初用于VMM定时器值。在转移到VM后,处理逻辑将如参考图4所述的利用递减计数VMM定时器值。在将控制转移到VMM前,处理逻辑确定在分配给VM的时间量中剩余多少时间。在一个实施例中,处理逻辑在将控制转移到VM前并在从VM接收控制时通过读取定时源的时间值来计算剩余的时间。这两个值之差指示VM执行多长时间。然后将该值从分配给VM的时间中减去。当剩余的时间值达到0时,消耗了VM调度量,然后VMM可调度一不同的VM执行。
在一个实施例中,使用VMM定时器来限制可用在VM中的最大时间。在计算时将偏移值(即,指定允许VM执行多长时间的时间间隔)加到由VMM读取的定时源的值上。该值用作VMM定时器值。在转移到VM后,处理逻辑将如参考图3所述地利用该值。在每次控制转移到VM时使用该同一值。在该实施例中,VMM定时器在缺少其它VM退出源的情况下用作监视定时器,从而限制VM中的最长执行时间。注意,在一个实施例中,递减计数定时器(如参考图4所描述的)也可用于实现监视定时器机制。
因此,描述了用于为与VMM相关联的定时器提供支持的方法和装置。应该理解,以上描述旨在说明而不是限制。在阅读并理解了以上描述后,本领域的技术人员将清楚其它实施例。因此,本发明的范围应参考所附权利要求书连同该权利要求书授权的全范围的等价技术方案来确定。
Claims (25)
1.一种方法,包括:
将控制从虚拟机监控程序VMM转移到虚拟机VM;
确定VMM定时器指示符被设为启用值;
标识由所述VMM配置的VMM定时器值;
周期性地将定时源的当前值与所述VMM定时器值进行比较;
如果所述定时源的当前值达到所述VMM定时器值,则生成一内部事件;以及
响应于所述内部事件将控制转移到所述VMM,而不在所述VMM和所述VM的任一个中导致事件处理过程。
2.如权利要求1所述的方法,其特征在于,还包括:
将控制转移到所述VMM;以及
通知所述VMM,由于VMM定时器值而将控制返回给所述VMM。
3.如权利要求1所述的方法,其特征在于,标识由所述VMM配置的所述VMM定时器值包括从虚拟机控制结构VMCS中检索所述VMM定时器值。
4.如权利要求4所述的方法,其特征在于,周期性地比较所述定时源的当前值包括:
在由所述VM执行的每一个周期后将所述定时源的当前值与所述VMM定时器值进行比较。
5.一种方法,包括:
将控制从虚拟机监控程序VMM转移到虚拟机VM;
确定VMM定时器指示符被设为启用值;
每隔预定数量的定时源报时信号递减VMM定时器值,同时执行所述VM;
如果确定所述VMM定时器值达到0则生成一内部事件;以及
响应于所述内部事件将控制转移到所述VMM,而不在所述VMM和所述VM的任一个中导致事件处理过程。
6.如权利要求5所述的方法,其特征在于,还包括:
检测与向所述VMM的控制转移相关联的错误;
在虚拟机控制结构VMCS中存储递减的VMM定时器值;以及
将控制转移到所述VMM。
7.如权利要求5所述的方法,其特征在于,还包括:
将所述VMM定时器值存储在寄存器中。
8.一种装置,包括:
虚拟机监控程序VMM;
由所述VMM控制的数据结构,所述数据结构存储由所述VMM配置的VMM定时器指示符和VMM定时器值;以及
VMM定时器支持逻辑,用于将控制从所述VMM转移到虚拟机VM、确定所述VMM定时器指示符被设为启用值、周期性地将定时源的当前值与所述VMM定时器值进行比较、如果所述定时源的当前值达到所述VMM定时器值则生成一内部事件、以及响应于所述内部事件将控制转移到所述VMM而不在所述VMM和所述VM的任一个中导致事件处理过程。
9.如权利要求8所述的装置,其特征在于,所述VMM定时器支持逻辑还用于将控制转移到所述VMM,并通知所述VMM由于所述VMM定时器值而将控制返回给所述VMM。
10.如权利要求8所述的装置,其特征在于,所述VMM定时器逻辑用于通过在由所述VM执行的每一个周期后将所述定时源的当前值与所述VMM定时器值进行比较来周期性地比较所述定时源的当前值。
11.一种装置,包括:
虚拟机监控程序VMM;
由所述VMM控制的数据结构,所述数据结构存储VMM定时器指示符;以及
VMM定时器支持逻辑,用于将控制从所述VMM转移到虚拟机VM、确定所述VMM定时器指示符被设为启用值、每隔预定数量的定时源报时信号递减VMM定时器值,同时执行所述VM、如果确定所述VMM定时器值达到0则生成一内部事件、以及响应于所述内部事件将控制转移到所述VMM而不在所述VMM和所述VM的任一个中导致事件处理过程。
12.如权利要求11所述的装置,其特征在于,所述VMM定时器支持逻辑还用于在确定所述VMM定时器达到0前检测与向所述VMM的控制转移相关联的错误、在由所述VMM控制的数据结构中存储递减的VMM定时器值、以及将控制转移到所述VMM。
13.如权利要求11所述的装置,其特征在于,还包括:
用于存储所述VMM定时器值的寄存器。
14.一种系统,包括:
用于存储定时器指示符和定时器值的存储器;以及
耦合到所述存储器的处理器,用于利用所述定时器指示符来确定在虚拟机VM的操作期间启用了虚拟机监控程序VMM定时器、周期性地将定时源的当前值与所述定时器值进行比较、如果所述定时源的当前值达到所述定时器值则生成一内部事件、响应于所述内部事件将控制转移到所述VMM而不在所述VMM和所述VM的任一个中导致事件处理过程。
15.如权利要求14所述的系统,其特征在于,所述处理器还用于将控制转移到所述VMM,并通知所述VMM由于所述VMM定时器值而将控制返回给所述VMM。
16.如权利要求14所述的系统,其特征在于,所述处理器通过在由所述VM执行的每一个周期后将所述定时源的当前值与所述VMM定时器值进行比较来周期性地比较所述定时源的当前值。
17.一种系统,包括:
用于存储定时器指示符的存储器;以及
耦合到所述存储器的处理器,用于利用所述定时器指示符来确定在虚拟机VM的操作期间启用了虚拟机监控程序VMM定时器、每隔预定数量的定时源报时信号递减VMM定时器值,同时执行所述VM、如果确定所述VMM定时器值达到0则生成一内部事件、以及响应于所述内部事件将控制转移到所述VMM而不在所述VMM和所述VM的任一个中导致事件处理过程。
18.如权利要求17所述的系统,其特征在于,所述处理器还用于在确定所述VMM定时器达到0前检测与向所述VMM的控制转移相关联的错误、在由所述VMM控制的数据结构中存储递减的VMM定时器值、以及将控制转移到所述VMM。
19.如权利要求17所述的系统,其特征在于,还包括:
用于存储所述VMM定时器值的寄存器。
20.一种含有指令的机器可读介质,所述指令在由处理系统执行时使得所述处理系统执行一种方法,所述方法包括:
将控制从虚拟机监控程序VMM转移到虚拟机VM;
确定VMM定时器指示符被设为启用值;
标识由所述VMM配置的VMM定时器值;
周期性地将定时源的当前值与所述VMM定时器值进行比较;
如果所述定时源的当前值达到所述VMM定时器值,则生成一内部事件;以及
响应于所述内部事件将控制转移到所述VMM,而不在所述VMM和所述VM的任一个中导致事件处理过程。
21.如权利要求20所述的机器可读介质,其特征在于,所述方法还包括:
将控制转移到所述VMM;以及
通知所述VMM,由于所述VMM定时器值而将控制返回给所述VMM。
22.如权利要求20所述的机器可读介质,其特征在于,标识由所述VMM配置的VMM定时器值包括从虚拟机控制结构VMCS中检索所述VMM定时器值。
23.一种含有指令的机器可读介质,所述指令在由处理系统执行时使得所述处理系统执行一种方法,所述方法包括:
将控制从虚拟机监控程序VMM转移到虚拟机VM;
确定VMM定时器指示符被设为启用值;
每隔预定数量的定时源报时信号递减VMM定时器值,同时执行所述VM;
如果确定所述VMM定时器值达到0则生成一内部事件;以及
响应于所述内部事件将控制转移到所述VMM,而不在所述VMM和所述VM的任一个中导致事件处理过程。
24.如权利要求23所述的机器可读介质,其特征在于,所述方法还包括:
检测与向所述VMM的控制转移相关联的错误;
在虚拟机控制结构VMCS中存储所述递减的VMM定时器值;以及
将控制转移到所述VMM。
25.如权利要求23所述的机器可读介质,其特征在于,所述方法还包括:
将所述VMM定时器值存储在寄存器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/956,239 | 2004-09-30 | ||
US10/956,239 US7840962B2 (en) | 2004-09-30 | 2004-09-30 | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101027640A true CN101027640A (zh) | 2007-08-29 |
CN100514297C CN100514297C (zh) | 2009-07-15 |
Family
ID=35759192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200580032344XA Expired - Fee Related CN100514297C (zh) | 2004-09-30 | 2005-09-21 | 为与虚拟机监控程序相关联的定时器提供支持 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7840962B2 (zh) |
JP (1) | JP4564536B2 (zh) |
CN (1) | CN100514297C (zh) |
DE (1) | DE112005002360T5 (zh) |
WO (1) | WO2006039202A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441498B (zh) * | 2007-11-19 | 2010-06-09 | 联想(北京)有限公司 | 虚拟机监视器、虚拟机系统及其时钟分配使用方法 |
CN103488522A (zh) * | 2013-09-22 | 2014-01-01 | 华为技术有限公司 | 一种管理虚拟机的设备的方法及设备 |
CN104995602A (zh) * | 2013-03-12 | 2015-10-21 | 英特尔公司 | 分层虚拟机完整性监视 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8214830B2 (en) * | 2005-01-19 | 2012-07-03 | Intel Corporation | Performance in a virtualization architecture with a processor abstraction layer |
US7644258B2 (en) | 2005-08-29 | 2010-01-05 | Searete, Llc | Hybrid branch predictor using component predictors each having confidence and override signals |
US8275976B2 (en) * | 2005-08-29 | 2012-09-25 | The Invention Science Fund I, Llc | Hierarchical instruction scheduler facilitating instruction replay |
US9176741B2 (en) | 2005-08-29 | 2015-11-03 | Invention Science Fund I, Llc | Method and apparatus for segmented sequential storage |
US20070083735A1 (en) * | 2005-08-29 | 2007-04-12 | Glew Andrew F | Hierarchical processor |
US8296550B2 (en) * | 2005-08-29 | 2012-10-23 | The Invention Science Fund I, Llc | Hierarchical register file with operand capture ports |
US7801128B2 (en) | 2006-03-31 | 2010-09-21 | Amazon Technologies, Inc. | Managing communications between computing nodes |
US8607228B2 (en) | 2006-08-08 | 2013-12-10 | Intel Corporation | Virtualizing performance counters |
JP4358224B2 (ja) * | 2006-12-27 | 2009-11-04 | 株式会社東芝 | ゲストosスケジューリング方法及び仮想計算機モニタ |
US8181175B1 (en) * | 2008-01-28 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Accounting for resource usage time by a virtual machine |
US10521265B2 (en) * | 2008-09-19 | 2019-12-31 | Microsoft Technology Licensing, Llc | Coalescing periodic timer expiration in guest operating systems in a virtualized environment |
JP4769308B2 (ja) * | 2009-01-20 | 2011-09-07 | 株式会社東芝 | 仮想計算機管理機構、同管理機構を有する仮想計算機システム及び同システムにおけるページング処理方法 |
US9405347B2 (en) | 2009-02-26 | 2016-08-02 | Microsoft Technology Licensing, Llc | Power-saving operating system for virtual environment |
JP4961459B2 (ja) * | 2009-06-26 | 2012-06-27 | 株式会社日立製作所 | 仮想計算機システムおよび仮想計算機システムにおける制御方法 |
EP2402858B1 (en) * | 2010-06-29 | 2014-03-05 | Samsung SDS | Client Hypervisor-Based Terminal Device and Operating Method Thereof |
US8468524B2 (en) * | 2010-10-13 | 2013-06-18 | Lsi Corporation | Inter-virtual machine time profiling of I/O transactions |
US8930647B1 (en) | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US9164679B2 (en) | 2011-04-06 | 2015-10-20 | Patents1, Llc | System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class |
US9170744B1 (en) | 2011-04-06 | 2015-10-27 | P4tents1, LLC | Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system |
US9158546B1 (en) | 2011-04-06 | 2015-10-13 | P4tents1, LLC | Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory |
US9176671B1 (en) | 2011-04-06 | 2015-11-03 | P4tents1, LLC | Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system |
US9417754B2 (en) | 2011-08-05 | 2016-08-16 | P4tents1, LLC | User interface system, method, and computer program product |
US9015838B1 (en) * | 2012-05-30 | 2015-04-21 | Google Inc. | Defensive techniques to increase computer security |
US8813240B1 (en) | 2012-05-30 | 2014-08-19 | Google Inc. | Defensive techniques to increase computer security |
US9223602B2 (en) * | 2012-12-28 | 2015-12-29 | Intel Corporation | Processors, methods, and systems to enforce blacklisted paging structure indication values |
US9535846B2 (en) | 2014-07-28 | 2017-01-03 | International Business Machines Corporation | Using a decrementer interrupt to start long-running hardware operations before the end of a shared processor dispatch cycle |
US9875047B2 (en) * | 2015-05-27 | 2018-01-23 | Red Hat Israel, Ltd. | Exit-less host memory locking in a virtualized environment |
US10203977B2 (en) | 2015-11-25 | 2019-02-12 | Red Hat Israel, Ltd. | Lazy timer programming for virtual machines |
US10437623B2 (en) * | 2015-12-24 | 2019-10-08 | Intel IP Corporation | Fast switching between virtual machines without interrupt virtualization for high-performance, secure trusted-execution environment |
US20210026950A1 (en) * | 2016-03-07 | 2021-01-28 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
US10459747B2 (en) * | 2016-07-05 | 2019-10-29 | Red Hat Israel, Ltd. | Exitless timer access for virtual machines |
US11169857B2 (en) * | 2018-05-25 | 2021-11-09 | Red Hat, Inc. | System and method for reserving a portion of CPU time for host execution |
US11182184B2 (en) * | 2019-10-23 | 2021-11-23 | Red Hat, Inc. | Implementing high-performance virtual machines for bare metal simulation |
US11144419B2 (en) | 2019-10-25 | 2021-10-12 | Red Hat, Inc. | Controlled use of a memory monitor instruction and memory wait instruction in a virtualized environment |
US11550649B2 (en) * | 2021-03-17 | 2023-01-10 | Qualcomm Incorporated | System-on-chip timer failure detection and recovery using independent redundant timers |
US12039362B2 (en) * | 2022-05-17 | 2024-07-16 | Nvidia Corporation | Processing interrupt requests for autonomous systems and applications |
Family Cites Families (247)
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 |
JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
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 | アドレス変換装置 |
JPS62154037A (ja) * | 1985-12-26 | 1987-07-09 | 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 |
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 |
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 |
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 |
JPS63182749A (ja) * | 1987-01-26 | 1988-07-28 | Nec Corp | 計算機システムのタイマ制御装置 |
FR2618002B1 (fr) | 1987-07-10 | 1991-07-05 | Schlumberger Ind Sa | Procede et systeme d'authentification de cartes a memoire electronique |
US5007082A (en) | 1988-08-03 | 1991-04-09 | Kelly Services, Inc. | Computer software encryption apparatus |
US4974159A (en) * | 1988-09-13 | 1990-11-27 | Microsoft Corporation | Method of transferring control in a multitasking computer system |
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 | 仮想計算機システム |
JPH02206841A (ja) * | 1989-02-06 | 1990-08-16 | Fujitsu Ltd | 仮想計算機システム |
JPH02208740A (ja) | 1989-02-09 | 1990-08-20 | Fujitsu Ltd | 仮想計算機制御方式 |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
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 |
EP0473913A3 (en) | 1990-09-04 | 1992-12-16 | International Business Machines Corporation | Method and apparatus for providing a service pool of virtual machines for a plurality of vm users |
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 |
US5446904A (en) | 1991-05-17 | 1995-08-29 | Zenith Data Systems Corporation | Suspend/resume capability for a protected mode microprocessor |
JPH04348434A (ja) | 1991-05-27 | 1992-12-03 | Hitachi Ltd | 仮想計算機システム |
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 |
US5319760A (en) | 1991-06-28 | 1994-06-07 | Digital Equipment Corporation | Translation buffer for virtual machines with address space match |
US5455909A (en) | 1991-07-05 | 1995-10-03 | Chips And Technologies Inc. | Microprocessor with operation capture facility |
US5237669A (en) | 1991-07-15 | 1993-08-17 | Quarterdeck Office Systems, Inc. | Memory management method |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
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 |
EP0600112A1 (de) | 1992-11-30 | 1994-06-08 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff |
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 |
EP0602867A1 (en) | 1992-12-17 | 1994-06-22 | NCR International, Inc. | An apparatus for securing a system platform |
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 |
US5533123A (en) | 1994-06-28 | 1996-07-02 | National Semiconductor Corporation | Programmable distributed personal security |
US5978481A (en) | 1994-08-16 | 1999-11-02 | Intel Corporation | Modem compatible method and apparatus for encrypting data that is transparent to software applications |
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 |
US6058478A (en) | 1994-09-30 | 2000-05-02 | Intel Corporation | Apparatus and method for a vetted field upgrade |
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 |
US5903752A (en) * | 1994-10-13 | 1999-05-11 | Intel Corporation | Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system |
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 |
US6269392B1 (en) | 1994-11-15 | 2001-07-31 | Christian Cotichini | Method and apparatus to monitor and locate an electronic device using a secured intelligent agent |
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 |
FR2731536B1 (fr) | 1995-03-10 | 1997-04-18 | Schlumberger Ind Sa | Procede d'inscription securisee d'informations dans un support portable |
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エレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
IL116708A (en) | 1996-01-08 | 2000-12-06 | Smart Link Ltd | Real-time task manager for a personal computer |
EP0880840A4 (en) | 1996-01-11 | 2002-10-23 | Mrj Inc | DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY |
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 |
US5978892A (en) | 1996-05-03 | 1999-11-02 | Digital Equipment Corporation | Virtual memory allocation in a virtual address space having an inaccessible gap |
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 |
US6175925B1 (en) | 1996-06-13 | 2001-01-16 | Intel Corporation | Tamper resistant player for scrambled contents |
US6178509B1 (en) | 1996-06-13 | 2001-01-23 | Intel Corporation | Tamper resistant methods and apparatus |
US6205550B1 (en) | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
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 |
US5923884A (en) | 1996-08-30 | 1999-07-13 | Gemplus S.C.A. | System and method for loading applications onto a smart card |
US6055637A (en) | 1996-09-27 | 2000-04-25 | Electronic Data Systems Corporation | System and method for accessing enterprise-wide resources by presenting to the resource a temporary credential |
US5844986A (en) | 1996-09-30 | 1998-12-01 | Intel Corporation | Secure BIOS |
US5937063A (en) | 1996-09-30 | 1999-08-10 | Intel Corporation | Secure boot |
US5935242A (en) | 1996-10-28 | 1999-08-10 | Sun Microsystems, Inc. | Method and apparatus for initializing a device |
JPH10134008A (ja) | 1996-11-05 | 1998-05-22 | Mitsubishi Electric Corp | 半導体装置およびコンピュータシステム |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
DE19649292A1 (de) | 1996-11-28 | 1998-06-04 | Deutsche Telekom Ag | Verfahren zum Sichern eines durch eine Schlüsselhierarchie geschützten Systems |
US5901225A (en) | 1996-12-05 | 1999-05-04 | Advanced Micro Devices, Inc. | System and method for performing software patches in embedded systems |
US5757919A (en) | 1996-12-12 | 1998-05-26 | Intel Corporation | Cryptographically protected paging subsystem |
US5818939A (en) | 1996-12-18 | 1998-10-06 | Intel Corporation | Optimized security functionality in an electronic system |
US6412035B1 (en) | 1997-02-03 | 2002-06-25 | Real Time, Inc. | Apparatus and method for decreasing the response times of interrupt service routines |
US5953502A (en) | 1997-02-13 | 1999-09-14 | Helbig, Sr.; Walter A | Method and apparatus for enhancing computer system security |
JP4000654B2 (ja) | 1997-02-27 | 2007-10-31 | セイコーエプソン株式会社 | 半導体装置及び電子機器 |
US6272637B1 (en) | 1997-04-14 | 2001-08-07 | Dallas Semiconductor Corporation | Systems and methods for protecting access to encrypted information |
US6557104B2 (en) | 1997-05-02 | 2003-04-29 | Phoenix Technologies Ltd. | Method and apparatus for secure processing of cryptographic keys |
US6044478A (en) | 1997-05-30 | 2000-03-28 | National Semiconductor Corporation | Cache with finely granular locked-down regions |
US6075938A (en) | 1997-06-10 | 2000-06-13 | The Board Of Trustees Of The Leland Stanford Junior University | Virtual machine monitors for scalable multiprocessors |
US5987557A (en) | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
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 |
US6230118B1 (en) * | 1997-06-30 | 2001-05-08 | Cirrus Logic, Inc. | DOS based application supports for a controllerless modem |
US6584565B1 (en) | 1997-07-15 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Method and apparatus for long term verification of digital signatures |
US6014745A (en) | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US5978475A (en) | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US6212635B1 (en) | 1997-07-18 | 2001-04-03 | David C. Reardon | Network security system allowing access and modification to a security subsystem after initial installation when a master token is in place |
US5919257A (en) | 1997-08-08 | 1999-07-06 | Novell, Inc. | Networked workstation intrusion detection system |
DE19735948C1 (de) | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
US6282657B1 (en) | 1997-09-16 | 2001-08-28 | Safenet, Inc. | Kernel mode protection |
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 |
US6148379A (en) | 1997-09-19 | 2000-11-14 | Silicon Graphics, Inc. | System, method and computer program product for page sharing between fault-isolated cells in a distributed shared memory system |
US6182089B1 (en) | 1997-09-23 | 2001-01-30 | Silicon Graphics, Inc. | Method, system and computer program product for dynamically allocating large memory pages of different sizes |
US5970147A (en) | 1997-09-30 | 1999-10-19 | Intel Corporation | System and method for configuring and registering a cryptographic device |
US6357004B1 (en) | 1997-09-30 | 2002-03-12 | Intel Corporation | System and method for ensuring integrity throughout post-processing |
US6061794A (en) | 1997-09-30 | 2000-05-09 | Compaq Computer Corp. | System and method for performing secure device communications in a peer-to-peer bus architecture |
US6085296A (en) | 1997-11-12 | 2000-07-04 | Digital Equipment Corporation | Sharing memory pages and page tables among computer processes |
US6219787B1 (en) | 1997-12-22 | 2001-04-17 | Texas Instruments Incorporated | Method and apparatus for extending security model to native code |
US6128318A (en) * | 1998-01-23 | 2000-10-03 | Philips Electronics North America Corporation | Method for synchronizing a cycle master node to a cycle slave node using synchronization information from an external network or sub-network which is supplied to the cycle slave node |
US6378072B1 (en) | 1998-02-03 | 2002-04-23 | Compaq Computer Corporation | Cryptographic system |
US6308270B1 (en) | 1998-02-13 | 2001-10-23 | Schlumberger Technologies, Inc. | Validating and certifying execution of a software program with a smart card |
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 |
US6192455B1 (en) | 1998-03-30 | 2001-02-20 | Intel Corporation | Apparatus and method for preventing access to SMRAM space through AGP addressing |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
US6173417B1 (en) | 1998-04-30 | 2001-01-09 | Intel Corporation | Initializing and restarting operating systems |
US6795966B1 (en) | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6397242B1 (en) | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
US6496847B1 (en) | 1998-05-15 | 2002-12-17 | Vmware, Inc. | System and method for virtualizing computer systems |
FR2778998B1 (fr) | 1998-05-20 | 2000-06-30 | Schlumberger Ind Sa | Procede d'authentification d'un code personnel d'un utilisateur d'une carte a circuit integre |
EP0961193B1 (en) | 1998-05-29 | 2010-09-01 | Texas Instruments Incorporated | Secure computing device |
US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
US6339815B1 (en) | 1998-08-14 | 2002-01-15 | Silicon Storage Technology, Inc. | Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
US6505279B1 (en) | 1998-08-14 | 2003-01-07 | Silicon Storage Technology, Inc. | Microcontroller system having security circuitry to selectively lock portions of a program memory address space |
JP2000076139A (ja) | 1998-08-28 | 2000-03-14 | Nippon Telegr & Teleph Corp <Ntt> | 携帯型情報記憶媒体 |
US6363485B1 (en) | 1998-09-09 | 2002-03-26 | Entrust Technologies Limited | Multi-factor biometric authenticating device and method |
US6463535B1 (en) | 1998-10-05 | 2002-10-08 | Intel Corporation | System and method for verifying the integrity and authorization of software before execution in a local platform |
US6230248B1 (en) | 1998-10-12 | 2001-05-08 | Institute For The Development Of Emerging Architectures, L.L.C. | Method and apparatus for pre-validating regions in a virtual addressing scheme |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US7194092B1 (en) | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
US6609199B1 (en) | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6445797B1 (en) | 1998-12-16 | 2002-09-03 | Secure Choice Llc | Method and system for performing secure electronic digital streaming |
US6463537B1 (en) | 1999-01-04 | 2002-10-08 | Codex Technologies, Inc. | Modified computer motherboard security and identification 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 |
EP1030237A1 (en) | 1999-02-15 | 2000-08-23 | Hewlett-Packard Company | Trusted hardware device in a computer |
US6272533B1 (en) | 1999-02-16 | 2001-08-07 | Hendrik A. Browne | Secure computer system and method of providing secure access to a computer system including a stand alone switch operable to inhibit data corruption on a storage device |
JP4072271B2 (ja) * | 1999-02-19 | 2008-04-09 | 株式会社日立製作所 | 複数のオペレーティングシステムを実行する計算機 |
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 |
US6389537B1 (en) | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6275933B1 (en) | 1999-04-30 | 2001-08-14 | 3Com Corporation | Security system for a computerized apparatus |
EP1055989A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for digitally signing a document |
EP1056014A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for providing a trustworthy user interface |
US6321314B1 (en) | 1999-06-09 | 2001-11-20 | Ati International S.R.L. | Method and apparatus for restricting memory access |
US6633981B1 (en) | 1999-06-18 | 2003-10-14 | Intel Corporation | Electronic system and method for controlling access through user authentication |
US6158546A (en) | 1999-06-25 | 2000-12-12 | Tenneco Automotive Inc. | Straight through muffler with conically-ended output passage |
US6301646B1 (en) | 1999-07-30 | 2001-10-09 | Curl Corporation | Pointer verification system and method |
US6401156B1 (en) | 1999-08-23 | 2002-06-04 | Advanced Micro Devices, Inc. | Flexible PC/AT-compatible microcontroller |
US6529909B1 (en) | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
JP2001148344A (ja) | 1999-09-09 | 2001-05-29 | Nikon Corp | 露光装置、エネルギ源の出力制御方法、該方法を用いるレーザ装置、及びデバイス製造方法 |
EP1085396A1 (en) | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
US6535988B1 (en) | 1999-09-29 | 2003-03-18 | Intel Corporation | System for detecting over-clocking uses a reference signal thereafter preventing over-clocking by reducing clock rate |
US6374317B1 (en) | 1999-10-07 | 2002-04-16 | Intel Corporation | Method and apparatus for initializing a computer interface |
US6292874B1 (en) | 1999-10-19 | 2001-09-18 | Advanced Technology Materials, Inc. | Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges |
RU2159953C1 (ru) | 1999-12-27 | 2000-11-27 | Закрытое акционерное общество "ЛУКОЙЛ ИНФОРМ" | Способ защиты программного обеспечения |
WO2001063567A2 (en) | 2000-02-25 | 2001-08-30 | Identix Incorporated | Secure transaction system |
US20010037450A1 (en) | 2000-03-02 | 2001-11-01 | Metlitski Evgueny A. | System and method for process protection |
JP3710671B2 (ja) | 2000-03-14 | 2005-10-26 | シャープ株式会社 | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 |
CA2341931C (en) | 2000-03-24 | 2006-05-30 | Contentguard Holdings, Inc. | System and method for protection of digital works |
JP2001282558A (ja) | 2000-03-30 | 2001-10-12 | Hitachi Ltd | マルチオペレーティング計算機システム |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories in an isolated execution environment |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6507904B1 (en) | 2000-03-31 | 2003-01-14 | Intel Corporation | Executing isolated mode instructions in a secure system running in privilege rings |
US7356817B1 (en) * | 2000-03-31 | 2008-04-08 | Intel Corporation | Real-time scheduling of virtual machines |
GB0020416D0 (en) | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted system |
US7433951B1 (en) * | 2000-09-22 | 2008-10-07 | Vmware, Inc. | System and method for controlling resource revocation in a multi-guest computer system |
US6938164B1 (en) | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
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 |
EP1271277A3 (en) | 2001-06-26 | 2003-02-05 | Redstrike B.V. | Security system and software to prevent unauthorized use of a computing device |
US20030018892A1 (en) | 2001-07-19 | 2003-01-23 | Jose Tello | Computer with a modified north bridge, security engine and smart card having a secure boot capability and method for secure booting a computer |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
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 |
US7308576B2 (en) | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US20030126453A1 (en) | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
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 |
US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US7318141B2 (en) * | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7370324B2 (en) * | 2003-09-30 | 2008-05-06 | Intel Corporation | Switching between a service virtual machine and a guest virtual machine in a virtual machine monitor environment |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US20050132362A1 (en) * | 2003-12-10 | 2005-06-16 | Knauerhase Robert C. | Virtual machine management using activity information |
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 |
US7421533B2 (en) * | 2004-04-19 | 2008-09-02 | Intel Corporation | Method to manage memory in a platform with virtual machines |
US20050251806A1 (en) * | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US8146078B2 (en) * | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
-
2004
- 2004-09-30 US US10/956,239 patent/US7840962B2/en active Active
-
2005
- 2005-09-21 WO PCT/US2005/034146 patent/WO2006039202A2/en active Application Filing
- 2005-09-21 DE DE112005002360T patent/DE112005002360T5/de active Pending
- 2005-09-21 JP JP2007533650A patent/JP4564536B2/ja not_active Expired - Fee Related
- 2005-09-21 CN CNB200580032344XA patent/CN100514297C/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441498B (zh) * | 2007-11-19 | 2010-06-09 | 联想(北京)有限公司 | 虚拟机监视器、虚拟机系统及其时钟分配使用方法 |
CN104995602A (zh) * | 2013-03-12 | 2015-10-21 | 英特尔公司 | 分层虚拟机完整性监视 |
CN104995602B (zh) * | 2013-03-12 | 2018-09-28 | 英特尔公司 | 分层虚拟机完整性监视 |
CN103488522A (zh) * | 2013-09-22 | 2014-01-01 | 华为技术有限公司 | 一种管理虚拟机的设备的方法及设备 |
CN103488522B (zh) * | 2013-09-22 | 2017-10-17 | 华为技术有限公司 | 一种管理虚拟机的设备的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
JP4564536B2 (ja) | 2010-10-20 |
US20060075402A1 (en) | 2006-04-06 |
CN100514297C (zh) | 2009-07-15 |
JP2008513909A (ja) | 2008-05-01 |
DE112005002360T5 (de) | 2007-08-23 |
US7840962B2 (en) | 2010-11-23 |
WO2006039202A2 (en) | 2006-04-13 |
WO2006039202A3 (en) | 2006-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100514297C (zh) | 为与虚拟机监控程序相关联的定时器提供支持 | |
CN100481010C (zh) | 虚拟机环境中的定时器偏移机制 | |
CN1849585B (zh) | 使用多个虚拟机监控器处理特许事件的方法、系统和产品 | |
CN101339518B (zh) | 在分层虚拟化体系结构中插入虚拟化事件的装置和方法 | |
CN101268445B (zh) | 用于向多核环境中的应用程序提供实时线程服务的方法、装置 | |
US9756118B2 (en) | Virtual performance monitoring decoupled from hardware performance-monitoring units | |
CN102906704B (zh) | 控制处理适配器中断请求的速率 | |
CN101189582B (zh) | 为在虚拟机环境中单步执行虚拟机提供支持 | |
EP2115582B1 (en) | Controlling instruction execution in a processing environment | |
CN101364184B (zh) | 用于进行平台虚拟化的装置和方法 | |
CN104205064A (zh) | 将程序事件记录事件向运行时间检测事件的变换 | |
CN103761145A (zh) | 用于各个处理器的辅助中断虚拟化的访客中断控制器 | |
CN104169889A (zh) | 在事务执行模式中的运行时间检测采样 | |
CN101460924B (zh) | 检测虚拟化 | |
CN102804143A (zh) | 中断虚拟化 | |
CN104364769A (zh) | 处理器特性的运行时间检测监控 | |
CN104380264A (zh) | 运行时间检测报告 | |
Matthews et al. | Polyblaze: From one to many bringing the Microblaze into the multicore era with Linux SMP support | |
CN104169887A (zh) | 通过指令操作码的运行时间检测间接采样 | |
CN104169886A (zh) | 通过地址的运行时间检测间接采样 | |
WO2023107789A1 (en) | Deterministic replay of a multi-threaded trace on a multi-threaded processor | |
Xie et al. | Metis: a profiling toolkit based on the virtualization of hardware performance counters | |
CN103562877B (zh) | 处理操作员消息命令 | |
Alonso et al. | Modeling power and energy consumption of dense matrix factorizations on multicore processors | |
EP2115574B1 (en) | Employing a buffer to facilitate instruction execution |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090715 |