• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            開始學(xué)習(xí)ACE

            (from http://www.flyingdonkey.com/ace/)

            一、ACE綜述

              ACE自適配通信環(huán)境(ADAPTIVE Communication Environment)是可以自由使用、開放源碼的面向?qū)ο螅∣O)框架(Framework),在其中實(shí)現(xiàn)了許多用于并發(fā)通信軟件的核心模式。ACE提供了一組豐富的可復(fù)用C++ Wrapper Facade(包裝外觀)和框架組件,可跨越多種平臺(tái)完成通用的通信軟件任務(wù),其中包括:事件多路分離和事件處理器分派、信號(hào)處理、服務(wù)初始化、進(jìn)程間通信、共享內(nèi)存管理、消息路由、分布式服務(wù)動(dòng)態(tài)(重)配置、并發(fā)執(zhí)行和同步,等等。

            ACE的目標(biāo)用戶是高性能和實(shí)時(shí)通信服務(wù)和應(yīng)用的開發(fā)者。它簡(jiǎn)化了使用進(jìn)程間通信、事件多路分離、顯式動(dòng)態(tài)鏈接和并發(fā)的OO網(wǎng)絡(luò)應(yīng)用和服務(wù)的開發(fā)。此外,通過服務(wù)在運(yùn)行時(shí)與應(yīng)用的動(dòng)態(tài)鏈接,ACE還使系統(tǒng)的配置和重配置得以自動(dòng)化。

            ACE正在進(jìn)行持續(xù)的改進(jìn)。Riverace公司(http://www.riverace.com)采用開放源碼商業(yè)模式對(duì)ACE進(jìn)行商業(yè)支持。此外,ACE開發(fā)組的許多成員目前正在進(jìn)行The ACE ORB(TAO,http://www.cs.wustl.edu/~schmidt/TAO.html)的開發(fā)工作。

            二、使用ACE的好處

            使用ACE的好處有:

            。增強(qiáng)可移植性:在ACE組件的幫助下,很容易在一種OS平臺(tái)上編寫并發(fā)網(wǎng)絡(luò)應(yīng)用,然后快速地將它們移植到各種其他的OS平臺(tái)上。而且,因?yàn)锳CE是開放源碼的自由軟件,你無需擔(dān)心被鎖定在特定的操作系統(tǒng)平臺(tái)或編譯器上。

            。更好的軟件質(zhì)量:ACE的設(shè)計(jì)使用了許多可提高軟件質(zhì)量的關(guān)鍵模式,這些質(zhì)量因素包括通信軟件靈活性、可擴(kuò)展性、可復(fù)用性和模塊性。

            。更高的效率和可預(yù)測(cè)性:ACE經(jīng)仔細(xì)設(shè)計(jì),支持廣泛的應(yīng)用服務(wù)質(zhì)量(QoS)需求,包括延遲敏感應(yīng)用的低響應(yīng)等待時(shí)間、高帶寬應(yīng)用的高性能,以及實(shí)時(shí)應(yīng)用的可預(yù)測(cè)性。

            。更容易轉(zhuǎn)換到標(biāo)準(zhǔn)的高級(jí)中間件:TAO使用了ACE提供的可復(fù)用組件和模式。它是CORBA的開發(fā)源碼、遵循標(biāo)準(zhǔn)的實(shí)現(xiàn),并為高性能和實(shí)時(shí)系統(tǒng)作了優(yōu)化。為此,ACE和TAO被設(shè)計(jì)為能良好地協(xié)同工作,以提供全面的中間件解決方案。

            三、ACE的結(jié)構(gòu)和功能

            下圖顯示了ACE中的關(guān)鍵組件以及它們的層次關(guān)系:



            圖中的結(jié)構(gòu)和各層的組成部分描述如下。

            四、ACE OS適配層

            該層直接位于用C寫成的本地OS API之上。它提供輕型的類POSIX OS適配層,將ACE中的其他層及組件和以下與OS API相關(guān)聯(lián)的平臺(tái)專有特性屏蔽開來:

            。并發(fā)和同步:ACE的適配層封裝了用于多線程、多進(jìn)程和同步的OS API。

            。進(jìn)程間通信(IPC)和共享內(nèi)存:ACE的適配層封裝了用于本地和遠(yuǎn)地IPC、以及共享內(nèi)存的OS API。

            。事件多路分離機(jī)制:ACE的適配層封裝了用于對(duì)基于I/O、定時(shí)器、信號(hào)和同步的事件進(jìn)行同步和異步多路分離的OS API。

            。顯式動(dòng)態(tài)鏈接:ACE的適配層封裝了用于顯式動(dòng)態(tài)鏈接的OS API。顯式動(dòng)態(tài)鏈接允許在安裝時(shí)或運(yùn)行時(shí)對(duì)應(yīng)用服務(wù)進(jìn)行配置。

            。文件系統(tǒng)機(jī)制:ACE的適配層封裝了用于操作文件和目錄的OS文件系統(tǒng)API。

            ACE OS適配層的可移植性使得ACE可運(yùn)行在許多操作系統(tǒng)上。ACE已在廣泛的OS平臺(tái)上進(jìn)行了移植和測(cè)試,包括Win32(也就是,在Intel和Alpha平臺(tái),使用MSVC++、Borland C++ Builder和IBM Visual Age的WinNT 3.5.x、4.x、2000、Win95/98和WinCE)、Mac OS X、大多數(shù)版本的UNIX(例如,SPARC和Intel上的Solaris 1.x和2.x、SGI IRIX 5.x和6.x、DG/UX、HP-UX 9.x、10.x和11.x、DEC/Compaq UNIX 3.x和4.x、AIX 3.x和4.x、UnixWare、SCO,以及可自由使用的UNIX實(shí)現(xiàn),比如Debian Linux 2.x、RedHat Linux 5.2、6.x和7.x、FreeBSD和NetBSD)、實(shí)時(shí)操作系統(tǒng)(比如,LynxOS、VxWorks、Chorus ClassiX 4.0、QnX Neutrino、RTEMS和PSoS)、MVS OpenEdition和CRAY UNICOS。

            由于ACE的OS適配層所提供的抽象,所有這些平臺(tái)使用同一棵代碼樹。這樣的設(shè)計(jì)極大地增強(qiáng)了ACE的可移植性和可維護(hù)性。此外,還有Java版本的ACE可用(http://www.cs.wustl.edu/~eea1/JACE.html)。

            五、OS接口的C++ Wrapper Facade

            可以直接在ACE OS適配層之上編寫高度可移植的C++應(yīng)用。但是,大多數(shù)ACE開發(fā)者使用的是上圖中所示的C++ Wrapper Facade層。通過提供類型安全的C++接口(這些接口封裝并增強(qiáng)本地的OS并發(fā)、通信、內(nèi)存管理、事件多路分離、動(dòng)態(tài)鏈接和文件系統(tǒng)API),ACE Wrapper Facade簡(jiǎn)化了應(yīng)用的開發(fā)。應(yīng)用可以通過有選擇地繼承、聚合和/或?qū)嵗旅娴慕M件來組合和使用這些包裝:

            。并發(fā)和同步組件:ACE對(duì)像互斥體和信號(hào)量這樣的本地OS多線程和多進(jìn)程機(jī)制進(jìn)行抽象,以創(chuàng)建高級(jí)的OO并發(fā)抽象,像主動(dòng)對(duì)象(Active Object)和多態(tài)期貨(Polymorphic Future)。

            。IPC和文件系統(tǒng)組件:ACE C++包裝對(duì)本地和/或遠(yuǎn)地IPC機(jī)制進(jìn)行封裝,比如socket、TLI、UNIX FIFO和STREAM管道,以及Win32命名管道。此外,ACE C++包裝還封裝了OS文件系統(tǒng)API。

            。內(nèi)存管理組件:ACE內(nèi)存管理組件為管理進(jìn)程間共享內(nèi)存和進(jìn)程內(nèi)堆內(nèi)存的動(dòng)態(tài)分配和釋放提供了靈活和可擴(kuò)展的抽象。

            ACE C++包裝提供了許多與ACE OS適配層一樣的特性。但是,這些特性是采用C++類和對(duì)象、而不是獨(dú)立的C函數(shù)來構(gòu)造的。這樣的OO包裝有助于減少正確地學(xué)習(xí)和使用ACE所需的努力。

            例如,C++的使用提高了應(yīng)用的健壯性,因?yàn)镃++包裝是強(qiáng)類型的。所以,編譯器可在編譯時(shí)、而不是運(yùn)行時(shí)檢測(cè)類型系統(tǒng)違例。相反,不到運(yùn)行時(shí),不可能檢測(cè)像socket或文件系統(tǒng)I/O這樣的C一級(jí)OS API的類型系統(tǒng)違例。

            ACE采用了許多技術(shù)來降低或消除額外的性能開銷。例如,ACE大量地使用C++內(nèi)聯(lián)來消除額外的方法調(diào)用開銷;這樣的開銷可由OS適配層和C++包裝所提供的額外的類型安全和抽象層次帶來。此外,對(duì)于性能要求很高的包裝,比如socket和文件I/O的send/recv方法,ACE會(huì)避免使用虛函數(shù)。

            六、框架

            ACE還含有一個(gè)高級(jí)的網(wǎng)絡(luò)編程框架,集成并增強(qiáng)了較低層次的C++ Wrapper Facade。該框架支持將并發(fā)分布式服務(wù)動(dòng)態(tài)配置進(jìn)應(yīng)用。ACE的框架部分包含以下組件:

            。事件多路分離組件:ACE Reactor(反應(yīng)器)和Proactor(前攝器)是可擴(kuò)展的面向?qū)ο蠖嗦贩蛛x器,它們分派應(yīng)用特有的處理器,以響應(yīng)多種類型的基于I/O、定時(shí)器、信號(hào)和同步的事件。

            。服務(wù)初始化組件:ACE Acceptor(接受器)和Connector(連接器)組件分別使主動(dòng)和被動(dòng)的初始化任務(wù)與初始化一旦完成后通信服務(wù)所執(zhí)行的應(yīng)用特有的任務(wù)去耦合。

            。服務(wù)配置組件:ACE Service Configurator(服務(wù)配置器)支持應(yīng)用的配置,這些應(yīng)用的服務(wù)可在安裝時(shí)和/或運(yùn)行時(shí)動(dòng)態(tài)裝配。

            。分層的流組件:ACE Stream組件簡(jiǎn)化了像用戶級(jí)協(xié)議棧這樣的由分層服務(wù)組成的通信軟件應(yīng)用的開發(fā)。

            。ORB適配器組件:通過ORB適配器,ACE可以與單線程和多線程CORBA實(shí)現(xiàn)進(jìn)行無縫集成。

            ACE框架組件便利了通信軟件的開發(fā),它們無需修改、重編譯、重鏈接,或頻繁地重啟運(yùn)行中的應(yīng)用,就可被更新和擴(kuò)展。在ACE中,這樣的靈活性是通過結(jié)合以下要素來獲得的:(1)C++語言特性,比如模板、繼承和動(dòng)態(tài)綁定,(2)設(shè)計(jì)模式,比如抽象工廠、策略和服務(wù)配置器,以及(3)OS機(jī)制,比如顯式動(dòng)態(tài)鏈接和多線程。

            七、分布式服務(wù)和組件

            除了OS適配層、C++ Wrapper Facade和框架組件,ACE還提供了包裝成自包含組件的標(biāo)準(zhǔn)分布式服務(wù)庫。盡管這些服務(wù)組件并不是ACE框架庫的嚴(yán)格組成部分,它們?cè)贏CE中扮演了兩種角色:

            。分解出可復(fù)用分布式應(yīng)用的“積木”:這些服務(wù)組件提供通用的分布式應(yīng)用任務(wù)的可復(fù)用實(shí)現(xiàn),比如名字服務(wù)、事件路由、日志、時(shí)間同步和網(wǎng)絡(luò)鎖定。

            。演示ACE組件的常見用例:這些分布式服務(wù)還演示了怎樣用像Reactor、Service Configurator、Acceptor和Connector、Active Object,以及IPC包裝這樣的ACE組件來有效地開發(fā)靈活、高效和可靠的通信軟件。

            八、高級(jí)分布式計(jì)算中間件組件

            即使使用像ACE這樣的通信框架,開發(fā)健壯、可擴(kuò)展和高效的通信應(yīng)用仍富有挑戰(zhàn)性。特別是,開發(fā)者必須掌握許多復(fù)雜的OS和通信的概念,比如:

            。網(wǎng)絡(luò)尋址和服務(wù)標(biāo)識(shí)。

            。表示轉(zhuǎn)換,比如加密、壓縮和在異種終端系統(tǒng)間的字節(jié)序轉(zhuǎn)換。

            。進(jìn)程和線程的創(chuàng)建和同步。

            。本地和遠(yuǎn)地進(jìn)程間通信(IPC)機(jī)制的系統(tǒng)調(diào)用和庫例程。

            通過采用像CORBA、DCOM或Java RMI這樣的高級(jí)分布式計(jì)算中間件,可以降低開發(fā)通信應(yīng)用的復(fù)雜性。高級(jí)分布式計(jì)算中間件駐留在客戶端和服務(wù)器之間,可自動(dòng)完成分布式應(yīng)用開發(fā)的許多麻煩而易錯(cuò)的方面,包括:

            。認(rèn)證、授權(quán)和數(shù)據(jù)安全。

            。服務(wù)定位和綁定。

            。服務(wù)注冊(cè)和啟用。

            。事件多路分離和分派。

            。在像TCP這樣的面向字節(jié)流的通信協(xié)議之上實(shí)現(xiàn)消息幀。

            。涉及網(wǎng)絡(luò)字節(jié)序和參數(shù)整編(marshaling)的表示轉(zhuǎn)換問題。

            為給通信軟件的開發(fā)者提供這些特性,在ACE中綁定了下面的高級(jí)中間件應(yīng)用:

            。The ACE ORB(TAO):TAO是使用ACE提供的框架組件和模式構(gòu)建的CORBA實(shí)時(shí)實(shí)現(xiàn),包含有網(wǎng)絡(luò)接口、OS、通信協(xié)議和CORBA中間件組件等特性。TAO基于標(biāo)準(zhǔn)的OMG CORBA參考模型,并進(jìn)行了增強(qiáng)的設(shè)計(jì),以克服傳統(tǒng)的用于高性能和實(shí)時(shí)應(yīng)用的ORB的缺點(diǎn)。TAO像ACE一樣,也是可自由使用的開放源碼軟件。

            。JAWS:JAWS是高性能、自適配的Web服務(wù)器,使用ACE提供的框架組件和模式構(gòu)建。JAWS被構(gòu)造成“框架的框架”。JAWS的總體框架含有以下組件和框架:事件多路分派器、并發(fā)策略、I/O策略、協(xié)議管道、協(xié)議處理器和緩存虛擬文件系統(tǒng)。每個(gè)框架都被構(gòu)造成一組協(xié)作對(duì)象,通過組合和擴(kuò)展ACE中的組件來實(shí)現(xiàn)。JAWS也是可自由使用的開放源碼軟件。

            九、主頁

            ACE的主頁為:http://www.cs.wustl.edu/~schmidt/ACE.html,在這里可獲得最新版本的ACE以及其他相關(guān)資源。

            posted on 2006-04-15 14:29 楊粼波 閱讀(1761) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 學(xué)習(xí)筆記

            一本一道久久a久久精品综合| 久久久久久国产精品美女| 99久久综合狠狠综合久久| 久久午夜无码鲁丝片秋霞| 国产日韩久久久精品影院首页| 高清免费久久午夜精品| 麻豆一区二区99久久久久| 国产成人久久精品一区二区三区| 午夜精品久久影院蜜桃| 欧美久久一级内射wwwwww.| 久久久99精品成人片中文字幕| 久久亚洲国产欧洲精品一| 99国产精品久久| 久久亚洲国产午夜精品理论片| 色综合久久综合网观看| 51久久夜色精品国产| 国产精品成人久久久久三级午夜电影| 久久久久一区二区三区| 久久久久国产一级毛片高清版| 色偷偷888欧美精品久久久| 蜜桃麻豆www久久| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 久久精品黄AA片一区二区三区| 漂亮人妻被中出中文字幕久久| 久久久久亚洲av成人网人人软件| 国产精品久久久香蕉| 欧洲人妻丰满av无码久久不卡| 久久成人精品视频| 久久综合九色综合精品| 欧美亚洲日本久久精品| 久久久久高潮综合影院| 久久99久久99精品免视看动漫| 99麻豆久久久国产精品免费| 99久久国产主播综合精品| 久久精品国产一区二区三区不卡| 欧美亚洲国产精品久久| 精品久久久久久久久午夜福利| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久久久久久久久久久中文字幕 | 香蕉99久久国产综合精品宅男自 | 国内高清久久久久久|