內存管理單元 (MMU) 的一個重要功能是讓不同的任務能夠獨立地在各自的虛擬內存空間里運行,MMU能夠實現這個特性的本質就是抽象隔離,對不同任務的虛擬地址空間進行重新映射(map)到實際的物理空間。
這都是由硬件自動實現的,并且大部分時候都是對軟件不可見的。
此外,MMU基于頁粒度控制每個內存空間的訪問權限、內存屬性和緩存策略等等。
MMU使不同的任務不用關心其實際使用的物理空間,也就是說程序員可以使用相同且連續的虛擬地址空間,而不會發生沖突,即使實際使用的物理空間非常零碎。
但是,MMU將虛擬地址空間轉化成物理地址空間也并不是完全地對軟件不可見,或者說對程序員不可見,但是對操作系統可見。
配置初始化MMU以正確地管理不同并行任務的地址空間是操作系統的事情。
一般MMU會有一種disable的模式,即不使能MMU,所有虛擬地址都直接映射到相應的物理地址,VA=PA。
如果處理器訪問的虛擬地址并沒有被操作系統分配,這個時候MMU會上報中斷異常,以告知操作系統分配相應的地址空間映射關系,從而讓任務正常地完成?。
審核編輯:劉清
-
處理器
+關注
關注
68文章
19286瀏覽量
229853 -
操作系統
+關注
關注
37文章
6825瀏覽量
123333 -
中斷
+關注
關注
5文章
898瀏覽量
41502 -
MMU
+關注
關注
0文章
91瀏覽量
18291
發布評論請先 登錄
相關推薦
評論