段、頁結合:程式設計師希望用段,物理記憶體希望用頁,所以、、、
從虛擬記憶體中割出乙個區域來給這個段,段就有了對映,但是這個虛擬記憶體不能正真的使用,需要把虛擬記憶體再對映一次,這個時候虛擬記憶體中的段分割成固定大小的頁,每一頁再去對映到物理記憶體中
段面向使用者,頁面向硬體
也就是位址翻譯
從使用者的角度來看就是段的訪問,從物理記憶體的角度就是分成一頁一頁
1. 段頁式記憶體下程式如何載入記憶體?
虛擬記憶體割出一段區域給給使用者,存放資料段、**段
把使用者的資料段分割成頁,再給到物理記憶體上
2. 從fork()開始
分配虛擬記憶體
建立段表
程序0、程序1、程序2的虛擬位址
3. 接下來
分配記憶體
建立頁表
4. 子程序和父程序都指向同一頁
5. 程式+虛擬記憶體+物理記憶體
6. *p=7?
父程序*p=7 ,
子程序*p=8
作業系統(十) 段頁結合的實際記憶體管理模型
乙個實際的段 頁式記憶體管理 mmu位址處理 參考資料 首先兩個條件,第一 物理記憶體必須得是分頁管理的 第二 對使用者來說是分段的。但是使用者程式最終又得在記憶體上面跑,因此肯定需要某種機制或者轉化使得以使用者程式的視角看起來記憶體是分段的,以物理記憶體的視角看起來又是分頁的,這種機制就是虛擬記憶...
作業系統(十) 段頁結合的實際記憶體管理模型
乙個實際的段 頁式記憶體管理 mmu位址處理 參考資料 首先兩個條件,第一 物理記憶體必須得是分頁管理的 第二 對使用者來說是分段的。但是使用者程式最終又得在記憶體上面跑,因此肯定需要某種機制或者轉化使得以使用者程式的視角看起來記憶體是分段的,以物理記憶體的視角看起來又是分頁的,這種機制就是虛擬記憶...
段頁結合的實際記憶體管理 虛擬記憶體 OS
如何讓作業系統既支援段又支援頁?虛擬記憶體 我們讓應用程式分為段,然後對映到一段虛擬記憶體中,再讓虛擬記憶體對映到物理記憶體中的頁中,這樣就完成了段和頁的結合 段 頁同時存在時的重定位 位址翻譯 乙個實際的段 頁式記憶體管理 記憶體管理核心 記憶體分配 使用記憶體分為五步 1.分配段 建段表 for...