[發明專利]多進程通信系統及其建立和通信方法在審
| 申請號: | 201210183563.X | 申請日: | 2012-06-05 |
| 公開(公告)號: | CN103455380A | 公開(公告)日: | 2013-12-18 |
| 發明(設計)人: | 嚴向陽 | 申請(專利權)人: | 上海斐訊數據通信技術有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 上海智信專利代理有限公司 31002 | 代理人: | 胡美強;王聰 |
| 地址: | 201617 上海市松*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 進程 通信 系統 及其 建立 方法 | ||
技術領域
本發明涉及一種多進程通信系統及其建立和通信方法,特別是涉及一種用于嵌入式系統的多進程通信系統及其建立和通信方法。
背景技術
現有的操作系統,尤其是嵌入式系統中每個進程都有自己的地址空間,一個進程不能存取另一個進程的內存數據。雖然兩個進程可以用具有相同值的指針尋址,但是這兩個進程還是將被映射到不同的物理地址。所讀寫的只是它們各自的數據,這樣就避免了進程之間的相互干擾。例如,在進程A聲明了一個指針P,這個指針只能被本進程A使用,在其他進程B中使用P,將會導致致命的問題,所以現有操作系統中禁止這種操作。這樣就實現了對每個進程的執行環境進行保護和隔離。而且這也正是嵌入式系統所要實現的基本功能。
在實際應用中,嵌入式系統中往往有眾多進程需要同時運行,而且各個進程之間常常需要交換數據或進行數據通信等。并且現有技術中提供了許多系統調用使我們能夠進行進程間的通信(IPC,Inter-Process?Communication),通過這些系統調用我們可以控制不同進程間的數據交換。
常見的進程間通信IPC方式主要有以下幾種:
無名管道(Pipe)和有名管道(Named?Pipe),管道是一種半雙工的通信方式,數據只能單向流動。無名管道只能用于具有親緣關系進程間的通信,例如父進程和子進程之間的通信。有名管道克服了管道沒有名字的限制,因而,除具有無名管道所具有的功能外,有名管道還允許無親緣關系進程間的通信。
信號通信(Signal)是比較復雜的通信方式,用于通知接收進程有某種事件發生。信號通信是進程間通信機制中唯一的異步通信機制,可以看作是異步通知。
消息隊列(Message?Queue)就是消息的鏈表。消息隊列用于兩個進程之間的通信,首先在一個進程中創建一個消息隊列,然后再往消息隊列中寫數據,而另一個進程則從那個消息隊列中取數據。
共享內存(Shared?Memory)是運行在同一臺機器上的進程間通信最快的方式,因為數據不需要在不同的進程間復制。兩個不同進程A、B共享內存的意思是,同一塊物理內存被映射至進程A和進程B各自的進程地址空間。進程A可以即時看到進程B對共享內存中數據的更新,反之亦然。通常,由一個進程創建一塊共享內存區,其余進程對這塊內存區進行讀寫。由于多個進程可以訪問同一塊內存區,必然需要某種同步機制,例如采用互斥鎖和信號量等。
信號量(Semaphore)是一種計數器的通信方式,可以用來控制多個進程對共享資源的訪問。它常作為一種鎖機制,防止某個進程正在訪問共享資源的同時,其他進程也訪問該資源。因此,主要作為進程間以及同一進程內不同線程之間的同步手段。
套接字(Socket)為更一般的進程間通信機制,可用于不同機器之間的進程間通信。
上述方式都是操作系統中提供的實現IPC的方法。單從技術角度而言,可選擇其中任意一個直接使用。然而從應用角度講,這些都不是完整的解決方案。在嵌入式系統,尤其是通信設備軟件系統中,往往需要眾多進程協作,進程間通信非常頻繁,其中存在有大量的數據交換。由于一個進程可能與其他任何進程通信,多個進程間相互交叉通信下,它們一對一通信或者一對多通信,常常會出現類似網狀的通信關系。而且已有的IPC通信方式多適用于兩兩進程間的通信,在進程之間通信前,兩個進程需要建立某種形式的連接。這樣,在這種多進程環境下,每兩個進程之間需要創建一個IPC實例彼此連接,就形成了如圖1所示的類似網狀的連接結構。這種網狀的連接結構,使得多進程間通信變得十分復雜而難以清晰掌握,另外,存在如此眾多的IPC實例,也過多地占用了嵌入式環境下系統寶貴的資源。
發明內容
本發明要解決的技術問題是為了克服現有技術中的多進程通信時構成的通信連接結構復雜而且IPC實例過多導致占用了大量的系統資源的缺陷,提供一種多進程通信系統及其建立和通信方法,通過利用已有的IPC方式,構建了一種星型的通信連接結構,克服現有網狀的通信連接結構所帶來的弊端。
本發明是通過下述技術方案來解決上述技術問題的:
本發明提供了一種多進程通信系統,其特點是所述多進程通信系統包括一中央進程和多個進程;
其中各個所述進程分別通過IPC方式連接至所述中央進程;所述中央進程將各個進程的通信連接標識和進程標識的寫入一對應關系表;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海斐訊數據通信技術有限公司,未經上海斐訊數據通信技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210183563.X/2.html,轉載請聲明來源鉆瓜專利網。





