Posted on 2007-04-15 11:15
Shuffy 閱讀(157)
評論(0) 編輯 收藏 引用
本文源自http://www.shnenglu.com/milkyway/services/trackbacks/21915.aspx
硬件上必須具有MMU(Memory Manage Unit)其功能有三:1。把虛擬地址變換成物理地址;2。控制存儲器空間的訪問權(quán)限;3。設(shè)置緩沖。 有了這個硬件單元的板卡才能夠跑windows CE。uc/os和uclinux沒有引入虛擬地址也就用不著MMU了。
軟件上引入了頁表虛擬存儲管理技術(shù)。虛實地址的變換過程實際上就是OS查詢頁表的過程。頁表中存放的是虛擬地址對應(yīng)的物理地址、訪問權(quán)限、緩沖特性等。例如wince下的OEMAddressTable中的虛實映射關(guān)系。此外,為了加速查詢,還引入了TLB用以存放常用的頁表。
實現(xiàn)地址映射的思路是:1。分析邏輯地址,包括頁號和頁內(nèi)偏移地址;2。查找頁表,即物理頁面;3。合成實際物理地址,物理地址=物理頁面*2的N次方+偏移地址。
嵌入式系統(tǒng)采用兩級頁表的方式進(jìn)行虛實地址變換,這與所用的處理器有關(guān)。比如ARM平臺下,有1MB,64KB,4KB,1KB四種頁面大小; X86下則是4KB和4MB。