系列文章目錄
1.存儲器的層次結構
2.程序的裝入和鏈接
3.連續分配存儲管理方式(內存夠用)
4.對換(Swapping)(內存不夠用)
5.分頁存儲管理方式
6.分段存儲管理方式
文章目錄
- 系列文章目錄
- 前言
- 一、存儲器的存儲結構
- 寄存器:
- 高速緩存:
- 主存儲器:
- 磁盤緩存:
- 總結
前言
? ? ?根據我們前面講的操作系統的內容,說白了這章我們處理的就是作業來了放哪里?存儲器歷來都是計算機系統的重要組成部分。近年來,隨著計算機技術的發展,系統軟件和應用軟件在種類、功能上都急劇地膨脹,雖然存儲器容量一直在不斷擴大,但仍然不能滿足現代軟件發展的需要。因此,存儲器仍然是一種寶貴而又稀缺的資源。如何對它加以有效的管理,不僅直接影響到存儲器的利用率,而且對系統性能也有重大影響。存儲器管理的主要對象是內存。由于對外存的管理與對內存的管理相類似,只是它們的用途不同,即外存主要用來存放文件,所以我們把對外存的管理放在文件管理一章介紹,下面我也稍微講點外存。
一、存儲器的存儲結構:
? ? ?在計算機執行時,幾乎每條指令都涉及對存儲器的訪問,因此要求對存儲器的訪問速度能跟上處理機的運行速度。或者說,存儲器的速度必須非常快,能與處理機的速度相匹配,否則會明顯影響到處理機的運行。此外還要求存儲器具有非常大的容量,而且存儲器的價格還應很便宜,對于這樣十分嚴格的三個條件,目前是無法同時滿足的。于是,現代計算機系統中都無一例外地采用了多層結構的存儲器系統。
? ? 1.多層結構的存儲器系統:
? ? ?對于通用計算機而言,存儲層次至少具有三級:最高為CPU寄存器,中間是主存,最底層是輔存。在存儲層次中,層次越高(越靠近CPU),存儲介質的訪問速度越快,價格也越高,相對所配置的存儲容量也越小。其中,寄存器,高速緩存,主存儲器和磁盤緩存均屬于操作系統存儲管理的管轄范疇,掉電后它們存儲的信息不再存在。而低層的固定磁盤和可移動存儲介質則屬于設備管理的管轄范疇,它們存儲的信息將被長期保存。
? ? ? ? ? ??
? ? ? ?
?寄存器(Registers)??
- ??定義與位置??:
寄存器是CPU內部的一小部分存儲單元,直接集成在處理器中,是計算機系統中??速度最快??的存儲介質。 - ??特點??:
- ??容量極小??:通常每個寄存器僅存儲幾個字節(如32位或64位)。
- ??速度極快??:訪問延遲為納秒級,與CPU時鐘同步。
- ??專用性??:用于存儲當前執行的指令、操作數或地址(如程序計數器、指令寄存器等)。
- ??管理方式??:
- 由??編譯器或操作系統??在程序執行時直接管理,通過指令集架構(ISA)暴露給程序員或操作系統。
- 在??上下文切換??時,操作系統需要保存和恢復寄存器的狀態。
? ? ??
高速緩存(Cache)??
- ??定義與位置??:
高速緩存(Cache)是介于寄存器和主存之間的存儲器,通常分為多級(L1、L2、L3),位于CPU芯片內部或附近。 - ??特點??:
- ??速度較快??:訪問速度接近寄存器(L1 Cache延遲約1-3個時鐘周期)。
- ??容量有限??:L1 Cache通常為KB級(如32KB-64KB),L3 Cache可達MB級。
- ??透明性??:對程序員透明,由硬件自動管理。
- ??作用??:
- 利用??局部性原理??(時間局部性、空間局部性)緩存最近使用的內存數據,減少CPU訪問主存的次數。
- 緩解CPU與主存之間的速度差異(??“內存墻”??問題)。
- ??管理方式??:
- 由硬件(如緩存控制器)自動完成數據的加載、替換(如LRU算法)和一致性維護(如MESI協議)。
- 操作系統可能需要處理??緩存一致性??問題(尤其在多核系統中)。
主存儲器(Main Memory,RAM)??
- ??定義與位置??:
主存儲器(內存)是計算機的??核心工作存儲區域??,由動態隨機存取存儲器(DRAM)構成,通過總線與CPU連接。 - ??特點??:
- ??速度中等??:訪問延遲約幾十到幾百納秒。
- ??易失性??:斷電后數據丟失。
- ??容量較大??:現代計算機內存通常為GB級(如8GB-128GB)。
- ??作用??:
- 存儲??當前正在運行的程序和數據??,供CPU直接讀寫。
- 作為高速緩存和磁盤之間的中轉站。
- ??管理方式??:
- 操作系統負責??內存分配、回收、虛擬內存管理??等。
- 通過分頁、分段等技術實現進程隔離和內存保護。
磁盤緩存(Disk Cache)??
- ??定義與位置??:
磁盤緩存是主存儲器(內存)中預留的一部分區域,用于緩存頻繁訪問的磁盤數據。 - ??特點??:
- ??非易失性無關??:數據仍存儲在易失性內存中,但緩存的是非易失性磁盤的數據。
??容量靈活??:大小由操作系統動態調整(如Linux的Page Cache)。
- ??非易失性無關??:數據仍存儲在易失性內存中,但緩存的是非易失性磁盤的數據。
- ??作用??:
- 減少直接訪問磁盤的次數,提升I/O性能(磁盤訪問延遲為毫秒級)。
- 合并多次小寫操作,優化磁盤寫入效率。
- ??管理方式??:
- 由操作系統文件系統管理(如Linux的
pdflush
機制)。 - 使用??回寫(Write-back)??或??直寫(Write-through)??策略保證數據一致性。
- 由操作系統文件系統管理(如Linux的
? ? ?總結:反正我們要知道的就是磁盤中保存的數據一定是永久的,但主存儲器當中的是臨時的,就是斷電以后數據就會消失了。
高速緩存容量遠大于寄存器,而比內存約小兩到三個數量級左右,從幾十KB到幾MB,訪問速度快于主存儲器。
還有對于磁盤緩存來說,一個文件的數據可能先后出現在不同層次的存儲器中,例如,一個文件的數據通常被存儲在輔存中(如硬盤),當其需要運行或被訪問時,就必須調入主存,也可以暫時存放在主存的磁盤高速緩存中。
總結
? ? 以上就是我們要講的內容,就是我們簡單的分析了存儲器的存儲層次結構,下面我們會講內存的分配方式,我會持續更新的。