[發明專利]用于內核態和用戶態通訊的共享內存結構及其應用有效
| 申請號: | 201610526265.4 | 申請日: | 2016-07-05 |
| 公開(公告)號: | CN107577539B | 公開(公告)日: | 2021-03-16 |
| 發明(設計)人: | 王行宮阝 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京展翅星辰知識產權代理有限公司 11693 | 代理人: | 王文生 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 內核 用戶 通訊 共享 內存 結構 及其 應用 | ||
1.一種用于內核態和用戶態通訊的共享內存結構,包括:
所述共享內存被劃分為多個內存片;
所述多個內存片中的其中一個內存片為存儲有至少一個用戶態狀態信息的控制頁,且其余內存片為數據頁,所述控制頁中的用戶態狀態信息為:表征用戶態空閑的狀態信息、表征用戶態繁忙的狀態信息或者表征用戶態未執行共享內存地址映射的狀態信息;
每一個數據頁均包括:第一區域和第二區域,所述第一區域用于存儲針對內核態和用戶態通訊數據的數據頁分配信息以及至少一個數據頁狀態信息,所述第二區域用于存儲內核態和用戶態的通訊數據,所述數據頁分配信息包括:在所述內核態針對待傳輸給用戶態的待傳輸數據分配數據頁的一次分配過程中,內核態所分配的數據頁的頁數,所述數據頁中的數據頁狀態信息為:表征數據頁空閑且允許被內核態分配的狀態信息、表征數據頁已經被內核態分配且內核態正在寫入數據的狀態信息、表征數據頁允許被用戶態讀寫的狀態信息、表征數據頁正在被用戶態讀寫的狀態信息或者表征數據頁允許被內核態分配且用戶態忽略該數據頁的狀態信息。
2.根據權利要求1所述的共享內存結構,其中,所述共享內存中的所有數據頁形成環形隊列。
3.根據權利要求1所述的共享內存結構,其中,
在內核態創建共享內存的過程中,所述共享內存中的控制頁中的用戶態狀態信息被設置為表征用戶態未執行共享內存地址映射的狀態信息;
在用戶態執行進程地址空間映射操作后,所述共享內存中的控制頁中的用戶態狀態信息被設置為表征用戶態空閑的狀態信息;
在用戶態開始針對數據頁執行讀寫操作時,所述用戶態狀態信息被設置為表征用戶態繁忙的狀態信息;
在用戶態完成數據頁中的數據讀寫操作時,所述用戶態狀態信息被設置為表征用戶態空閑的狀態信息。
4.根據權利要求1所述的共享內存結構,其中,
在內核態為其創建并注冊的設備分配共享內存的過程中,所述共享內存中的各數據頁中的數據頁狀態信息被設置為表征數據頁空閑且允許被內核態分配的狀態信息,使各數據頁處于空閑態;
在內核態針對需要向用戶態傳輸的數據分配數據頁且存在可分配的數據頁時,所述可分配的數據頁的數據頁狀態信息被設置為表征數據頁已經被內核態分配且內核態正在寫入數據的狀態信息,使可分配的數據頁處于內核態寫狀態;
在內核態將需要向用戶態傳輸的數據寫入一個數據頁后,該數據頁中的數據頁狀態信息被設置為表征數據頁允許被用戶態讀寫的狀態信息,使該數據頁處于用戶態可讀寫狀態;
在用戶態從一個數據頁中讀取數據或者向一個數據頁中寫入數據時,該數據頁中的數據頁狀態信息被設置為表征數據頁正在被用戶態讀寫的狀態信息,使該數據頁處于用戶態正在讀寫狀態;
在用戶態從一個數據頁中讀取數據完成或者向一個數據頁中寫入數據完成后,該數據頁中的數據頁狀態信息被設置為表征數據頁空閑且允許被內核態分配的狀態信息,使該數據頁處于空閑態;
在內核態針對需要向用戶態傳輸的數據分配數據頁且可分配的數據頁不足時,所述不足分配的數據頁被設置為表征數據頁允許被內核態分配且用戶態忽略該數據頁的狀態信息,使該數據頁處于空閑忽略態。
5.一種內核態和用戶態通訊方法,其中,所述方法包括:
確定內核態需要向用戶態傳輸的待傳輸數據所需占用共享內存中的數據頁的頁數;
根據共享內存的數據頁中的至少一個數據頁狀態信息以及所述頁數確定出共享內存中存在可供分配的數據頁的情況下,針對待傳輸數據執行數據頁寫操作,所述數據頁中的數據頁狀態信息為:表征數據頁空閑且允許被內核態分配的狀態信息、表征數據頁已經被內核態分配且內核態正在寫入數據的狀態信息、表征數據頁允許被用戶態讀寫的狀態信息、表征數據頁正在被用戶態讀寫的狀態信息或者表征數據頁允許被內核態分配且用戶態忽略該數據頁的狀態信息;
在可供分配的數據頁中的第一個數據頁寫完成,且根據共享內存的控制頁中的至少一個用戶態狀態信息確定出用戶態空閑的情況下,向用戶態發送讀取數據頁中的數據的通知,所述控制頁中的用戶態狀態信息為:表征用戶態空閑的狀態信息、表征用戶態繁忙的狀態信息或者表征用戶態未執行共享內存地址映射的狀態信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610526265.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種具有高推進效率的多自由度撲翼微型飛行器
- 下一篇:一種旋進式類撲翼飛行器





