dsu之一

摆在桌上的文章有只有11页长,是关于所谓动态地软件更新。

摘要

关键字

1引论

2相关工作

3结构

3.1仓库管理器

3.2映像管理器和内存管理器

3.3引导装入器

4模块化与依赖分析

5动态代码更新

5.1对函数的引用

5.2活动的函数

5.3调用栈上的函数

5.4变量的更新

6结论和当前状态

引用

从3开始,我认为有启发的思想就是对功能的抽象,他们根据不同阶段的功能抽象了6个-er——ELFextractor,  RepositoryManager, MemoryManager, Linker, Image Manager, Bootloader。

ELFextractor, 是为了从ELF文件中提取符号表和重定位表,看看有哪些函数和数据;

RepositoryManager用ELFextractor的结果,从而获得依赖关系——函数调用了哪些函数?函数使用了哪些数据?"ImageManager"这个名字起的不好,根据他们的定义,其功能只是描述target内存中已经加载的模块,以此来刻画target的“状态”;

按照他们的本意,MemoryManager是指工作在host上,决定模块需要加载到target的那个位置上,是“a part of cross linker”,但是我们工作在ppc+vw上有很强的计算能力,所以这个MM不能控制分配出的内存的位置,但是可以做记录。

我们的思路与他们的不一样,运行在vw上,想充分使用loadModuleAt和unld的功能。但是想做到完全Dsu还是有困难:

1我们使用了函数指针。这在后面很难处理;

2vx在发布时要用静态链接,可是我们依赖动态链接。

无聊之际我把他们文献中提到的依赖图关系的生成方案写出来了。我觉得搞不好我们的思路要推倒重来,可能还是要做一些编译的手脚。有可能要参照别人的文献。

附,我这次看的这篇是德国人写的,有2个长句子愣是看了好几遍才搞明白语法结构。看来欧洲人的英语也是怪怪的。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值