论文摘要
在具有分布式结构的嵌入式系统中,嵌入式设备之间通过通信以协作的方式来共同完成复杂的计算任务。然而,嵌入式系统平台之间的差异性在一定程度上阻碍了设备之间的通信。如果采用传统的解决方法,需要为不同的嵌入式设备之间的通信编写特定的实现代码,使得开发后的软件的可重用性、可伸缩性及可移植性较差。同时,不同的嵌入式软件开发都会涉及到一些重叠的底层资源管理,例如线程调度、网络连接管理及内存管理等。这些重叠部分的重复开发会导致开发代价过大,降低软件的可靠性。为了解决上述问题,传统的中间件思想被引入嵌入式系统。2006年,OMG将CORBA工业标准的静态部分和基本的实时CORBA特征结合起来,制订了CORBA/e嵌入式中间件规范。CORBA/e基于分布式对象技术,使得具有分布式结构的嵌入式软件之间能够在对象级别上互相通信。CORBA/e规范为嵌入式中间件的接口提供了统一的标准,具体的实现技术留给实现者去完成。CORBA/e的实现可以有很多种方式。本文针对嵌入式系统的特点,结合CORBA/e规范,研究了嵌入式中间件的基本结构及其实现策略。本文首先分析了CORBA/e体系结构,包括对象请求代理结构、可移植对象适配器的结构、实时部分及CORBA/e服务。然后,本文从请求的处理路径上端到端地对嵌入式中间件的实现策略进行考虑。在ORB核心部分,分析了嵌入式系统多任务并发的特点,选择了适合嵌入式系统的线程池模型和多重连接结构。在POA部分,分析了现有的伺服操作定位方式,并根据CORBA/e的特点对其进行改进,使其更适合嵌入式系统的需要。在内存管理方面,对传统的经典内存池进行改进,采用按粒度分段的内存池策略,使其更适合内存分配大小动态变化的需要。