ACE 架构学习笔记

ACE是自适通信环境,提供C++包以实现跨平台并发和分布式通信。它包括OS适配层,封装操作系统API以实现可移植性;C++包装层,提供面向对象的并发、通信、内存管理和文件系统API;以及ACE框架,支持网络服务组件的动态配置。ACE网络服务组件则为分布式系统任务提供可复用组件。

1 ACE[ 功能]

ACE[ ADAPTIVE Cmmunication Environment,自适通信环境 ]是一种为通信软件实现核心并发性和分布性的面向对象架构。ACE为那些需要开发高性能、实时服务及跨操作系统平台等程序的开发者提供了丰富的可复用[
是可在不同平台用的意思

 


么?可重用组件: 能被自定义去满足新软件、新平台的的性能需求

]C++包,所可跨的平台包括Win32,大部分UNIX及许多实时操作系统。

1.ACE OS Adaptation layer( 操作系统适配层)

OS适配层:标准协议的一个集合,用于适配用户业务。主要负责将高层应用的用户信息[ 如编写的高级语言代码 ]转换成适合于异步转移模式(ATM)层所要求的格式。

 

这部分直接位于OS APIs[ C 编写的 ]层之上,主要是屏蔽[ 封装 ]对于ACE其它层及组件来说不同操作系统上特定的APIs的不同之处,将系统调用接口统一到C++函数的接口,以实现平台的可移植。

这些OS之上特定APIs包括:

(1)实时和同步(Concurrencyand synchronization):封装“多线程”、“多重处理”及“同步”的OS APIs。

(2)进程通信( IPC)及共享内存(Interprocess communication (IPC) and shared memory):封装“本地”及“远程”的IPC和共享内存的OS APIs。

(3)事件多路分离机制(Eventdemultiplexing mechanisms):封装基于I/O、时钟、信号及同步等事件的同步及异步的OS APIs.

(4)显示动态链接(Explicitdynamic linking):封装显示动态链接[ 允许程序服务在安装或者运行期间能被配置 ]的OS APIs。

(5)文件系统机制( Filesystem mechanisms  ):封装操作文件和目录的 OS APIs。

ACE OS适配层的可移植性使得ACE可运行在许多操作系统上。

 

2.ACE C++Wrappers (C++包装)

直接基于ACE OS Adaptation layer开发自己的高速的C++程序是可能的。但是由于图中所示的C++ wrapper 层提供了一个封装且加强版OS 的并发部分、通信部分、内存管理部分、事件分离、动态链接及系统文件处理的API,使得很多开发者直接选择使用扩展C++wrapper层来进行开发。

 

在ACE OS Adaptation之上的是OO[ Object Oriented, 面向对象 ]C++封装包。用户可以通过选择性的继承、聚合来联合或者组成新的C++包。访问这些C++包装类提供的接口来间接的访问到操作系统的API,不必一一的去访问各操作系统提供的API[ Application Programming Interface,应用程序编程接口 ]。

可利用C++包来实例化以下组件:

(1)并发和同步组件(Concurrencyand synchronization components)

(2)进程通信和文件系统组件(IPCand filesystem components)

(3)内存管理组件(Memorymanagement components)

 

3.ACEFramework(框架)

ACE框架继承和加强了C++ wrapper层。

ACE网络编程框架处于C++外包上层。集成并增强了较低层的OS包装。该框架支持由应用服务组成的并发网络看守的动态配置。

主要包含以下组件:

(1)事件多路分离组件(Eventdemultiplexing components)

(2)服务初始化组件(Serviceinitialization components)

(3)服务配置组件(Serviceconfiguration components)

(4)分层次分层流组件(Hierarchically-layeredstream components)

(5)ORB适配器组件(ORBadapter components)

 

4.ACE网络服务组件

除了包装和框架,ACE还提供了一个网络服务组件的标准库。主要作用为:

(1)它们演示怎样利用ACEIPC包装、反应器、服务配置器、服务初始化、并发、内存管理,以及流组件;

(2)它们为常见的分布式系统任务提供了可复用组件,比如日志、名字、锁定和时间同步。

 

可以先了解ACE的大体框架[ 组成及对应的大体功能 ],然后在具体的实现需求之上再来细究。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值