节点文献

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

The Study of Binary Loading and Execution Technology of COM Component on Linux

【作者】 石磊

【导师】 杨维康;

【作者基本信息】 清华大学 , 计算机科学与技术, 2007, 硕士

【摘要】 开发能够在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】 Linux got more and more support and it had vital significance to develop the middle-ware platform which can load and execute COM component on Linux for remedying the lack of application on Linux, promotion Linux and saving software development cost.In this thesis, cross-platform compatibility technology is anatomized and the key technologies about COM component and application developed in Windows running on Linux are analyzed. COM is mainly used in Windows. It is the infrastructure of Windows operating system and its application software, whose prominent advantage is communication between software by binary interface. The main foundation is elaborated in this thesis.In this thesis, a structure design of COM component running platform on Linux is proposed and its prototype is implemented. The platform consists of COM/ActiveX mechanism supporting layer and operating system compatibility layer. The function of operating system compatibility layer is elimating the interface difference between two running system (system calling and graphic displaying mechanism), supply management of process/thread, supply the implement of Windows message mechanism, loading and execution COM component and client program in Linux process spaces, implement the services of COM component and client program’s calling for Windows kernel objects and supply the system calling functions of COM component and client program’s running needing. The operating system compatibility layer consists of four parts: Win32 kernel dynamic link library, PE format file loader, kernel object service layer and driver adapter. The COM mechanism supporting layer is composed of COM function library, register table and function library of ActiveX control "Container-Control" mechanism supporting. COM function library mainly involve bottom API of creating COM object application, position service functions of component program, transparent RPC implement functions, memory allocation and free function, registering and unregistering function of registry. The registry can be replaced by files. ActiveX control "Container-Control" mechanism supporting functions library includes registering-self, automation and property change notify functions.After having implemented the prototype system, the simple ActiveX control“Calendar”is loaded on it successfully and the design proposed by this thesis was verified, as well as the feasibility and correctness of the implementation technology.This thesis pioneered the key technology of running COM component and ActiveX control directly on Linux and a feasible solution was proposed which has a positive influence on the research of related fields.

【关键词】 COMLinux虚拟机跨平台ActiveX
【Key words】 COMLinuxVirtual machineCross-platform
  • 【网络出版投稿人】 清华大学
  • 【网络出版年期】2008年 08期
  • 【分类号】TP311.52
  • 【被引频次】2
  • 【下载频次】282
节点文献中: