[发明专利]一种基于可重定位ELF文件的软件快速加载方法在审
申请号: | 201611167417.2 | 申请日: | 2016-12-16 |
公开(公告)号: | CN106598674A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 张尧学;胡俊英;任炬;刘亚萍;陈娅芳;李政军 | 申请(专利权)人: | 中南大学;湖南提奥信息技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 赵洪,蒋维特 |
地址: | 410083 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 定位 elf 文件 软件 快速 加载 方法 | ||
1.一种基于可重定位ELF文件的软件快速加载方法,其特征在于,包括如下步骤:
S1.确定要加载的软件,获取所述软件的软件包并进行解析,得到所述软件的代码文件,并将所述代码文件装载至运行空间;所述代码文件包括.text段、.rodata段、.data段和.bss段;
S2.判断是否存在所述软件的链接索引表,不存在则跳转到步骤S3,存在则跳转至步骤S4;
S3.对所述代码文件进行重定位,生成可执行文件和包含所述重定位信息的链接索引表,完成软件加载,并将保存所述链接索引表;
S4.获取所述链接索引表,并根据所述链接索引表对所述代码文件进行快速重定位,生成可执行文件,完成软件加载。
2.根据权利要求1所述的基于可重定位ELF文件的软件快速加载方法,其特征在于:所述代码文件装载至运行空间的加载方式包括:将所述代码文件装载至RAM空间;或者,将所述代码文件的.data段和.bss段装载至RAM空间,将所述代码文件的其余各段装载至ROM空间。
3.根据权利要求2所述的基于可重定位ELF文件的软件快速加载方法,其特征在于:所述链接索引表包括索引表基本信息和重定位条目信息,所述索引表基本信息包括:代码文件唯一标识、.text段地址索引、.rodata段地址索引、.data段地址索引、.bss段地址索引;所述重定位条目信息包括:重定位条目的地址偏移量索引、重定位条目类型索引、重定位条目的实际地址索引;
所述.text段地址索引、.rodata段地址索引、.data段地址索引、.bss段地址索引分别为生成所述链接索引表时.text段、.rodata段、.data段、.bss段装载至运行空间中的首地址;所述重定位条目的地址偏移量索引为重定位条目在.text段中的地址偏移量,所述重定位条目类型索引为重定位条目类型,所述重定位条目的实际地址索引为生成所述链接索引表时重定位条目在运行空间中的实际地址。
4.根据权利要求3所述的基于可重定位ELF文件的软件快速加载方法,其特征在于:所述重定位条目信息还包括所述.text段地址索引。
5.根据权利要求1至4任一项所述的基于可重定位ELF文件的软件快速加载方法,其特征在于,所述步骤S3的具体步骤包括:
S3.1.获取所述代码文件装载至运行空间后.text段的首地址,.rodata段的首地址,.data段的首地址,.bss段的首地址;
S3.2.对所述代码文件进行重定位,生成可执行文件,对于每个需要重定位的条目,获取重定位条目在.text段中的地址偏移量,重定位条目类型,重定位条目的实际地址;
S3.3.根据所述步骤S3.1和S3.2中所获取的.text段的首地址,.rodata段的首地址,.data段的首地址,.bss段的首地址,重定位条目在.text段中的地址偏移量,重定位条目类型,重定位条目的实际地址生成链接索引表,并保存所述链接索引表。
6.根据权利要求1至4任一项所述的基于可重定位ELF文件的软件快速加载方法,其特征在于,所述步骤S4的具体步骤包括:
S4.1.获取所述代码文件装载至运行空间的.text段的首地址、.rodata段的首地址、.data段的首地址、.bss段的首地址;
S4.2.根据所述.text段的首地址、.rodata段的首地址、.data段的首地址、.bss段的首地址和所述链接索引表中的索引表基本信息计算本次加载地址偏移量;
S4.3.遍历所述链接索引表的重定位条目信息,根据所述重定位条目的地址偏移量索引、重定位条目类型索引、重定位条目的实际地址索引和所述本次加载地址偏移量计算重定位条目在本次加载的实际地址,完成重定位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学;湖南提奥信息技术有限公司,未经中南大学;湖南提奥信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611167417.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用程序升级方法及系统
- 下一篇:一种卸载的方法及装置