物理內存非連續性分配

 

非連續分配:提高內存利用效率和管理靈活性

允許一個程序的使用非連續的物理地址空間;允許共享代碼和數據;支持動態加載和動態鏈接。

 

段式存儲管理:

段地址空間有多個段組成:主代碼段、子模塊代碼段、公用庫代碼段、堆棧段stack、堆數據heap、初始化數據段、符號表等。更細粒度和靈活的分離和共享。


段:訪問方式和存儲數據等屬性想通透的一段地址空間;對應一個連續的內存“塊”;若干個段組成進程邏輯地址空間。

段訪問:邏輯地址有二元組(s,addr)表示,段號和段偏移;

 

頁式存儲管理:頁幀Frame,物理頁面;頁面Page:邏輯頁面。

頁幀Frame:內存物理地址表示,二元組(f,o),幀號和幀內偏移;物理地址爲f*2s+o.

頁面Page:邏輯地址表示,二元組(p,o),頁號和頁內偏移,虛擬地址=P*2S+o.

頁式存儲中的地址映射:頁到幀的映射,邏輯地址中的頁號是連續的,物理地址中的幀號是不連續的,不是所有的頁都有對應的幀。


頁式存儲管理機制訪問一個內存單元需要2次內存訪問,先讀頁表項,後訪問數據。

 

塊表TLB,translation look-aside buffer:緩存近期訪問的頁表項,TLB使用關聯存儲實現,具備快速訪問性能;

多級頁表:間接引用,簡歷頁表“樹”,減少每級頁表的長度

反置頁表:對於大地址系統,多級頁表變得繁瑣

 

發佈了27 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章