进入保护模式(三)内存的分页
2019獨角獸企業重金招聘Python工程師標準>>>
一、分頁
??????先入為主理解的分頁和系統中內存內應的分頁
??????1.弄過數據庫數據查找展示,有個數據分頁展示的概念,這個的目的是為了速度、和展示效果上的提升
????? 2.內存的分頁又是怎么回事哪?
???????? (1)加載程序那么內存分配是必不可少的;
???????? (2)配的幾種方法:單一連續、固定分配、動態分配(最先適應、下次適應、最優適應、最壞適應、快速適應)
???????? (3)然動態分配是最理想的狀態,但是動態分配有個問題:
???????????????????????????????????????????????????????????????????????????? 程序的加載內存的碎片化比較嚴重
????????????????????????????????????????????????????????????????????????????? 碎片化后占用內存大的程序分配內存是比較困難的
??????????處理器分頁的目的是為了解決分頁中的碎片化,但是太復雜了就由處理器來做這件事情了
二、認識簡單分頁的模型??
??????? 1.實模式的尋址:段選擇器:偏移量
??????? 2.保護模式尋址:段選擇子:偏移量? 得到真實的基地址+偏移量
??????????????????????????段選擇子=》GDTR/LDTR得到描述符的基地址+選擇子*2^3偏移=》真正的描述符=》真實基地址
??????? 3.段式分頁的尋址模式:
????????????????????????????????????首先分頁模式是建立在保護模式下的
??????????????????????????????????? 保護模式的尋址方式還是用的但是現在他映射的是一個虛擬的內存4G空間
??????????????????????????????????? 每個頁的大小是固定的4KB,占4個字節(頁的物理地址,應該是起始地址)
??????????????????????????????????? 那么這個頁表在內存4G的空間中,占位的描述空間有4M
???????????????????????????問題1:從上面的描述中頁對應的才是真實的物理地址,如何映射?
????????????????????????????????也就是段如何映射到頁?用了多個頁又是如何映射連接起來的;
????????????????????????????????段部件輸出的是線性地址(虛擬地址),因為頁的大小是4KB;
???????????????????????????????地址低12位是偏移量,高20位其實是一個描述符表占位(4字節);用于記錄當前用的頁的位置
???????????????????????????問題2:從上面可以看出段和頁的映射關系?
????????????????????????????????可以隨意映射;頁的映射也可以是間隔開來,也就是碎片的可以連接起來了
?????????????????????????? 問題3:空閑頁是如何標示的?
?
三、頁目錄、頁表、頁
??????? 就好像書本一樣,章節-》目錄-》書名(書的分類)
??????? 頁還是以前的頁;2^20
??????? 頁表首先不和頁是固定對應的關系;但是每個頁表有1024個頁;2^10
??????? 頁目錄有1024個頁表的物理地址;
?????? 問題1:這些信息保存在哪里?怎么加載的?
???????????????? 每個任務都有自己的頁目錄和頁表;
???????????????? 處理器內部,有一個控制寄存器CR3,存放著當前的任務頁目錄的物理地址(頁目錄基址寄存器)
???????????????? 每個任務都有自己的任務狀態(TSS)當任務切換時CR3也隨著更新,指向新任務的頁目錄位置
四、例子
????????書上的例子:段的起始地址:0x00800000??? 界限:0x5000 z字節單位
????????????????????????現在尋址偏移量:0x1050
?????????沒開啟分頁前的地址:基地址+偏移量=真實的物理地址
?????????開啟分頁后:處理器頁部件專門負責線性地址到物理地址的轉換(段部件送的地址+后的虛擬地址)
???????????????????????? 首先將段部件送來的地址分為三部分:高10位 中間10位?低12位
???????????????????????????????????????????????????????????????????? 頁目錄? 頁表???????偏移量
????????????????????????? 頁目錄的物理地址CR3中
???????????????????????? (1)頁目錄索引*4+CR3的地址-》頁目錄中頁表的物理地址
???????????????????????? (2)頁表的物理地址+頁表索引*4-》頁的物理地址-》真是的物理地址+偏移量
??????
?
??????????????????????????
???????????????????????????????????
?????????????????????????
轉載于:https://my.oschina.net/findurl/blog/184414
總結
以上是生活随笔為你收集整理的进入保护模式(三)内存的分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到前男友和别人结婚了什么意思
- 下一篇: Log4net核心组成