記憶體管理機制的發展
純粹分段
機制
- 基址+極限
缺點
- 多次啟動並銷燬程式後,產生外部碎片
- 通過轉入外存,再轉入記憶體的方法來實現空間增長:時間效率低、空間有天花板
分頁
機制
- 以頁為最小的單位
優點
- 頁為最小單元解決了外部碎片
- 空間增長通過新增頁的方式進行:效率增加,天花板消失(將部分頁放在外存)
缺點
- 頁內不同邏輯的資料共享同一個虛擬地址空間,出現短板效應:如共享、增長與收縮
- 時間是拿空間換來的:因頁小,故頁表大。
- 多級頁表,快表
邏輯分段
機制
- 按邏輯將程式分段
優點
- 按邏輯將程式分段,解決了共用虛擬地址空間問題
- 段表小,易於上下文切換
缺點
- 分段管理出現“基址+極限”的問題:主存內出現外部碎片
- 段是一個整體,通常要一整個都載入進入主存
- 由於程式需要邏輯齊全,所以每次所以段都要載入進入主存
段頁式
機制
- 先分段,再分頁
優點
- 相比分頁,實現了邏輯分類
- 相比分段,解決了“基址+極限”的問題
總結
- 分頁是空間換時間
- 分段是解耦合,實現不同邏輯資料的分離