亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        松耦合嵌入式軟件系統(tǒng)設(shè)計(jì)研究與實(shí)現(xiàn)

        2012-12-31 00:00:00曾紅李

        摘要:本文在嵌入式軟件設(shè)計(jì)的基礎(chǔ)上,提出了一種松耦合設(shè)計(jì)的方法。通過嵌入式軟件系統(tǒng)地橫向松耦合,實(shí)現(xiàn)了嵌入式系統(tǒng)中各個(gè)子模塊可以單獨(dú)編譯,單獨(dú)運(yùn)行,模塊間故障隔離以及系統(tǒng)運(yùn)行時(shí)動態(tài)升級的目的;通過嵌入式軟件系統(tǒng)的縱向松耦合設(shè)計(jì),實(shí)現(xiàn)了嵌入式系統(tǒng)跨操作系統(tǒng),跨硬件平臺運(yùn)行的需求。通過實(shí)驗(yàn)結(jié)果以及在數(shù)據(jù)通信設(shè)備中的應(yīng)用表明,松耦合嵌入式系統(tǒng)設(shè)計(jì)具有良好的可擴(kuò)展性和可移植性,非常適合現(xiàn)代通信系統(tǒng)的要求。

        關(guān)鍵詞:嵌入式系統(tǒng);松耦合設(shè)計(jì);可移植性

        中圖分類號:TP315 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 24-0168-02

        1 引言

        松耦合就是降低系統(tǒng)部件和部件之間的偶合性,也就是降低部件的依賴性,使得部件之間相對獨(dú)立,這樣對于日后系統(tǒng)的維護(hù)及擴(kuò)展都是很有好處的。在應(yīng)用軟件開發(fā)中,松耦合設(shè)計(jì)模塊得到了廣泛的應(yīng)用,并且取得了比較大的效果,而在嵌入式開發(fā)中,應(yīng)用卻比較少見。在一個(gè)嵌入式軟件系統(tǒng)中,由于模塊與模塊之間相互調(diào)用函數(shù),共享全局變量等,造成了模塊之間緊耦合的關(guān)系,一個(gè)模塊出現(xiàn)故障時(shí),會造成其他模塊甚至整個(gè)軟件系統(tǒng)的崩潰。如果各個(gè)模塊之間是松耦合的關(guān)系,相互隔離,能夠單獨(dú)進(jìn)行編譯,安裝,出現(xiàn)上述問題的可能性將會降低。更重要的是,在保持模塊間松耦合關(guān)系的基礎(chǔ)上,能夠?qū)崿F(xiàn)軟件運(yùn)行時(shí)對單個(gè)模塊的升級而不影響整個(gè)系統(tǒng)。

        與此同時(shí),嵌入式軟件一般都與操作系統(tǒng)以及硬件平臺關(guān)系緊密,系統(tǒng)跨平臺移植一直是一項(xiàng)比較復(fù)雜的工作。特別在通信產(chǎn)品的嵌入式軟件開發(fā)中,對于一些公共的協(xié)議模塊,比如路由協(xié)議(OSPF,BGP),應(yīng)用協(xié)議(DHCP,F(xiàn)TP),這些在所有的產(chǎn)品中都是通用,而各個(gè)通信產(chǎn)品所用的硬件平臺和嵌入式操作系統(tǒng)是不一樣的,使這些模塊成為一個(gè)平臺,實(shí)現(xiàn)各個(gè)產(chǎn)品與平臺的無縫銜接,具有較高可移植性,是嵌入式軟件系統(tǒng)縱向松耦合設(shè)計(jì)的目標(biāo)。

        2 松耦合設(shè)計(jì)的方法

        圖1為整個(gè)系統(tǒng)的架構(gòu)思想,對于松耦合的主要設(shè)計(jì)思想為上下分離,左右分開。該系統(tǒng)總共分為三層。

        層1:主要是各個(gè)業(yè)務(wù)模塊,每個(gè)業(yè)務(wù)模塊可以是一個(gè)功能模塊,也可以是一個(gè)獨(dú)立的協(xié)議模塊,這些模塊就像刀片服務(wù)器一樣,能實(shí)現(xiàn)即插即用,具有高可擴(kuò)展性。

        層2:消息代理器層,這是整個(gè)系統(tǒng)的基礎(chǔ),也是本文的核心思想,從圖中可以看出,它是連接業(yè)務(wù)模塊之間,以及業(yè)務(wù)模塊與操作系統(tǒng)的樞紐。

        層3:也是最底層,包括操作系統(tǒng)和硬件,本文設(shè)計(jì)的嵌入式系統(tǒng)不包括這層,對于不同的硬件架構(gòu)的產(chǎn)品,這一層是不一樣的。

        消息代理模塊是本設(shè)計(jì)的核心部件,它是連接模塊間以及軟件與操作系統(tǒng)以及硬件之間的橋梁。橫向松耦合通過它實(shí)現(xiàn)了模塊間通信,是星型通信模型的中心節(jié)點(diǎn);縱向松耦合通過它實(shí)現(xiàn)了軟件與操作系統(tǒng)以及硬件的通信,實(shí)現(xiàn)了平臺無關(guān)性功能。

        圖1 松耦合嵌入式軟件系統(tǒng)總體架構(gòu)

        2.1 橫向松耦合設(shè)計(jì)

        模塊和模塊之間相互隔離,每個(gè)模塊即一個(gè)任務(wù),有自己獨(dú)立的堆棧空間,它們之間不能相互調(diào)用函數(shù),也不能相互訪問其他任務(wù)的全局變量。模塊和模塊之間只能通過進(jìn)程間通信方式進(jìn)行通信。由于有很多個(gè)模塊同時(shí)存在,一般情況下,各個(gè)模塊之間的通信模型是網(wǎng)狀模型,如圖2所示,我們在這里使用了星型模型,通過設(shè)立了一個(gè)消息代理模塊作為各個(gè)模塊通信的中轉(zhuǎn)站,各個(gè)模塊只需要和消息代理模塊建立連接即可,由消息代理模塊完成消息的發(fā)送。

        模塊和消息代理之間是C/S關(guān)系,業(yè)務(wù)模塊是客戶端,消息代理模塊是服務(wù)器端。它們之間的通信方式包括兩種類型,一種是直接消息通信,另外一種是訂閱發(fā)布模型。 直接消息通信用于1對1的通信,而訂閱發(fā)布則用于多對1的通信,比如接口模塊檢測到網(wǎng)絡(luò)接口的Up/down狀態(tài)后,需要通知給多個(gè)模塊進(jìn)行相應(yīng)處理。

        圖2 星型通信模型

        2.2 縱向松耦合設(shè)計(jì)

        縱向耦合設(shè)計(jì)主要是為了解決嵌入式軟件在不同操作系統(tǒng)內(nèi)核和硬件平臺(商用芯片,網(wǎng)絡(luò)處理器)的可移植性。首先對于操作系統(tǒng),我們在這里主要考慮linux和vxworks。這兩個(gè)操作系統(tǒng)在任務(wù)管理和內(nèi)存管理方面相差比較多,如何做到軟件在這兩個(gè)系統(tǒng)間切換時(shí)候,修改工作量較?。欢鴮τ谏逃眯酒?,由于各個(gè)廠家芯片提供的API接口也是各不相同。如圖1所示,我們在消息代理器增加了兩個(gè)抽象層,一個(gè)是硬件抽象層,一個(gè)是平臺抽象層,這兩層都是兩個(gè)不同的任務(wù),它們和業(yè)務(wù)模塊之間通過消息代理器進(jìn)行通信。

        HAL:主要是對芯片的抽象,業(yè)務(wù)模塊有些信息需要寫入到芯片中,比如路由信息等。HAL層通過接收到業(yè)務(wù)模塊發(fā)來的路由信息,需要進(jìn)行整合和適配到不同芯片,以實(shí)現(xiàn)跨芯片的無縫移植。

        PAL:主要實(shí)現(xiàn)了內(nèi)存管理的適配,以及與內(nèi)核通信的適配,為不同內(nèi)核提供了不同的通信方式。業(yè)務(wù)模塊通過PAL層與內(nèi)核進(jìn)行通信,獲取相關(guān)信息。

        3 消息代理器

        從上面介紹可以看出,整個(gè)松耦合系統(tǒng)設(shè)計(jì)的核心就是消息代理器,它完成了各個(gè)業(yè)務(wù)模塊之間的通信,同時(shí)也是連接底層操作系統(tǒng)內(nèi)核以及硬件的通道。消息代理器的設(shè)計(jì)主要分為三個(gè)部分。客戶端,服務(wù)器端,消息處理。各個(gè)部分的作用如下:

        客戶端:業(yè)務(wù)模塊通過客戶端向服務(wù)器注冊,并且訂閱感興趣公共消息類型。

        服務(wù)器端:服務(wù)器端偵聽各個(gè)業(yè)務(wù)模塊的注冊信息,并且維護(hù)各個(gè)客戶端的信息,并進(jìn)行消息的發(fā)送與接受。

        消息處理端:主要提供對服務(wù)器端和客戶端之間消息的封裝與解封裝。

        消息代理器的工作過程如下:3.1 初始化過程,包括服務(wù)器端的初始化和客戶端的初始化,客戶端的初始化由各個(gè)業(yè)務(wù)模塊完成,每個(gè)業(yè)務(wù)模塊都初始化一個(gè)客戶端的實(shí)例。3.2 客戶端發(fā)起連接,服務(wù)器端收到連接后需要對連接成功的客戶端建立一個(gè)鏈表,用來保存客戶端信息,為后續(xù)通信做準(zhǔn)備。3.3 客戶端與服務(wù)器端通信。通信由業(yè)務(wù)模塊發(fā)起,消息處理端進(jìn)行消息的封裝,封裝完后,發(fā)送給服務(wù)期端,服務(wù)器端根據(jù)保存的客戶端鏈表來確認(rèn)消息是從哪個(gè)客戶端發(fā)來的,然后進(jìn)行對應(yīng)的回調(diào)處理。

        圖3 消息代理器初始化過程

        圖4 客戶端向服務(wù)器發(fā)起連接流程

        4 總結(jié)與展望

        通過將各個(gè)業(yè)務(wù)模塊設(shè)計(jì)成刀片式的應(yīng)用,并借助于消息代理器將業(yè)務(wù)模塊之間的通信模型改成星型模型,減少了模塊之間的連接關(guān)系。消息代理器 是本設(shè)計(jì)中最重要的組成部分,對整個(gè)框架起了基礎(chǔ)性的作用,其也可單獨(dú)作為一個(gè)獨(dú)立的模塊運(yùn)行。

        使用松耦合開發(fā)模式是開發(fā)一個(gè)高可移植性,高可擴(kuò)展性系統(tǒng)的關(guān)鍵所在,本文在嵌入式軟件設(shè)計(jì)的基礎(chǔ)上,提出了模塊間的橫向松耦合以及軟件與嵌入式操作系統(tǒng),硬件平臺的縱向松耦合設(shè)計(jì),并且進(jìn)行了實(shí)現(xiàn)。適合應(yīng)用在通信產(chǎn)品的嵌入式軟件開發(fā)上,而需要把該系統(tǒng)運(yùn)行在不同操作系統(tǒng)的產(chǎn)品上時(shí),其更有用武之地。

        參考文獻(xiàn):

        [1]李善平,劉文峰,王煥龍.Linux與嵌入式系統(tǒng)(2).北京:清華大學(xué)出版社,2006.3,208~211

        [2]Kurt Wall等.GNU/Linux編程指南(2).張輝譯.北京:清華大學(xué)出版社,2002.6,372~390

        [3]Neil Matthew,Richard Stones.Linux程序設(shè)計(jì)(3).陳健,宋健健等譯.北京:人民郵電出版社,2007.7,

        [4]Barbara H. Liskov and Jeannette M. Wing, A Behavioral Notion of Subtyping, ACM Transactions on Programming Languages and Systems, November 1994.

        [5]Barbara Liskov and Jeannette M. Wing, Family Values: A Behavioral Notion of Subtyping, CMU-CS-93-187 (supersedes CMU-CS-93-149 and CMU-CS-92-220)

        [6]Boehm, Barry, Ellis Horowitz, Ray Madachy, Donald Reifer, Bradford Clark, Bert Steece, A. Winsor Brown, Sunita Chualani, and Chris Abts. Software Cost Estimation with Cocomo II. Upper Saddle River, NJ: Prentice Hall,January 2000

        [作者簡介]曾紅李(1982- ),男,碩士,中興通訊股份有限責(zé)任公司,二級主任工程師,主要研究方向:數(shù)通產(chǎn)品軟件系統(tǒng)設(shè)計(jì)。

        美女在线一区二区三区视频| 国产高潮流白浆免费观看不卡| 啪啪视频免费看一区二区| 亚洲av色av成人噜噜噜| 人妻少妇精品无码专区| 亚洲色自偷自拍另类小说| 美女视频很黄很a免费国产| 精品国产一区二区三区av新片| 欧美xxxxx在线观看| 亚洲熟女综合一区二区三区| 中字亚洲国产精品一区二区 | av人妻在线一区二区三区| 天天做天天爱夜夜爽毛片毛片 | 午夜视频一区二区三区四区| 乱码1乱码2美美哒| 亚洲色偷偷综合亚洲av伊人| 无遮高潮国产免费观看韩国 | 亚洲精品成人无百码中文毛片| 精品国产一二三产品区别在哪| 国产啪精品视频网站丝袜| 亚洲高清国产拍精品熟女| 国产一区二区三区在线观看完整版 | 国产在线无码不卡影视影院| 久无码久无码av无码| 91精品国产91久久综合桃花| 午夜视频一区二区三区四区| 亚洲日韩av一区二区三区中文| 无码中文字幕加勒比一本二本| 色老汉亚洲av影院天天精品| 日本免费一区二区三区影院 | 男女下面进入的视频| 午夜国产精品久久久久| 久久国产精品美女厕所尿尿av| 精品亚洲国产成人| 久久精品片| 18禁成人免费av大片一区 | 男人进去女人爽免费视频| 国内精品久久久久影院优| 邻居少妇张开腿让我爽视频| 无遮掩无码h成人av动漫| 久久亚洲精品无码gv|