CN101441498B - 虚拟机监视器、虚拟机系统及其时钟分配使用方法 - Google Patents

虚拟机监视器、虚拟机系统及其时钟分配使用方法 Download PDF

Info

Publication number
CN101441498B
CN101441498B CN2007101776594A CN200710177659A CN101441498B CN 101441498 B CN101441498 B CN 101441498B CN 2007101776594 A CN2007101776594 A CN 2007101776594A CN 200710177659 A CN200710177659 A CN 200710177659A CN 101441498 B CN101441498 B CN 101441498B
Authority
CN
China
Prior art keywords
clock
operating system
timer
real
client operating
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.)
Active
Application number
CN2007101776594A
Other languages
English (en)
Other versions
CN101441498A (zh
Inventor
宋伟
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN2007101776594A priority Critical patent/CN101441498B/zh
Priority to US12/273,873 priority patent/US8086890B2/en
Publication of CN101441498A publication Critical patent/CN101441498A/zh
Application granted granted Critical
Publication of CN101441498B publication Critical patent/CN101441498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Electric Clocks (AREA)

Abstract

本发明公开了一种虚拟机监视器、虚拟机系统及其时钟分配使用方法,其中该方法包括步骤:分配真实时钟资源给客户操作系统,并保存所述客户操作系统与所述真实时钟资源的对应关系;拦截所述客户操作系统对虚拟时钟资源的访问操作;根据所述对应关系,将所述访问操作发送给对应的真实时钟资源,进行写操作,或将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。本发明给客户操作系统提供了精确的时钟。

Description

虚拟机监视器、虚拟机系统及其时钟分配使用方法
技术领域
本发明涉及一种计算机虚拟化技术,特别是一种虚拟机监视器、虚拟机系统及其时钟分配使用方法。
背景技术
使用虚拟化技术可以在同一硬件平台上同时运行多个客户操作系统(Guest Operation System,GOS)和多个虚拟的CPU。
目前的计算机中的时间是由六种时钟硬件提供的,而这些时钟硬件又都基于固定频率的晶体振荡器来提供时钟方波信号输入。不同的操作系统可以根据自己的需要选择合适的时钟硬件作为自己的计时器。
现有的六种时钟硬件如下所示,包括:
高精度事件计时器(High Precision Event Timer,HPET),其是高精度的时钟,可以提供最多32个计时器,并且精度和效率都比其它时钟高;
实时时钟(Real Time Clock,RTC),通过主板上的电池来供电的,以便在PC机断电后仍然能够继续保持时间,其也称作CMOS计时器;
可编程时间间隔计时器(Programmable Interval Timer,PIT),通过0号中断请求(Interrupt Request,IRQ)产生周期性的时钟中断信号;
电源管理时钟(Power Manager Time,PMT);
局部先进可编程中断控制器向量表计时器(Local apic Vector Table Timer,LVTT);和
时间戳计数器(Time Stamp Counter,TSC),其为不断增加的计数器,在CPU的每个时钟信号到来时加1,可通过汇编指令读取TSC的值,利用CPU的TSC,操作系统通常可以得到更为精准的时间度量。
在现有的虚拟机系统中,虚拟机监视器(Vitual Machine Monitor,VMM)虚拟上述的所有的时钟硬件后,所有的GOS共享这些虚拟的时钟。
由于VMM中这些时钟是虚拟的,所以存在着计时不准,时间延迟的缺点,所以在虚拟机系统中给GOS提供精确的时钟成为了虚拟机系统一个急待解决的问题。
发明内容
本发明实施例的目的是提供一种虚拟机监视器、虚拟机系统及其时钟分配使用方法,给虚拟机系统的GOS提供精确的时钟。
为了实现上述目的,本发明的一个实施例提供一种虚拟机系统的时钟分配使用方法,包括如下步骤:
分配真实时钟资源给客户操作系统,并保存所述客户操作系统与所述真实时钟资源的对应关系;
拦截所述客户操作系统对虚拟时钟资源的访问操作;
根据所述对应关系,将所述访问操作发送给对应的真实时钟资源,进行写操作,或将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。
本发明的另外一个实施例还提供一种虚拟机监视器,包括:
截获模块,用于截获客户操作系统对虚拟时钟资源的访问操作;
对应关系设置及保存模块,用于给所述客户操作系统分配不同的真实时钟资源,并保存所述客户操作系统与所述真实时钟资源的对应关系;
转发模块,用于根据所述对应关系,将截获的所述客户操作系统对所述虚拟时钟资源的访问操作发送给所述真实时钟资源中对应的真实时钟资源;
第一中断注射模块,用于根据所述对应关系将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。
本发明的另一实施例还提供一种虚拟机系统,包括客户操作系统、虚拟机监视器和真实时钟资源,其中,所述虚拟机监视器包括:
对应关系设置及保存模块,用于给所述客户操作系统分配不同的真实时钟资源,并保存所述客户操作系统与所述真实时钟资源的对应关系;
转发模块,用于根据所述对应关系,将截获的所述客户操作系统对所述虚拟时钟资源的访问操作发送给所述真实时钟资源中对应的真实时钟资源;
第一中断注射模块,用于根据所述对应关系将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。
本发明的一个或多个实施例至少具有以下有益效果:
由于虚拟机监视器为客户操作系统分配不同的真实时钟资源,并保存客户操作系统与真实时钟资源的对应关系,所以客户操作系统对虚拟时钟资源的访问操作会被虚拟机监视器转发给真实时钟资源,进而由真实时钟资源为客户操作系统提供精确的时钟服务,进而解决了现有技术中由虚拟时钟导致的计时不准确的问题。
附图说明
图1为本发明第一实施例的方法的流程示意图;
图2为本发明第一实施例的虚拟机系统的结构示意图;
图3为本发明第二实施例的方法的流程示意图;
图4为本发明第三实施例的方法的流程示意图。
具体实施方式
本发明实施例的虚拟机监视器、虚拟机系统及其时钟分配使用方法,预先给虚拟机系统中的GOS分配真实硬件时钟资源,进而在GOS进行时钟读写操作时,VMM对对应的真实硬件时钟资源进行相应处理。
下面结合附图对本发明不同的实施例进行进一步详细说明。
<第一实施例>
在背景技术中已经提到,HPET是高精度的时钟,其可以提供最多32个计时器,并且精度和效率都比其它时钟高,因此,在本发明的第一实施例中使用HPET中的计时器作为GOS的时钟。
如图1所示,本发明的第一实施例的虚拟机系统的时钟分配使用方法包括如下步骤:
时钟分配步骤11,虚拟机监视器给GOS分配不同的真实HPET的计时器,并保存GOS与HPET计时器的对应关系;
时钟使用步骤12,GOS对虚拟的TSC以外的虚拟时钟资源的内存映射输入输出(Memory Map Input and Output,MMIO)访问操作被VMM拦截后,根据GOS与HPET计时器的对应关系,将MMIO访问操作发送给对应的HPET计时器,对HPET计时器进行写操作或将真实HPET计时器的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
利用CPU的TSC,操作系统通常可以得到更为精准的时间度量,因此,本发明第一实施例的方法还包括:
步骤13,GOS对虚拟的TSC的访问操作被VMM拦截后,VMM通过rdtscll指令读取真实CPU的TSC后,将其注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
其中步骤11中保存的GOS与HPET计时器的对应关系可通过内存的偏移地址或是其它参数来表现。
本发明第一实施例的虚拟机系统包括一个或多个GOS,VMM和真实时钟资源,其中,如图2所示,该VMM中包括:
对应关系设置及保存模块,用于给GOS分配不同的真实HPET的计时器,并保存对应的GOS与HPET计时器的对应关系;
截获模块,用于截获GOS对虚拟的TSC以外的虚拟时钟资源的MMIO访问操作;
转发模块,用于根据GOS与HPET计时器的对应关系,将截获的MMIO访问操作发送给对应的HPET计时器;
第一中断注射模块,用于将真实HPET计时器的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
当然,在利用CPU的TSC,使操作系统通常可以得到更为精准的时间度量的情况下,本发明的VMM中还包括TSC获取模块和第二中断注射模块,其中:
该截获模块截获GOS对虚拟的TSC的访问操作;
该TSC获取模块用于通过rdtscll指令读取真实CPU的TSC;
该第二中断注射模块用于将真实CPU的TSC注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
<第二实施例>
在本发明的第一实施例中使用HPET中的计时器作为GOS的时钟,但真实的时钟资源还包括RTC、PIT、PMT和LVTT等,因此,在本发明的第二实施例中,以使用HPET、RTC、PIT、PMT和LVTT作为GOS的时钟进行详细说明。
如图3所示,本发明的第二实施例的虚拟机系统的时钟分配使用方法包括如下步骤:
步骤21,虚拟机监视器给GOS分配HPET、RTC、PIT、PMT和LVTT,并保存对应的GOS与HPET、RTC、PIT、PMT和LVTT的对应关系;
步骤22,GOS对虚拟的TSC以外的虚拟时钟资源的内存映射输入输出(Memory Map Input and Output,MMIO)访问操作被VMM拦截后,根据GOS与HPET、RTC、PIT、PMT和LVTT的对应关系,将MMIO访问操作发送给HPET、RTC、PIT、PMT或LVTT,对HPET、RTC、PIT、PMT或LVTT进行写操作,或将HPET、RTC、PIT、PMT或LVTT的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
由于利用CPU的TSC,操作系统通常可以得到更为精准的时间度量,因此,本发明第二实施例的方法还包括:
步骤23,GOS对虚拟的TSC的访问操作被VMM拦截后,VMM通过rdtscll指令读取真实CPU的TSC后,将其注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
由于HPET、RTC、PIT、PMT和LVTT这些真实时钟资源之间的精度的不同,在分配时可以将精度较高的真实时钟资源分配给优先级较高的GOS,如那些对时间比较的敏感的GOS(如windows)或应用可以分配HPET,而其他要求相对较低的可以分配RTC、PIT、PMT或LVTT。
然而,在使用HPET、RTC、PIT、PMT和LVTT这些真实时钟资源时,由于一个GOS使用HPET时,会向偏移量为0x10的寄存器执行写操作,停止主板上真实的RTC和PIT的工作,所以在本发明的第二实施例中,还包括:
步骤24,VMM拦截GOS对HPET的偏移量为0x10的寄存器的写操作。
拦截该操作后,RTC和PIT就不会停止工作,而可以为其他GOS提供真实时钟资源。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机所可读取存储介质中,该程序在执行时,包括如下步骤:
步骤21,虚拟机监视器给GOS分配HPET、RTC、PIT、PMT和LVTT,并保存对应的GOS与HPET、RTC、PIT、PMT和LVTT的对应关系;
步骤22,GOS对虚拟的TSC以外的虚拟时钟资源的内存映射输入输出(Memory Map Input and Output,MMIO)访问操作被VMM拦截后,根据GOS与HPET、RTC、PIT、PMT和LVTT的对应关系,将MMIO访问操作发送给HPET、RTC、PIT、PMT或LVTT,对HPET、RTC、PIT、PMT或LVTT进行写操作,或将HPET、RTC、PIT、PMT或LVTT的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
由于利用CPU的TSC,操作系统通常可以得到更为精准的时间度量,因此,本发明第二实施例的方法还包括:
步骤23,GOS对虚拟的TSC的访问操作被VMM拦截后,VMM通过rdtscll指令读取真实CPU的TSC后,将其注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
由于HPET、RTC、PIT、PMT和LVTT这些真实时钟资源之间的精度的不同,在分配时可以将精度较高的真实时钟资源分配给优先级较高的GOS,如那些对时间比较的敏感的GOS(如windows)或应用可以分配HPET,而其他要求相对较低的可以分配RTC、PIT、PMT或LVTT。
然而,在使用HPET、RTC、PIT、PMT和LVTT这些真实时钟资源时,由于一个GOS使用HPET时,会向偏移量为0x10的寄存器执行写操作,停止主板上真实的RTC和PIT的工作,所以在本发明的第二实施例中,还包括:
步骤24,VMM拦截GOS对HPET的偏移量为0x10的寄存器的写操作。
拦截该操作后,RTC和PIT就不会停止工作,而可以为其他GOS提供真实时钟资源。
所述的存储介质,如ROM/RAM、磁碟、光盘等。
本发明第二实施例的虚拟机系统包括一个或多个GOS,VMM和真实时钟资源,其中,该VMM中包括:
对应关系设置及保存模块,用于给GOS分配不同的HPET、RTC、PIT、PMT和LVTT,并保存对应的GOS与HPET、RTC、PIT、PMT和LVTT的对应关系;
第一截获模块,用于截获GOS对虚拟的TSC以外的虚拟时钟资源的MMIO访问操作;
转发模块,用于根据GOS与HPET、RTC、PIT、PMT和LVTT的对应关系,将截获的MMIO访问操作发送给对应的HPET、RTC、PIT、PMT或LVTT;
第一中断注射模块,用于根据对应关系将HPET、RTC、PIT、PMT或LVTT的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器;
拦截模块,用于拦截GOS对偏移量为0x10的寄存器的写操作。
当然,在利用CPU的TSC,使操作系统通常可以得到更为精准的时间度量的情况下,本发明的VMM中还包括TSC获取模块和第二中断注射模块,其中:
该第一截获模块还用于截获GOS对虚拟的TSC的访问操作;
该TSC获取模块用于通过rdtscll指令读取真实CPU的TSC;
该第二中断注射模块用于将真实CPU的TSC注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
<第三实施例>
在本发明的第一实施例和第二实施例中分别使用HPET中的计时器和真实时钟资源作为GOS的时钟,在本发明的第三实施例中,以使用HPET的计时器、RTC、PIT、PMT和LVTT作为GOS的时钟进行详细说明。
为方便说明,在此,将HPET的计时器、RTC、PIT、PMT和LVTT命名为第三时钟资源。
如图4所示,本发明的第三实施例的虚拟机系统的时钟分配使用方法包括如下步骤:
时钟分配步骤31,虚拟机监视器给GOS分配HPET的计时器、RTC、PIT、PMT或LVTT,并保存对应的GOS与HPET的计时器、RTC、PIT、PMT和LVTT的对应关系;
时钟使用步骤32,GOS对虚拟的TSC以外的虚拟时钟资源的内存映射输入输出(Memory Map Input and Output,MMIO)访问操作被VMM拦截后,根据GOS与HPET的计时器、RTC、PIT、PMT和LVTT的对应关系,将MMIO访问操作发送给对应的HPET的计时器、RTC、PIT、PMT或LVTT,对HPET的计时器、RTC、PIT、PMT或LVTT进行写操作,或将HPET的计时器、RTC、PIT、PMT或LVTT的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
由于利用CPU的TSC,操作系统通常可以得到更为精准的时间度量,因此,本发明第三实施例的方法还包括:
步骤33,GOS对虚拟的TSC的访问操作被VMM拦截后,VMM通过rdtscll指令读取真实CPU的TSC后,将其注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
与第二实施例类似,第三实施例的方法也包括VMM拦截GOS对HPET的偏移量为0x10的寄存器的写操作的步骤。
由于HPET、RTC、PIT、PMT和LVTT这些真实时钟资源之间的精度的不同,在分配时可以将精度较高的真实时钟资源分配给优先级较高的GOS,如那些对时间比较的敏感的GOS(如windows)或应用可以分配HPET,而其他要求相对较低的可以分配RTC、PIT、PMT或LVTT。
本发明第三实施例的虚拟机系统包括一个或多个GOS,VMM和真实时钟资源,其中,该VMM中包括:
对应关系设置及保存模块,用于给GOS分配HPET的计时器、RTC、PIT、PMT和LVTT,并保存对应的GOS与HPET的计时器、RTC、PIT、PMT和LVTT的对应关系;
截获模块,用于截获GOS对虚拟的TSC以外的虚拟时钟资源的MMIO访问操作;
转发模块,用于根据GOS与HPET的计时器、RTC、PIT、PMT和LVTT的对应关系,将截获的MMIO访问操作发送给对应的HPET的计时器、RTC、PIT、PMT或LVTT;
第一中断注射模块,用于根据所述对应关系将HPET的计时器、RTC、PIT、PMT或LVTT的中断注射到对应GOS的虚拟CPU的局部先进可编程中断控制器;
拦截模块,用于拦截GOS对偏移量为0x10的寄存器的写操作。
当然,在利用CPU的TSC,使操作系统通常可以得到更为精准的时间度量的情况下,本发明的VMM中还包括TSC获取模块和第二中断注射模块,其中:
该截获模块还用于截获GOS对虚拟的TSC的访问操作;
该TSC获取模块用于通过rdtscll指令读取真实CPU的TSC;
该第二中断注射模块用于将真实CPU的TSC注射到对应GOS的虚拟CPU的局部先进可编程中断控制器。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种虚拟机系统的时钟分配使用方法,其特征在于,包括如下步骤:
虚拟机监视器分配真实时钟资源给客户操作系统,并保存所述客户操作系统与所述真实时钟资源的对应关系;
虚拟机监视器拦截所述客户操作系统对虚拟时钟资源的访问操作;
虚拟机监视器根据所述对应关系,将所述访问操作发送给对应的真实时钟资源,对对应的真实时钟资源进行写操作,或将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括步骤:
读取真实CPU的时间戳计数器;
将所述时间戳计数器注射到所述客户操作系统的虚拟CPU的局部先进可编程中断控制器。
3.根据权利要求2所述的方法,其特征在于,所述读取真实CPU的时间戳计数器具体为:通过rdtscll指令读取真实CPU的时间戳计数器。
4.根据权利要求1、2或3所述的方法,其特征在于,所述真实时钟资源为以下三种情况之一:
高精度事件计时器中的计时器;或
高精度事件计时器、实时时钟、可编程时间间隔计时器、电源管理时钟和局部先进可编程中断控制器向量表计时器;或
高精度事件计时器中的计时器、实时时钟、可编程时间间隔计时器、电源管理时钟和局部先进可编程中断控制器向量表计时器。
5.根据权利要求4所述的方法,其特征在于,所述真实时钟资源为实时时钟或可编程时间间隔计时器其中之一时,该方法还包括步骤:
拦截所述客户操作系统对所述高精度事件计时器的偏移量为0x10的寄存器的写操作。
6.一种虚拟机监视器,包括:
截获模块,用于截获客户操作系统对虚拟时钟资源的访问操作;
其特征在于,所述虚拟机监视器还包括:
对应关系设置及保存模块,用于给所述客户操作系统分配不同的真实时钟资源,并保存所述客户操作系统与所述真实时钟资源的对应关系;
转发模块,用于根据所述对应关系,将截获的所述客户操作系统对所述虚拟时钟资源的访问操作发送给所述真实时钟资源中对应的真实时钟资源;
第一中断注射模块,用于根据所述对应关系将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。
7.根据权利要求6所述的虚拟机监视器,其特征在于,所述虚拟机监视器还包括:
第二中断注射模块,用于将真实CPU的时间戳计数器注射到所述客户操作系统的虚拟CPU的局部先进可编程中断控制器。
8.根据权利要求6或7所述的虚拟机监视器,其特征在于,所述真实时钟资源为以下三种情况之一:
高精度事件计时器中的计时器;或
高精度事件计时器、实时时钟、可编程时间间隔计时器、电源管理时钟和局部先进可编程中断控制器向量表计时器;或
高精度事件计时器中的计时器、实时时钟、可编程时间间隔计时器、电源管理时钟和局部先进可编程中断控制器向量表计时器。
9.根据权利要求8所述的虚拟机监视器,其特征在于,所述真实时钟资源为实时时钟和可编程时间间隔计时器其中之一时,还包括:
拦截模块,用于拦截所述客户操作系统对高精度事件计时器的偏移量为0x10的寄存器的写操作。
10.一种虚拟机系统,包括客户操作系统、虚拟机监视器和真实时钟资源,其特征在于,所述虚拟机监视器包括:
截获模块,用于截获客户操作系统对虚拟时钟资源的访问操作;
对应关系设置及保存模块,用于给所述客户操作系统分配不同的真实时钟资源,并保存所述客户操作系统与所述真实时钟资源的对应关系;
转发模块,用于根据所述对应关系,将截获的所述客户操作系统对所述虚拟时钟资源的访问操作发送给所述真实时钟资源中对应的真实时钟资源;
第一中断注射模块,用于根据所述对应关系将所述真实时钟资源的中断注射到所述客户操作系统中对应客户操作系统的虚拟CPU的局部先进可编程中断控制器。
11.根据权利要求10所述的虚拟机系统,其特征在于,所述虚拟机监视器还包括:
第二中断注射模块,用于将真实CPU的时间戳计数器注射到所述客户操作系统的虚拟CPU的局部先进可编程中断控制器。
12.根据权利要求10或11所述的虚拟机系统,其特征在于,所述真实时钟资源为以下三种情况之一:
高精度事件计时器中的计时器;或
高精度事件计时器、实时时钟、可编程时间间隔计时器、电源管理时钟和局部先进可编程中断控制器向量表计时器;或
高精度事件计时器中的计时器、实时时钟、可编程时间间隔计时器、电源管理时钟和局部先进可编程中断控制器向量表计时器。
13.根据权利要求12所述的虚拟机监视器,其特征在于,所述真实时钟资源为实时时钟和可编程时间间隔计时器其中之一时,还包括:
拦截模块,用于拦截所述客户操作系统对高精度事件计时器的偏移量为0x10的寄存器的写操作。
CN2007101776594A 2007-11-19 2007-11-19 虚拟机监视器、虚拟机系统及其时钟分配使用方法 Active CN101441498B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007101776594A CN101441498B (zh) 2007-11-19 2007-11-19 虚拟机监视器、虚拟机系统及其时钟分配使用方法
US12/273,873 US8086890B2 (en) 2007-11-19 2008-11-19 Virtual machine monitor, virtual machine system and clock distribution method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101776594A CN101441498B (zh) 2007-11-19 2007-11-19 虚拟机监视器、虚拟机系统及其时钟分配使用方法

Publications (2)

Publication Number Publication Date
CN101441498A CN101441498A (zh) 2009-05-27
CN101441498B true CN101441498B (zh) 2010-06-09

Family

ID=40643223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101776594A Active CN101441498B (zh) 2007-11-19 2007-11-19 虚拟机监视器、虚拟机系统及其时钟分配使用方法

Country Status (2)

Country Link
US (1) US8086890B2 (zh)
CN (1) CN101441498B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327357B2 (en) * 2009-08-31 2012-12-04 Red Hat, Inc. Mechanism for virtual time stamp counter acceleration
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
CN102141930A (zh) * 2010-12-20 2011-08-03 华为技术有限公司 虚拟机资源分配方法和资源分配装置
EP2575002B1 (de) * 2011-09-28 2018-02-21 Siemens Aktiengesellschaft Verfahren und Virtualisierungssoftware für die Bereitstellung von unabhängigen Zeitquellen für virtuelle Laufzeitumgebungen
CN102662428B (zh) * 2012-03-01 2015-02-04 中国科学院计算技术研究所 一种离散事件网络模拟环境的时钟同步方法
CN104423418B (zh) * 2013-08-27 2018-10-02 财团法人资讯工业策进会 虚拟时间控制装置及方法
TWI501102B (zh) 2013-08-27 2015-09-21 Inst Information Industry 虛擬時間控制裝置、方法及電腦程式產品
CN103853598B (zh) * 2014-02-21 2017-03-01 北京神舟航天软件技术有限公司 实现嵌入式虚拟机硬实时虚拟定时器响应的方法
CN105224886B (zh) * 2014-06-26 2018-12-07 中国移动通信集团甘肃有限公司 一种移动终端安全隔离方法、装置及移动终端
US10054977B2 (en) 2016-04-28 2018-08-21 International Business Machines Corporation Controlling system clocks in virtual machines
US10503534B1 (en) * 2016-09-09 2019-12-10 Hewlett-Packard Development Company, L.P. Adaptive clock scaling to optimize time-based operations within virtualized guest operating systems
JP6877265B2 (ja) * 2017-06-27 2021-05-26 ルネサスエレクトロニクス株式会社 半導体装置、及びフラッシュメモリ制御方法
CN107423206B (zh) * 2017-07-31 2021-01-22 苏州浪潮智能科技有限公司 一种衡量系统管理中断时间的方法及装置
CN110297688B (zh) * 2018-03-22 2022-04-12 龙芯中科技术股份有限公司 一种硬件计数装置、方法以及处理器
CN109460282B (zh) * 2018-10-17 2021-07-30 郑州云海信息技术有限公司 一种vTPM时钟安全保障的方法及系统
CN112559117B (zh) * 2019-09-25 2024-06-07 阿里巴巴集团控股有限公司 定时器处理方法、装置、电子设备及计算机存储介质
CN113687916B (zh) * 2021-08-17 2023-01-10 锐捷网络股份有限公司 数据处理方法及装置、时间更新方法及装置、电子设备
US11855757B1 (en) * 2021-12-10 2023-12-26 Amazon Technologies, Inc. Highly accurate time information in hosted machine instances using dedicated timing network
US11853114B1 (en) * 2021-12-10 2023-12-26 Amazon Technologies, Inc. Virtualized hardware clocks for providing highly accurate time information in hosted machine instances
US12019466B2 (en) 2022-04-26 2024-06-25 Hewlett Packard Enterprise Development Lp Virtual precision time protocol clock devices for virtual nodes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027640A (zh) * 2004-09-30 2007-08-29 英特尔公司 为与虚拟机监控程序相关联的定时器提供支持
CN101044458A (zh) * 2004-10-29 2007-09-26 英特尔公司 虚拟机环境中的定时器偏移机制

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533709B2 (en) * 2005-08-04 2013-09-10 Microsoft Cororation Changing frequency of a virtual programmable interrupt timer in virtual machines to control virtual time

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101027640A (zh) * 2004-09-30 2007-08-29 英特尔公司 为与虚拟机监控程序相关联的定时器提供支持
CN101044458A (zh) * 2004-10-29 2007-09-26 英特尔公司 虚拟机环境中的定时器偏移机制

Also Published As

Publication number Publication date
CN101441498A (zh) 2009-05-27
US20090132846A1 (en) 2009-05-21
US8086890B2 (en) 2011-12-27

Similar Documents

Publication Publication Date Title
CN101441498B (zh) 虚拟机监视器、虚拟机系统及其时钟分配使用方法
US7945908B1 (en) Method and system for improving the accuracy of timing and process accounting within virtual machines
Calandrino et al. Litmus^ rt: A testbed for empirically comparing real-time multiprocessor schedulers
Jin et al. Energy efficiency and server virtualization in data centers: An empirical investigation
US8191062B2 (en) System for processor frequency governors to govern a processor frequency by deriving CPU utilization information based on the state of virtual machine monitor
US8645718B2 (en) Apparatus and method for sampling power consumption
US20060200820A1 (en) System and method for attributing to a corresponding virtual machine CPU usage of a domain in which a shared resource&#39;s device driver resides
EP0076921B1 (en) Method and system for time measurements of data processing channels
Cheng et al. vBalance: Using interrupt load balance to improve I/O performance for SMP virtual machines
CN104123233A (zh) 一种虚拟机大容量内存共享方法
JP2008518367A (ja) 仮想マシン環境におけるタイマ・オフセット機構
Lv et al. Virtualization challenges: a view from server consolidation perspective
US10949243B2 (en) Reducing IPI overhead with CPU overcommit support via IPI broadcast
Gallenmüller et al. 5G URLLC: A case study on low-latency intrusion prevention
CN102073535A (zh) 基于硬件计数器虚拟化的多虚拟机性能分析方法
US20080155092A1 (en) Method, apparatus and system for securely metering resource usage on a computing platform
CN103996003A (zh) 一种虚拟化环境中的数据擦除系统及方法
CN103197971A (zh) Windows操作系统Pentium Ⅳ架构下高精度低CPU占用率定时器的实现方法
Wu et al. Toward low CPU usage and efficient DPDK communication in a cluster
US20050172287A1 (en) Bus management techniques
CN110765045B (zh) 一种基于fpga的中断延时计数系统及方法
Rasmusson et al. Performance overhead of KVM on Linux 3.9 on ARM Cortex-A15
Ekane et al. FlexVF: Adaptive network device services in a virtualized environment
CN107608756B (zh) 一种基于cpu硬件特性的虚拟机自省触发方法及系统
CN103955422A (zh) 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统

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