[发明专利]一种跨处理器的Linux待迁移软件定位与评估的方法有效
| 申请号: | 202011228686.1 | 申请日: | 2020-11-06 |
| 公开(公告)号: | CN112181857B | 公开(公告)日: | 2022-10-04 |
| 发明(设计)人: | 周威;姚建华;夏海平;李祖华;汤慧明;张磊 | 申请(专利权)人: | 无锡江南计算技术研究所;武汉深之度科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 处理器 linux 迁移 软件 定位 评估 方法 | ||
1.一种跨处理器的Linux待迁移软件定位与评估的方法,其特征在于,包括以下步骤:
步骤一、通过运行dpkg-l命令,收集获得目标处理器平台上对应Linux操作系统上已经迁移过的软件列表;
步骤二、对于待迁移软件,收集x86-64处理器平台上对应Linux操作系统上该待迁移软件的依赖软件包,将得到的依赖软件包中的软件与待迁移软件一起放进待迁移软件列表中,并记录下依赖关系;
步骤三、采用宽度优先搜索算法或者深度优先搜索算法,递归使用apt depends命令逐个分析待迁移软件列表中的软件,直到没有新的待迁移软件产生;此时,待迁移软件列表中包含了所有的待迁移软件、及其之间的依赖关系;
步骤四、对比步骤一中获取的已经迁移过的软件列表,将待迁移软件列表中且已经存在于已经迁移过的软件列表中的软件删除,同时删除与其相关的依赖关系,获得精简过的待迁移软件列表;
步骤五、采用拓扑排序算法,确定步骤四中获得的精简过的待迁移软件列表中所有待迁移软件的顺序,用于按序进行分析;
步骤六、针对步骤五中获得的排序后的待迁移软件列表中的每个待迁移软件,使用aptsourcce命令获取其源码包,并运行模拟编译命令,获取编译参数与对应待编译的源码文件;
步骤七、若源码文件为汇编文件,则将其文件名记入待迁移文件列表中,待修改范围为整个文件;
步骤八、若源码文件为C/C++文件,则基于clang的Preprocessor对象开发解析器,用于针对源码文件里的内嵌汇编语言、条件编译宏以及平台相关头文件进行处理,具体如下:
对于条件编译宏,若条件编译宏中带有x86字样,则判断对应是否存在目标处理器平台条件编译宏;若存在对应条件编译宏且非空,则认为此段代码支持目标处理器平台;若不存在对应条件编译宏,则查看其末尾是否存在#else条件编译宏;若存在#else条件编译宏,则认为此段代码支持目标处理器平台;若不存在,则将此源码文件加入待迁移文件列表中,其待修改范围为此条件编译宏对应的代码;
若除了条件编译宏之外,仍存在内嵌汇编语言代码,则将对应的源码文件加入待迁移文件列表中,其待修改范围为此内嵌汇编语言代码;
若除了条件编译宏之外,其包含的头文件包括mmintrin.h、zmmintrin.h或xmmintrin.h,则将对应的源码文件加入待迁移文件列表中,其待修改范围为对应头文件的代码。
2.根据权利要求1所述的一种跨处理器的Linux待迁移软件定位与评估的方法,其特征在于:步骤二中的依赖软件包通过运行apt depends命令,在输出结果中过滤出Depends,并在开头的文本行中获得。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所;武汉深之度科技有限公司,未经无锡江南计算技术研究所;武汉深之度科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011228686.1/1.html,转载请声明来源钻瓜专利网。





