[發明專利]一種用戶態與內核態共享內存的管理方法和裝置有效
| 申請號: | 201210523851.5 | 申請日: | 2012-12-04 |
| 公開(公告)號: | CN103034544A | 公開(公告)日: | 2013-04-10 |
| 發明(設計)人: | 趙丹 | 申請(專利權)人: | 杭州迪普科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京博思佳知識產權代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 310051 浙江省杭*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用戶 內核 共享 內存 管理 方法 裝置 | ||
1.一種用戶態與內核態共享內存的管理方法,其特征在于,包括:
將預定長度的物理內存作為共享內存分別映射到用戶態地址空間和內核態地址空間,映射完成后,用戶態進程和內核態進程在各自的地址空間分別得到共享內存的基地址;
將多個偽鏈表的頭節點保存到共享內存的最后區域,其中,偽鏈表的節點的結構包括對象類型和偽鏈表中下一個節點的起始地址相對于基地址的偏移,且每種對象類型對應一種長度的內存對象;
根據使用者需要申請內存的大小,從所述多個偽鏈表中選取一個偽鏈表,從所選取的偽鏈表中選取一個或多個節點,將選取的一個或多個節點對應的內存對象分配給該使用者,并將選取的一個或多個節點從所選取的偽鏈表中摘除,其中,所述使用者為內核態進程或用戶態進程,所述使用者能夠將自己的基地址加上所分配的內存對象的起始偏移得到內存對象的起始地址,并根據所述起始地址對所述內存對象進行操作。
2.如權利要求1所述的管理方法,其特征在于,還包括:
需要對內存對象進行釋放時,獲取待釋放內存對象的起始偏移和大小,根據所述起始偏移和大小將內存對象添加到相應偽鏈表中的相應節點中。
3.如權利要求2所述的管理方法,其特征在于:
所述多個偽鏈表包括:節點對應的內存對象的長度為16字節、32字節、64字節、128字節、256字節、512字節、1024字節和2k字節分別對應的16_list偽鏈表、32_list偽鏈表、64_list偽鏈表、128_list偽鏈表、256_list偽鏈表、512_list偽鏈表、1024_list偽鏈表和free_list偽鏈表。
4.如權利要求3所述的管理方法,其特征在于,所述根據使用者需要申請內存的大小,從所述多個偽鏈表中選取一個偽鏈表,從所選取的偽鏈表中選取一個或多個節點,包括:
當申請的內存的大小大于(1024-4)字節時,則從free_list偽鏈表選取連續的n個節點,n為整數;
當申請的內存的大小小于或等于(1024-4)字節時,則從除free_list偽鏈表之外的其他偽鏈表中選取1個節點,當所述其他偽鏈表為空,則先從free_list偽鏈表中選取1個2k對象進行分割后,將分割得到的多個對象添加到所述其他偽鏈表中。
5.如權利要求3所述的管理方法,其特征在于,還包括:
當根據所述起始偏移和大小將內存對象添加到相應偽鏈表中的相應節點中后,若相應偽鏈表中有多個連續的節點對應的內存對象大小之和為2k,其該多個連續的節點中的第一個節點的起始偏移能夠被2k整除,則將這多個連續的節點從相應偽鏈表中摘除后,將相應的2k內存對象添加到free_list偽鏈表中。
6.一種用戶態與內核態共享內存的管理裝置,其特征在于,包括:
內存映射單元,用于將預定長度的物理內存作為共享內存分別映射到用戶態地址空間和內核態地址空間,映射完成后,用戶態進程和內核態進程在各自的地址空間分別得到共享內存的基地址;
偽鏈表建立單元,用于將多個偽鏈表的頭節點保存到共享內存的最后區域,其中,偽鏈表的節點的結構包括對象類型和偽鏈表中下一個節點的起始地址相對于基地址的偏移,且每種對象類型對應一種長度的內存對象;
內存分配單元,用于根據使用者需要申請內存的大小,從所述多個偽鏈表中選取一個偽鏈表,從所選取的偽鏈表中選取一個或多個節點,將選取的一個或多個節點對應的內存對象分配給該使用者,并將選取的一個或多個節點從所選取的偽鏈表中摘除,其中,所述使用者為內核態進程或用戶態進程,所述使用者能夠將自己的基地址加上所分配的內存對象的起始偏移得到內存對象的起始地址,并根據所述起始地址對所述內存對象進行操作。
7.如權利要求6所述的管理裝置,其特征在于,還包括:
內存釋放單元,用于需要對內存對象進行釋放時,獲取待釋放內存對象的起始偏移和大小,根據所述起始偏移和大小將內存對象添加到相應偽鏈表中的相應節點中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州迪普科技有限公司,未經杭州迪普科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210523851.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種供電式熱水器蓄水箱
- 下一篇:一種防震抗沖擊空調柜





