1. 程式人生 > >儲存管理2-頁式與段式儲存管理

儲存管理2-頁式與段式儲存管理

頁式儲存管理

計算機儲存的層次結構:暫存器,快取記憶體cache,主儲存器DRAM,DDRAM,外部儲存器

分割槽是程序的連續儲存;以下是分散儲存

原理:實體記憶體劃分許多固定大小的塊,稱物理頁面,頁框,邏輯地址空間劃分大小相同的塊,稱邏輯頁面,頁面;二者大小相同,兩種塊之間實現對映,物理頁面可以不連續;

管理:邏輯空間統一編址,分頁,標記頁號(0開始);記憶體空間統一編址,分頁,標記頁號(0開始);分頁大小一般為2的k次方

邏輯地址表示:頁號+頁內地址

對應關係:

頁號=邏輯地址/頁面大小

頁內地址=邏輯地址%頁面大小

實際採用二進位制擷取,頁面大小2的k次方

邏輯地址二進位制表示低k位為頁內地址

剩餘高位為頁號

地址轉換:

頁表記錄對映關係:位於系統空間頁表區存放邏輯頁號與物理頁號的對應關係,PCB中有指向頁表的指標,物理頁號與邏輯頁的頁內地址組成實體地址

硬體動態地址轉換機構將邏輯地址對映為實體地址

讀頁表額外的訪問記憶體,影響效率,

快表:聯想儲存器,類似快取記憶體,儲存最近一段時間常用的頁表項

頁式儲存可以實現程式碼共享;幾個邏輯塊指向同一實體記憶體塊;

優點:沒有外部碎片,程序最後一個頁面可能有內部碎片;可以不連續存放,標語管理

缺點:程序全裝入記憶體才可以執行,每個程序都有頁表,需要維護,有開銷;

段式儲存管理:

頁式中邏輯地址連續,實際程式結構並不如此,由幾個片段組成

邏輯空間中:依邏輯單元分段,每個段內部,是一維線性連續地址空間

段大小不等,內容不同,如程式碼段,資料段,堆,棧等

實體記憶體中,採用可變分割槽儲存管理(相當於其擴充套件),依段的大小分配空間;所得實體記憶體分割槽可以不連續

邏輯地址表示:段號,段內偏移地址;


管理:段表(每個程序都有),邏輯段有段號,段表中記錄了段號,對應的實體記憶體段基地址和段長等資訊;保存於記憶體,作業系統管理;普通使用者程序不可訪問,故硬體上增加段表基址暫存器,段表長度暫存器(即段的個數),便於訪問;
對映時,與頁表不同,段號對應的段基地址+段內偏移即可
優點:沒有內部碎片,段間分別管理,便於改變
缺點:程序全裝入記憶體才可以執行,會存在外部碎片
也有快表


集合二者優點
段頁式管理
頁式管理優勢,段式邏輯優勢
原理:先程式分段,段中分頁;
邏輯地址

分為段號,段內偏移,段內偏移分成邏輯頁面號,頁內偏移
實體記憶體,按照頁式儲存管理方案;頁面為單位分配
管理:

段表:段號,每個段的頁表起始地址,頁表長度
頁表:頁號,記憶體塊號


每個段都有一個自己的頁表
從記憶體取資料或指令,需要訪問三次