用于完全虚拟化的地址空间变换方法和设备的制作方法

文档序号:6442808阅读:159来源:国知局

专利名称::用于完全虚拟化的地址空间变换方法和设备的制作方法
技术领域
:本发明涉及用于完全虚拟化的地址空间变换方法和设备;并更具体地,涉及当使用不支持虚拟化的硬件对系统进行虚拟化时能够快速变换地址空间的、用于完全虚拟化的地址空间变换方法和设备。
背景技术
:图I是用于解释具有软件基础的传统地址空间变换方法的图。參考图1,传统地址空间变换方案将虚拟机10和虚拟机监视器20的地址空间分配到相同地址空间。这是因为虚拟机10和虚拟机监视器20之间的上下文变换次数、以及用于上下文变换的成本与虚拟化的系统的性能成比例。換言之,为了提升虚拟化的系统的性能,优选的是,使得虚拟机10和虚拟机监视器20之间的上下文变换次数以及用于上下文变换的成本最小化。然而,尽管这样的基于软件的地址变换方法对于提升系统的性能是有效的,但是这引起虚拟机的地址空间压缩的问题。即,这促使虚拟机中操作的客户(guest)操作系统的内核应识别不可使用的硬件所提供的所有虚拟地址空间。这样的基于软件的地址空间变换方法的问题可通过使用一般操作系统没有使用的0-4KB空间来解決。然而,这样的方案也引起以下问题,即,不可能使得虚拟机监视器具有各种功能,因为虚拟机的尺寸限于4KB。图2是解释传统的基于硬件的地址空间变换方法的图。图2中所示传统的基于硬件的地址空间变换方法主要使用硬件制造商所提供的虚拟化方案。根据该方法,地址空间压缩的问题可通过在操作时虚拟机30使用虚拟地址空间、而虚拟机监视器40使用物理地址空间来解決。然而,这样的基于硬件的地址空间变换方法具有的问题在于,其必须使用支持虚拟化的硬件制造商所提供的硬件,并且其不能在使用ARM(高级RISC机器)计算架构的硬件中使用。其间,在完全虚拟化方案中,虚拟机没有识别虚拟机监视器,并使用硬件所提供的所有地址空间。由于此,虚拟机监视器需要与虚拟机的地址空间不同的额外地址空间,并所以,提供附加地址空间用于虚拟机监视器。然而,在这样的完全虚拟化方案中,在虚拟机和虚拟机监视器之间的上下文变换的情况下可发生开销。
发明内容考虑到以上情况,本发明的目的在于提供一种能够解决地址空间压缩的问题、并且即使当使用诸如ARM计算架构的不支持虚拟化的硬件时也能够快速执行地址变换的、用于完全虚拟化的地址空间变换方法和设备。根据本发明的第一方面,提供了一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换设备,该设备包括向该虚拟机分配的虚拟机页表,使得该虚拟机具有第一虚拟地址空间;向该虚拟机监视器分配的虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;MMU(存储管理単元),指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和地址空间管理器,通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行该地址空间变换。根据本发明的第一方面,提供了一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换方法,该方法包括向该虚拟机提供虚拟机页表,使得该虚拟机具有第一虚拟地址空间;向该虚拟机监视器提供虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;在MMU(存储管理単元)处指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和在地址空间管理器处通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行地址空间变换。根据结合附图给出的实施例的以下描述,本发明的目的和特征将变得明显,其中图I是用于解释具有软件基础的传统的地址空间变换方法的图;图2是解释传统的基于硬件的地址空间变换方法的图;图3是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中使用的地址空间的图;和图4是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中的ASID(地址空间标识符)分配关系的图。具体实施例方式其后,将參考形成本发明一部分的附图来描述本发明的实施例。图3是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中使用的地址空间的图。如图3中所示,虚拟机110和虚拟机监视器120独立具有分离地址空间。为了使得虚拟机Iio和虚拟机监视器120独立具有分离地址空间,分别向虚拟机110和虚拟机监视器120分配分离页表,该分离页表被划分为虚拟机页表130和虚拟机监视器页表140。作为用于地址空间变换的硬件组件的存储管理単元(MM)150选择性地指示代表要改变的地址空间的页表,并改变ASID(地址空间标识符)151中存储的值,以便进行地址空间的变换。这样的地址空间的变换通过地址空间管理器160的共享页面161进行,并且将该共享页面同时反射到两个地址空间。当变换地址空间时,MM150的ASID151总计(cometo)具有ASID值N作为缺省,该值由虚拟机监视器120使用。当ASID151的值是匪150的TLB(变换后备缓冲器(TranslationLook-asideBuffer))153中存在的条目之中的N时,通过页表移动(pagetablewalk)仅将TLB153中存储的PTE(页表条目)用作有效的。換言之,如果在开始进入虚拟机监视器120的时候将MMU150的ASID151设置为N,则虚拟化系统的某一硬件在进行页表移动的时候,在MMU150的TLB153上写入其ASID为N的用于虚拟化监视器的PTE141。其后,当从虚拟机110变换到虚拟机监视器120吋,将不发生用于地址空间的变换的页表移动。所以,可使得成本最小化。虚拟机的ASID值N由地址空间管理器160的ASID管理器163保持,并且当进入虚拟机监视器120时虚拟机110所使用的ASID值M也被保持。当从虚拟机监视器120变换到虚拟机110时,将相反应用上面解释的处理。图4是示出了在根据本发明实施例的用于完全虚拟化的地址变换处理中的ASID(地址空间标识符)分配关系的图。详细来说,图4示出了虚拟机监视器120、客户操作系统内核170、和客户操作系统处理180之间的ASID分配关系。一般来说,使用ASID的客户操作系统内核具有“全局”属性,井向客户操作系统处理分配ASID值用于每ー应用。然而,根据本发明的实施例,向虚拟机监视器120分配ー个ASID值。向虚拟机110分配从系统提供的ASID值之中的除了向虚拟机监视器120分配的ASID值之外的ASID值。换言之,向虚拟机110中操作的客户操作系统内核170分配全局属性,向虚拟机监视器120分配ASID值N,并且向在其他虚拟机中操作的客户操作系统处理180分配除了ASIDN之外的ASID值(例如,ASIDO、ASIDI、ASID2、......ASIDM)。例如,在ASID的管理中,可使用用于在完全虚拟化中提供特权(privileged)指令的一般方法。如上面解释的,根据本发明的实施例,可能解决地址空间压缩的问题,并且即使当使用诸如ARM计算架构的不支持虚拟化的硬件时也可能快速执行地址变换。而且,可使得用于虚拟化的地址空间变换的成本最小化。尽管已针对实施例而示出和描述了本发明,但是本领域技术人员将理解的是,可进行各种改变和修改,而不脱离以下权利要求所限定的本发明的范围。权利要求1.一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换设备,该设备包括向该虚拟机分配的虚拟机页表,使得该虚拟机具有第一虚拟地址空间;向该虚拟机监视器分配的虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;MMU(存储管理単元),指示该虚拟机页表和该虚拟机监视器页表之一,该页表指示要对于该虚拟机和该虚拟机监视器之间的地址空间变换而改变的地址空间;和地址空间管理器,通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行地址空间变换。2.根据权利要求I的设备,其中该MMU具有当执行地址空间变换时由虚拟机监视器使用的ASID(地址空间标识符)值。3.根据权利要求2的设备,其中,当TLB(变换后备缓冲器)中存在的条目中的ASID值是虚拟机监视器所使用的ASID值时,该MMU通过页表移动仅将TLB中存储的PTE(页表条目)用作有效的。4.根据权利要求2的设备,其中该地址空间管理器包括ASID管理器,用于保持在地址空间变换时的虚拟机的ASID值。5.根据权利要求4的设备,其中该ASID管理器保持在地址空间变换时的虚拟机的ASID值。6.一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换方法,该方法包括向该虚拟机提供虚拟机页表,使得该虚拟机具有第一虚拟地址空间;向该虚拟机监视器提供虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;在MMU(存储管理単元)处指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和在地址空间管理器处通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行地址空间变换。7.根据权利要求6的方法,其中所述指示虚拟机页表和虚拟机监视器页表之一的步骤包括当执行地址空间变换时,提供虚拟机监视器所使用的ASID(地址空间标识符)值。8.根据权利要求7的方法,其中当TLB(变换后备缓冲器)中存在的条目中的ASID值是虚拟机监视器所使用的ASID值时,该MMU通过页表移动仅将TLB中存储的PTE(页表条目)用作有效的。9.根据权利要求6的方法,其中该地址空间管理器保持在执行地址空间变换时的虚拟机的ASID值。10.根据权利要求9的方法,其中该ASID管理器保持在执行地址空间变换时的虚拟机的ASID值。全文摘要一种用于完全虚拟化的虚拟机和虚拟机监视器的地址空间变换设备包括向该虚拟机分配的虚拟机页表,使得该虚拟机具有第一虚拟地址空间;向该虚拟机监视器分配的虚拟机监视器页表,使得该虚拟机监视器具有与该第一虚拟地址空间分离的第二虚拟地址空间;MMU(存储管理单元),指示虚拟机页表和虚拟机监视器页表之一,该页表指示要对于虚拟机和虚拟机监视器之间的地址空间变换而改变的地址空间;和地址空间管理器,通过使用在该第一虚拟地址空间和该第二虚拟地址空间两者上反射的共享页面,来进行该地址空间变换。文档编号G06F9/455GK102662722SQ20111043682公开日2012年9月12日申请日期2011年12月23日优先权日2010年12月23日发明者吴守哲,金康好,高广源申请人:韩国电子通信研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1