Linux上COM构件二进制加载运行技术的研究

Linux上COM构件二进制加载运行技术的研究

论文摘要

开发能够在Linux上加载运行COM构件的中间件平台,对于弥补Linux上应用程序的不足,推广Linux的发展,节约软件开发成本等都有着重要的意义。本文对COM构件在Linux上运行的跨平台兼容技术做了剖析,并分析了在Linux上实现Windows平台开发的COM构件和应用程序的二进制兼容运行的关键技术。COM主要用于Windows平台上,是Windows操作系统和其上应用软件的结构基础,突出优点是软件之间直接通过二进制接口进行通讯。本文阐述了COM构件、ActiveX控件和Windows程序在Linux上直接运行的基础。通过以上分析,本文提出了一种Linux上COM构件运行平台结构的设计并实现了原型。该平台由COM /ActiveX机制支撑层和操作系统兼容层两个层次组成。操作系统兼容层的功能是消除两个系统运行时接口(包括系统调用和图形显示机制等)的差异、提供进程/线程管理调度、提供Windows消息机制在Linux上的实现等、将COM构件和客户程序加载到Linux进程空间并运行、实现COM构件和客户程序调用Windows内核对象的服务、提供COM构件和客户程序执行所需的系统调用函数。操作系统兼容层由四部分组成:Win32核心动态链接库、PE文件加载器、内核对象服务层和驱动程序适配层。COM机制兼容层由COM函数库、注册表和ActiveX控件“容器-控件”机制的支持函数库组成。COM函数库主要包括创建COM对象应用程序的底层API、构件程序的定位服务函数、透明的RPC实现函数、进程空间里内存的分配和释放函数、注册表注册和卸载函数。注册表的实现以文件代替。在已经实现的原型系统上成功加载了简单的ActiveX控件“日历控件”,验证了本文提出的设计以及实现技术的可行性和正确性。本文探索了Linux上直接运行COM构件和ActiveX控件的关键技术,为ActiveX应用在Linux上运行提供了一个可行的解决方案,对开发相关领域的系统有积极的参考意义。

论文目录

  • 摘要
  • Abstract
  • 第1章 引言
  • 1.1 课题的提出
  • 1.2 课题的背景和意义
  • 1.3 构件技术和LINUX 上构件开发的研究现状
  • 1.3.1 Linux 的跨平台共享库的构件开发技术
  • 1.3.2 XPCOM
  • 1.3.3 CORBA
  • 1.3.4 基于虚拟机平台的中间件技术
  • 1.4 论文结构的安排
  • 第2章 LINUX 上加载运行COM 构件的关键技术
  • 2.1 COM
  • 2.2 两种操作系统的差异性
  • 2.2.1 可执行文件分析:PE 和ELF
  • 2.2.2 两种操作系统的进程/线程机制的差别
  • 2.2.3 进程的地址空间布局和创建过程
  • 2.3 WINE ——LINUX 上的WINDOWS 虚拟机项目
  • 2.3.1 WINE 的体系结构
  • 2.3.2 WINE Server 设计与功能的分析
  • 第3章 LINUX 上COM 构件运行平台的设计
  • 3.1 构件运行平台的系统结构
  • 3.2 构件运行平台主要组成部分的设计
  • 3.2.1 操作系统兼容层的设计
  • 3.2.2 COM 机制支撑层的设计
  • 第4章 LINUX 上COM 构件运行平台的实现
  • 4.1 PE 文件加载器的实现
  • 4.1.1 判断PE 文件的合法性
  • 4.1.2 映像文件的内存定位
  • 4.1.3 加载策略
  • 4.1.4 PE 文件段的加载举例及流程
  • 4.1.5 PE 文件的解析
  • 4.1.6 加载过程中的模块管理和地址空间管理
  • 4.2 COM 机制支撑层的实现
  • 4.2.1 Linux 上实现COM 的基础
  • 4.2.2 COM 库函数的实现
  • 4.2.3 在Linux 上实现ActiveX 机制的探索和研究
  • 第5章 工作总结与展望
  • 5.1 总结
  • 5.2 工作展望
  • 参考文献
  • 致谢
  • 个人简历、在学期间发表的学术论文与研究成果
  • 相关论文文献

    标签:;  ;  

    Linux上COM构件二进制加载运行技术的研究
    下载Doc文档

    猜你喜欢