[發明專利]基于MPU的內存訪問方法、裝置、電子設備及存儲介質在審
| 申請號: | 202210437892.6 | 申請日: | 2022-04-25 |
| 公開(公告)號: | CN114780446A | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 彭志航;隋平禮 | 申請(專利權)人: | 四川凝思軟件有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F12/06;G06F9/50 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 610021 四川省成都市錦江區工*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 mpu 內存 訪問 方法 裝置 電子設備 存儲 介質 | ||
本發明提供了一種基于MPU的內存訪問方法、裝置、電子設備及存儲介質,內存訪問方法包括:根據線程實際所需訪問的內存段建立靈活頁表,靈活頁表中包括若干個靈活頁,每個靈活頁對應內存池組中的一個內存塊,線程所需訪問的內存段由一個或多個內存塊組成;根據線程實際所需訪問的內存段,從靈活頁表中獲取對應的一個或多個靈活頁放到線程的地址空間;建立線程的使用靈活頁鏈表;線程通過獲取地址空間中的一個或多個靈活頁,并通過使用靈活頁鏈表映射獲取到內存池中的對應的內存段,實現對內存段的訪問。本發明通過使用靈活頁的方式去授予線程匹配的內存空間,可以盡可能避免內存管理錯誤的觸發,從而實現嵌入式系統軟件的安全性、可靠性。
技術領域
本發明涉及嵌入式操作系統技術領域,尤其涉及一種基于MPU的內存訪問方法、裝置、電子設備及存儲介質。
背景技術
當前操作系統中采用的內存管理機制主要分為虛擬內存管理機制和非虛擬內存管理機制。部分嵌入式處理器具有MMU(Memory Management Unit內存管理單元), 操作系統會使用它完成從虛擬地址到物理地址的轉換,應用程序只需要使用虛擬地址進行數據尋址。這種使用虛擬地址尋址的方式被稱為虛擬內存。虛擬內存的管理方法使系統既可滿足程序的運行速度要求,又節省了物理內存空間。
但是,由于虛擬內存機制會導致不確定性的I/O阻塞時間,使得程序運行時間不可預期;另外,出于嵌入式處理器的成本和設計復雜度考慮,很多不具有MMU。因而大多數嵌入式實時操作系統采用的是非虛擬內存管理策略,對于內存的訪問是直接的,所有程序中訪問的地址都是實際的物理地址。大多數嵌入式實時操作系統對內存空間沒有保護,所有進程實際上共享一個運行空間。這樣能夠提高系統的響應時間,但是程序內存越界或操作不當,容易引起系統崩潰。
在嵌入式多進程系統中,必須確保不同進程之間的操作不會相互干擾,而避免系統資源或是其他進程資源被非法存取的機制被稱為保護策略??刂拼嫒∠到y資源的方法有兩種:硬件支持保護與軟件保護。硬件支持保護指處理器本身設計時支持相應功能單元MPU(memory protection unit內存保護單元),由軟件驅動共同完成系統資源保護工作;軟件保護指單純依靠軟件來保護系統資源。在沒有MPU的系統中,沒有專門保護外圍設備和內存的硬件,為了避免不同的進程有相互干擾的情況,必須采用軟件協調機制;如果其中某個進程沒有遵守存取限制,則很容易導致內存存取越界,協調機制失效。在有MPU的系統中,有專門的檢查并限制存取系統資源的硬件MPU,可以保證資源的所有權,進程必須遵守一組由操作系統定義的規則,規則由硬件來實現維護,從硬件登記上授予監管控制資源的特殊權限。受保護的系統可以有效防止一個進程使用到其他進程的資源,硬件支持保護比單純軟件保護的方法更加可靠有效。
ARM Cortex-M7支持的MPU域的大小必須是2的n次冪,如果線程要申請192字節的域,從理論上可以直接申請256字節的MPU域,而線程用不了256字節的MPU域,該線程就占用了過多的空間,且ARM Cortex-M7處理器MPU支持域的最大個數為8或16個,多個線程訪問時易產生MemManage Fault故障。
發明內容
本發明提供了一種基于MPU的內存訪問方法、裝置、電子設備及存儲介質,通過MPU實現不同進程之間的隔離。
第一方面,本發明實施例提供了一種基于MPU的內存訪問方法,多個MPU域與多個內存池一一對應,所述內存訪問方法包括:
根據線程實際所需訪問的內存段建立靈活頁表,所述靈活頁表中包括若干個靈活頁,每個靈活頁對應內存池組中的一個內存塊,線程所需訪問的內存段由一個或多個內存塊組成;
根據線程實際所需訪問的內存段,從所述靈活頁表中獲取對應的一個或多個靈活頁放到所述線程的地址空間;
建立所述線程的使用靈活頁鏈表,用于建立所述線程的地址空間與內存池映射關系;
所述線程通過獲取所述地址空間中的一個或多個靈活頁,并通過所述使用靈活頁鏈表映射獲取到所述內存池中的對應的內存段,實現對所述內存段的訪問。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川凝思軟件有限公司,未經四川凝思軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210437892.6/2.html,轉載請聲明來源鉆瓜專利網。





