CN102662857B - 用于对于存储进行虚拟化的设备和方法 - Google Patents

用于对于存储进行虚拟化的设备和方法 Download PDF

Info

Publication number
CN102662857B
CN102662857B CN201110431232.9A CN201110431232A CN102662857B CN 102662857 B CN102662857 B CN 102662857B CN 201110431232 A CN201110431232 A CN 201110431232A CN 102662857 B CN102662857 B CN 102662857B
Authority
CN
China
Prior art keywords
page table
operating system
speed cache
client operating
shadow
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.)
Expired - Fee Related
Application number
CN201110431232.9A
Other languages
English (en)
Other versions
CN102662857A (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.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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 Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of CN102662857A publication Critical patent/CN102662857A/zh
Application granted granted Critical
Publication of CN102662857B publication Critical patent/CN102662857B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

公开了一种在支持多个客户操作系统的虚拟化系统中对存储进行虚拟化的方法,包括:对于所述多个客户操作系统的每个来生成影子页表并高速缓存该影子页表;从所述多个客户操作系统之一接收用于参考物理存储页面的客户页表;并且使用映射信息来映射所高速缓存的影子页表之一和该客户页表。

Description

用于对于存储进行虚拟化的设备和方法
相关申请的交叉引用
这个申请要求2010年12月21日向韩国知识产权局提交的韩国专利申请No.10-2010-0131841的优先权和权益,通过参考将其全部内容合并于此。
技术领域
本发明涉及在支持多个客户操作系统的虚拟化系统中使用影子页表(shadowpagetable)进行的存储虚拟化方法。
背景技术
虚拟化技术指的是对作为由操作系统(OS)使用的硬件资源的中央处理单元(CPU)、存储和输入/输出(I/O)装置(诸如,网络)、以及监视器进行虚拟化的技术。通常,操作系统被配置为直接访问和控制硬件。然而,采用虚拟化技术的系统通过防止操作系统直接访问硬件和通过为操作系统提供虚拟硬件接口,来使得能够在单个硬件上执行多个操作系统。所述虚拟化技术最初已经被应用到服务器领域,并然后被应用到桌面,并且现在开始被应用到诸如移动电话或小终端的嵌入式移动装置。
虚拟化技术可被分类为CPU虚拟化、存储虚拟化、盘虚拟化和I/O装置的虚拟化。在CPU的情况下,CPU架构通常至少支持两种模式。
图1和图2是分别图示了非虚拟化系统的特许模式(privilegedmode)和非特许模式(unprivilegedmode)、以及虚拟化系统的特许模式和非特许模式的配置图。参考图1和图2,所述非虚拟化系统和虚拟化系统在特许级别上不同。
在图1所示的非虚拟化系统中,操作系统14在特许模式12中执行,并且一般应用程序13在非特许模式11中执行。从CPU(未示出)提供的所有指令可以在特许模式12中使用,并且仅除了在特许模式12中可执行的CPU指令之外的剩余指令可以在非特许模式11中执行。通常,操作系统工作在特许模式中,并从而获得控制应用程序的权利。
与此不同,在图2所示的虚拟化系统中,操作系统24工作在非特许模式21中,也就是说,多个虚拟机可以仅仅在不允许操作系统24直接访问硬件时操作,并因此,向特许模式22分配虚拟机监视器(VMM)25,并且CPU被虚拟化以在非特许模式21中执行操作系统24和应用程序23。
在存储的情况下,在非虚拟化系统中,操作系统管理所有物理存储,并且将物理存储分配到应用程序。为此,操作系统将物理存储映射为由应用程序使用的虚拟存储空间,并且将不同的访问权利分派到存储区域,从而防止存储干扰。
在虚拟化系统中,通过虚拟机监视器来执行由操作系统掌管的存储映射和存储访问权利控制。所述虚拟机监视器通过参考作为从操作系统提供的存储映射信息的客户页表(GPT)而适当地变换客户页表,来生成用于实际物理存储映射的影子页表(SPT)。所述影子页表包括存储映射信息和用于每个存储区域的访问权利选项。
在完全虚拟化的情况下,虚拟机监视器不能浏览由操作系统保持的诸如数据结构等的信息,并且仅仅能在操作系统请求硬件执行预定命令时浏览信息。也就是说,操作系统可被认为管理由操作系统执行的处理的所有页表,而虚拟机监视器仅仅能浏览操作系统当前选择的页表。因此,可以采用每当操作系统改变页表时基于对应客户页表的信息来重新生成影子页的方法。
每当切换应用程序处理时,改变客户页表。因此,客户页表的改变频率可能高,并且每次改变客户页表时频繁地重新生成影子页。相应地,虚拟化系统的性能可能显著地下降。
发明内容
已经努力作出本发明,以提供存储虚拟化方法,其能够在虚拟化系统中通过用于存储虚拟化的影子页表的有效管理来提高虚拟化系统的性能。
本发明的示范实施例提供了一种在支持多个客户操作系统的虚拟化系统中对存储进行虚拟化的方法,所述方法包括:对于所述多个客户操作系统的每个来生成影子页表并高速缓存该影子页表;以及使用映射信息来映射所高速缓存的影子页表之一、和来自所述多个客户操作系统之一的用于参考物理存储页面的客户页表。
所述映射的操作可使用其中加载客户操作系统的机器地址位置信息和客户页表的虚拟地址位置信息,作为映射信息。
所述高速缓存的操作可将影子页表高速缓存到包括影子页表的位置信息的、用于每个客户操作系统的列表,并且即使当暂停客户操作系统的执行时也可以保持进行高速缓存。
所述高速缓存的操作可通过虚拟化系统的虚拟机监视器来验证用于每个客户操作系统的影子页表的高速缓存频率,并且可基于所述高速缓存频率来动态地改变影子页表的高速缓存空间。
所述高速缓存的操作可以将客户页表分类为第一页表和第二页表,并且当共享该第二页表时,可基于共享关系来对影子页表进行高速缓存。
在虚拟化系统的虚拟机监视器管理所共享的第二页表的列表时,所述高速缓存的操作可以通过参考所述列表来验证第二页表的共享关系,并从而对影子页表进行高速缓存,并且可使用散列(hashing)方案来验证第二页表的共享关系。
本发明的另一示范实施例提供了一种在支持多个客户操作系统的虚拟化系统中使用影子页表来对存储进行虚拟化的设备,所述设备包括:处理器,包括为所述多个客户操作系统的每个所生成的影子页表;客户页表,来自所述多个客户操作系统之一,被提供以用于参考物理存储页面;和映射信息,映射所高速缓存的影子页表之一和该客户页表。
根据本发明的示范实施例,可以获得如下的效果。
第一,可能通过高速缓存和重新使用影子页表来使虚拟化系统的处理负载最小化。
第二,可能在同时操作多个操作系统的虚拟化系统中通过改变客户操作系统的页表、并且迅速执行存储映射,来提高虚拟化系统的性能。
第三,可能通过根据频繁发生的应用程序的切换而降低存储映射负载来提高应用程序的处理速率。
前面的概述仅仅是说明性的,并且不意图以任何方式进行限制。除了上面所述的说明性方面、实施例和特征之外,其它方面、实施例和特征也将通过参考附图和如下的详细描述而变得明显。
附图说明
图1是图示了通常的非虚拟化系统的特许模式和非特许模式的配置图;
图2是图示了通常的虚拟化系统的特许模式和非特许模式的配置图;
图3是图示了根据本发明示范实施例的使用页表的存储映射的图;
图4是图示了根据本发明示范实施例的虚拟机监视器和客户操作系统的存储映射识别的图;
图5是图示了根据本发明示范实施例的虚拟化系统的存储结构的图;
图6是图示了根据本发明示范实施例的存储虚拟化方法中的影子页表的高速缓存的图;
图7是图示了根据本发明示范实施例的在存储虚拟化方法中对第二页表进行共享的情况的图;
图8是用于描述根据本发明示范实施例的存储虚拟化方法的流程图。
应该理解,附图不一定是按比例绘制的,其呈现了用于说明本发明的基本原理的各个特征的某些简化表示。将部分地通过具体想要的应用和使用环境来确定如这里所公开的本发明的特定设计特征,例如包括特定维度、方向、位置、和形状。
在图中,贯穿附图的几个图始终,附图标记指的是本发明的相同或等效部分。
具体实施方式
下文中,将参考附图详细描述本发明的示范实施例。首先,我们应该注意,在向每个图的元素赋予附图标记时,即使相同的元素被示出在不同的图中,相同的附图标记也指的是相同的元素。在描述本发明时,将不详细描述公知功能或构造,因为它们可能不必要地使本发明的理解模糊。应该理解,尽管下文中描述了本发明的示范实施例,但是本发明的精神不限于其,并且本领域的技术人员可以以各种方式对其进行改变和修改。
本发明的示范实施例可以以各种方式来实现。例如,本发明的示范实施例可以为实现的固件、软件、或其组合等。
在通过硬件进行的实现中,根据本发明示范实施例的方法可以用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。
在使用固件或软件的实现中,根据本发明示范实施例的方法可以用模块、过程、功能等实现,它们执行上述的功能或操作。软件代码被存储在存储单元中,并且可以由处理器所驱动。存储单元被布置在处理器内部或外部,并且可将数据传送到公知的各种单元,和从公知的各种单元接收数据。
贯穿说明书始终,当将预定部分描述为“连接到”另一部分时,它包括其中通过还在其间布置又一预定部分而将所述预定部分电连接到该另一部分的情况,连同其中所述预定部分直接连接到所述另一部分的情况。此外,当预定部分被描述为包括预定的构成元素时,它指示除非另外地定义,否则所述预定部分还可包括另一构成元素,而不排除其它构成元素。
此外,在本说明书中描述的术语模块指示用于处理预定功能或操作的单个单元,并且可以用硬件、或软件、或硬件和软件的组合来配置。
提供专门的术语来帮助理解本发明。专门术语的使用可被改变为其它形式,而不脱离本发明的技术思路。
本发明公开了一种用于在虚拟化系统中有效地管理用于存储虚拟化的影子页表的存储虚拟化方法。
下文中,将结合附图详细描述本发明的示范实施例。
图3是图示了根据本发明示范实施例的使用页表的存储映射的图。
根据页表来生成根据本发明示范实施例的用于存储虚拟化方法的影子页表,并因此,将参考图3初始地描述根据页表的映射。尽管图3涉及作为多个中央处理单元(CPU)架构之一的ARM架构,但是本发明不限于此。虽然其它架构还具有一些差异,然而,页表的关键功能是相同的。也就是说,页表的关键功能是支持动态的存储映射,使得相对小的物理存储可用于处理的相对大的虚拟存储空间,并且对每个存储区域来分配不同的访问权利,从而防止处理之间的存储干扰。所述ARM架构还提供了多个页面映射方法,并且图3是最广泛使用的页表的示范图。
使用第一页表31、或者第一页表31和第二页表32来映射作为物理存储的页帧35和36。
最初,当使用第一页表31时,配置具有16KB大小的第一页表31。第一页表31的每个条目33具有4个字节的大小,并因此具有16KB大小的第一页表31具有4096个条目,并且每个条目33指示作为映射的物理存储的1MB的页帧35。
针对每个处理来分配一个页表31,并且每个处理可映射4GB的虚拟存储空间。这里,32比特的机器被用作示例。
其间,当使用第一页表31和第二页表32时,第一页表31的条目33指示具有1KB大小的第二页表32。第二页表32具有256个条目34,并且每个条目指示具有4KB大小的页帧36。256个4-KB页帧36是1MB,并因此,经过第二页表32的第一页表31的条目33还指示1MB的页帧。
当使用第二页表32时,每个条目可指示作为4KB的分布式物理存储的页帧,即使每个条目不指示1MB的连续存储。由于可以为每个页帧设置页面访问权利,所以可基于4KB单位来不同地设置访问权利。
图4是图示了根据本发明示范实施例的虚拟机监视器和客户操作系统的存储映射识别的图。
参考图4,客户操作系统1(GuestOS1,客户OS1)、客户操作系统2(GuestOS2,客户OS2)和虚拟机监视器(VMM)的每个不同地识别存储地图(memorymap)。
这是因为在编译中客户操作系统贯常知道的物理存储的位置不同于在虚拟化系统中客户操作系统所要使用的物理存储的位置。
虚拟机监视器通过生成并使用影子页表来校正这样的差异,在所述影子页表中,由客户操作系统生成的客户页表被改变到其中实际加载操作系统的存储位置。
下文中,将如下描述在图4中所示的本发明的示范实施例。
虚拟机监视器识别其中加载虚拟机监视器、客户操作系统1、和客户操作系统2的实际物理存储41的位置。
然而,客户操作系统1被识别为使用从0x50000000到0x51000000的物理存储42,并且客户操作系统2也被识别为使用从0x50000000到0x51000000的物理存储43。
为了校正上面的差异,虚拟机监视器提供影子页表,从而使得操作系统能够映射向虚拟机监视器分配的实际物理存储41。
图5是图示了根据本发明示范实施例的虚拟化系统的存储结构的图。将参考图5来描述在虚拟存储和物理存储之间的映射关系。
在虚拟化系统中,将存储地址分类为虚拟地址51、伪物理地址52、和机器地址53。虚拟地址51指示由虚拟机识别的虚拟存储区域,伪物理地址52指示由虚拟机识别的物理存储区域,并且机器地址53指示由虚拟机监视器浏览的实际物理存储区域。
如上所述,当生成影子页表时,虚拟机监视器为每个存储区域分派不同的访问权利,从而防止在处理之间的存储干扰。
也就是说,当在生成影子页表的条目时、在客户操作系统内的预定位置中发生存储写入时,虚拟机监视器可获得控制权利,并且将存储写入改变为只读。特许模式中的虚拟机监视器获取非特许模式中的客户操作系统的控制权利。
当生成影子页表时,本发明的存储虚拟化方法结合被映射到客户页表的条目来考虑在伪物理地址52和机器地址53之间的地址位置差异,如图5所示。
此外,当需要改变访问控制设置(像其中发生处理之间的存储干扰的情况)时,通过改变访问控制设置来生成影子页表的对应条目。
在影子页表生成处理中,基于页表的条目数目来确定生成操作的量。在支持多个客户操作系统的虚拟化系统的情况下,每当执行每个操作系统的处理时,需要生成影子页表。因此,所述生成处理频繁地发生,从而导致系统中的大负载。
将物理存储映射到处理的方法针对每个操作系统而不同。根据本发明示范实施例的存储虚拟化方法提出了一种通过考虑客户操作系统的这样的特性来降低影子页表生成负载的方法。
在32比特Linux的情况下,当物理存储的大小等于或小于896MB时,Linux直接映射在处理的4GB虚拟地址空间中内核所使用的从0xC0000000开始的所有物理存储。由于Linux的所述特性,所有处理具有相同的内核地址映射,并且由Linux操作系统所使用的处理的所有页表具有与0XC0000000上层相同的条目。
因此,当客户操作系统是Linux操作系统时,在0XC0000000较上部分的地址的情况下,可通过解析客户页表来重新使用先前使用的影子页表的条目描述,而不生成影子页表。此外,对于除了在示范实施例中描述的Linux之外的其它操作系统,当考虑对应操作系统的存储映射特性时,可能降低影子页表生成负载。
在操作多个客户操作系统的虚拟化系统中,需要可用于映射客户操作系统所使用的客户页表和所高速缓存的影子页表的信息,以重新使用影子页表。机器地址位置信息(即,其中加载客户操作系统的实际物理存储位置信息)可用于所述映射信息。
此外,客户页表的虚拟地址位置信息可用于所述映射信息。
在使用所述机器地址和虚拟地址作为映射信息的情况下,当客户操作系统在相同的虚拟地址位置中使用不同处理的页表时,发生的问题在于,页表不能用上面两条信息来标识。在半虚拟化(para-virtualization)的情况下,虚拟机监视器可以从客户操作系统接收操作系统的信息,并因此可解决上面的问题。另一方面,在全虚拟化的情况下,需要附加的信息来用于标识。例如,可通过将用于每个操作系统的标识符添加到客户页表来标识所述客户操作系统。
图6是图示了根据本发明示范实施例的存储虚拟化方法中的影子页表的高速缓存的图。
参考图6,根据本发明示范实施例的存储虚拟化方法生成并高速缓存用于多个客户操作系统的每个的影子页表62,并且使得能够重新使用所述影子页表62,并且具体地,将影子页表62高速缓存到包括影子页表62的位置信息的用于每个客户操作系统的列表61中。
用于每个操作系统的列表61是用于映射客户页表(未示出)和影子页表62的信息。通过这样,每当改变客户页表(未示出)时,存储虚拟化方法可重新使用所存储的影子页表62,而不重新生成影子页表62。
影子页表62的高速缓存可使用各种方法来执行。作为所述各种方法之一,可以采用即使当多个客户操作系统的至少一个的执行被暂停(suspend)时也保持高速缓存的方法。
由于虚拟化系统的特性,在许多情况下可同时执行多个客户操作系统。当多个客户操作系统的影子页表共享单个高速缓存空间时,所述高速缓存空间受限。因此,为了存储新的影子页表,需要从高速缓存中去除在现有的影子页表之中其执行被暂停的客户操作系统的影子页表。在这个示例中,其执行被暂停并然后被恢复的客户操作系统的影子页表不能被重新使用,并需要被重新生成。根据本发明示范实施例的存储虚拟化方法使得甚至调度之外(scheduled-out)的客户操作系统所使用的影子页表也能够被保持在高速缓存中,以便防止上面的问题。
此外,影子页表62的高速缓存可采用如下方法,通过虚拟化系统的虚拟机监视器来验证用于每个客户操作系统的影子页表的高速缓存频率,并且基于所述高速缓存频率来动态地改变影子页表的高速缓存空间。这是为了当多个客户操作系统共享高速缓存区域时、有效地管理高速缓存区域。
图7是图示了根据本发明示范实施例的在存储虚拟化方法中对第二页表进行共享的情况的图。
参考图7,根据本发明示范实施例的存储虚拟化方法将客户页表分类为第一页表和第二页表71,并且与另一第一页表共享和使用第二页表71。在这个情况下,可以基于共享的关系来对影子页表进行高速缓存。
当如图7所示地客户页表共享第二页表71时,所述页表可彼此影响。当第二页表71的共享关系没有被反映在对影子页表的高速缓存中时,所共享的客户页表中的改变没有被反映在影子页表中,并因此破坏了页表的连贯性,从而虚拟化系统没有正常操作。因此,本发明的示范实施例甚至对于影子页表也采用了用于同等地反映客户页表的共享关系的方法,从而解决所述问题。所述共享关系可以使用各种方法来识别。
根据本发明的示范实施例,虚拟化系统的虚拟机监视器管理所共享的第二页表71的列表,并且使得能够在生成影子页表时参考所述列表,从而使得可能验证是否共享所述客户页表。
此外,根据本发明的另一示范实施例,存储虚拟化方法可被配置为使用散列方案来验证第二页表的共享关系。即使连接列表是用于绑定数据结构的简单方法,它对于搜索连接列表也可能是无效率的。这是因为需要查看整个列表直到发现所期望的事项为止。散列表格以指明指针的安排(即,安排中的位置)的索引作为指针向量而使得能够进行访问,从而使得可能有效地验证是否共享客户页表。
同时,根据本发明又一示范实施例的使用影子页表的存储虚拟化设备可包括所高速缓存的影子页表、客户页表、和用于处理映射信息的处理器,该映射信息用以映射所高速缓存的影子页表和客户页表。
图8是用于描述根据本发明示范实施例的存储虚拟化方法的流程图。
初始地,支持多个操作系统的虚拟化系统为每个操作系统生成影子页表(S110)。
接下来,虚拟化系统在高速缓存区域中存储所生成的影子页表(S130)。这里,如上所述地可采用各种高速缓存方法。例如,可以采用即使当预定操作系统的执行被暂停时也保持高速缓存的方法、基于使用频率来动态地分配高速缓存区域的方法等。
接下来,执行在多个操作系统之中的一个操作系统的处理,从而提供客户页表(S150)。
接下来,虚拟化系统基于映射信息来映射高速缓存的影子页表和客户页表(S170)。所述映射信息可被提供为用于每个操作系统的列表,并且所述列表包括物理存储的地址信息,从而使得能够进行虚拟化系统中的物理存储访问。
结果,不经过现有的影子页表生成过程,也可以基于映射信息来重新使用高速缓存的影子页表(S190),从而可提高虚拟化系统的性能。
根据本发明的存储虚拟化设备和方法可被应用到操作多个操作系统的任何类型的虚拟化技术领域。
如上所述,已经在附图和说明书中描述并图示了示范实施例。选择并且描述示范实施例,以便说明本发明的某些原理和它们的实践应用,从而使得本领域的其它技术人员能够作出和利用本发明的各种示范实施例、连同其各种替换和修改。从前述描述中显而易见的是,本发明的某些方面不受到这里图示的示例的具体细节的限制,并因此,构想出,本领域的其它技术人员将想到其它的修改和应用或者其等效物。然而,在考虑说明书和附图之后,本构造的许多改变、修改、变化以及其它使用和应用对于本领域技术人员将变明显。不脱离本发明的精神和范围的所有这些改变、修改、变化以及其它使用和应用被认为得到本发明覆盖,本发明仅通过接下来的权利要求所限制。

Claims (12)

1.一种在支持多个客户操作系统的虚拟化系统中对存储进行虚拟化的方法,所述方法包括:
对于所述多个客户操作系统的每个来生成影子页表并高速缓存该影子页表;和
使用映射信息来映射所高速缓存的影子页表之一、和来自所述多个客户操作系统之一的用于参考物理存储页面的客户页表,
其中,所述高速缓存的操作将客户页表分类为第一页表和第二页表,并且当共享该第二页表时,基于共享关系来对影子页表进行高速缓存。
2.根据权利要求1的方法,其中,所述映射的操作使用其中加载客户操作系统的机器地址位置信息和客户页表的虚拟地址位置信息,作为映射信息。
3.根据权利要求1的方法,其中所述高速缓存的操作将影子页表高速缓存到包括影子页表的位置信息的、用于每个客户操作系统的列表。
4.根据权利要求1的方法,其中,所述高速缓存的操作即使当暂停客户操作系统的执行时也保持进行高速缓存。
5.根据权利要求1的方法,其中,所述高速缓存的操作通过虚拟化系统的虚拟机监视器来验证用于每个客户操作系统的影子页表的高速缓存频率,并且基于所述高速缓存频率来动态地改变影子页表的高速缓存空间。
6.根据权利要求1的方法,其中,在虚拟化系统的虚拟机监视器管理所共享的第二页表的列表时,所述高速缓存的操作通过参考所述列表来验证第二页表的共享关系,并从而对影子页表进行高速缓存。
7.根据权利要求1的方法,其中,所述高速缓存的操作使用散列方案来验证第二页表的共享关系。
8.一种在支持多个客户操作系统的虚拟化系统中使用影子页表来对存储进行虚拟化的设备,所述设备包括:
用于对于所述多个客户操作系统的每个来生成影子页表并高速缓存该影子页表的部件;和
用于使用映射信息来映射所高速缓存的影子页表之一、和来自所述多个客户操作系统之一的用于参考物理存储页面的客户页表的部件,
其中,所述用于高速缓存的部件将客户页表分类为第一页表和第二页表,并且当共享该第二页表时,基于共享关系来对影子页表进行高速缓存。
9.根据权利要求8的设备,其中,所述用于映射的部件使用其中加载客户操作系统的机器地址位置信息作为该映射信息,并且使用客户页表的虚拟地址位置信息作为该映射信息。
10.根据权利要求8的设备,其中,所述用于高速缓存的部件将影子页表高速缓存到包括影子页表的位置信息的、用于每个客户操作系统的列表。
11.根据权利要求8的设备,其中,所述用于高速缓存的部件即使当暂停客户操作系统的执行时也保持进行高速缓存。
12.根据权利要求8的设备,其中,所述用于高速缓存的部件通过虚拟化系统的虚拟机监视器来验证用于每个客户操作系统的影子页表的高速缓存频率,并且基于所述高速缓存频率来动态地改变影子页表的高速缓存空间。
CN201110431232.9A 2010-12-21 2011-12-21 用于对于存储进行虚拟化的设备和方法 Expired - Fee Related CN102662857B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100131841A KR20120070326A (ko) 2010-12-21 2010-12-21 메모리 가상화 장치 및 방법
KR10-2010-0131841 2010-12-21

Publications (2)

Publication Number Publication Date
CN102662857A CN102662857A (zh) 2012-09-12
CN102662857B true CN102662857B (zh) 2016-07-06

Family

ID=46688209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110431232.9A Expired - Fee Related CN102662857B (zh) 2010-12-21 2011-12-21 用于对于存储进行虚拟化的设备和方法

Country Status (2)

Country Link
KR (1) KR20120070326A (zh)
CN (1) CN102662857B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442091B1 (ko) * 2012-12-31 2014-09-25 고려대학교 산학협력단 가상화 시스템에서의 메모리 관리 방법
US10209899B2 (en) * 2015-11-06 2019-02-19 Microsoft Technology Licensing, Llc Storage virtualization offload
CN106155933B (zh) * 2016-07-06 2019-02-05 乾云众创(北京)信息科技研究院有限公司 一种基于KSM及Pass-through相结合的虚拟机内存共享方法
KR102199509B1 (ko) * 2019-10-16 2021-01-06 숭실대학교산학협력단 가상화 시스템에서 메모리를 공유하기 위한 메모리 공유 시스템, 방법 및 이를 수행하기 위한 프로그램을 기록한 기록매체

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006294028A (ja) * 2005-04-05 2006-10-26 Internatl Business Mach Corp <Ibm> 直接実行機能を提供するためのシステム、コンピュータシステム、方法およびプログラム
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
CN101681269A (zh) * 2007-05-16 2010-03-24 威睿公司 多虚拟化技术的自适应动态选择与应用

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234432B2 (en) * 2009-01-26 2012-07-31 Advanced Micro Devices, Inc. Memory structure to store interrupt state for inactive guests

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006294028A (ja) * 2005-04-05 2006-10-26 Internatl Business Mach Corp <Ibm> 直接実行機能を提供するためのシステム、コンピュータシステム、方法およびプログラム
CN101681269A (zh) * 2007-05-16 2010-03-24 威睿公司 多虚拟化技术的自适应动态选择与应用
CN101398768A (zh) * 2008-10-28 2009-04-01 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法

Also Published As

Publication number Publication date
KR20120070326A (ko) 2012-06-29
CN102662857A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
US11620060B2 (en) Unified hardware and software two-level memory
US8135899B1 (en) Expansion of virtualized physical memory of virtual machine
CN102077188B (zh) 用于虚拟化操作系统的直接存储器访问过滤器
US8352938B2 (en) System, method and program to migrate a virtual machine
US9201677B2 (en) Managing data input/output operations
KR20210089150A (ko) 호스트 컴퓨팅 디바이스 가상 메모리에 의해 지원되는 가상 머신 메모리의 더 빠른 액세스
US10877793B2 (en) Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system
US20180004555A1 (en) Provisioning executable managed objects of a virtualized computing environment from non-executable managed objects
US9703488B2 (en) Autonomous dynamic optimization of platform resources
US9811465B2 (en) Computer system and cache control method
US20170031825A1 (en) Direct Host-To-Host Transfer for Local Caches in Virtualized Systems
WO2014104509A1 (ko) 가상화 시스템에서의 메모리 관리 방법
US9612976B2 (en) Management of memory pages
US10061701B2 (en) Sharing of class data among virtual machine applications running on guests in virtualized environment using memory management facility
CN102662857B (zh) 用于对于存储进行虚拟化的设备和方法
US9766918B2 (en) Virtual system device identification using GPU to host bridge mapping
US9164909B1 (en) Method for the use of process identifiers to invalidate cached data in environments that allow processes to migrate between physical machines
KR101564293B1 (ko) 장치 가상화 방법 및 장치
US20220405111A1 (en) Improving memory access handling for nested virtual machines
CN116107919A (zh) 一种针对跨架构的多地址空间虚拟化内存域隔离方法
JP2013206454A (ja) 情報処理装置、装置管理方法および装置管理プログラム
EP3593251A1 (en) Systems and methods for managing dynamic random access memory (dram)
Theaker et al. Memory Management—Basic Principles

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

Granted publication date: 20160706

Termination date: 20171221

CF01 Termination of patent right due to non-payment of annual fee