段、頁結合:程式員希望用段,物理記憶體希望用頁,所以、、、

從虛擬記憶體中割出一個區域來給這個段,段就有了映射,但是這個虛擬記憶體不能正真的使用,需要把虛擬記憶體再映射一次,這個時候虛擬記憶體中的段分割成固定大小的頁,每一頁再去映射到物理記憶體中
1. 段、頁同時存在
段面向用戶,頁面向硬體

2. 段頁同時存在用的重定位
也就是地址翻譯
從用戶的角度來看就是段的訪問,從物理記憶體的角度就是分成一頁一頁

3. 一個實際的段頁結合

1. 段頁式記憶體下程式如何載入記憶體?
- 虛擬記憶體割出一段區域給給用戶,存放資料段、代碼段
- 把用戶的資料段分割成頁,再給到物理記憶體上

2. 從fork()開始
- 分配虛擬記憶體
- 建立段表

行程0、行程1、行程2的虛擬地址

3. 接下來
- 分配記憶體
- 建立頁表



4. 子行程和父行程都指向同一頁

5. 程式+虛擬記憶體+物理記憶體

6. *p=7?
父行程*p=7 ,
子行程*p=8

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/117700.html
標籤:Linux
上一篇:VirtualBox 安裝 Centos8 使用 Xshell 連接
下一篇:Docker入門心得(一)
