📄 tao-architecture.htm
字号:
<HTML><HEAD><TITLE>Huihoo Power! - TAO(实时CORBA)系统构架</TITLE><LINK rev="make" HREF=mailto:schmidt@cs.wustl.edu"><HEAD> <BODY text = "#000000"link="#000fff"vlink="#ff0f0f"bgcolor="#ffffff"><br>(<font color="#008000"><em>by </em>huihoo.org</font> Allen,fat1)<br><br>原文:http://www.cs.wustl.edu/~schmidt/TAO-architecture.html<br><HR><H3>TAO(实时CORBA)系统构架概述</H3>TAO是一个ORB实现,它包含了网络接口,操作系统,通信协议以及CORBA中间件构件和相关特性。<p><center><table cellpadding=1 border=4 cellspacing=4><tr><td align=center>图 1. TAO构架构件</TD><TD align=center>TAO功能</td><tr><td align=left><center><IMG SRC="i/shiva-view5.gif"></center></td><td><UL><LI> <A HREF="#presentation">最优化表现层</a><P><LI> <A HREF="#schedservice">实时调度服务</A><P><LI> <A HREF="#orbcore">实时ORB核心</A><P><LI> <A HREF="#rtoa">最优化对象适配器</A><P><LI> <A HREF="#ridl">针对特殊Qos属性的实时IDL(RIDL)模式</A><P><LI> <A HREF="#memory">跨越操作系统保护域的有效的零拷贝缓冲区管理</A><P><LI> <A HREF="#osqos">一个高性能的ATM端接口控制器(ATM Port Interface Controller-APIC)</a><P><LI> <A HREF="#osqos">操作系统和网络资源的实时调度</A><P></UL></td></table></center><p>图 1中每个构件的摘要如下:有关TAO ORB系统构架的完整信息请看<AHREF="PDF/RT-ORB.pdf">在线的RT-ORB.pdf文档</a><HR><P><H4><A NAME="osqos">1. G比特I/O子系统</A></H4>一个I/O子系统负责ORB和应用程序对底层网络和操作系统资源,如设备驱动程序,协议栈,CPUs等资源的访问。这里很关键的问题是建立一个实时I/O子系统(1)加强在最小化优先反演和不确定性时的QoS保证,(2) 这使应用程序对特殊的QoS需求变得很方便,而且(3)有助于ORB中间件利用通过基本的网络所提供的QoS保证<P>面对这些挑战,我们为华盛顿大学的TAO开发了一个运行在<A HREF="http://www.arl.wustl.edu/arl/projects/">G比特ATM网络</a>之上的高性能的I/O子系统TAO I/O子系统包括以下构件 (1) 一个高速的ATM端接口控制器(<AHREF="http://www.arl.wustl.edu/arl/apic.html">APIC</A>),(2) 一个实时的I/O子系统, (3) 一个实时的调度器, 和(4) 一个输入控制器, 显示在图 2. <P><center><table cellpadding=1 border=4 cellspacing=4><tr><td><center><IMG SRC="i/rtio.gif"></center><tr><td align=center>图 2. TAO的G比特I/O子系统</table></center><p>为了确保应用程序的QoS,TAO从底层的I/O子系统获得保证。为了完成这个任务,我们正在开发一个高新能的网络I/O子系统。其系统构件描述如下.<P><B>1.1. 高速网络适配器</B><P>我们的I/O子系统的心脏是一个由一个或多个ATM接口控制器芯片<A HREF="http://www.arl.wustl.edu/arl/refpapers/zubin/apicbrief.html">(APIC)</A>互相连接而组成的菊花链.APIC能作为一个系统/网络接口使用,也能作为I/O接口芯片组使用.它支持一个双向2.4Gbps速率的聚集.另外, TAO分层结构的设计使它能运行在通常的连接到通过使能QoS的的网络(如支持RSVP的IPv6)和实时互连(如VME底板和多处理器的共享内存环境)的网络嵌入式平台.<P><B>1.2. 实时I/O系统</B><P>TAO通过Solaris和实时操作系统VxWorks等提供了增强的流模式.TAO的实时I/O系统最优化反演和隐藏的调度问题源于协议的处理中.我们的策略是避免优先反演,用一个核心线程池专用处理协议并且用应用程序的线程关联这些线程.这些核心线程运行在与应用程序线程同样的优先级别, 这样能防止多种实时调度事故的发生如优先反演和隐藏调度. <P><B>1.3. 实时调度</B><P>TAO通过支持周期性实时应用程序的实时I/O调度类来确保支持QoS. 一旦实时I/O类的一个线程被操作系统接纳,调度程序将负责(1) 计算在类中相关的其它线程的优先级并且(2)周期性地分发这些线程以使它们在最后期限是满足的. <P>TAO实时I/O调度类允许应用程序指定它们在一个高级, 直觉方式下的需求.例如,TAO实时调度类的一个实现是基于<EM>比率单调调度</EM>(rate monotonic scheduling)的, 这些应用程序能在它们的计算时间里指定它们的处理需求<EM>C</EM>和周期<EM>P</EM>. 操作系统为实时I/O线程赋于优先级以确保可调度. <P><B>1.4. 输入控制器</B><P>为确保应用程序的QoS需求,TAO为实时I/O调度类执行输入控制.输入控制允许操作系统要么确保指定的计算时间,要么拒绝接收线程. 输入控制对于实时系统在确定和统计QoS需求方面很有用处. <P><HR><P><H4><A NAME="orbcore">2. 实时ORB核心</A></H4>TAO ORB核心管理传输连接, 传递客户请求到一个对象适配器,并可能返回响应给客户.它也负责处理应用构件的并发模式.图 3 表示了在TAO ORB核心客户端和服务器端的构件.<P><center><table cellpadding=1 border=4 cellspacing=4><tr><td><center><IMG SRC="i/corba_orb_core.gif"></center><tr><td align=center>图 3. TAO的ORB核心构件</table></center><P>TAO's ORB 核心是基于高性能,跨平台的<AHREF="ACE.html">ACE</a>构件之上,如<AHREF="PDF/acc-con-siemens.pdf">接收器和连接器</a>, <AHREF="PDF/reactor-siemens.pdf">感应器</a>,和<AHREF="PDF/ACE-concurrency.pdf">任务</a>. 图 3 说明了TAO ORB核心的客户端是如何使用ACE的<code>策略连接器</code>去缓冲到服务器的连接的,这样就保存在调用和执行之间的连接设置时间和最小化时间(minimizing latencies). 服务器端使用ACE的<code>策略连接器</code>, <a href="PDF/reactor-siemens.pdf">在与感应器</a>的连接中,获得连接.<a href="PDF/acc-con-siemens.pdf">感应器</a> 代表着一种连接处理器激活ACE激活策略的方式(<EM>e.g.,</EM> 一个线程激活策略在图中显示),将每个线程句柄转到相应的<a href="PDF/Act-Obj.pdf">活动对象</a>. 连接处理器从请求中解析出Inter-ORB Protocol(IOP)并把它们传递到TAO的<a href="#rtoa">对象适配器</a>,并由对象适配器将这些请求分发到伺服程序进行处理. <P><HR><P><H4><A NAME="rtoa">3. 实时对象适配器</a></H4>TAO对象适配器负责对客户请求到对象实现的<EM>多路分解</EM>和<EM>分发</EM>. 一个标准的GIOP兼容性客户请求包含了远程对象实现和操作的标识.远程对象实现用一个对象键表示,远程操作以一个字符串表示.通常ORB通过以下步骤解析客户对目标对象实现操作的请求(显示在图 4(A)): <P><UL> <LI> <B>第1、2步</B> -- 操作系统协议栈将输入的客户请求(e.g., 通过数据链路层, 网络层, 和传输层,以及用户/核心边界)传递到ORB对象适配器.<P><LI> <B>第3,4,5步</b> -- ORB核心使用客户对象键信息来定位适当的对象适配器,伺服程序和目标IDL操作的骨架;<P><LI> <B>第6步</B> -- IDL骨架定位适当的操作, 编组请求缓冲到操作参数,并且执行上调操作. <P> </UL><center><table cellpadding=1 border=4 cellspacing=4><tr><td><center>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -