[發明專利]一種用戶進程與系統服務之間的通信方法、裝置有效
| 申請號: | 201310207082.2 | 申請日: | 2013-05-29 |
| 公開(公告)號: | CN104216862B | 公開(公告)日: | 2017-08-04 |
| 發明(設計)人: | 詹卿;王偉 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F15/167 | 分類號: | G06F15/167;G06F9/54 |
| 代理公司: | 深圳中一專利商標事務所44237 | 代理人: | 張全文 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用戶 進程 系統 服務 之間 通信 方法 裝置 | ||
1.一種用戶進程與系統服務之間的通信方法,其特征在于,應用于多核平臺,所述多核平臺包括至少一個第一物理核以及至少一個第二物理核,所述第一物理核上運行有第一內核,所述第一內核上運行有第一代理模塊以及一個或多個用戶進程,所述第二物理核上運行有第二內核,所述第二內核上運行有第二代理模塊以及系統服務,所述第一代理模塊上保存有所述系統服務與所述用戶進程共享的共享內存地址信息,所述方法包括:
所述用戶進程通過第一內核向所述第一代理模塊發送第一請求,所述第一請求中攜帶有所述用戶進程需要所述系統服務處理的第一數據;
所述第一代理模塊接收到第一請求后,通過所述第一內核將所述第一請求中攜帶的所述第一數據寫入到與保存的所述共享內存地址信息對應的第一內存空間;
所述系統服務通過所述第二內核以輪詢的方式從所述第一內存空間讀取所述第一數據,并進行處理,得到處理后的第一數據,并將所述處理后的第一數據寫入到所述第一內存空間;
所述第一代理模塊通過所述第一內核以輪詢的方式從所述第一內存空間讀取所述處理后的第一數據,并通過所述第一內核將所述處理后的第一數據發送給所述用戶進程;
在所述第一代理模塊通過所述第一內核以輪詢的方式從所述第一內存空間讀取所述處理后的第一數據,并通過所述第一內核將所述處理后的第一數據發送給所述用戶進程之后,還包括:
所述第一代理模塊通過所述第一內核將所述共享內存地址信息發送給所述用戶進程;
所述用戶進程根據所述共享內存地址信息建立與所述系統服務的連接,并保存所述用戶進程與所述系統服務之間建立連接時所用的連接信息,所述連接信息包括所述系統服務的服務標識、所述共享內存地址信息。
2.如權利要求1所述的方法,其特征在于,在所述用戶進程通過第一內核向所述第一代理模塊發送第一請求之前,還包括:
判斷所述用戶進程和所述系統服務之間是否已經建立連接;
如果否,則執行所述用戶進程通過第一內核向所述第一代理模塊發送第一請求以及該步驟之后的后續步驟,實現所述用戶進程與所述系統服務之間的通信,并建立兩者之間的連接;
如果是,則所述用戶進程根據所述連接信息,寫入需要所述系統服務處理的第一數據到與所述連接信息中保存的共享內存地址信息對應的第一內存空間;
所述系統服務從所述第一內存空間讀取所述第一數據,并進行處理,得到處理后的第一數據,并將所述處理后的第一數據寫入到所述第一內存空間;
所述用戶進程從所述第一內存空間讀取所述處理后的第一數據。
3.如權利要求1所述的方法,其特征在于,所述第一代理模塊上保存有所述系統服務與所述用戶進程共享的共享內存地址信息包括:
所述系統服務通過所述第二內核向操作系統申請共享內存;
所述系統服務通過所述第二內核向所述第二代理模塊通知所述系統服務申請到的共享內存地址信息;
所述第二代理模塊向所述第一代理模塊廣播所述共享內存地址信息;
所述第一代理模塊保存所述共享內存地址信息。
4.如權利要求1所述的方法,其特征在于,所述用戶進程根據所述共享內存地址信息建立與所述系統服務的連接包括:
所述系統服務將所述共享內存地址信息對應的第一內存空間映射至所述系統服務的虛擬地址空間;
所述第一代理模塊將所述共享內存地址信息對應的第一內存空間映射至所述第一代理模塊的虛擬地址空間;
所述用戶進程將所述共享內存地址信息對應的第一內存空間映射至所述用戶進程的虛擬地址空間。
5.如權利要求1所述的方法,其特征在于,所述第一代理模塊、所述用戶進程、所述第二代理模塊以及所述系統服務均為用戶態程序。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310207082.2/1.html,轉載請聲明來源鉆瓜專利網。





