嵌入式作業系統記憶體管理有哪幾種, 各有何特性

2021-07-22 01:31:11 字數 1263 閱讀 2871

頁式,段式,段頁,用到了mmu,虛擬空間等技術

1、虛擬記憶體管理機制: 有一些嵌入式處理器提供了

mmu,在

mmu具備記憶體位址對映和定址功能,它使作業系統的記憶體管理更加方便。如果存在

mmu,作業系統會使用它完成從

虛擬位址

到實體地址的轉換, 所有的應用程式只需要使用虛擬位址定址資料。 這種使用虛擬位址定址整個系統的主存和

輔存的方式在

現代作業系統

中被稱為

虛擬記憶體

。mmu

便是實現虛擬記憶體的必要條件。 虛擬記憶體的管理方法使系統既可以執行體積比

物理記憶體

還要大的應用程式,也可以實現「

按需調頁

」策略,既滿足了程式的執行速度,又節約了物理記憶體空間。 在

l inux

系統中,虛擬記憶體機制的實現實現為我們提供了乙個典型的例子:在不同的體系結構下, 使用了**或者兩級

頁式管理

,利用mmu

完成從虛擬位址到實體地址之間的轉換。基於虛擬記憶體管理的記憶體最大好處是:由於不同程序有自己單獨的程序空間,十分有效的提高了系統可靠性和安全性。

2、非虛擬記憶體管理機制: 在實時性要求比較高的情況下,很多嵌入式系統並不需要虛擬記憶體機制:因為虛擬記憶體機制會導致不確定性的

i/o阻塞時間, 使得程式執行時間不可預期,這是實時嵌入式系統的致命缺陷;另外,從嵌入式處理器的成本考慮,大多採用不裝配

mmu的嵌入式微處理器。所以大多嵌入式系統採用的是實儲存器管理策略。因而對於記憶體的訪問是直接的,它對位址的訪問不需要經過

mmu,而是直接送到位址線上輸出,所有程式中訪問的位址都是實際的實體地址;而且,大多數嵌入式作業系統對記憶體空間沒有保護,各個程序實際上共享乙個執行空間。乙個程序在執行前,系統必須為它分配足夠的連續位址空間,然後全部載入

主儲存器

的連續空間。 由此可見,嵌入式系統的開發人員不得不參與系統的記憶體管理。從編譯核心開始,開發人員必須告訴系統這塊開發板到底擁有多少記憶體;在開發應用程式時,必須考慮記憶體的分配情況並關注應用程式需要執行空間的大小。另外,由於採用實儲存器管理策略,使用者程式同核心以及其它使用者程式在乙個位址空間,程式開發時要保證不侵犯其它程式的位址空間,以使得程式不至於破壞系統的正常工作,或導致其它程式的執行異常;因而,嵌入式系統的開發人員對軟體中的一些記憶體操作要格外小心。    ucos

就是使用非虛擬記憶體管理的乙個例子,在

ucos

中,所有的任務共享所有的物理記憶體,任務之間沒有記憶體保護機制,這樣能夠提高系統的相應時間,但是任務記憶體操作不當,會引起系統崩潰。

嵌入式作業系統 記憶體管理

嵌入式系統中的記憶體管理,主要用於實現記憶體的動態申請 釋放 在嵌入式作業系統中,使用malloc free這兩個函式會產生記憶體碎片 並且這兩個函式的執行時間存在不確定性 爭取對以下嵌入式作業系統的記憶體管理機制有一定的認識 1 uc os上使用的記憶體管理機制 2 典型值的記憶體管理機制 3 基...

嵌入式系統 記憶體管理

教材 嵌入式系統及應用,羅蕾 李允 陳麗蓉等,電子工業出版社 嵌入式實時作業系統在記憶體管理方面需要考慮如下因素 快速而確定的記憶體管理 通常的作業系統都至少具有基本的記憶體管理方法 提供記憶體分配與釋放的系統呼叫 不使用虛擬儲存技術 在嵌入式實時作業系統中一般不使用虛擬儲存技術,以避免頁面置換所帶...

阿里雲伺服器ECS作業系統有哪幾種

目前阿里云云伺服器ecs公共映象可提供windows和linux兩大系列的作業系統,且所提供的所有系統均為正版作業系統,使用者可放心使用,具體版本如下 作業系統 子版本 windows server 2019 windows server 2019 資料中心版 64位中文版 windows serv...