計算機作業系統之儲存管理

2022-01-29 08:21:19 字數 2874 閱讀 1525

儲存管理:就是對記憶體的管理。

記憶體管理提高儲存器的利用率以及從邏輯上擴充儲存器。

儲存管理功能:

記憶體的**與分配,位址變換(程式中的邏輯位址與記憶體中的實體地址之間的轉換),記憶體擴充(借助虛擬技術或覆蓋技術從邏輯上擴充記憶體容量),記憶體保護(保證進入記憶體的各道作業都在自己的儲存空間執行,互不干擾)

虛擬記憶體

以往的儲存管理技術必須將作業全部裝入記憶體才能執行且作業常駐記憶體直到執行結束,難以滿足較大作業或較多作業進入記憶體執行。所以為了能讓作業的一部分裝入就可以執行的儲存管理技術叫做虛擬記憶體管理技術。

區域性性原理:大多數程式執行時,在乙個較短的時間內僅能使用程式**的一部分,相應的,程式所訪問的儲存空間也侷限於某個區域,這就是程式執行的區域性性原理。

表現為時間區域性性和空間區域性性。

基於區域性性原理,在程式裝入時可以將程式的一部分放入記憶體,而將其餘部分放在外存,然後啟動程式(部分裝入)。

在程式執行期間,當所訪問的資訊不在記憶體中,再由作業系統將所需的部分調入記憶體(請求調入)。

另外,系統將記憶體中暫時不用的內容置換到外存上,騰出空間存放將要調入記憶體的資訊(置換功能)。

這種從邏輯上擴充記憶體容量的儲存器系統稱為虛擬儲存器。

分割槽儲存管理:將記憶體分成若干個大小不等的區域,由多道環境下的各併發程序共享。

(給每乙個記憶體中的程序劃分一塊適當大小的儲存區,連續儲存程序的程式和資料)

特點:管理簡單,存在嚴重的碎片問題使記憶體利用率不高。程序在分割槽連續存放,程序大小受到分割槽大小的限制。

兩種分法:

固定分割槽法:把記憶體固定的劃分為若干個大小不等的區域。(系統對記憶體的管理和控制通過分割槽說明表進行,分割槽說明表說明各分割槽號,分割槽大小,起始位址和是否空閒(分割槽狀態)。記憶體的分配釋放,保護,位址變換都是通過分割槽說明表進行)

動態分割槽法:在作業執行前不建立分割槽,分割槽的建立是建立在作業的處理過程中進行的,大小隨著作業或程序對記憶體的要求而改變的。相比提供記憶體利用率。

動態分割槽除了分割槽說明表還把記憶體中的可以分割槽單獨構成可用分割槽表或可以分割槽自由鏈,描述記憶體資源。

動態分割槽組成,,分割槽說明表-,,可用分割槽表,每個表目記錄乙個空閒區:區號,分割槽長度,起始位址.,管理簡單,缺點表大小難以確定,-占用一部分記憶體-可用分割槽自由鏈(利用每個空閒區頭幾個單元存放本空閒區大小和下乙個空閒區的起始位址,系統設定乙個-自由鏈指標指向第乙個空閒區。)查詢比較困難,但不占用額外記憶體區。....

頁式管理:各程序的虛擬空間被劃分為若干個長度相等的頁,頁長1k—4k。

程序虛擬位址變為由頁號p與頁內位址w組成。

同時也把記憶體分成與頁面大小相等的區域,稱為塊或物理塊(頁面)。使用者程序在記憶體空間除了在每個頁面內位址連續之外,每個頁面之間不再連續。

排程作業時必須將作業的所有頁面一次調入記憶體,如果記憶體沒有足夠多的物理塊,那麼作業等待,這種方式稱為簡單分頁。

特點:減少了碎片(任一碎片都小於乙個頁面)以及只在記憶體存放反覆執行或即將執行的程式段與資料部分,把不經常執行的程式段和資料存放於外存,執行時再調入,且由連續儲存提高為非連續儲存。

頁式虛擬位址與記憶體頁面實體地址**頁式虛擬位址與記憶體實體地址建立一一對應的頁表(硬體位址變換機構來執行轉換)。將邏輯位址上連續的頁號對映到物理記憶體中稱為離散的多個物理塊(頁面),將頁面和物理塊一一對應,體現在頁表。(頁表由頁號和塊號組成)

對內外存的統一管理採用請求調頁技術(基於區域性性原理)。(什麼管理?只在記憶體存放反覆執行或即將執行的程式段與資料部分,把不經常執行的程式段和資料存放於外存,執行時再調入)

動態頁式管理:1,請求頁式管理2,預調入頁式管理

相同點:在作業開始執行之前,都不把作業或程序的程式段和資料段一次性的全部裝入記憶體,而只裝被認為是經常執行的部分,其他部分執行過程中動態裝入。

不同點:

請求頁式管理:當需要的資料或指令不在記憶體即發生缺頁中斷,系統將外存中相應頁面調入記憶體。

預調入頁式管理:系統對外存中的頁進行調入計算,估計出這些頁中指令和資料的執行和被訪問順序,按此順序調入和調出記憶體。

重點請求頁式管理

系統如何發現不在記憶體中的虛頁?

擴充頁表法。

如何處理虛頁這種情況設計兩個問題,1,何種方式把所缺頁調入記憶體2,記憶體沒有空閒區,調進來的頁放在什麼地方()。

頁面置換演算法置換的單位是頁面,連續儲存中交換區交換的是整個程序

缺頁的調入和存放,記憶體沒有空閒頁時都是乙個記憶體頁面置換演算法問題。

置換演算法:在記憶體中沒有空閒頁面時被呼叫,目的是選出乙個被淘汰的頁面。

輪轉法:迴圈換出記憶體可用區內乙個可用被換出的頁,無論該頁是剛被換進或已換進記憶體很長時間。

fifo的bleady現象:未給程序或作業分配足它所要求的頁面數時,有時會出現分配的頁面數增多,缺頁次數增加的現象。

引用串記憶體

是否缺頁tt

tttt

t缺頁7次,命中率2/9=

最近最少使用lru演算法:選擇最近最長時間沒有被使用過的頁面予以淘汰。

引用串記憶體

是否缺頁tt

tttt

缺頁6次,命中率3/9=

最近沒有使用nur頁面淘汰演算法:從那些最近乙個時期內未被訪問的頁中任選一頁淘汰。在頁表中增設乙個訪問位,當某頁被訪問時,訪問位置1,否則置0。系統週期性對所有訪問位清0.淘汰時從哪些訪問位為0的頁面選擇乙個進行淘汰。

引用串記憶體

3←6←

4←4←

7←7←

3←是否缺頁tt

tttt

t缺頁7次,命中率2/9=

最不經常使用lfu頁面淘汰演算法:淘汰到當前時間為止被訪問次數最少的那一頁。在頁表中增設乙個訪問計數器。每當某頁被訪問,訪問計數器加1,發生中斷時,淘汰計數值最小的那一頁,並將所有頁計數器清零。

抖動現象:記憶體頁面置換演算法選擇不當,導致剛被調出記憶體的頁面又馬上調入記憶體,調入記憶體不久的頁面馬上被調出,如此反覆的現象。

抖動原因:請求分頁系統中每個程序只能分配到所需全部記憶體空間的一部分。

計算機作業系統 儲存器管理

1.1 單一連續分配 1.2 固定分割槽分配 1.2.1 分割槽大小相等 1.2.2 分割槽大小不相等 1.3 動態分割槽分配 1.3.1 資料結構 1.3.2 動態分配分割槽演算法 1.3.2.1 基於順序搜尋的動態分割槽分配演算法 1.3.2.1.1 首次適應演算法 first fit 1.3....

計算機作業系統之儲存器管理1

程式的裝入和鏈結 對於通用的計算機而言,儲存層次至少應具有三層 最高層為cpu暫存器,中間為主存,最底層是輔存。在較高檔計算機中,可以根據具體的功能細分為暫存器 cpu 快取記憶體 屬於主存的一部分 主存 磁碟快取 同樣是主存的一部分 磁碟 可移動儲存介質。在儲存層次中,越靠近cpu,儲存介質的訪問...

計算機作業系統之程序管理

程序和執行緒的聯絡和區別 定義 程序 具有一定獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的乙個獨立單位。執行緒 程序的乙個實體,是cpu排程和分派的基本單位,他是比程序更小的能獨立執行的基本單位,執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源 如程式計...