本章主要探討計算機操作系統中存儲器管理的核心原理和方法。存儲器作為計算機系統服務的關鍵組成部分,其管理效率直接影響系統性能和資源利用率。
一、存儲器層次結構
計算機存儲系統采用分層結構,包括寄存器、緩存、主存和外存。不同層次在速度、容量和成本上存在差異,操作系統需協同管理以優化整體性能。
二、地址空間與地址綁定
進程在內存中的地址分為邏輯地址和物理地址。地址綁定過程涉及編譯時、加載時和運行時三個階段,現代操作系統普遍采用運行時地址綁定,通過內存管理單元(MMU)實現動態重定位。
三、連續內存分配
- 固定分區:內存被劃分為固定大小的分區,簡單但易產生內部碎片。
- 動態分區:根據進程需求動態分配內存空間,但可能產生外部碎片,需通過緊湊技術解決。
四、分頁管理
將物理內存和邏輯地址空間劃分為固定大小的頁和頁框,通過頁表實現地址映射。分頁機制有效減少外部碎片,但頁表本身占用內存空間,可采用多級頁表或倒置頁表優化。
五、分段管理
按邏輯單元將進程地址空間劃分為多個段,每個段擁有獨立的地址空間。分段更符合程序設計邏輯,支持代碼共享和保護,但會產生外部碎片。
六、虛擬內存技術
通過請求分頁和頁面置換算法,實現進程地址空間大于物理內存的虛擬內存系統。常用頁面置換算法包括:
- 最優置換(OPT)
- 先進先出(FIFO)
- 最近最少使用(LRU)
- 時鐘算法
七、系統服務支持
操作系統通過存儲器管理為上層應用提供以下關鍵服務:
- 內存分配與回收
- 地址轉換與保護
- 虛擬內存管理
- 內存共享機制
- 性能監控與優化
存儲器管理是操作系統核心功能之一,其設計直接影響系統穩定性、安全性和效率。現代操作系統通常結合分頁和分段技術,配合虛擬內存機制,為應用程序提供透明、高效的內存訪問服務。