




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
嵌入式操作系統之
內存管理組長:小組成員:萬富、嵌入式操作系統之
內存管理組長:1主要內容概述內存管理的主要功能內存保護虛擬內存主要內容概述2概述
內存管理系統式嵌入式操作系統內核中重要的功能之一。由于處理器直接運行和處理的程序和數據只能放在內存中,因此內存的管理質量是否優良將直接影響系統。概述 3內存管理的主要功能虛擬內存空間
操作系統采用虛擬內存功能使系統顯得它有比實際大得多得內存空間,虛擬內存可以比系統中的物理內存大好多。保護
系統中每個進程都有自己的虛擬地址空間,這些虛擬內存空間相互之間完全分離,因此運行一個應用的進程不會影響其他的進程。同樣,硬件的虛擬內存機制允許內存區域被寫保護,這樣就保護了代碼和數據不被惡意應用重寫。內存管理的主要功能虛擬內存空間4內存映射內存映射用來把映像和數據文件映像到一個進程的地址空間。在內存映射中,文件的內容被直接鏈接到進程的虛擬地址空間。公平物理內存分配
內存管理系統給予系統中運行的每個進程公平的一份系統物理內存。共享虛擬內存
盡管虛擬內存允許進程擁有分隔的虛擬地址空間,但有時還需要進程共享內存,如進程間通信需要共享內存。內存映射5內存保護
內存保護可通過硬件提供的MMU(memorymanagementunit)來實現。目前,大多數處理器都集成了MMU:大幅度降低那些通過在處理器外部添加MMU模塊的處理方式所存在的內存訪問延遲。MMU現在大都被設計作為處理器內部指令執行流水線的一部分,使得使用MMU不會降低系統性能,相反,如果系統軟件不使用MMU,還會導致處理器的性能降低。在某些情況下,不使能MMU,跳過處理器的相應流水線,可能導致處理器的性能降低80%左右。內存保護內存保護可通過硬件提供的MMU(memoryma6早期的嵌入式操作系統大都沒有采用MMU:一方面是出于對硬件成本的考慮;另一方面是出于實時性的考慮。嵌入式系統發展到現在,硬件成本越來越低,MMU所帶來的成本因素基本上可以不用考慮原來的嵌入式CPU的速度較慢,采用MMU通常會造成對時間性能的不滿足,而現在CPU的速度也越來越快,并且采用新技術后,已經將MMU所帶來的時間代價降低到比較低的程度嵌入式CPU具有MMU的功能已經是一種必要的趨勢。早期的嵌入式操作系統大都沒有采用MMU:7由于采用MMU后對應用的運行模式甚至開發模式都會有一些影響,大量嵌入式操作系統都沒有使用MMU。對于安全性、可靠性要求高的應用來講如果不采用MMU,則幾乎不可能達到應用的要求。如果沒有MMU的功能,將無法防止程序的無意破壞,無法截獲各種非法的訪問異常,當然更不可能防止應用程序的蓄意破壞了。采用MMU后,便于發現更多的潛在問題,并且也便于問題的定位。未采用MMU時,內存模式一般都是平面模式,應用可以任意訪問任何內存區域、任何硬件設備,程序中出現非法訪問時,開發人員是無從知曉的,也非常難于定位。由于采用MMU后對應用的運行模式甚至開發模式都會有一些影響,8內存保護MMU通常具有如下功能:內存映射;檢查邏輯地址是否在限定的地址范圍內,防止頁面地址越界;檢查對內存頁面的訪問是否違背特權信息,防止越權操作內存頁面;在必要的時候(頁面地址越界或是頁面操作越權)產生異常。內存保護MMU通常具有如下功能:9應用程序邏輯地址MMU物理內存物理地址內存映射把應用程序使用的地址集合(邏輯地址)翻譯為實際的物理內存地址(物理地址)邏輯地址物理地址內存映射把應用程序使用的地址集合(邏輯地址)10內存保護大多數處理器的典型頁面大小為4K字節,有些處理器也可能使用大于4K字節的頁面,但頁面大小總是2的冪,以對發生在MMU中的地址映射行為流水線化。當頁放置到物理內存時,頁面將放置到頁框架(pageframe)中。頁框架是物理內存的一部分,具有與頁面同樣的大小,且開始地址為頁面大小的整數倍。內存保護大多數處理器的典型頁面大小為4K字節,有些處理器也可11MMU包含著能夠把邏輯地址映射為物理地址的表,稱為頁表。操作系統能夠在需要的時候對這種映射關系進行改變:應用程序對內存的需求發生變化或是添加或刪除應用程序的時候。在應用程序中的任務發生上下文切換時。MMU包含著能夠把邏輯地址映射為物理地址的表,稱為頁表。12頁號邏輯地址偏移量頁框架物理地址偏移量頁表基址寄存器特權和其他信息頁框架頁表基于頁表的內存映射過程。頁號邏輯地址偏移量頁框架物理地址偏移量頁表基址寄存器特權和其13每個內存頁還具有一些特權和狀態信息。MMU提供二進制位來標識每個頁面的特權或狀態信息。這些二進制位用來確定頁面中的內容是否:可被處理器指令所使用(執行特權)可寫(寫特權)可讀(讀特權)已被回寫(臟位)當前在物理內存中(有效位)每個內存頁還具有一些特權和狀態信息。14在操作系統的支持下,MMU還提供虛擬存儲功能,即在任務所需要的內存空間超過能夠從系統中獲得的物理內存空間的情況下,也能夠得到正常運行。當需要的頁面被添加到邏輯地址空間時,任務對內存頁面的合法訪問,將自動訪問到物理內存。頁面當前不在物理內存中時,將導致頁面故障異常,然后操作系統負責從后援存儲器(如硬盤或是FLASH存儲設備)中獲取需要的頁面,并從產生頁面故障的機器指令處重新執行。在操作系統的支持下,MMU還提供虛擬存儲功能,即在任務所需要15MMU通常具有如下不同功能程度的使用方式:沒有使用MMU,應用程序和系統程序能夠對整個內存空間進行訪問。采用該模式的系統比較簡單、性能也比較高,適合于程序簡單、代碼量小和實時性要求比較高的領域。大多數傳統的嵌入式操作系統都采用該模式;0級,內存的平面使用模式MMU通常具有如下不同功能程度的使用方式:0級,內存的平面16通常只是打開MMU,并通過創建一個域(domain,為內存保護的基本單位,每個域對應一個頁表)的方式來使用內存,并對每次內存訪問執行一些必要的地址轉換操作。該模式仍然只是擁有MMU打開特性的平面內存模式;1級,處理具有MMU和內存緩存的嵌入式處理器1級,處理具有MMU和內存緩存的嵌入式處理器17MMU被打開,且創建了靜態的域(應用程序的邏輯地址同應用程序在物理內存中的物理地址之間的映射關系在系統運行前就已經確定),以保護應用和操作系統在指針試圖訪問其他程序的地址空間時不會被非法操作。通常使用消息傳送機制實現數據在被MMU保護起來的各個域之間的移動。
2級,內存保護模式2級,內存保護模式18通過操作系統使用CPU提供的內存映射機制,內存頁被動態地分配、釋放或是重新分配。從內存映射到基于磁盤的虛擬內存頁的過程是透明的。3級,虛擬內存使用模式3級,虛擬內存使用模式190級模式為大多數傳統嵌入式實時操作系統的使用模式,同1級模式一樣,都是內存的平面使用模式,不能實現內存的保護功能。2級模式是目前大多數嵌入式實時操作系統所采用的內存管理模式,既能實現內存保護功能,又能通過靜態域的使用方式保證系統的實時特性。3級模式適合于應用比較復雜、程序量比較大,并不要求實時性的應用領域。0級模式為大多數傳統嵌入式實時操作系統的使用模式,同1級模式20應用程序1應用程序2代碼2數據24G0代碼1數據14G0邏輯地址應用程序1的頁表應用程序2的頁表代碼1數據1數據2代碼2操作系統物理內存0基于靜態域的MMU使用方式也稱為是一一對應的使用方式。在這種一一對應的使用方式中,應用程序的邏輯地址同應用程序在物理內存中的物理地址相同,簡化了內存管理的實現方式。應用程序1應用程序2代碼2數據24G0代碼1數據14G0邏輯21在嵌入式實時操作系統中,MMU通常被用來進行內存保護:實現操作系統與應用程序的隔離應用程序和應用程序之間的隔離防止應用程序破壞操作系統的代碼、數據以及應用程序對硬件的直接訪問。對于應用程序來講,也可以防止別的應用程序對自己的非法入侵,從而破壞應用程序自身的運行。在嵌入式實時操作系統中,MMU通常被用來進行內存保護:22在內存保護方面,MMU提供了以下措施:防止地址越界通過限長寄存器檢查邏輯地址,確保應用程序只能訪問邏輯地址空間所對應的、限定的物理地址空間,MMU將在邏輯地址超越限長寄存器所限定的范圍時產生異常;防止操作越權根據內存頁面的特權信息控制應用程序對內存頁面的訪問,如果對內存頁面的訪問違背了內存頁面的特權信息,MMU將產生異常。在內存保護方面,MMU提供了以下措施:23應用1應用2應用3操作系統簡單的MMU保護模式應用程序之間要通信就只能通過操作系統提供的通信服務,如:信號量、管道、消息、共享內存等,而不能直接訪問彼此的地址空間。MMU通常還提供權限等級,不同的權限等級對硬件訪問的權限不一樣。操作系統一般運行在核心態,具有所有的特權,而應用則一般運行在用戶態,具有一般權限,以防止應用程序的故意破壞。應用1應用2應用3操作系統簡單的MMU保護模式24嵌入式實時操作系統內核共享庫任務
任務
信號量任務信號量堆堆堆共享數據域基于域的內存管理方式
嵌入式實時操作系統內核共享庫任務25虛擬內存 為用戶提供一種不受物理存儲器結構和容量限制的存儲管理技術,是桌面/服務器操作系統為在所有任務中使用有限物理內存的通常方法,每個任務從內存中獲得一定數量的頁面,并且,當前不訪問的頁面將被置換出去,為需要頁面的其他任務騰出空間。虛擬內存 為用戶提供一種不受物理存儲器結構和容量限制的存26虛擬內存的概念圖虛擬內存的概念圖27謝謝!謝謝!28嵌入式操作系統之
內存管理組長:小組成員:萬富、嵌入式操作系統之
內存管理組長:29主要內容概述內存管理的主要功能內存保護虛擬內存主要內容概述30概述
內存管理系統式嵌入式操作系統內核中重要的功能之一。由于處理器直接運行和處理的程序和數據只能放在內存中,因此內存的管理質量是否優良將直接影響系統。概述 31內存管理的主要功能虛擬內存空間
操作系統采用虛擬內存功能使系統顯得它有比實際大得多得內存空間,虛擬內存可以比系統中的物理內存大好多。保護
系統中每個進程都有自己的虛擬地址空間,這些虛擬內存空間相互之間完全分離,因此運行一個應用的進程不會影響其他的進程。同樣,硬件的虛擬內存機制允許內存區域被寫保護,這樣就保護了代碼和數據不被惡意應用重寫。內存管理的主要功能虛擬內存空間32內存映射內存映射用來把映像和數據文件映像到一個進程的地址空間。在內存映射中,文件的內容被直接鏈接到進程的虛擬地址空間。公平物理內存分配
內存管理系統給予系統中運行的每個進程公平的一份系統物理內存。共享虛擬內存
盡管虛擬內存允許進程擁有分隔的虛擬地址空間,但有時還需要進程共享內存,如進程間通信需要共享內存。內存映射33內存保護
內存保護可通過硬件提供的MMU(memorymanagementunit)來實現。目前,大多數處理器都集成了MMU:大幅度降低那些通過在處理器外部添加MMU模塊的處理方式所存在的內存訪問延遲。MMU現在大都被設計作為處理器內部指令執行流水線的一部分,使得使用MMU不會降低系統性能,相反,如果系統軟件不使用MMU,還會導致處理器的性能降低。在某些情況下,不使能MMU,跳過處理器的相應流水線,可能導致處理器的性能降低80%左右。內存保護內存保護可通過硬件提供的MMU(memoryma34早期的嵌入式操作系統大都沒有采用MMU:一方面是出于對硬件成本的考慮;另一方面是出于實時性的考慮。嵌入式系統發展到現在,硬件成本越來越低,MMU所帶來的成本因素基本上可以不用考慮原來的嵌入式CPU的速度較慢,采用MMU通常會造成對時間性能的不滿足,而現在CPU的速度也越來越快,并且采用新技術后,已經將MMU所帶來的時間代價降低到比較低的程度嵌入式CPU具有MMU的功能已經是一種必要的趨勢。早期的嵌入式操作系統大都沒有采用MMU:35由于采用MMU后對應用的運行模式甚至開發模式都會有一些影響,大量嵌入式操作系統都沒有使用MMU。對于安全性、可靠性要求高的應用來講如果不采用MMU,則幾乎不可能達到應用的要求。如果沒有MMU的功能,將無法防止程序的無意破壞,無法截獲各種非法的訪問異常,當然更不可能防止應用程序的蓄意破壞了。采用MMU后,便于發現更多的潛在問題,并且也便于問題的定位。未采用MMU時,內存模式一般都是平面模式,應用可以任意訪問任何內存區域、任何硬件設備,程序中出現非法訪問時,開發人員是無從知曉的,也非常難于定位。由于采用MMU后對應用的運行模式甚至開發模式都會有一些影響,36內存保護MMU通常具有如下功能:內存映射;檢查邏輯地址是否在限定的地址范圍內,防止頁面地址越界;檢查對內存頁面的訪問是否違背特權信息,防止越權操作內存頁面;在必要的時候(頁面地址越界或是頁面操作越權)產生異常。內存保護MMU通常具有如下功能:37應用程序邏輯地址MMU物理內存物理地址內存映射把應用程序使用的地址集合(邏輯地址)翻譯為實際的物理內存地址(物理地址)邏輯地址物理地址內存映射把應用程序使用的地址集合(邏輯地址)38內存保護大多數處理器的典型頁面大小為4K字節,有些處理器也可能使用大于4K字節的頁面,但頁面大小總是2的冪,以對發生在MMU中的地址映射行為流水線化。當頁放置到物理內存時,頁面將放置到頁框架(pageframe)中。頁框架是物理內存的一部分,具有與頁面同樣的大小,且開始地址為頁面大小的整數倍。內存保護大多數處理器的典型頁面大小為4K字節,有些處理器也可39MMU包含著能夠把邏輯地址映射為物理地址的表,稱為頁表。操作系統能夠在需要的時候對這種映射關系進行改變:應用程序對內存的需求發生變化或是添加或刪除應用程序的時候。在應用程序中的任務發生上下文切換時。MMU包含著能夠把邏輯地址映射為物理地址的表,稱為頁表。40頁號邏輯地址偏移量頁框架物理地址偏移量頁表基址寄存器特權和其他信息頁框架頁表基于頁表的內存映射過程。頁號邏輯地址偏移量頁框架物理地址偏移量頁表基址寄存器特權和其41每個內存頁還具有一些特權和狀態信息。MMU提供二進制位來標識每個頁面的特權或狀態信息。這些二進制位用來確定頁面中的內容是否:可被處理器指令所使用(執行特權)可寫(寫特權)可讀(讀特權)已被回寫(臟位)當前在物理內存中(有效位)每個內存頁還具有一些特權和狀態信息。42在操作系統的支持下,MMU還提供虛擬存儲功能,即在任務所需要的內存空間超過能夠從系統中獲得的物理內存空間的情況下,也能夠得到正常運行。當需要的頁面被添加到邏輯地址空間時,任務對內存頁面的合法訪問,將自動訪問到物理內存。頁面當前不在物理內存中時,將導致頁面故障異常,然后操作系統負責從后援存儲器(如硬盤或是FLASH存儲設備)中獲取需要的頁面,并從產生頁面故障的機器指令處重新執行。在操作系統的支持下,MMU還提供虛擬存儲功能,即在任務所需要43MMU通常具有如下不同功能程度的使用方式:沒有使用MMU,應用程序和系統程序能夠對整個內存空間進行訪問。采用該模式的系統比較簡單、性能也比較高,適合于程序簡單、代碼量小和實時性要求比較高的領域。大多數傳統的嵌入式操作系統都采用該模式;0級,內存的平面使用模式MMU通常具有如下不同功能程度的使用方式:0級,內存的平面44通常只是打開MMU,并通過創建一個域(domain,為內存保護的基本單位,每個域對應一個頁表)的方式來使用內存,并對每次內存訪問執行一些必要的地址轉換操作。該模式仍然只是擁有MMU打開特性的平面內存模式;1級,處理具有MMU和內存緩存的嵌入式處理器1級,處理具有MMU和內存緩存的嵌入式處理器45MMU被打開,且創建了靜態的域(應用程序的邏輯地址同應用程序在物理內存中的物理地址之間的映射關系在系統運行前就已經確定),以保護應用和操作系統在指針試圖訪問其他程序的地址空間時不會被非法操作。通常使用消息傳送機制實現數據在被MMU保護起來的各個域之間的移動。
2級,內存保護模式2級,內存保護模式46通過操作系統使用CPU提供的內存映射機制,內存頁被動態地分配、釋放或是重新分配。從內存映射到基于磁盤的虛擬內存頁的過程是透明的。3級,虛擬內存使用模式3級,虛擬內存使用模式470級模式為大多數傳統嵌入式實時操作系統的使用模式,同1級模式一樣,都是內存的平面使用模式,不能實現內存的保護功能。2級模式是目前大多數嵌入式實時操作系統所采用的內存管理模式,既能實現內存保護功能,又能通過靜態域的使用方式保證系統的實時特性。3級模式適合于應用比較復雜、程序量比較大,并不要求實時性的應用領域。0級模式為大多數傳統嵌入式實時操作系統的使用模式,同1級模式48應用程序1應用程序2代碼2數據24G0代碼1數據14G0邏輯地址應用程序1的頁表應用程序2的頁表代碼1數據1數據2代碼2操作系統物理內存0基于靜態域的MMU使用方式也稱為是一一對應的使用方式。在這種一一對應的使用方式中,應用程序的邏輯地址同應用程序在物理內存中的物理地址相同,簡化了內存管理的實現方式。應用程序1應用程序2代碼2數據24G0代碼1數據14G0邏輯49在嵌入式實時操作系統中,MMU通常被用來
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Brand KPIs for ready-made-food Du darfst in Germany-外文版培訓課件(2025.2)
- 關于建設和諧文化的幾個問題
- 綠地物業服務合同x
- 2025年員工聘用合同協議書(范本)示例
- 2025辦公室租賃合同樣本
- 《隔音排水瀝青路面》課件
- 《面試技巧與策略》課件
- 《智能客服系統發展概況》課件
- 2025設備租賃合同簡易樣本
- 《掌握高效學習之道:課件指引之路》
- 外傷引起失血性休克護理查房課件
- 危險性較大的分部分項工程一覽表(建辦質〔2018〕31號)
- 景區保安投標方案技術標
- 腰椎間盤突出癥中醫臨床路徑方案(完整版)
- 關羽單刀赴會
- JCT2110-2012 室內空氣離子濃度測試方法
- 網絡巡檢報告模板
- 血液透析患者心力衰竭的診斷與治療
- 九宮格數獨附答案
- 公文調研方案
- 小學英語四年級下冊Unit 4 Part A Let's learn教學設計1
評論
0/150
提交評論