※ 引述《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
隨便回答一下有省略點細節,但大致如此
: 謝謝