3.4 存儲管理
現代計算機系統中的存儲系統通常是多級存儲體系,至少有主存(內存)和輔存(外存)兩級,有的系統有更多的級數。
主存是由系統實際提供的存儲單元組成的一個連續地址空間,處理器可以直接存取。它的存儲容量受到實際存儲單元的限制。
輔存是指軟盤、硬盤、光盤和磁帶等一些外部存儲部件,常用來存放暫不執行的程序和數據,處理器不能直接訪問,需啟動I/O設備,才能進行內存、外存交換。
系統中主存的使用一般分系統空間和用戶空間兩個部分。
把相對地址空間的程序轉換成絕對地址空間(物理地址)空間上能夠執行的過程稱為地址重定位,也稱為地址映射或地址映像。地址重定位有兩種:靜態重定位和動態重定位。
存儲管理應該提高存儲資源的利用效率,又方便用戶使用,存儲管理的任務應具有下列功能。
● 分配與回收
● 存儲擴充
● 共享與保護
◆實存管理:實存的管理一般有三種分配方式。
● 單一連續分配:一個作業占全部空間,靜態分配(不對主存保護,引起沖突)
● 固定分區分配:靜態,空間分區
● 可變分區分配:動態分配分區
● 交換:較小的空間運行較大的作業,采用的方法
其中,可變分區分配方法是目前的系統采用得較多的。它將主存空間按用戶要求動態地分劃成若干個分區。為了消除分配中的外部碎片,系統還需要合并自由區和進行存儲拼接或緊湊。
關于實存的存儲分配算法主要有4種。
● 最佳適應算法
● 首次適應算法
● 最差適應算法
● 循環首次適應算法
◆虛存管理
虛擬存儲(簡稱虛存)不考慮實際主存的大小和數據存取的實際地址,只考慮相互有關的數據之間的相對位置,其容量由計算機的地址位數決定。
虛擬存儲通常涉及存儲空間大于計算機系統主存中可利用存儲空間時的尋址能力問題。其特點是運行程序訪問的地址不是從主存中可以獲得的,即運行進程訪問的地址與主存可用的地址分離。
運行進程訪問的地址稱為虛地址,主存中可用的地址稱為實地址。一個運行進程可以訪問的虛地址范圍稱為進程的虛地址空間,相應的,可使用的實地址范圍稱為實地址空間。
虛存的組織方式有3種。
◆分段存儲組織
一個作業是由若干個具有邏輯意義的段組成。在分段系統中,允許程序(作業)占據主存中若干分離的分區,每個分區存儲一個程序分段。分段系統中的虛地址是一個有序對(段號、段內位移)。系統為每個作業建立一個段表,其內容包括段號與主存起始地址的對應關系、段長和狀態。
◆頁式存儲組織
與段式存儲組織相似。主存被劃分成若干個定長的頁,頁式系統中的虛地址是一個有序對(頁號、頁內位移)。系統為每個進程建立一個頁表,其內容包括進程的邏輯頁號與物理頁號的對應關系、狀態等。
◆段頁式存儲組織
綜合了上述兩種存儲組織的特點。主存被劃分成定長的頁,段頁式系統中虛地址形式是(段號、段內頁號、頁內位移)。系統為每個進程建立一個段表,再為每個段表建立一個頁表。
虛存管理的置換策略有幾種算法
● 最優(OPT)算法:選擇淘汰不再使用或最遠的將來才使用的頁。
● 隨機(RAND)算法:隨機的選擇淘汰的頁。
● 先進先出(FIFO)算法:選擇淘汰主存駐留時間最長的頁。
● 最近最少使用(LRU)算法:選擇淘汰離當前時刻最近的一段時間使用得最少的頁。
虛存管理策略的基礎是局部性原理--進程往往不均勻地高度局部化地訪問主存。這種局部性表現為時間局部性和空間局部性兩種。
根據局部性原理的特性,提出了工作集理論。工作集是指進程頻繁訪問頁面的集合。工作集理論要求,為了使進程能有效的運行,它的頁面工作集應駐留在主存中,以防止“顛簸”(又稱抖動,即指由于進程頻繁的從輔存請求頁面而造成的過度的頁面調度)現象。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |