ACE目录结构介绍

ACE(ADAPTIVE Communication Environment),中文的意思就是自适配通讯环境,ACE是一个用于开发网络程序的优秀的C++的框架,在国外有很广泛的使用,在国内一些大的开发通讯产品的公司也有使用。我接触ACE也有一段时间了,虽然时间不长,但我还是感觉到ACE确实是一个好东西,对于丰富自己的知识面有很大的帮助。虽然我们项目目前是采用C语言来开发,但是当接触ACE后,你会发现“喔,原来程序还可以这样”。例如:我觉得ACE里面Reactor框架就是一个非常的东西,我们在开发网络程序的时候,常常采用poll来监视各种网络事件,但当采用该框架后,你现在只是需要关系你的业务逻辑,当发生特定的网络事件后,框架会回调你的业务逻辑。其实按照这个思路,我们完全可以用C来实现类似的功能,当你完成这个后,你会发现你原来用C语言写的过程风格的代码竟然有了OO的味道。

ACE确实是好东西,但也不是能轻松的就能掌握的,我们还需要一步一步的来蚕食这个大象。

万丈高楼平地起,首先我们还是了解一下ACE的目录结构,从整体上对ACE有一个认识,为今后的进一步学习打下一个基础。

解开ACE的压缩包后,你会发现一个ACE_wrappers目录,这个目录也就是ACE的HOME目录,它下面还包含着一些子目录:

ace:这个目录是ACE中最重要的目录,它包含了ACE的所有源码,但遗憾的是,ACE的所有源文件和头文件全部杂乱的堆在这个目录里,这可能也是很多开源软件的缺点。其实ACE的代码完全可以按照不同的功能进行不同目录的划分,例如:Reactor框架和thread框架代码完全可以划分开,我想一个代码组织良好的ACE,将会给大家的学习带来极大的好处,我将在后面的文章里给出ACE代码划分的方法;
ACEXML:这个目录包含了用ACE实现的一个XML解析器;
apps:这个目录包含了用ACE来实现的一些较大的应用程序,例如:JAWS,一个WEB服务器;

ASNMP:基于ACE的SNMP协议实现;
bin:包含里用例方便开发的perl脚本程序,例如:在WIN32上开发DLL时候,需要导出DLL的接口;
docs:ACE的一些帮助文档,其中ACE-subsets.html文档,对我们划分ACE的代码有很大的帮助;

examples:是用ACE来编写的一些例子程序,方便更好的学习和理解ACE;
include:也是ACE中一个比较重要的目录,它包含了在不同的平台上编译时候的编译规则,库的编译规则等;
netsvcs:一些基于ACE的在分布式系统中常用的程序,例如:分布式系统日志系统,网络锁,时间同步等;

TAO:基于ACE的实时CORBA实现,TAO在分布式系统中使用相当广泛,也是一个不可多得的好资源;
tests:用来对ACE进行回归测试,也提供了一个学习ACE的很好的例子代码;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AMBA(Advanced Microcontroller Bus Architecture)总线是由ARM公司提出的一种高性能、可重用的总线结构ACE(AXI Coherency Extensions)协议是AMBA总线的一个扩展,用于提供多核系统中的一致性支持。 ACE协议的主要目的是解决多核系统中的数据一致性问题。在多核系统中,每个处理器核心都有自己的高速缓存,以提高数据访问效率。但是,当多个处理器核心同时访问相同的数据时,会导致数据一致性问题。ACE协议通过引入缓存一致性机制,保证多核系统中的数据一致性。 ACE协议采用了一种称为MOESI(Modified, Owned, Exclusive, Shared, Invalid)协议的缓存一致性协议。根据该协议,每个缓存行可以处于五种不同的状态:被修改(Modified)、被占有(Owned)、独占(Exclusive)、共享(Shared)和无效(Invalid)。当多个处理器核心同时访问相同的数据时,根据缓存行的状态,各个核心之间会进行相应的数据传输和状态转换,以保证数据的一致性。 ACE协议还支持许多其他特性,如乱序执行、站址传输等。此外,ACE协议还提供了高度灵活的配置选项,以满足不同应用的需求。 总的来说,ACE协议是AMBA总线的一个扩展,用于解决多核系统中的数据一致性问题,提供高性能和可重用的解决方案。通过引入缓存一致性机制和其他特性,ACE协议能够有效地支持多核系统的设计和开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值