MMU(記憶體管理單元)理解

2021-10-07 20:56:46 字數 584 閱讀 4441

(32位共有2^32 = 4x230個數,乙個數對應記憶體中乙個位元組,故記憶體中共有4x230b=4g的位址空間)

虛擬記憶體各區的儲存內容,如上的記憶體結構圖所示,

.text :儲存**段

.data :儲存資料,定義的變數在此處

heap:堆,由低位址向高位址,malloc的空間在此處

stack:棧,由高位址向低位址,函式及函式裡定義的變數在此處

以上各部分占用0-3g,,稱為使用者空間

3g-4g稱為核心區(核心空間)

其中,pcb(程序控制塊)位於此位址空間中;

0-4g的虛擬記憶體空間,是在程式執行,程序產生的時候,才會有的。

但虛擬記憶體並不是真實存在,程式、資料其實都是存在物理記憶體的。物理記憶體並一定有4g大小。

所以,就需要將虛擬記憶體與物理記憶體進行對應,媒介就是mmu

寫程式的時候,使用的是虛擬位址。

MMU記憶體管理單元

mmu記憶體管理單元主要負責虛擬位址到實體地址的對映。在沒有使用虛擬儲存器的機器上,虛擬位址被直接送到記憶體匯流排上,使具有相同位址的物理儲存器被讀寫。而在使用了虛擬儲存器的情況下,虛擬位址不是被直接送到記憶體位址匯流排上,而是送到記憶體管理單元 mmu,再由mmu對映到物理記憶體中。如上圖所示,使...

MMU記憶體管理單元介紹

本篇文章簡要闡述mmu的概念,以及以段位址的轉換過程為例,簡單說明mmu將虛擬位址轉換成實體地址的過程。更多詳細內容請檢視 arm mmu 中文手冊 pdf mmu的實現過程,實際上就是乙個查表對映的過程。建立頁表 translate table 是實現mmu功能不可缺少的一步。頁表是位於系統的記憶...

記憶體管理單元MMU實驗

mmu介紹 許可權管理 當我們使用windows時,有時候會彈出位址訪問錯誤,但這不影響整個作業系統的執行。假設a b程式的時序圖如下 因為a b程式的位址空間各不相同。許可權管理就使得a程式無法訪問b程式的位址。如果a程式寫的非常糟糕,a程式並不能破壞核心。假如有兩個hello.c檔案,如圖 這兩...