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