论文部分内容阅读
嵌入式操作系统作为嵌入式系统的核心组成部分,必须满足嵌入式系统资源有限、面向特定应用、专用硬件和与应用软件密切相关等重要特征。因此,对于嵌入式操作系统剪裁的研究具有重要的理论和实用价值。 本文结合国家高技术研究发展计划(863计划)“嵌入Linux集成开发环境”和“十五”863“网络化嵌入支撑技术”课题,对嵌入式操作系统剪裁技术进行了研究。 本文首先对嵌入式操作系统应具备的特点进行了分析,比较了几种开放源码的操作系统的配置剪裁特性,确定了理想的嵌入式操作系统应具备的特征,以及对操作系统根据嵌入式系统特点进行剪裁时所需要做的工作。这些研究为后续的设计和开发工作提供了良好的理论基础。 通过对Linux内核剪裁机制的分析,本文总结了基于源代码的剪裁技术,并且针对这类剪裁方式集成度低、不支持多个编译过程的缺点,提出了改进方案。引入工程化管理的思想和可视化编译过程,实现了内核的可视化剪裁配置工具,具有可视化程度和功能集成度高等特点。 在对操作系统系统库GNU libc剪裁过程中,根据嵌入式应用程序开发的实际情况和GNU libc的结构特点提出了基于目标文件(二进制)的剪裁技术。即通过扫描应用程序符号表,确定应用程序所需的库函数和定义这些库函数的目标文件,根据这些目标文件剪裁GNU libc使其满足应用程序的需求。基于这种剪裁技术,实现了对GNU libc共享库进行剪裁的工具,具有能自动分析库函数间依赖关系、剪裁效果好、自适应能力强等特点。 最后介绍了构件和基于构件的操作系统,分析了基于构件的操作系统的剪裁配置工具集应具备的功能。确定了将操作系统构件化的基本思路,和实现基于构件的操作系统的剪裁配置工具集时需要解决的问题。 本文所实现的剪裁工具作为ETK(嵌入式工具集Embedded ToolKit)的一部分,已经通过863-306专家组的验收,并作为CC-Linux开发工具集的一部分得到了实际应用。