用半虚拟化的管理程序提供全虚拟化的附属部件的制作方法

文档序号:8417532阅读:408来源:国知局
用半虚拟化的管理程序提供全虚拟化的附属部件的制作方法【专利说明】用半虚拟化的管理程序提供全虚拟化的附属部件[0001]本发明要求美国专利申请(申请序列号:13/646,773)的优先权,该美国专利申请题目为"用了半虚拟化管理程序提供全虚拟化的附属部件",于2012年8月提交至美国专利商标局,其内容通过引用被全部纳入本文。【
背景技术
】[0002]-个或多个方面总的来说涉及了计算环境的内存,特别涉及了便于内存访问。[0003]系统配置包括用于存储应用以及数据的物理内存。物理内存数量固定,经常不足以支撑用户的需求。因此,为了提供额外的内存,或者至少在表象上额外的内存,使用了一种被称为虚拟内存的内存管理技术。虚拟内存采用了虚拟寻址(virtualaddressing)技术,提供了比主内存的物理规模看起来大得多的地址范围。[0004]为了访问包括虚拟内存的系统配置中的主内存,要求内存访问包括有效地址(effectiveaddress)。有效地址被转换成用于访问物理内存的实地址(realaddress)。[0005]采用地址转换技术实施转换。有几种地址转换技术可供使用。例如,在由国际商业机器公司提供的PowerPC系统中,通过选择与有效地址相关的有效段识别符(ESID)表条目,并且使用该条目通过哈希算法定位一组页表条目,通过所找到的页表条目,将有效地址被转换为对应的实地址。在进一步的例子中,是在同样由国际商业机器公司提供的z/Architechture中,通过分层结构的转换表(ahierarchyoftranslationtables)将有效地址转换为对应的实地址。通过用有效地址的一部分对转换表建立索引,以便能找到分层结构中的下一个转换表的地址,直到获得实地址(或绝对地址)。两种地址转换技术对各自的操作系统各有优点。【
发明内容】[0006]通过部署便于客户(guest)内存地址的转换的计算机程序产品,克服了现有技术的缺点,还提供了额外的优点。所述计算机程序产品包括处理电路可读的计算机可读存储媒介并且由所述处理电路执行存储的指令所实施的方法,举例来说,该方法包括:通过附属部件获取与该客户内存地址相关的地址转换错误的指示,所述附属部件与客户操作系统相隔离并且不相同,并运行在系统配置的处理器之上,所述系统配置包括管理程序支持的客户操作系统,所述管理程序是半虚拟化管理程序,所述半虚拟化管理程序被配置使得与客户内存地址的主机(host)转换相关的地址转换错误的一部分由所述客户操作系统管理;以及基于获得的所述地址转换错误的指示,由所述附属部件向管理程序提供地址转换信息,以使所述客户内存地址的主机转换能够成功完成。[0007]再次,还描述了与一个或多个方面相关的方法和系统,并对其要求了权利。进一步的,还描述了与一个或多个方面相关的服务,在此可能对其要求权利。[0008]再次,通过所描述的技术实现了额外的特征以及优势。其他实施例以及方面在这里做了详细描述,并被认为是所要求权利的一部分。【附图说明】[0009]特别指出了一个或多个方面,举例来说,还在说明书结尾部分的权利要求中明确的要求了权利。在以下结合了附图的详细描述中,前述内容和一个或多个方面的事项、物体、特征、以及优势是明显的,其中的附图包括:[0010]图IA描述了计算环境的一个示例;[0011]图IB描述了计算环境的另一示例;[0012]图2A示出了采用哈希页表技术的映射到物理内存的虚拟内存的高级别视图的示例;[0013]图2B示出了生成虚拟地址的技术的示例;[0014]图2C描述了哈希页表转换结构的一个例子;[0015]图3描述了段旁视缓冲(segmentlookasidebuffer)的例子,包括段旁视缓存条目的示例字段;[0016]图4A描述了页表的一个不例;[0017]图4B描述了页表条目的一个不例;[0018]图5A描述了层级转换机制的一个示例;[0019]图5B描述了标引(indexing)高级别转换表的一个示例;[0020]图6A描述了z/Architecture的页表条目的一个示例;[0021]图6B描述了PowerISA架构的页表条目的一个不例;[0022]图7A描述了选择转换机制的逻辑过程(logic)的一个示例;[0023]图7B描述了由管理程序实施的用于处理地址转换产生的错误的逻辑过程的一个实施例;[0024]图8A描述了初始化分区的逻辑过程的一个实施例;[0025]图8B描述了分派分区(dispatchapartition)的逻辑过程的一个实施例;[0026]图8C描述了转换一个配置并分派的分区中地址的逻辑过程的实施例;[0027]图9A描述了支持异构客户的管理程序的一个例子;[0028]图9B描述了使用附属部件便利管理地址转换错误的管理程序的一个实施例;[0029]图10A描述了用于管理地址转换错误的半虚拟化逻辑过程的一个实施例;[0030]图10B描述了使用附属部件便利管理地址转换错误管理的一个实施例;[0031]图10C描述了管理地址错误的一个实施例的进一步细节;[0032]图11描述了基数转换机制的一个实施例;[0033]图12描述了基数上的基数的转换机制的一个例子;[0034]图13描述了哈希页表上的基数的转换机制的一个例子;[0035]图14描述了使用一种类型转换结构指向另一类型转换结构以实施地址转换的一个例子;[0036]图15描述了偏移上的基数的转换机制的一个实施例;[0037]图16描述了哈希页表转换机制的一个例子;[0038]图17描述了动态地址转换(DAT)机制的一个例子;[0039]图18描述了采用一个或多个方面的计算机程序产品的一个实施例。【具体实施方式】[0040]在一个方面,提供一个系统配置,其有不同类型的可用的转换结构,用于将内存地址从一种格式(例如,有效地址,特别是与其相关的虚拟地址)转换到另一种格式(例如,实地址)。在一个系统配置中,能够同时支持多个地址转换结构格式(例如,多页表格式,比如哈希页表以及层级页表)。[0041]进而,在一个方面,提供一个系统配置,其包括多个分区以及与其关联的不同转换机制。例如,一个分区具有与其关联的用于将客户虚拟地址转换到主机物理地址的单级别转换机制,另一分区具有用于将客户虚拟地址转换到主机物理地址的嵌套级别转换机制。单个管理程序(hypervisor)支持不同的转换机制以及分区。管理程序例如是半虚拟化(paravirtualized)的管理程序。因此,在一个方面,在单级别转换机制中的与地址转换关联的错误至少在部分上由客户操作系统管理。然而,对于那些使用嵌套级别转换的分区,还提供了全虚拟化。通过全虚拟化,客户操作系统不介入由主机级转换导致的地址转换错误的管理。为了通过半虚拟化管理程序支持全虚拟化,提供了便于解决由主机级转换导致的地址转换错误的附属部件。正如此处所使用的,附属部件是一种帮手部件,一般以辅助模式连接、增加或耦合至一个实体,并不限于任何具体的附属结构。[0042]不同架构的计算环境都可以采纳和使用本文所提供的一个或多个方面。例如,由国际商业机器公司所提供的基于PowerPC架构的环境可以包括一个或多个方面,其他架构的计算环境一例如由国际商业机器公司提供的z/Architecture-也一样。PowerPC架构的环境还被称为PowerISA,2007年7月23日的PowerISA?说明书的第2.06版的修订版B中有描述,这里全文引用该文献作为参考,z/Architecture的描述见于2010年8月公开的z/Architecture-操作准则(公开号SA22-7932当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1