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