MMU

1.MMU:將虛擬地址轉換成物理地址,才傳給存儲管理器進行尋址。
2.操作系統通過MMU使各個用戶進程都有自己獨立的地址空間:地址映射功能使每個進程擁有看起來一樣地址空間,內存訪問權限的檢查可以保護每個進程所用的內存不會被其他進程破壞。
3.虛擬地址要轉換成物理地址才能讀寫實際的數據,通過將虛擬地址空間,物理地址空間劃分爲一個同樣大小的一塊塊小空間,然後爲這兩類小空間建立映射空間,有可能多塊虛擬地址映射到同一塊物理地址空間,或者有些虛擬地址空間映射具體物理地址空間上去。啓動mmu後,CPU對外發出虛擬地址,然後MMU將虛擬地址轉成物理地址再進行訪問。
4.虛擬地址空間到物理空間的轉換過程
在ARM 中使用頁表的方式進行轉換。linux內核一般使用兩級頁表的方式。
頁表:像我們書上的目錄,有主目錄,次目錄,當我們要找一個知識點的時候先找到主目錄,然後再找到次目錄再找到相應的知識點。
每個進程都會在內存中創建一個目錄,目錄存放地址保存起來。當需要訪問目錄時候,就會講目錄放到CPU的一個專用寄存器裏面,然後MMU讀取這個寄存器裏面的值就會幫我們找到我們要訪問的物理地址。
頁表示怎樣建立的呢?
實際上它就是內存的一個地址存放了第一級目錄的內存地址,然後在第一個級的內存內又存放了實際的物理地址。
相當於二級指針。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
發佈了43 篇原創文章 · 獲贊 15 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章