作者mayasky ( )
看板LinuxDev
標題Re: [問題] 虛擬記憶體mapping 實體記憶體
時間Thu Nov 14 03:05:15 2013
※ 引述《shihyu (shihyu)》之銘言:
: 有些虛擬記憶體轉實體記憶體疑惑
: 1. 虛擬記憶體位址例如是1000 MMU 也是使用實體記憶體中1000位址嗎?
有可能,實際上要對到哪裡都可以,只要在ADDRESS LINE範圍內
: 2. 假設用到一樣位址, 那在 multi task 系統這樣同時很多個process
: 以32bit Linux 系統來說每process 都有3G , 1G kernel 共用
: 這樣系統多個 process 運作虛擬記憶體位址會出現相同對映到實體記憶體是怎麼處理
: ,不會有什麼衝突?
這依照ARCH不同有不同方式
有TLB
HIT
有ASID
每個PROCESS的ASID不一樣,即使VA同也會區別出不同的SPACE
沒ASID
每次CONTEXT SWITCH要清掉TLB,也不會衝突
MISS
各自爬表沒衝突
無TLB
因為每次都要爬PAGE TABLE,所以VA一樣沒關係,表裡面會對到不同PA
隨便回答一下有省略點細節,但大致如此
: 謝謝
--
飛機
達成了人類自古以來的夢想
高科技與頂級工藝的結晶
http://www.wretch.cc/album/show.php?i=mayasky&b=6&f=1118981698&p=5
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.97.16
推 shihyu:請問一下你提到的觀念是什麼書籍或是資料能學習到? 11/14 19:44
→ mayasky:architecutre(算盤本)和恐龍本貫通就可以了.. 11/14 21:08
→ mayasky:ASID比較冷一點..我不確定教科書有沒有.. 11/14 21:09
→ mayasky:我知道時是看SEE THE MIPS RUN 11/14 21:10