面向嵌入式应用的动态加载机制研究

面向嵌入式应用的动态加载机制研究

论文摘要

嵌入式系统的广泛应用需要良好的软件系统支撑。随着嵌入式系统的深入发展,系统的可扩展能力已成为一个基本的需求,迫切需要一种机制能在运行状态下配置系统,也就是系统在运行状态下可以动态地添加模块,这种机制就是本论文要研究的动态加载机制。本论文讨论的动态加载机制是应用从零开始的加载机制。这样,系统只需要一个动态加载机制,就可以动态地加载模块以配置适合不同应用需要的嵌入式系统。本论文分析了目前存在的几种加载方式:基于Java的动态加载方式、嵌入式Linux的动态加载方式以及Windows的动态链接库原理,在此基础上提出了面向嵌入式应用的动态加载机制的原理和过程。加载,是指将特定格式的模块从外存或ROM甚至宿主开发环境装入内存并使之可以运行的过程。所谓动态加载,指的是,程序在运行期间需要调用某一模块的功能时,由加载器将该模块即时载入内存,进行相应的重定位处理后将控制权交还调用程序。动态加载机制运用动态链接的原理使得系统具有动态的加载和动态解析的能力,模块只有在被调用执行时才被链接入系统。动态加载分为下载、加载和卸载三个操作,其中下载完成从远程下载目标模块到本地,加载操作完成读入模块到内存,然后对模块未解决的外部引用进行解析(也就是符号解析和重定位)使之可以运行的过程。当模块不再使用时就从内存中卸载。本文首先以目标模块的生命周期为主线,在主线上侧重表现了目标模块的加载、处理、执行和卸载的过程,对动态加载技术涉及到的背景知识进行系统的分析和讨论,指出动态加载技术的关键和发展重点在于符号管理、符号解析和重定位技术,并对它们进行了较为全面的研究和分析。然后,针对这些关键问题给出了具体的实现方法。最后,在以上分析讨论的基础上提出了一种嵌入式系统的动态加载解决方案,描述了相关数据结构和算法,实现了函数原型,测试并验证了这一方案的可行性。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 研究目的及研究意义
  • 1.1.1 研究目的
  • 1.1.2 研究的意义
  • 1.2 国内外研究现状
  • 1.3 论文工作重点和难点
  • 1.4 本文工作与论文组织
  • 2 典型的动态加载方式介绍
  • 2.1 基于Java 的动态加载方式
  • 2.1.1 J2ME 简介
  • 2.1.2 实现方法
  • 2.2 Windows 动态链接库原理
  • 2.2.1 动态链接库的概念
  • 2.2.2 动态链接库的工作原理
  • 2.2.3 动态链接库的实现方法
  • 2.2.4 动态链接库原理在嵌入式系统中的应用
  • 2.3 嵌入式Linux 的动态加载方式分析
  • 2.3.1 嵌入式Linux 简介
  • 2.3.2 嵌入式Linux 的动态加载机制
  • 2.4 三种加载方式的分析与比较
  • 2.5 本章小结
  • 3 动态加载的原理和过程
  • 3.1 动态加载的一般原理
  • 3.2 动态加载的过程
  • 3.3 本章小结
  • 4 动态加载机制的关键问题及解决方案
  • 4.1 动态加载机制的关键问题
  • 4.1.1 模块格式
  • 4.1.2 模块间通信
  • 4.1.3 符号管理
  • 4.1.4 符号解析和重定位
  • 4.2 其它
  • 4.3 本章小结
  • 5 动态加载系统设计与实现
  • 5.1 方案的提出及可行性分析
  • 5.1.1 问题分析和方案的意义
  • 5.1.2 方案的可行性
  • 5.2 动态加载方案的系统设计
  • 5.3 动态加载的模块设计与实现
  • 5.3.1 下载模块
  • 5.3.2 加载模块
  • 5.3.3 链接模块
  • 5.4 链接模块的数据结构和算法
  • 5.5 动态加载器的跨平台性
  • 5.5.1 与系统有关的API 函数接口的统一
  • 5.5.2 系统软件设计的统一
  • 5.6 本章小结
  • 6 全文内容总结
  • 6.1 论文的研究成果及总结
  • 6.2 不足与发展方向
  • 致谢
  • 参考文献
  • 附录
  • 相关论文文献

    标签:;  ;  ;  ;  

    面向嵌入式应用的动态加载机制研究
    下载Doc文档

    猜你喜欢