[發明專利]一種多系統下對實時操作系統所占用內存的保護方法有效
| 申請號: | 201310063262.8 | 申請日: | 2013-02-28 |
| 公開(公告)號: | CN103164348A | 公開(公告)日: | 2013-06-19 |
| 發明(設計)人: | 楊國青;李紅;吳朝暉;劉健全 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 杭州天勤知識產權代理有限公司 33224 | 代理人: | 胡紅娟 |
| 地址: | 310027 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 系統 實時 操作系統 占用 內存 保護 方法 | ||
技術領域
本發明屬于計算機內存管理領域,尤其涉及一種多系統下對實時操作系統所占用內存的保護方法。
背景技術
在嵌入式領域,多個操作系統同時在一個硬件平臺上運行是一個趨勢,在這些操作系統中實時操作系統是很重要的一類。實時操作系統具有響應及時和可靠性高的特點,這是普通操作系統不能提供的。把實時操作系統和普通操作系統結合起來可以進行操作系統的優勢互補,提供更多的功能,獲得更高的硬件利用率。但多系統運行在同一個硬件平臺上也帶來了一些系統安全性的問題,特別是內存安全問題。內存保護是實時操作系統的重要研究內容,內存保護方法的優劣直接關系到實時操作系統的安全性、穩定性和可靠性。
美國WindRiver公司開發的VxWorks嵌入式實時操作系統,支持多任務,所有任務共享一個內存地址空間,彼此之間沒有任何保護。這種設計實現簡單、執行效率高,能夠很好地滿足嵌入式實時性需求。但是任務的正確執行完全依賴于程序員編寫正確無誤的程序。一個任務的錯誤可能會導致另外的任務無法執行,甚至整個系統的癱瘓,因此程序的可靠性和系統的健壯性都不高。
加拿大QNX軟件系統有限公司開發的QNX實時操作系統是一個基于消息傳遞的微內核實時操作系統,支持進程/線程任務模型,進程管理功能屬于一個動態可加載的模塊。在沒有配置進程管理器的QNX實時系統中,所有的應用線程和核心連接在一起,都處在一個地址空間中,這時的系統是無保護模式系統。當進程管理器啟動以后,一個應用創建為一個進程,進程內部可能有若干線程,每個進程有自己的虛擬地址空間,支持完全基于內存管理單元的內存保護機制。這時系統在安全穩定性提高的同時,其對嵌入式實時性的支持就會降低。
現有的多個操作系統間的內存保護方法,大部分是使用一個獨立的軟件層來完成。這個獨立的軟件層,通常稱作虛擬機,運行在硬件層和操作系統層之間。雖然這種方式可以實現內存保護,但是增加了系統的復雜度。
授權公告號為CN?1269047C的中國專利公布了一種具有內存保護功能的內存管理方法,在具有MMU功能的CPU上進行內存管理;在需要保護的內存兩端添加保護頁;當有操作訪問到所述保護頁所在的區域時,實時操作系統確認所述操作為非法修改所述內存的操作,并報告內存訪問異常。所述保護頁的屬性為不可訪問。在內存中增加保護頁會占用內存空間,也使內存的功能變得復雜,非法操作的報告會影響程序執行的流暢性,不利于實際使用。
發明內容
本發明針對現有技術中增加內存保護的功能會影響程序的可靠性、系統的健壯性、嵌入式的實時性,會增加系統的復雜性,導致程序執行不流暢和產生內存中可用空間等問題,提供了一種多系統下對實時操作系統所占用內存的保護方法,將實時操作系統和普通操作系統各自使用的虛擬地址空間進行隔離,在不增加系統復雜性的前提下提供對實時操作系統占用內存的保護。
一種多系統下對實時操作系統所占用內存的保護方法,包括如下步驟:
第一步:在具有內存管理單元的中央處理器上初始化進行地址映射操作所必需的數據;
第二步:實時操作系統根據其占用的內存大小將其代碼段和數據段確定在虛擬地址空間中的一個連續的虛擬地址區間上;
第三步:普通操作系統將所述的虛擬地址區間按內存管理單元提供的機制映射到同一個未使用的物理頁框上。
作為本發明技術方案的進一步改進:
所述實時操作系統的內存分配方式為靜態分配,在編譯階段就可以把實時操作系統使用的代碼段和數據段確定在虛擬地址空間中的一個連續的虛擬地址區間上。
所述初始化的工作為根據中央處理器的硬件尋址方式,建立一套訪問已經存在的物理地址的機制。比較通用的技術是采用分頁機制。采用多級頁表的分頁,可以優化查詢效率,節約存儲頁表所需的內存空間,如果系統的尋址需要n級,系統就需要建立n級頁表進行尋址,第n-1級頁表提供第n級頁表的基地址,相應的虛擬地址也要分為n段,其中n為正整數,各個段對應各級表的偏移,最后一項對應頁框內的物理地址偏移。中央處理器把第一級表的基址,存放在一個特定的地址或寄存器里。
所述內存管理單元提供的機制是地址映射機制,將虛擬地址映射到物理地址。
所述普通操作系統將所述虛擬地址區間按內存管理單元提供的機制映射到同一個未使用的物理頁框上的過程中,若所述虛擬地址區間包含多個虛擬頁,所述的映射是普通操作系統循環地把實時操作系統占用的每一個虛擬頁都映射到同一個選定的物理頁框上。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310063262.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:地質信息的處理方法及裝置
- 下一篇:數據緩存的方法和裝置





