新四季網

單級頁表自身內存的保護方法及裝置的製作方法

2023-05-25 18:39:56 1

專利名稱:單級頁表自身內存的保護方法及裝置的製作方法
技術領域:
本發明涉及計算機和通信領域,更具體地涉及一種單級頁表自 身內存的保護方法及裝置。
背景技術:
在嵌入式系統中,存在多種類型的存儲器件,為方便對多種存 儲器件的地址空間或對同 一存儲器件的不同地址空間進行管理,或者保護某段特殊內存不被修改,就需引入存儲器管理單元(Memory Management Unit,簡稱MMU )對存4渚器件進4亍管理,比如PowerPC 處理器就可啟用MMU來管理存4渚系統。MMU可以通過I殳式管理、頁式管理、或者,史頁式管理來實J見。 其中,頁式管理的形式又可分為單級頁表、二級頁表和多級頁表等, 例如PowerPC上的MMU就可使用單級頁表。因為MMU通過頁表來保護內存、實現虛擬地址到物理地址的 映射,所以若MMU的頁表自身被非法改寫,造成的後果比較嚴重。 例如,單板復位或者系統紊亂致使通訊設備打不通電話,且這樣的 問題難以定位。因此,有時需要將MMU的頁表自身內存保護起來 (將頁表所佔用的內存置為只讀),但在保護的過程中,頁表內存對 應的頁表又在自身內存之中,較難實現頁表內存的完全保護。發明內容鑑於以上所述的一個或多個問題,本發明提供了一種單級頁表 自身內存的保護方法及裝置。根據本發明實施例的單級頁表自身內存的保護方法(其中,單級頁表中的連續頁表項所佔的內存區域連續),包括以下步驟查詢 單級頁表所在的內存區域SO、單級頁表中的第一層頁表所在的內存區域Sl、單級頁表中的第二層頁表所在的內存區域S2.....單級頁表中的第n- 1層頁表所在的內存區域Sn- 1、以及單級頁表中的 第n層頁表所在的內存區域Sn,其中,單級頁表中的第n層頁表的 頁表項位於單級頁表中的第n層頁表中,將單級頁表稱為第O層頁 表,將第O層頁表所佔用內存對應的頁表稱為第1層頁表,將第1 層頁表所佔用內存對應的頁表稱為第2層頁表,……,將第n-1 層頁表所佔用內存對應的頁表稱為第n層頁表,n>l;以及依次將 內存區域SO中內存區域Sl以外的部分、內存區域Sl中內存區域 S2以夕卜的部分、…、內存區i或Sn-1中內存區i或Sn以夕卜的部分、 以及內存區i或SiW呆護起來。其中,先查詢單級頁表中的第k層頁表所在的內存區域Sk,然 後將單級頁表中的第k-l層頁表所在的內存區域Sk-1中內存區 域Sk以外的部分保護起來,再查詢單級頁表中的第k + 1層頁表所 在的內存區i或Sk十1, 0<kl;以及^f呆護單元,用於 將內存區域SO中內存區域Sl以外的部分、內存區域Sl中內存區 i或S2以外的部分、…、內存區i或Sn- 1中內存區i或Sn以外的部分、 以及內存區i或Sn依次^呆護起來。其中,查詢單元在保護單元將單級頁表中的第k - 1層頁表所在 的內存區域Sk- 1中單級頁表中的第k層頁表所在的內存區域Sk 以外的部分保護起來後,查詢單級頁表中的第k+ 1層頁表所在的內 存區i或Sk+l, 0<k<n。其中,^f呆護單元通過^l尋內存區i或Sk—1中 內存區域Sk以外的部分設置為只讀狀態來實現對其的保護。通過本發明,可以將MMU的單級頁表內存自身完全保護起來。


此處所說明的附圖用來提供對本發明的進一步理解,構成本申 請的一部分,本發明的示意性實施例及其i兌明用於解釋本發明,並 不構成對本發明的不當限定。在附圖中具體實施方式
本發明的目的在於,提供一種可以將MMU的單級頁表內存自 身完全保護起來的方法及裝置。其中,本發明適用的前提包括l.系統中使用單級頁表;2.對於 單級頁表所佔的虛擬地址區域,連續的虛擬地址對應的頁表項也是 連續的。區域之內,不妨設單級頁表所在的內存區域為SO,單級頁表的內存 對應的所有頁表項佔用的內存區域為Sl,根據前提2, Sl這段區域 肯定是連續的,且能推出Sl這段區域對應的頁表項肯定會處在Sl 區域中。在保護整個單級頁表自身內存的過程中,可能會操作處於 Sl區域的頁表項,故須先保留Sl區域的可寫屬性,將S0區域中除 Sl以外的內存區域先置為只讀,4妄下來再考慮S1區域的處理。驟:步驟A,查找單級頁表的內存區域SO的頁表所在的內存區域Sl。步驟B,將S0中除S1以外的內存區域保護起來(置為只讀)。步驟C,查找Sl區域的頁表所在的內存區域S2,根據前提2 可以推出,區域S2是連續的,且S2區域對應的頁表項必在S2區 域中。步驟D,將S1區域中除S2以外的內存區域保護起來(如此進行下去,直到最後只剩一頁為止,4艮據前4是2,最後一 頁的頁表項會在本頁中,將該頁保護後即實現了所有頁表內存的保 護。下面結合附圖對實現頁表內存自身完全保護的方法進行說明。如圖l所示,虛擬地址空間為從O到最大虛擬地址。4艮據本發步驟1,查詢整個單級頁表所在內存區域S0及其起始地址AO和結束地址BO(這些值應該在系統初始化或者使能MMU的時候已 經確定)。步驟2,查詢SO區域的頁表所對應的內存區域SI及其起始地 址Al和結束地址Bl。步艱《3,將A0 A1、 B1 B0之間的內存區域置為只讀,這兩部 分內存區域的只讀才喿作將會寫A1 B1的頁表。步驟4,查詢Sl區域的頁表所對應的內存區域S2及其起始地 址A2和結束;也址B2。步驟5,將A1 A2、 B2 B1之間的內存區域置為只讀,這兩部 分內存區域的只讀才喿作將會寫A2 B2的頁表。步驟2i,查詢S(i-l)區域的頁表對應的內存區域Si及其起始地 址Ai和結束;也址Bi,其中(i>3)。步驟2i+l,將A(i-l) Ai、 Bi B(i-l)之間的區域置為只讀,這兩 部分內存區域的只讀操作將會寫Ai Bi的頁表,其中(i>3)。若上述才乘作步驟中的Ai Bi之間的頁表不大於單個頁面(如圖 l中的Sn區域),則停止上述過程,進入最後一步。最後一步,將剩餘的單個頁面置為只讀,處理結束。用於實現上述方法的單級頁表自身內存保護裝置包括查詢單 元,用於查詢單級頁表所在的內存區域SO、單級頁表中的第一層頁 表所在的內存區域Sl、單級頁表中的第二層頁表所在的內存區域S2.....單級頁表中的第n-1層頁表所在的內存區域Sn-1、以及單級頁表中的第n層頁表所在的內存區域Sn,其中,單級頁表中的 第n層頁表的頁表項位於單級頁表中的第n層頁表中,所述單級頁 表稱為第O層頁表,第O層頁表所佔用內存對應的頁表稱為第1層 頁表,第1層頁表所佔用內存對應的頁表稱為第2層頁表,......第n-1層頁表所佔用內存對應的頁表稱為第n層頁表,n>l;以及保 護單元,用於將內存區域SO中內存區域S1以外的部分、內存區域Sl中內存區域S2以外的部分.....內存區域Sn- 1中內存區域Sn以外的部分、以及內存區域Sn依次保護起來。其中,查詢單元在保護單元將單級頁表中的第k - 1層頁表所在 的內存區域Sk- 1中單級頁表中的第k層頁表所在的內存區域Sk 以外的部分保護起來後,查詢單級頁表中的第k + 1層頁表所在的內 存區i或Sk+l, 0<k<n。其中,{呆護單元通過^1誇內存區;或81^-1中 內存區域Sk以外的部分設置為只讀狀態來實現對其的保護。以上所述僅為本發明的實施例而已,並不用於限制本發明,對 於本4頁:威的才支術人員來i兌,本發明可以有各種更改和變4匕。凡在本 發明的精神和原則之內,所作的任何修改、等同替換、改進等,均 應包含在本發明的4又利要求範圍之內。
權利要求
1. 一種單級頁表自身內存的保護方法,其中,所述單級頁表中的連續頁表項所佔的內存區域連續,其特徵在於,所述方法包括查詢所述單級頁表中的第0層頁表所在的內存區域S0、所述單級頁表中的第1層頁表所在的內存區域S1、所述單級頁表中的第2層頁表所在的內存區域S2、...、所述單級頁表中的第n-1層頁表所在的內存區域Sn-1、以及所述單級頁表中的第n層頁表所在的內存區域Sn,其中,所述單級頁表中的第n層頁表的頁表項位於所述單級頁表中的第n層頁表中,所述單級頁表稱為第0層頁表,第0層頁表所佔用內存對應的頁表稱為所述第1層頁表,所述第1層頁表所佔用內存對應的頁表稱為所述第2層頁表,......,所述第n-1層頁表所佔用內存對應的頁表稱為所述第n層頁表,n≥1;依次將所述內存區域S0中所述內存區域S1以外的部分、所述內存區域S1中所述內存區域S2以外的部分、...、所述內存區域Sn-1中所述內存區域Sn以外的部分、以及所述內存區域Sn保護起來。
2. 根據權利要求1所述的單級頁表自身內存的保護方法,其特徵 在於,先查詢所述單級頁表中的第k層頁表所在的內存區域 Sk,然後將所述單級頁表中的第k-l層頁表所在的內存區域 Sk-l中所述內存區域Sk以外的部分保護起來,再查詢所述 單級頁表中的第k + 1層頁表所在的內存區域81^+ 1,0〈k《n。
3. 根據權利要求2所述的單級頁表自身內存的保護方法,其特徵 在於,通過將所述內存區域Sk-1中所述內存區域Sk以外的 部分i殳置為只讀狀態來實現對其的保護。
4. 一種單級頁表自身內存的保護裝置,其中,所述單級頁表中的 連續頁表項所佔的內存區域連續,其特徵在於,所述裝置包括查詢單元,用於查詢所述單級頁表所在的內存區域SO、 所述單級頁表中的第一層頁表所在的內存區域Sl、所述單級頁表中的第二層頁表所在的內存區域S2.....所述單級頁表中的第n - 1層頁表所在的內存區域Sn- 1、以及所述單級頁 表中的第n層頁表所在的內存區域Sn,其中,所述單級頁表 中的第n層頁表的頁表項位於所述單級頁表中的第n層頁表 中,所述單級頁表稱為第O層頁表,所述第O層頁表所佔用內 存對應的頁表稱為所述第1層頁表,所述第1層頁表所佔用內 存對應的頁表稱為所述第2層頁表,……,所述第n-l層頁 表所佔用內存對應的頁表稱為所述第n層頁表,n>l;以及4呆護單元,用於將所述內存區i或SO中所述內存區i或Sl 以外的部分、所述內存區域Sl中所述內存區域S2以外的部 分、…、所述內存區i或Sn— 1中所述內存區i或Sn以外的部分、 以及所述內存區域Sn依次保護起來。
5. 根據權利要求4所述的單級頁表自身內存的保護裝置,其特徵 在於,所述查詢單元在所述保護單元將所述單級頁表中的第k -1層頁表所在的內存區域Sk- 1中所述單級頁表中的第k層 頁表所在的內存區域Sk以外的部分保護起來後,查詢所述單 級頁表中的第k+ 1層頁表所在的內存區i或Sk十1, 0<k《n。
6. 根據權利要求5所述的單級頁表自身內存的保護裝置,其特徵 在於,所述保護單元通過將所述內存區域Sk- 1中所述內存區 域Sk以外的部分i殳置為只讀狀態來實現對其的保護。
全文摘要
本發明公開了一種單級頁表自身內存的保護方法,包括以下步驟查詢單級頁表所在的內存區域S0、單級頁表中的第一層頁表所在的內存區域S1、單級頁表中的第二層頁表所在的內存區域S2、...、單級頁表中的第n-1層頁表所在的內存區域Sn-1、以及單級頁表中的第n層頁表所在的內存區域Sn,其中,單級頁表中的第n層頁表的頁表項位於單級頁表中的第n層頁表中,n≥1;以及分別將內存區域S0中內存區域S1以外的部分、內存區域S1中內存區域S2以外的部分、...、內存區域Sn-1中內存區域Sn以外的部分、以及內存區域Sn保護起來。其中,單級頁表中的連續頁表項所佔的內存區域連續。
文檔編號G06F12/08GK101266579SQ200810088270
公開日2008年9月17日 申請日期2008年4月29日 優先權日2008年4月29日
發明者傅仁武, 梁金祥 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀