CN101044458A - 虚拟机环境中的定时器偏移机制 - Google Patents
虚拟机环境中的定时器偏移机制 Download PDFInfo
- Publication number
- CN101044458A CN101044458A CNA2005800355262A CN200580035526A CN101044458A CN 101044458 A CN101044458 A CN 101044458A CN A2005800355262 A CNA2005800355262 A CN A2005800355262A CN 200580035526 A CN200580035526 A CN 200580035526A CN 101044458 A CN101044458 A CN 101044458A
- Authority
- CN
- China
- Prior art keywords
- timer
- value
- offsetting
- vmm
- control
- 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
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
Abstract
在一个实施例中,一种方法包括从虚拟机监视器(VMM)接收将控制转移到虚拟机(VM)的请求,计算偏移值,在VM的操作期间接收对定时器的当前值的请求,基于偏移值调整定时器的当前值,并将已调整的定时器值提供给VM。
Description
技术领域
本发明的实施例一般涉及虚拟机,更具体地说涉及虚拟机环境中的定时器偏移机制。
背景技术
定时器通常被操作系统和应用软件用于调度活动。例如,操作系统内核可以使用定时器来使多个用户级应用程序对系统资源(例如中央处理单元(CPU))实施时间共享。个人计算机(PC)平台上使用的定时器的示例是8254可编程间隔定时器。该定时器可以配置成在指定的间隔之后或周期性地发出中断。
定时器的另一个示例是Intel Pentium4的指令集体系结构(ISA)(本文称为IA-32 ISA)中使用的时间戳计数器(TSC)。TSC是一种64位计数器,它在处理器的硬件复位之后被设为0,然后即使是在处理器被HLT指令暂停时,仍按每个处理器时钟周期递增。TSC无法用于生成中断。它仅是时间参考,仅对于测量时间间隔有用。IA-32ISA提供指令(RDTSC)来读取TSC的值,以及提供指令(WRMSR)来写入TSC。当使用WRMSR来写入时间戳计数器时,仅可以写入32个低阶位,而将32个高阶位清零。因为这些写限制,软件一般无法将TSC向前设置到任意值,也无法将TSC向后设置到任意值。
在多处理器(MP)系统中,使用TSC来恰当地将处理器同步并适合地调度进程。在引导时间,将所有处理器上TSC的值同步,并且大多数操作系统假定TSC按相同速率计数。如果TSC值在处理器之间偏离(例如如果一个处理器按与其他处理器不同的速率计数),则可能使操作系统对进程的调度紊乱。
附图说明
通过示例形式而非限定形式在附图中图示了本发明,其中相似的引用号指代相似的元素,其中:
图1图示本发明可以工作的虚拟机环境的一个实施例。
图2是用于控制VM对定时器的访问的过程的一个实施例的流程图;
图3是用于配置与定时器偏移关联的字段的过程的一个实施例的流程图;以及
图4和5是用于计算VM的定时器偏移值的过程的两个备选实施例的流程图。
发明内容
描述用于控制虚拟机对定时器的访问的方法和设备。在上文说明中,为了解释的目的,提出了许多特定细节,以便提供对本发明的透彻理解。但是对于本领域人员来说,显然本发明可以在没有这些特定细节的情况下实施。
下文的详细描述的一些部分是依据对计算机系统的寄存器或存储器内的数据比特的操作的算法和符号表示来给出的。这些算法描述和表示是数据处理领域的技术人员将他们的工作实质最有效地传达给该领域的其他技术人员所用方式。在本文中以及一般情况下,将算法设想为导致期望结果的独立次序的操作。这些操作是需要对物理量进行物理操纵的那些操作。通常但非一定,这些量采用能够被存储、传输、组合、比较以及以其他方式操纵的电或磁信号的形式。以位、值、元素、符号、字符、术语、数字等提及这些信号时常被证明是方便的,主要是因为常用。
但是,应该记住的是,所有这些和相似术语均要与适合的物理量关联,并且仅仅是应用于这些量的便利标号。除非下文论述中显著地另外专门指明,否则要认识到在本发明中,采用诸如“处理”或“计算”或“运算”或“确定”等术语的论述可以指计算机系统或相似的电子计算装置的动作和进程,这些动作和进程操纵计算机系统的寄存器和存储器内表示为物理(电子)量的数据并将其转换成计算机系统存储器或寄存器或其他此类信息存储器、传输或显示装置内以相似方式表示为物理量的其他数据。
在下文对这些实施例的详细描述中,参考了附图,这些附图以说明方式示出可以实施本发明的特定实施例。在这些附图中,多个图中相似的引用号指代基本相似的组件。对这些实施例给予了充分详细的描述,以使本领域技术人员能够实施本发明。可以利用其他实施例,在不背离本发明范围的前提下可以进行结构、逻辑和电方面的更改。而且,要理解本发明的多个不同实施例虽然不同但是并不一定是相互排斥的。例如,在一个实施例中描述的特定功能特征、结构或特征可以被包括在另一个实施例内。因此下文的详细描述不应视为限定意义的,本发明的范围仅由所附权利要求以及对此类权利要求赋予权利的等效物的完整范围来限定。
虽然下文示例描述在执行单元和逻辑电路的环境中控制虚拟机对定时器的访问,但是本发明的其他实施例可以通过软件来实现。例如,在一些实施例中,本发明可以作为计算机程序产品或软件来提供,这些计算机程序产品或软件可以包括其上存储有指令的机器或计算机可读媒体,这些指令可以用于对计算机(或其他电子装置)编程以执行根据本发明的过程。在其他实施例中,本发明的过程可以由包含用于执行这些过程的硬连线逻辑的特定硬件组件来执行,或通过将编程的计算机组件与定制的硬件组件的任何组合来执行。
因此,机器可读媒体可以包括用于存储或传输以机器(例如计算机)可读形式的信息的任何机制,但是不限于软盘、光盘、压缩光盘、只读存储器(CD-ROM)以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器、通过因特网的传输、电、光、声波或其他形式的传播信号(例如载波、红外线信号、数字信号等)等。
另外,设计可能经历多个不同阶段,从建立到仿真到制造。表示设计的数据能以多种方式来表示该设计。首先,正如有利于仿真的那样,可以使用硬件描述语言或另一种功能描述语言来表示硬件。此外,还可以在设计过程的一些阶段制作具有逻辑和/或晶体管门电路的电路级模型。而且,在某个阶段,大多数设计达到表示多种装置在硬件模型中的物理布置的数据级。在使用常规半导体制造技术的情况中,表示硬件模型的数据可以是指定制造集成电路所用的掩模的不同掩模层上存在或不存在各种特征的数据。在设计的任何表示中,数据能以任何形式的机器可读媒体来存储。经调制或以其他方式生成以传输此类信息的光波或电波、诸如盘的存储器或磁或光存储器均可以是机器可读媒体。这些媒体的任何一个可以“承载”或“指示”设计或软件信息。当传送指示或承载代码或设计的电载波,且范围涉及到执行电信号的复制、缓冲或重新传送时,制作新副本。因此,通信提供商或网络提供商可以制作实施本发明技术的物品(载波)的副本。
图1图示本发明可以工作的虚拟机环境100的一个实施例。在该实施例中,裸平台硬件116包括计算平台,该计算平台能够例如执行标准操作系统(OS)或例如VMM 112的虚拟机监视器(VMM)。
通常以软件形式实现的VMM 112可以仿真并导出与较高级软件的裸机器接口。此类较高级软件可以包括标准或实时OS,并可以是具有有限操作系统功能的高度剥离的操作环境,可以不包括传统的OS实用程序等。或者,例如VMM 112可以在另一个VMM内运行或在另一个VMM上运行。VMM能以例如硬件、软件、固件或多种技术组合的形式来实现。
平台硬件116可以是个人计算机(PC)、主机、手持装置、便携式计算机、机顶盒或任何其他计算系统。平台硬件116包括处理器118和存储器120。
处理器118可以是能够执行软件的任何类型的处理器,例如微处理器、数字信号处理器、微控制器等。处理器118可以包括用于执行实现本发明方法实施例的的微代码、可编程逻辑或硬编码逻辑。虽然图1仅示出一个此类处理器118,但是在系统中可以有一个或多个处理器。
存储器120可以是硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、上面这些装置的任何组合或处理器118可读的任何其他类型的机器媒体。存储器120可以存储用于实现本发明方法实施例的指令和/或数据。
VMM 112向其他软件(即“访客”软件)呈示一个或多个虚拟机(VM)的抽象,这样可以向各种访客提供相同或不同的抽象。图1示出VM 102和114。运行于每个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和114的正确操作以及针对访客软件和访客软件之间的保护。
当发生特权错误事件或访客软件试图访问特权资源时,可以将控制转移到VMM 112。将控制从访客软件转移到VMM 112在本文称为VM退出。在协助资源访问或适当地处理事件之后,VMM 112可以将控制返回给访客软件。将控制从VMM 112转移到访客软件在本文称为VM进入。
在一个实施例中,处理器118根据存储在虚拟机控制结构(VMCS)124中的数据控制VM 102和114的操作。VMCS 124是一种可以包含访客软件的状态、VMM 112的状态、指示VMM 112期望如何控制访客软件的操作的执行控制信息、VMM 112和VM之间的信息控制转移等的结构。处理器118从VMCS 124读取信息以确定VM的执行环境并约束它的行为。在一个实施例中,VMCS被存储在存储器120中。在一些实施例中,使用多个VMCS结构来支持多个VM。
VMM 112可能需要使用定时器来调度资源、提供服务质量、确保安全性并执行其他功能。例如,在Intel Pentium4的指令集体系结构(ISA)(本文称为IA-32 ISA)中,VMM 112可以使用时间戳计数器(TSC)来执行这些功能。VM 102和114的每一个还可能需要使用定时器来校准定时循环并执行性能优化。因为VM 102和114彼此不知道对方或不知道VMM 112,所以可能需要调整提供给VM102或114的定时器的值以呈示客户OS 104或106正在专用硬件平台而非虚拟平台上运行的假象。提供定时器偏移机制以适当地将定时器虚拟化,由此为访客OS 104和106保留这种假象。在一个实施例中,定时器偏移机制包括定时器偏移配置模块126和定时器访问逻辑122。
定时器偏移配置模块126负责在请求将控制转移到VM 102或114之前为与定时器偏移关联的字段提供值。在一个实施例中,这些值可以包括指定将定时器值提供给VM 102或114时处理器118要使用的偏移量的偏移值以及指定是否为VM 102或114启用定时器偏移的定时器偏移指示符。在一个实施例中,定时器偏移值是带符号的值,这样使VMM 112能够向访客软件呈示是小于还是大于实际硬件定时器值的定时器值。在一个实施例中,在将值返回给VM 102或114之前将定时器偏移值加上定时器值。在一个实施例中,与定时器偏移关联的字段还包括定时器访问控制指示符,它指定访问定时器的VM请求是否与将控制转移到VMM关联(例如访问定时器的VM请求是否应该导致VM退出)。
在一个实施例中,VM 102或114的偏移值考虑了此VM因VMM112和其他VM的执行而未运行期间的时间间隔的累积。例如,假定当定时器的值是1000个节拍(tick)时,VM 102期望定时器的值是1000。这样,在1500个节拍时,VM 102可能因VM退出被中断,然后是VMM 112执行持续100个节拍(1600个节拍的定时器值),之后VMM 112可以请求进入VM 114。然后VM 114可以执行持续600个节拍(2200个节拍的定时器值)直到VM退出,VM退出导致VMM112执行持续200个节拍(定时器值2400),然后可以请求重新进入VM 102。在重新进入的时间,VM 102预期定时器具有1500个节拍的值。相反,该时间的实际定时器值是2400个节拍。VMM 112为VM102提供的偏移值将是900个节拍,这是VM 112因VM 114和VMM112的执行而未运行期间的时间间隔的累积。因此,VMM 112会将900的偏移值存储到定时器偏移字段,以便当VM 102尝试读取定时器时,将通过将当前定时器值减去900来计算提供给VM 102的值。还可以通过计算实际定时器值与VM 102预期的定时器值之间的差来计算偏移值。在一个备选实施例中,通过将当前定时器值加上VMM 112配置的偏移值来计算VM 102尝试读取定时器时提供给VM 102的值。在该实施例中,VMM存储的偏移值是负数。在上文描述的示例中,所存储的值是-900。
如上文论述的,在一个实施例中,偏移值由VMM 112确定。在一个备选实施例中,偏移值由处理器118确定,与定时器偏移关联的字段和控制可以包括定时器偏移指示符、调整偏移指示符、访客定时器字段、保存定时器指示符和定时器偏移字段。在一个实施例中,能以多种方式组合这些三个指示符值。例如,调整偏移指示符和保存定时器指示符可以是相同的控制(即启用定时器偏移的调整隐含地启用定时器的保存),下文将对此予以更详细的描述。在本发明的一些实施例中,可以不存在上面这些指示符的其中一些。例如,可以不存在定时器偏移指示符,并且假定定时器偏移始终是启用的,下文将对此予以更详细的论述。
在一个实施例中,将与定时器偏移关联的字段和控制存储在VMCS 124中。或者,与定时器偏移关联的字段和控制可以驻留在处理器118、存储器120和处理器118的组合或任何其他一个或多个存储单元中。在一个实施例中,为VM 102和114的每一个维护与定时器偏移关联的单独字段和控制。或者,为VM 102和144维护与定时器偏移关联的相同字段和控制,并由VMM 112在每次VM进入之前对它们进行更新。
在一个实施例中,在系统100包括多个处理器、多个核或多个线程处理器的情况中,将多个逻辑处理器的每一个与定时器偏移关联的单独字段和控制关联,VMM 112为这些多个逻辑处理器的每一个配置与定时器偏移关联的字段和控制。
在一个实施例中,处理器118包括定时器访问逻辑122,定时器访问逻辑122负责基于定时器偏移值将VM 102和114对定时器的访问虚拟化。具体来说,如果定时器访问逻辑122确定启用了定时器偏移,则它将已调整的定时器值提供给VM 102或114。在一个实施例中,定时器访问逻辑122通过检查定时器偏移指示符值来确定定时器偏移是否被启用。在一个实施例中,当定时器访问逻辑122从VM 102或114接收到对定时器的当前值的请求时,它读取定时器的当前值,并将偏移值加定时器的当前值,并将结果值返回给VM 102或114,由此向VM 102或114呈示它正在专用的硬件平台上运行的假象。在一个实施例中,偏移值是带符号的值。
可以由VMM 112为VM 102和114确定偏移值(例如通过定时器偏移配置模块126)。下文将结合图3和图4更详细地论述由VMM112确定偏移值的过程的一个实施例。或者,可以由处理器118来确定偏移值(例如通过定时器访问逻辑122)。下文将结合图5更详细地论述由处理器118确定偏移值的过程的一个实施例。
图2是用于控制VM对定时器的访问的过程200的一个实施例的流程图。该过程可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(如通用计算机系统或专用机器上运行的软件)或二者的组合。在一个实施例中,过程200由图1的定时器访问逻辑122来执行。
参考图2,过程200开始于处理逻辑从VMM接收到将控制转移到VM的请求(即VM进入的请求)(处理框202)。在一个实施例中,通过VMM执行的VM进入指令接收VM进入请求。
接下来,处理逻辑确定定时器偏移是否被启用(处理框204)。在一个实施例中,作为向VM转移的一部分,处理逻辑作出此确定(例如当检查并加载存储在VMCS中的VM状态并执行控制信息时)。在一个实施例中,该确定是基于对应于正在进入的VM的存储在VMCS中的定时器偏移指示符的当前值。
如果定时器偏移被启用,则处理逻辑在响应VM对当前定时器值的请求时使用定时器偏移值。在一个实施例中,在发出将控制转移到该VM的请求之前由VMM确定该定时器偏移值。下文将结合图3和图4更详细地论述由VMM确定偏移值的过程的一个实施例。或者,可以在将控制转移到此VM时由处理器自动地确定偏移值。下文将结合图5更详细地论述由处理器确定偏移值的过程的一个实施例。
在一个实施例中,如果定时器偏移被启用,则处理逻辑以存储在VMCS中的定时器偏移值加载偏移寄存器(处理框206)。或者,如果定时器偏移被禁用,则处理逻辑以0加载偏移寄存器(处理框206)。接下来,处理逻辑开始VM中的执行(处理框210)。
在VM的执行期间,处理逻辑可能接收到VM对定时器的当前值的请求。例如在IA-32 ISA中,VM可能通过执行RDMSR指令或RDTSC指令发出对TSC的当前值的请求以读取TSC。
在处理框212中,处理逻辑确定VM是否请求定时器的当前值,如果是这样的话,则在一个实施例中,处理逻辑确定该请求是否与将控制转移到VMM关联(处理框214)。在一个实施例中,可以将定时器访问控制指示符设为“退出”值,以在VM访问定时器的每次请求时使该VM退出。例如,在一个实施例中,定时器访问控制指示符为一个比特,如果设为1,则指示VM访问定时器的请求使VM退出。在一个实施例中,可以将该指示符存储在VMCS中。如果请求不与将控制转移到VMM关联,则处理逻辑继续进行到处理框216。如果请求与将控制转移到VMM关联,则处理逻辑将控制转移到VMM,向VMM指示尝试访问定时器导致了VM退出(处理框220)。在一个实施例中,在将控制转移到VMM之前,处理逻辑以0加载偏移寄存器(处理框218)以使VMM能够获取定时器的实际值。
在另一个实施例中,不使用定时器访问控制指示符,并且处理逻辑响应VM对定时器的当前值的请求并不检查将控制转移到VMM。相反,处理逻辑跳过处理框214,并直接继续进行到处理框216。
在处理框216中,处理逻辑读取定时器的当前值,将偏移值加定时器的当前值,并将结果返回给VM。在一个实施例中,定时器偏移值是使用带符号的加法与定时器的内容组合的带符号的值。
在VM的执行期间,可能发生与VM退出关联的多种其他事件(例如页错误、中断等)。在一个实施例中,如果处理逻辑检测到与VM退出关联的事件(处理框222),则处理逻辑以0加载偏移寄存器(处理框218)并将控制转移到VMM,由此指示处理框222中检测到的VM退出的起因(处理框220)。如果处理逻辑未检测到与VM退出关联的任何事件,则处理逻辑返回到处理框212。
图3是用于配置与定时器偏移关联的字段的过程300的一个实施例的流程图。该过程可以由处理逻辑来执行,处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(例如在通用计算机系统或专用机器上运行的软件)或而二者的组合。在一个实施例中,过程300由图1中定时器偏移配置模块216来执行。
参考图3,过程300开始于处理逻辑确定需要将控制转移到VM。在发出将控制转移到VM的请求之前,处理逻辑确定VM的定时器偏移值(处理框302)并将定时器偏移值存储在VMCS中(处理框304)。在一个实施例中,定时器偏移值是正在进入的VM因VMM和其他VM的执行而未运行期间的时间间隔的累积。下文将接合图4更详细地论述计算定时器偏移值的过程的一个实施例。
接下来,处理逻辑将定时器偏移指示符设为启用值(处理框306),并发出将控制转移到VM的请求(例如VM进入请求)(处理框308)。
此后,当生成从VM的VM退出时,处理逻辑收回控制(处理框310),确定定时器的当前值(处理框312),并按需要处理VM退出(例如执行找出VM退出原因的操作)(处理框314)。如下文描述的,在将控制返回给VM之前,可以使用VM退出时的定时器的值来计算定时器偏移。
图4是用于计算VM的定时器偏移值(例如参考图3的处理框302)的过程400的一个实施例的流程图。该过程可以由处理逻辑来执行,处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(例如在通用计算机系统或专用机器上运行的软件)或而二者的组合。在一个实施例中,过程400由图1中定时器偏移配置模块216来执行。
参考图4,过程400开始于处理逻辑计算自上次VM进入起在此VM中度过的时间(处理框402)。在一个实施例中,该时间通过如下步骤计算:确定VM-进入时间(即刚好发出进入VM的请求之前的定时器值)和VM-退出时间(例如接收从VM返回的控制时的定时器值),并将VM-退出时间减去VM-进入时间。
在处理框404中,处理逻辑通过如下步骤计算在VM中度过的累计时间:将上次进入期间VM中度过的时间加上先前计算的累计时间。在一个实施例中,在处理逻辑接收从VM返回的控制时计算在VM中度过的累计时间。或者,在处理逻辑发出将控制返回给VM的请求时计算在此VM中度过的累计时间。
当处理逻辑决定将控制返回给VM时,它读取定时器的当前值(处理框406),并作为在VM中度过的累计时间与定时器的当前值之间的差值计算定时器偏移值(处理框408)。在一个实施例中,定时器偏移值是带符号的值。
图5是用于计算VM的定时器偏移值的过程的备选实施例的流程图。该过程可以由处理逻辑来执行,处理逻辑可以包括硬件(例如电路、专用逻辑、可编程逻辑、微代码等)、软件(例如在通用计算机系统或专用机器上运行的软件)或而二者的组合。在一个实施例中,过程500由图1的定时器偏移逻辑122来执行。
参考图5,过程500开始于处理逻辑检测到与将控制从VM1转移到VMM关联的事件(处理框502)。
在处理框504,处理逻辑确定保存定时器指示符是否被启用。在一个实施例中,保存定时器指示符由VMM来配置并存储在VMCS中。
如果保存定时器指示符被启用,则处理逻辑将当前定时器值作为VM1定时器值保存到访客定时器字段(处理框506),并继续进行到处理框508。在一个实施例中,将访客定时器字段存储在VMCS中。
如果保存定时器指示符被禁用,则处理逻辑跳过处理框506,并直接继续进行到处理框508。
在处理框508,处理逻辑将控制转移到VMM。
此后,在处理框510中,处理逻辑接收到将控制返回给VM1的请求。对此响应,处理逻辑确定调整偏移指示符是否被启用(处理框512)。在一个实施例中,调整偏移指示符由VMM来配置并存储在VMCS中。在另一个实施例中,保存定时器指示符和调整偏移指示符由在处理框504和512被检查的同一个指示符来表示。在另一个实施例中,可以评估定时器偏移指示符以确定是否应该使用定时器偏移。在一个实施例中,定时器偏移指示符由VMM来配置并存储在VMCS中。
如果调整偏移指示符被启用,则处理逻辑读取定时器值(处理框514),并通过将当前定时器值减去保存的VM1定时器值来确定当前定时器值与处理框506中保存的VM1定时器值之间的差值(处理框516)。进一步地,处理逻辑通过将定时器偏移字段中的定时器偏移值减去该差值来计算已调整的定时器偏移值(处理框518)。在一个实施例中,将此已调整的定时器偏移值存储在定时器偏移字段中。接下来,处理逻辑将控制转移到VM1(处理框520)。
如果调整偏移指示符被禁用,则在一个实施例中,处理逻辑跳过处理框514,并直接继续进行到处理框520。在另一个实施例中,如果调整偏移指示符被禁用,则处理逻辑检索定时器偏移字段的值以用作已调整的定时器偏移值,然后继续进行到处理框520。
在备选实施例中,在VM退出时,计算虚拟访客定时器值(通过计算当前定时器偏移值与定时器的当前值之和来计算),并将其存储到虚拟访客定时器字段中。在一个实施例中,将虚拟访客定时器字段存储在VMCS中。此后,在VM进入时,通过将虚拟访客定时器值减去VM进入时的定时器值来计算偏移值。在VM执行时,读取定时器的尝试将返回由偏移值调整的定时器的当前值。
由此,已经描述了用于控制VM对定时器的访问的方法和设备。要理解上文描述旨在说明而非限制。对于本领域技术人员来说,阅读并理解上文描述时将显见到许多其他实施例。因此,本发明的范围应参考所附权利要求以及对此类权利要求赋予权利的等效物的完整范围来确定。
Claims (29)
1.一种方法,包括:
从虚拟机监视器(VMM)接收将控制转移到虚拟机(VM)的请求;
计算偏移值;
在所述VM的操作期间接收对定时器的当前值的请求;
基于所述偏移值调整所述定时器的当前值;以及
将已调整的定时器值提供给所述VM。
2.如权利要求1所述的方法,还包括:
当从所述VMM接收到所述请求时将控制转移到所述VM,所述转移包括计算所述偏移值。
3.如权利要求1所述的方法,其特征在于,计算所述偏移值包括:
确定在接收到将控制转移到所述VM的请求时读取的定时器值与检测到与将控制从所述VM转移到所述VMM关联的先前事件时保存的定时器值之间的差值;以及
将定时器偏移字段的值减去所述差值。
4.如权利要求3所述的方法,还包括将计算的定时器偏移值存储到所述定时器偏移字段中。
5.如权利要求3所述的方法,还包括:
在确定所述差值之前,确定调整定时器偏移指示符被设为启用值。
6.如权利要求1所述的方法,还包括:
确定调整定时器偏移指示符被设为已禁用值;以及
读取定时器偏移字段,此后使用所述定时器偏移字段的值作为所述偏移值。
7.如权利要求3所述的方法,其特征在于,如果保存定时器指示符被启用,则在检测到与将控制转移到所述VMM关联的先前事件时保存所述定时器值。
8.如权利要求1所述的方法,还包括:
确定定时器访问控制指示符被设为退出值;以及
响应所述请求将控制转移到所述VMM。
9.如权利要求1所述的方法,还包括:
确定所述定时器的偏移被禁用;以及
以零加载偏移寄存器。
10.一种设备,包括:
虚拟机监视器(VMM);
由所述VMM控制的数据结构,所述数据结构存储虚拟机(VM)的偏移值;以及
定时器访问逻辑,所述定时器访问逻辑在从所述VMM接收到将控制转移到所述VM的请求时计算所述偏移值,并在所述VM的操作期间将所述定时器的值提供给所述VM,所述定时器的值基于所述偏移值进行了调整。
11.如权利要求10所述的设备,其特征在于,所述定时器访问逻辑还在从所述VMM接收到所述请求时将控制转移到所述VM,所述转移包括计算所述偏移值。
12.如权利要求10所述的设备,其特征在于,所述定时器访问逻辑通过如下步骤计算所述偏移值:确定在接收到将控制转移到所述VM的请求时读取的定时器值与检测到与将控制从所述VM转移到所述VMM关联的先前事件时保存的定时器值之间的差值,并将定时器偏移字段的值减去所述差值。
13.如权利要求12所述的设备,其特征在于,所述数据结构还包括存储所计算的定时器偏移值的定时器偏移字段。
14.如权利要求12所述的设备,其特征在于,所述数据结构还包括调整定时器偏移指示符。
15.如权利要求14所述的设备,其特征在于,所述定时器访问逻辑还在确定所述差值之前确定所述调整定时器偏移指示符被设为启用值。
16.如权利要求12所述的设备,其特征在于,所述定时器访问逻辑还确定调整定时器偏移指示符被设为已禁用值,并且读取定时器偏移字段,此后使用所述定时器偏移字段的值作为所述偏移值。
17.如权利要求12所述的设备,其特征在于,所述数据结构存储所述定时器访问逻辑使用的保存定时器指示符,以确定是否要在检测到与将控制转移到所述VMM关联的先前事件时保存所述定时器值。
18.如权利要求10所述的设备,还包括:
偏移寄存器,所述偏移寄存器用于存储所述偏移值。
19.一种系统,包括
存储器,所述存储器用于存储虚拟机(VM)的与定时器偏移关联的一组字段;以及
与所述存储器耦合的处理器,所述处理器用于使用与定时器偏移关联的一组字段计算偏移值,并响应所述VM对定时器的当前值的请求,在所述VM的操作期间将基于所述偏移值调整的定时器值提供给所述VM。
20.如权利要求19所述的系统,其特征在于,所述处理器在将控制转移到所述VM时计算所述偏移值。
21.如权利要求19所述的系统,其特征在于,所述处理器还以所述偏移值加载偏移寄存器。
22.如权利要求19所述的系统,其特征在于,所述处理器通过如下步骤计算所述偏移值:确定在接收到将控制转移到所述VM的请求时读取的定时器值与检测到与将控制从所述VM转移到所述VMM关联的先前事件时保存的定时器值之间的差值,并将定时器偏移字段的值减去所述差值。
23.如权利要求22所述的系统,其特征在于,如果调整定时器偏移指示符被启用,则所述处理器在接收到将控制转移到所述VM的请求时读取所述定时器值。
24.如权利要求22所述的系统,其特征在于,如果保存定时器指示符被启用,则所述处理器在检测到与将控制转移到所述VMM关联的先前事件时保存所述定时器值。
25.一种包含指令的机器可读媒体,当所述指令被处理系统执行时导致所述处理系统执行一种方法,所述方法包括:
从虚拟机监视器(VMM)接收将控制转移到虚拟机(VM)的请求;
计算偏移值;
在所述VM的操作期间接收对定时器的当前值的请求;
基于所述偏移值调整所述定时器的当前值;以及
将已调整的定时器值提供给所述VM。
26.如权利要求25所述的机器可读媒体,其特征在于,所述方法还包括:
当从所述VMM接收到所述请求时将控制转移到所述VM,所述转移包括计算所述偏移值。
27.如权利要求25所述的机器可读媒体,其特征在于,计算所述偏移值包括:
确定在接收到将控制转移到所述VM的请求时读取的定时器值与检测到与将控制从所述VM转移到所述VMM关联的先前事件时保存的定时器值之间的差值;以及
将定时器偏移字段的值减去所述差值。
28.如权利要求27所述的机器可读媒体,其特征在于,如果调整定时器偏移指示符被启用,则在接收到将控制转移到所述VM的请求时读取所述定时器值。
29.如权利要求27所述的机器可读媒体,其特征在于,如果保存定时器指示符被启用,则在检测到与将控制转移到所述VMM关联的先前事件时保存所述定时器值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/976,970 US8146078B2 (en) | 2004-10-29 | 2004-10-29 | Timer offsetting mechanism in a virtual machine environment |
US10/976,970 | 2004-10-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101044458A true CN101044458A (zh) | 2007-09-26 |
CN100481010C CN100481010C (zh) | 2009-04-22 |
Family
ID=35717704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800355262A Expired - Fee Related CN100481010C (zh) | 2004-10-29 | 2005-10-31 | 虚拟机环境中的定时器偏移机制 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8146078B2 (zh) |
JP (1) | JP4584315B2 (zh) |
CN (1) | CN100481010C (zh) |
DE (1) | DE112005002347T5 (zh) |
WO (1) | WO2006050534A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441498B (zh) * | 2007-11-19 | 2010-06-09 | 联想(北京)有限公司 | 虚拟机监视器、虚拟机系统及其时钟分配使用方法 |
CN103514045A (zh) * | 2012-06-30 | 2014-01-15 | 国际商业机器公司 | 经由硬件计数器来维护硬件资源带宽服务质量的方法和系统 |
CN108241522A (zh) * | 2016-12-27 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 虚拟化环境中的睡眠状态切换方法、装置及电子设备 |
CN109471588A (zh) * | 2018-09-13 | 2019-03-15 | 北京米文动力科技有限公司 | 一种同步方法及设备 |
Families Citing this family (25)
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 |
US7840962B2 (en) * | 2004-09-30 | 2010-11-23 | Intel Corporation | 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 |
US8739156B2 (en) * | 2007-07-24 | 2014-05-27 | Red Hat Israel, Ltd. | Method for securing the execution of virtual machines |
US8181175B1 (en) * | 2008-01-28 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Accounting for resource usage time by a virtual machine |
US8972978B2 (en) | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US8327357B2 (en) * | 2009-08-31 | 2012-12-04 | Red Hat, Inc. | Mechanism for virtual time stamp counter acceleration |
US8700943B2 (en) * | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8468524B2 (en) * | 2010-10-13 | 2013-06-18 | Lsi Corporation | Inter-virtual machine time profiling of I/O transactions |
US8650564B2 (en) * | 2010-10-19 | 2014-02-11 | Vmware, Inc. | Method and system for synchronizing fault-tolerant virtual machines and adjusting CPU resource limit based on execution latency |
US9459652B1 (en) * | 2010-10-22 | 2016-10-04 | Vmware, Inc. | Virtual reference clock for virtual machines |
US8490089B2 (en) * | 2010-11-05 | 2013-07-16 | Advanced Micro Devices, Inc. | Guest timer facility to improve management in a virtualized processing system |
BRPI1101401A2 (pt) * | 2011-03-29 | 2013-06-04 | Inst Alberto Luiz Coimbra De Pos Graduacao E Pesquisas De Engenharia Coppe Ufrj | relàgio virtual estritamente crescente para temporizaÇço de alta precisço de programas em sistemas de multiprocessamento |
JP6102949B2 (ja) * | 2013-01-31 | 2017-03-29 | 富士通株式会社 | 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム |
US9703951B2 (en) | 2014-09-30 | 2017-07-11 | Amazon Technologies, Inc. | Allocation of shared system resources |
US9378363B1 (en) * | 2014-10-08 | 2016-06-28 | Amazon Technologies, Inc. | Noise injected virtual timer |
US9754103B1 (en) | 2014-10-08 | 2017-09-05 | Amazon Technologies, Inc. | Micro-architecturally delayed timer |
US9491112B1 (en) | 2014-12-10 | 2016-11-08 | Amazon Technologies, Inc. | Allocating processor resources based on a task identifier |
US9864636B1 (en) | 2014-12-10 | 2018-01-09 | Amazon Technologies, Inc. | Allocating processor resources based on a service-level agreement |
US10203977B2 (en) | 2015-11-25 | 2019-02-12 | Red Hat Israel, Ltd. | Lazy timer programming for virtual machines |
JP6510430B2 (ja) * | 2016-01-18 | 2019-05-08 | 株式会社日立製作所 | トレースデータ編集装置及び方法 |
US10459747B2 (en) | 2016-07-05 | 2019-10-29 | Red Hat Israel, Ltd. | Exitless timer access for virtual machines |
US10521256B2 (en) * | 2016-08-30 | 2019-12-31 | Red Had Israel, Ltd. | Virtual machine migration acceleration with page state indicators |
US20190042295A1 (en) * | 2018-06-29 | 2019-02-07 | Intel Corporation | Timing compensation for a timestamp counter |
US11556365B2 (en) | 2019-09-24 | 2023-01-17 | International Business Machines Corporation | Obscuring information in virtualization environment |
US11579650B2 (en) * | 2019-12-19 | 2023-02-14 | Advanced Micro Devices, Inc. | Method and apparatus for synchronizing the time stamp counter |
Family Cites Families (238)
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 | アドレス変換装置 |
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 |
JPH0644237B2 (ja) * | 1986-04-09 | 1994-06-08 | 株式会社日立製作所 | 仮想計算機システムのタイマ制御方法 |
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 |
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 |
JPS6459435A (en) * | 1987-08-29 | 1989-03-07 | Nec Corp | Virtual system for idle timer in virtual computer system |
JPH01309136A (ja) * | 1988-06-08 | 1989-12-13 | Hitachi Ltd | 仮想タイマー加速制御方式 |
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 | 仮想計算機制御方式 |
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 |
US5317754A (en) * | 1990-10-23 | 1994-05-31 | International Business Machines Corporation | Method and apparatus for enabling an interpretive execution subset |
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 |
US5381535A (en) * | 1990-10-24 | 1995-01-10 | International Business Machines Corporation | Data processing control of second-level quest virtual machines without host intervention |
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 | 仮想計算機システム |
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 |
US5636373A (en) * | 1991-09-04 | 1997-06-03 | International Business Machines Corporation | System for synchronizing logical clock in logical partition of host processor with external time source by combining clock adjustment value with specific value of partition |
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 |
JPH05158710A (ja) * | 1991-12-09 | 1993-06-25 | Toshiba Corp | タイマ管理方式 |
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 |
WO1997025798A1 (en) | 1996-01-11 | 1997-07-17 | Mrj, Inc. | System 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 |
SE508585C2 (sv) * | 1996-02-14 | 1998-10-19 | Ericsson Telefon Ab L M | Fas och frekvensdetekorer för ett på förhand bestämt antal insignaler, jämte förfarande för mätning av fas och frekvens |
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 |
US6205550B1 (en) * | 1996-06-13 | 2001-03-20 | Intel Corporation | Tamper resistant methods and apparatus |
US6178509B1 (en) | 1996-06-13 | 2001-01-23 | 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 |
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 |
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) |
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 |
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 |
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 |
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 |
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 |
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 |
JP3898332B2 (ja) * | 1998-04-17 | 2007-03-28 | 富士通株式会社 | タイマ自動制御装置および記録媒体 |
US6173417B1 (en) | 1998-04-30 | 2001-01-09 | Intel Corporation | Initializing and restarting operating systems |
US6397242B1 (en) | 1998-05-15 | 2002-05-28 | Vmware, Inc. | Virtualization system including a virtual machine monitor for a computer with a segmented architecture |
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 |
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 |
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 |
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 |
US6209106B1 (en) * | 1998-09-30 | 2001-03-27 | International Business Machines Corporation | Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to an external time reference |
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 |
US6327652B1 (en) | 1998-10-26 | 2001-12-04 | Microsoft Corporation | Loading and identifying a digital rights management operating system |
US6609199B1 (en) | 1998-10-26 | 2003-08-19 | Microsoft Corporation | Method and apparatus for authenticating an open system application to a portable IC device |
US6330670B1 (en) | 1998-10-26 | 2001-12-11 | Microsoft Corporation | Digital rights management operating system |
US7194092B1 (en) | 1998-10-26 | 2007-03-20 | Microsoft Corporation | Key-based secure storage |
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 |
US7111290B1 (en) | 1999-01-28 | 2006-09-19 | Ati International Srl | Profiling program execution to identify frequently-executed portions and to assist binary translation |
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 |
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 |
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 |
EP1056014A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for providing a trustworthy user interface |
EP1055989A1 (en) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | System for digitally signing a document |
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 |
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 |
JP2001229037A (ja) * | 2000-02-16 | 2001-08-24 | Hitachi Ltd | 仮想計算機システムの計時方式 |
EP1269425A2 (en) | 2000-02-25 | 2003-01-02 | Identix Incorporated | Secure transaction system |
AU2001243365A1 (en) | 2000-03-02 | 2001-09-12 | Alarity Corporation | 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 |
US6633963B1 (en) | 2000-03-31 | 2003-10-14 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6678825B1 (en) | 2000-03-31 | 2004-01-13 | Intel Corporation | Controlling access to multiple isolated memories 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 |
JP2002049605A (ja) * | 2000-08-02 | 2002-02-15 | Fujitsu Ltd | タイマ調整システム |
GB0020416D0 (en) | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted 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 |
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 |
US7463599B2 (en) * | 2002-05-17 | 2008-12-09 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for minimizing time of reception during paging |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7155629B2 (en) * | 2003-04-10 | 2006-12-26 | International Business Machines Corporation | Virtual real time clock maintenance in a logically partitioned computer system |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
-
2004
- 2004-10-29 US US10/976,970 patent/US8146078B2/en active Active
-
2005
- 2005-10-31 DE DE112005002347T patent/DE112005002347T5/de not_active Ceased
- 2005-10-31 CN CNB2005800355262A patent/CN100481010C/zh not_active Expired - Fee Related
- 2005-10-31 JP JP2007539377A patent/JP4584315B2/ja not_active Expired - Fee Related
- 2005-10-31 WO PCT/US2005/040450 patent/WO2006050534A1/en active Application Filing
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101441498B (zh) * | 2007-11-19 | 2010-06-09 | 联想(北京)有限公司 | 虚拟机监视器、虚拟机系统及其时钟分配使用方法 |
CN103514045A (zh) * | 2012-06-30 | 2014-01-15 | 国际商业机器公司 | 经由硬件计数器来维护硬件资源带宽服务质量的方法和系统 |
US9513951B2 (en) | 2012-06-30 | 2016-12-06 | International Business Machines Corporation | Maintaining hardware resource bandwidth quality-of-service via hardware counter |
CN103514045B (zh) * | 2012-06-30 | 2016-12-28 | 国际商业机器公司 | 经由硬件计数器来维护硬件资源带宽服务质量的方法和系统 |
CN108241522A (zh) * | 2016-12-27 | 2018-07-03 | 阿里巴巴集团控股有限公司 | 虚拟化环境中的睡眠状态切换方法、装置及电子设备 |
CN108241522B (zh) * | 2016-12-27 | 2022-05-17 | 阿里巴巴集团控股有限公司 | 虚拟化环境中的睡眠状态切换方法、装置及电子设备 |
CN109471588A (zh) * | 2018-09-13 | 2019-03-15 | 北京米文动力科技有限公司 | 一种同步方法及设备 |
CN109471588B (zh) * | 2018-09-13 | 2021-08-10 | 北京米文动力科技有限公司 | 一种同步方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US8146078B2 (en) | 2012-03-27 |
DE112005002347T5 (de) | 2007-09-20 |
WO2006050534A1 (en) | 2006-05-11 |
CN100481010C (zh) | 2009-04-22 |
JP4584315B2 (ja) | 2010-11-17 |
US20060130059A1 (en) | 2006-06-15 |
JP2008518367A (ja) | 2008-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101044458A (zh) | 虚拟机环境中的定时器偏移机制 | |
Zhang et al. | {FlashShare}: Punching Through Server Storage Stack from Kernel to Firmware for {Ultra-Low} Latency {SSDs} | |
CN100514297C (zh) | 为与虚拟机监控程序相关联的定时器提供支持 | |
US10255077B2 (en) | Apparatus and method for a hybrid latency-throughput processor | |
US8713294B2 (en) | Heap/stack guard pages using a wakeup unit | |
US7802250B2 (en) | Support for transitioning to a virtual machine monitor based upon the privilege level of guest software | |
US10691571B2 (en) | Obtaining application performance data for different performance events via a unified channel | |
CN102906704B (zh) | 控制处理适配器中断请求的速率 | |
CN101183315A (zh) | 一种并行多处理器虚拟机系统 | |
CN1849585A (zh) | 处理特许事件的多个虚拟机监控器的使用 | |
CN102947808A (zh) | 用于适配器函数的转换格式的运行时确定 | |
US7519966B2 (en) | Information processing and control | |
HUE024981T2 (en) | Convert a message-interrupted message to an I / O adapter event notification | |
CN102073535B (zh) | 基于硬件计数器虚拟化的多虚拟机性能分析方法 | |
CN102906708A (zh) | 响应于适配器事件采取的动作的操作系统通知 | |
KR101640769B1 (ko) | 가상화 시스템 및 그것의 명령어 실행 방법 | |
EP2772854B1 (en) | Regulation method and regulation device for i/o channels in virtualization platform | |
US8286192B2 (en) | Kernel subsystem for handling performance counters and events | |
CN102906720A (zh) | 启用/禁用计算环境的适配器 | |
Song et al. | Characterizing the performance and scalability of many-core applications on virtualized platforms | |
CN1813242A (zh) | 执行可调节精度的异常处理的方法和装置 | |
KR20170131366A (ko) | 공유 리소스 액세스 제어 방법 및 장치 | |
DE202017007430U1 (de) | Erkennen von Bussperrbedingungen und Vermeiden von Bussperren | |
Xie et al. | Metis: a profiling toolkit based on the virtualization of hardware performance counters | |
US7895581B2 (en) | Profiling collector for computer system |
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: 20090422 Termination date: 20181031 |