CN101044458A - 虚拟机环境中的定时器偏移机制 - Google Patents

虚拟机环境中的定时器偏移机制 Download PDF

Info

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
Application number
CNA2005800355262A
Other languages
English (en)
Other versions
CN100481010C (zh
Inventor
S·贝内特
G·奈格尔
A·安德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101044458A publication Critical patent/CN101044458A/zh
Application granted granted Critical
Publication of CN100481010C publication Critical patent/CN100481010C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

在一个实施例中,一种方法包括从虚拟机监视器(VMM)接收将控制转移到虚拟机(VM)的请求,计算偏移值,在VM的操作期间接收对定时器的当前值的请求,基于偏移值调整定时器的当前值,并将已调整的定时器值提供给VM。

Description

虚拟机环境中的定时器偏移机制
技术领域
本发明的实施例一般涉及虚拟机,更具体地说涉及虚拟机环境中的定时器偏移机制。
背景技术
定时器通常被操作系统和应用软件用于调度活动。例如,操作系统内核可以使用定时器来使多个用户级应用程序对系统资源(例如中央处理单元(CPU))实施时间共享。个人计算机(PC)平台上使用的定时器的示例是8254可编程间隔定时器。该定时器可以配置成在指定的间隔之后或周期性地发出中断。
定时器的另一个示例是Intel Pentium4的指令集体系结构(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 Pentium4的指令集体系结构(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关联的先前事件时保存所述定时器值。
CNB2005800355262A 2004-10-29 2005-10-31 虚拟机环境中的定时器偏移机制 Expired - Fee Related CN100481010C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699532A (en) 1970-04-21 1972-10-17 Singer Co Multiprogramming control for a data handling system
US3996449A (en) 1975-08-25 1976-12-07 International Business Machines Corporation Operating system authenticator
US4162536A (en) 1976-01-02 1979-07-24 Gould Inc., Modicon Div. Digital input/output system and method
US4037214A (en) 1976-04-30 1977-07-19 International Business Machines Corporation Key register controlled accessing system
US4247905A (en) 1977-08-26 1981-01-27 Sharp Kabushiki Kaisha Memory clear system
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4276594A (en) 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4207609A (en) 1978-05-08 1980-06-10 International Business Machines Corporation Method and means for path independent device reservation and reconnection in a multi-CPU and shared device access system
JPS5823570B2 (ja) 1978-11-30 1983-05-16 国産電機株式会社 液面検出装置
JPS5576447A (en) 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4307447A (en) 1979-06-19 1981-12-22 Gould Inc. Programmable controller
US4319323A (en) 1980-04-04 1982-03-09 Digital Equipment Corporation Communications device for data processing system
US4419724A (en) 1980-04-14 1983-12-06 Sperry Corporation Main bus interface package
US4366537A (en) 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4403283A (en) 1980-07-28 1983-09-06 Ncr Corporation Extended memory system and method
DE3034581A1 (de) 1980-09-13 1982-04-22 Robert Bosch Gmbh, 7000 Stuttgart Auslesesicherung bei einchip-mikroprozessoren
JPS58140862A (ja) 1982-02-16 1983-08-20 Toshiba Corp 相互排他方式
US4521852A (en) 1982-06-30 1985-06-04 Texas Instruments Incorporated Data processing device formed on a single semiconductor substrate having secure memory
JPS59111561A (ja) 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4759064A (en) 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4975836A (en) 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61206057A (ja) 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
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

Cited By (8)

* Cited by examiner, † Cited by third party
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