內(nèi)存管理單元 (MMU) 的一個(gè)重要功能是讓不同的任務(wù)能夠獨(dú)立地在各自的虛擬內(nèi)存空間里運(yùn)行,MMU能夠?qū)崿F(xiàn)這個(gè)特性的本質(zhì)就是抽象隔離,對(duì)不同任務(wù)的虛擬地址空間進(jìn)行重新映射(map)到實(shí)際的物理空間。
這都是由硬件自動(dòng)實(shí)現(xiàn)的,并且大部分時(shí)候都是對(duì)軟件不可見(jiàn)的。
此外,MMU基于頁(yè)粒度控制每個(gè)內(nèi)存空間的訪問(wèn)權(quán)限、內(nèi)存屬性和緩存策略等等。
MMU使不同的任務(wù)不用關(guān)心其實(shí)際使用的物理空間,也就是說(shuō)程序員可以使用相同且連續(xù)的虛擬地址空間,而不會(huì)發(fā)生沖突,即使實(shí)際使用的物理空間非常零碎。
但是,MMU將虛擬地址空間轉(zhuǎn)化成物理地址空間也并不是完全地對(duì)軟件不可見(jiàn),或者說(shuō)對(duì)程序員不可見(jiàn),但是對(duì)操作系統(tǒng)可見(jiàn)。
配置初始化MMU以正確地管理不同并行任務(wù)的地址空間是操作系統(tǒng)的事情。
一般MMU會(huì)有一種disable的模式,即不使能MMU,所有虛擬地址都直接映射到相應(yīng)的物理地址,VA=PA。
如果處理器訪問(wèn)的虛擬地址并沒(méi)有被操作系統(tǒng)分配,這個(gè)時(shí)候MMU會(huì)上報(bào)中斷異常,以告知操作系統(tǒng)分配相應(yīng)的地址空間映射關(guān)系,從而讓任務(wù)正常地完成?。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19825瀏覽量
233779 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7103瀏覽量
125055 -
中斷
+關(guān)注
關(guān)注
5文章
904瀏覽量
42552 -
MMU
+關(guān)注
關(guān)注
0文章
92瀏覽量
18655
發(fā)布評(píng)論請(qǐng)先 登錄
為什么沒(méi)有MMU就無(wú)法運(yùn)行Linux系統(tǒng)呢?

ARM的內(nèi)存管理(MMU)是如何實(shí)現(xiàn)的?
內(nèi)存管理概述及原理
ARM CoreLink MMU-401系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊(cè)
Arm CoreLink MMU?700系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊(cè)
ARM CORELINK?MMU-600AE系統(tǒng)內(nèi)存管理單元技術(shù)參考手冊(cè)
ARM系統(tǒng)內(nèi)存管理單元架構(gòu)規(guī)范SMMU架構(gòu)2.0版
ARM 內(nèi)存管理單元MMU詳細(xì)圖解資料
S3C2410內(nèi)存管理單元MMU基礎(chǔ)實(shí)驗(yàn)
ARM存儲(chǔ)管理單元MMU詳解
ARM920T的MMU與Cache介紹

為什么沒(méi)有MMU就無(wú)法運(yùn)行Linux系統(tǒng)

什么是MMU?linux為什么需要MMU?

評(píng)論