儲存管理2-頁式與段式儲存管理
頁式儲存管理
計算機儲存的層次結構:暫存器,快取記憶體cache,主儲存器DRAM,DDRAM,外部儲存器
分割槽是程序的連續儲存;以下是分散儲存
原理:實體記憶體劃分許多固定大小的塊,稱物理頁面,頁框,邏輯地址空間劃分大小相同的塊,稱邏輯頁面,頁面;二者大小相同,兩種塊之間實現對映,物理頁面可以不連續;
管理:邏輯空間統一編址,分頁,標記頁號(0開始);記憶體空間統一編址,分頁,標記頁號(0開始);分頁大小一般為2的k次方
邏輯地址表示:頁號+頁內地址
對應關係:
頁號=邏輯地址/頁面大小
頁內地址=邏輯地址%頁面大小
實際採用二進位制擷取,頁面大小2的k次方
邏輯地址二進位制表示低k位為頁內地址
剩餘高位為頁號
地址轉換:
頁表記錄對映關係:位於系統空間頁表區存放邏輯頁號與物理頁號的對應關係,PCB中有指向頁表的指標,物理頁號與邏輯頁的頁內地址組成實體地址
硬體動態地址轉換機構將邏輯地址對映為實體地址
讀頁表額外的訪問記憶體,影響效率,
快表:聯想儲存器,類似快取記憶體,儲存最近一段時間常用的頁表項
頁式儲存可以實現程式碼共享;幾個邏輯塊指向同一實體記憶體塊;
優點:沒有外部碎片,程序最後一個頁面可能有內部碎片;可以不連續存放,標語管理
缺點:程序全裝入記憶體才可以執行,每個程序都有頁表,需要維護,有開銷;
段式儲存管理:
頁式中邏輯地址連續,實際程式結構並不如此,由幾個片段組成
邏輯空間中:依邏輯單元分段,每個段內部,是一維線性連續地址空間
段大小不等,內容不同,如程式碼段,資料段,堆,棧等
實體記憶體中,採用可變分割槽儲存管理(相當於其擴充套件),依段的大小分配空間;所得實體記憶體分割槽可以不連續
邏輯地址表示:段號,段內偏移地址;
管理:段表(每個程序都有),邏輯段有段號,段表中記錄了段號,對應的實體記憶體段基地址和段長等資訊;保存於記憶體,作業系統管理;普通使用者程序不可訪問,故硬體上增加段表基址暫存器,段表長度暫存器(即段的個數),便於訪問;
對映時,與頁表不同,段號對應的段基地址+段內偏移即可
優點:沒有內部碎片,段間分別管理,便於改變
缺點:程序全裝入記憶體才可以執行,會存在外部碎片
也有快表
集合二者優點
段頁式管理
頁式管理優勢,段式邏輯優勢
原理:先程式分段,段中分頁;
邏輯地址
實體記憶體,按照頁式儲存管理方案;頁面為單位分配
管理:
段表:段號,每個段的頁表起始地址,頁表長度
頁表:頁號,記憶體塊號
每個段都有一個自己的頁表
從記憶體取資料或指令,需要訪問三次