這是一個(gè)不到2000行的操作系統(tǒng),巧妙地利用ARM9 CPU的內(nèi)存管理單元(MMU)實(shí)現(xiàn)進(jìn)程的切換。ARM9的4G虛擬地址可分成128個(gè)進(jìn)程空間,每個(gè)32M。雖然它們的虛擬地址(VA)都是0-(32M-1),但是對應(yīng)的MVA(Modified vitual address,由虛擬地址VA和進(jìn)程號PID組合而來)不一樣,設(shè)置MVA對應(yīng)的頁表指向不同物理地址就可以很方便地讓各進(jìn)程運(yùn)行空間相互隔開。代碼很少,注釋豐富,希望能對想理解操作系統(tǒng)、了解ARM體系結(jié)構(gòu)的朋友有所幫助。
標(biāo)簽:
2000
操作系統(tǒng)
上傳時(shí)間:
2015-04-12
上傳用戶:cainaifa