【技术实现步骤摘要】
一种兼容方法及装置
本专利技术涉及计算机领域,尤其涉及一种兼容方法及装置。
技术介绍
在数据中心操作系统中,使用ABI(ApplicationBinaryInterface,应用程序二进制接口)兼容技术是解决大量遗留应用程序问题的最直接的方法。ABI兼容技术指的是在宿主操作系统中模拟一个可供目标程序执行的二进制环境。采用ABI兼容技术时,目标程序不用更改就可在相应的宿主操作系统上执行。目前使用的ABI兼容技术主要有系统级ABI兼容技术和进程级ABI兼容技术。系统级ABI兼容技术指的是在宿主操作系统中采用虚拟机的方式模拟一个可供目标程序执行的虚拟环境;进程级ABI兼容技术指的是在宿主操作系统中采用动态链接的方式模拟一个可供目标程序执行的虚拟环境。现有技术中的ABI兼容技术为根据目标程序的操作系统在宿主操作系统中增加对应的可供目标程序执行的二进制环境,以使得该目标程序可在宿主操作系统模拟的二进制环境中执行,从而实现该目标程序在宿主操作系统中的兼容。然而,由于目前各个操作系统的兼容技术相对独立,因此,上述ABI兼容技术只能实现某一种操作系统的ABI兼容,而不能实现不同的多种操作系统的ABI兼容。
技术实现思路
本专利技术的实施例提供一种兼容方法及装置,能够支持多种操作系统的ABI兼容及支持已有的ABI兼容技术,并且方便以后扩展多种ABI兼容技术。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,本专利技术实施例提供一种兼容方法,包括:若第一目标程序为本地已注册的目标程序,则为所述第一目标程序创建第一进程;对所述第一目标程序进行重映射;生成重映射表,所述重 ...
【技术保护点】
一种兼容方法,其特征在于,包括:若第一目标程序为本地已注册的目标程序,则为所述第一目标程序创建第一进程;对所述第一目标程序进行重映射;生成重映射表,所述重映射表指示所述第一目标程序与重映射后的所述第一目标程序之间的对应关系;根据所述重映射表,将重映射后的所述第一目标程序加载至所述第一进程对应的本地内存中,以生成重映射后的所述第一目标程序的映像;对所述映像进行重构;确定重构后的所述映像的重定向接口,以执行所述第一进程。
【技术特征摘要】
1.一种兼容方法,其特征在于,包括:若第一目标程序为本地已注册的目标程序,则宿主计算机为所述第一目标程序创建第一进程;所述第一目标程序为与所述宿主计算机所安装的操作系统不同的第三方操作系统中的目标程序;对所述第一目标程序进行重映射;生成重映射表,所述重映射表指示所述第一目标程序与重映射后的所述第一目标程序之间的对应关系;根据所述重映射表,将重映射后的所述第一目标程序加载至所述第一进程对应的本地内存中,以生成重映射后的所述第一目标程序的映像;对所述映像进行重构;确定重构后的所述映像的重定向接口,以执行所述第一进程。2.根据权利要求1所述的兼容方法,其特征在于,所述对所述第一目标程序进行重映射的方法具体包括:对所述第一目标程序进行段重组和/或偏移计算。3.根据权利要求1或2所述的兼容方法,其特征在于,所述根据所述重映射表,将重映射后的所述第一目标程序加载至所述第一进程对应的本地内存中,以生成重映射后的所述第一目标程序的映像具体包括:获取所述第一目标程序中包含的符号表及重定位表;根据所述重映射表,将重映射后的所述第一目标程序加载至所述本地内存中,并根据所述符号表及重定位表,对所述重映射后的所述第一目标程序进行重定位,以生成所述映像。4.根据权利要求1-2任一项所述的兼容方法,其特征在于,所述对所述映像进行重构包括:对所述映像进行映像共享重构和/或二进制翻译重构。5.根据权利要求3所述的兼容方法,其特征在于,所述对所述映像进行重构包括:对所述映像进行映像共享重构和/或二进制翻译重构。6.根据权利要求1-2任一项所述的兼容方法,其特征在于,所述确定重构后的所述映像的重定向接口的方法具体包括:确定重构后的所述映像的重定向目标,所述重定向目标为本地中与重构后的所述映像对应的接口;执行所述重定向目标,以确定重构后的所述映像的重定向接口。7.根据权利要求3所述的兼容方法,其特征在于,所述确定重构后的所述映像的重定向接口的方法具体包括:确定重构后的所述映像的重定向目标,所述重定向目标为本地中与重构后的所述映像对应的接口;执行所述重定向目标,以确定重构后的所述映像的重定向接口。8.根据权利要求4所述的兼容方法,其特征在于,所述确定重构后的所述映像的重定向接口的方法具体包括:确定重构后的所述映像的重定向目标,所述重定向目标为本地中与重构后的所述映像对应的接口;执行所述重定向目标,以确定重构后的所述映像的重定向接口。9.根据权利要求1-2任一项所述的兼容方法,其特征在于,在执行所述第一进程的过程中,若所述映像缺失,则根据所述重映射表,重新将重映射后的所述第一目标程序加载至所述本地内存中,以生成所述映像。10.根据权利要求3所述的兼容方法,其特征在于,在执行所述第一进程的过程中,若所述映像缺失,则根据所述重映射表,重新将重映射后的所述第一目标程序加载至所述本地内存中,以生成所述映像。11.根据权利要求4所述的兼容方法,其特征在于,在执行所述第一进程的过程中,若所述映像缺失,则根据所述重映射表,重新将重映射后的所述第一目标程序加载至所述本地内存中,以生成所述映像。12.根据权利要求6所述的兼容方法,其特征在于,在执行所述第一进程的过程中,若所述映像缺失,则根据所述重映射表,重新将重映射后的所述第一目标程序加载至所述本地内存中,以生成所述映像。13.一种兼容设备,其特征在...
【专利技术属性】
技术研发人员:谭崇康,
申请(专利权)人:华为技术有限公司,中国科学院计算技术研究所,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。