mmu的理解(二)

2021-07-25 06:19:52 字數 346 閱讀 8376

實際cpu在執行某程式時,不會在載入記憶體的程式段中全段隨機亂飛亂跳,而是會在某段時間內集中在程式的某段**中執行。

這樣就有mmu換入換出的意義了,mmu將「執行集中段」載入記憶體,而在需要別的段時再載入,而不會出現我以前認為的程式段將頻繁的換入換出反而造成執行緩慢。

此外,可執行程式在載入記憶體後,.text&.rdata這些位置所在資料,是不可改動的,這些資料的保護就有mmu保證,理論上說只要不去亂改似乎不需要mmu去保護這些位址,但是保護好了才能被各種型別的人良好的使用,而不會動不動就崩系統了,最多就段錯誤。這mmu的保護功能其實是一種多餘、但是不可少的保護策略,是站在系統可用性角度上來的。

mmu的理解(一)

對於想理解mmu的軟硬體所有機制的人來說,理解mmu很蛋疼,就和理解網絡卡工作一樣疼!一點點來吧。首先,頁 是實際物理記憶體管理的基本單位,頁 的大小和體系結構相關,大多數32位機器支援4kb大小的頁,1g記憶體就被分成262144個頁,64位的一般支援8kb大小的頁。ucos不支援mmu,linu...

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

32位共有2 32 4x230個數,乙個數對應記憶體中乙個位元組,故記憶體中共有4x230b 4g的位址空間 虛擬記憶體各區的儲存內容,如上的記憶體結構圖所示,text 儲存 段 data 儲存資料,定義的變數在此處 heap 堆,由低位址向高位址,malloc的空間在此處 stack 棧,由高位址...

mini2440裸機之MMU(二 mmu

mini2440裸機之mmu 二 mmu.c 智在天涯 include def.h include option.h include 2440addr.h include 2440lib.h include 2440slib.h include mmu.h 段 section 是大小為1mb的儲存塊...