儲存管理2

2022-05-15 05:14:02 字數 3325 閱讀 7550

分頁儲存器將主存劃分成多個大小相等的頁架,受頁架尺寸限制,程式的邏輯位址也自然分成頁,不同的頁可以放在不同頁架中,不需要連續,頁表用於維繫程序的主存完整性

位址轉換可以通過查頁表完成

可用一張位示圖來記錄主存分配情況,建立程序頁表維護主存邏輯完整性

頁式儲存管理能夠實現多個程序共享程式和資料,資料共享:不同程序可以使用不同頁號共享資料頁,程式共享:不同程序必須使用相同頁號共享**頁,共享**頁中的(jmp《頁內位址》)指令,使用不同頁號是做不到

為提高位址轉換速度,設定乙個專用的高速儲存器,用來存放頁表的一部分,快表:存放在高速儲存器中的頁表部分,快表表項:頁號,頁架號,這種高速儲存器是聯想儲存器,即按照內容定址,而非按照位址訪問

採用快表後,可以加快位址轉換速度,假定主存訪問時間為200毫微秒,快表訪問時間為40毫微秒,查快表的命中率是90%,平均位址轉換代價為(200+40)*90%+(200+200)*10%=256毫微秒比兩次訪問主存的時間(400毫微秒)下降了36%

按邏輯位址中的頁號查快表,若該頁已在快表中,則由頁架號和單元號形成絕對位址,若該頁不在快表中,則再查主存頁表形成絕對位址,同時將該頁登記到快表中,當快表填滿後,又要登記新頁時,則需在快表中按一定策略淘汰乙個舊登記項

程序表中登記了每個程序的頁表,程序表中登記了每個程序的頁表,程序占有處理器執行時,其頁表起始位址和長度送入頁表控制暫存器

把程序全部頁面裝入虛擬儲存器,執行時先把部分頁面裝入實際記憶體,然後,根據執行行為,動態調入不在主存的頁,同時進行必要的頁面調出,現代os的主流儲存管理技術,首次只把程序第一頁資訊裝入主存,稱為請求頁式儲存管理

os處理缺頁中斷:若有空閒頁架,則根據輔存位址調入頁,更新頁表與快表等,若無空閒頁架,則決定淘汰頁,調出已修改頁,調入頁,更新頁表與快表

當主存空間已滿而又需要裝入新頁時,頁式虛擬儲存管理必須按照一定的演算法把已在主存的一些頁調出去,選擇淘汰頁的工作稱為頁面排程,選擇淘汰頁的演算法稱為頁面排程演算法,頁面排程演算法設計不當,會出現(剛被淘汰的頁面立即又要調入,並如此反覆),這種現象稱為抖動或顛簸

假定程序p共n頁,系統分配頁架數m個,p執行中成功訪問次數為s,不成功訪問次數為f,總訪問次數a=s+f,缺頁中斷率定義為:f=f/a,缺頁中斷率是衡量儲存管理效能和使用者程式設計水平的重要依據

分配給程序的頁架數:可用頁架數越多,則缺頁中斷率就越低,頁面的大小:頁面尺寸越大,則缺頁中斷率就越低,,使用者的程式編制方法:在大資料量情況下,對缺頁中斷率也有很大影響

使用者程式設計的例子

理想的排程演算法是:當要調入新頁面時,首先淘汰以後不再訪問的頁,然後選擇距現在最長時間後再訪問的頁,該演算法由belady提出,稱belady演算法,又稱最佳演算法(opt),opt只可模擬,不可實現

總是淘汰最先調入主存的那一頁,或者說主存駐留時間最長的那一頁(常駐的除外),模擬的是程式執行的順序性,有一定合理性

淘汰最近一段時間較久未被訪問的那一頁,即那些剛被使用過的頁面,可能馬上還要被使用到,模擬了程式執行的區域性屬性,既考慮了迴圈性又兼顧了順序性,嚴格實現的代價大(需要維持特殊佇列)

淘汰最近一段時間內訪問次數較少的頁面,對opt的模擬性比lru更好,基於時間間隔中斷,並給每一頁設定乙個計數器,時間間隔中斷發生後,所有計數器清0,每訪問頁1次就給計數器加1,選擇計數值最小的頁面淘汰

採用迴圈佇列機制構造頁面佇列,形成了乙個類似於鍾表面的環形表,佇列指標則相當於鐘錶面上的表針,指向可能要淘汰的頁面使用頁引用標誌位

頁面調入主存時,其引用標誌位置1,訪問主存頁面時,其引用標誌位置1,淘汰頁面時,從指標當前指向的頁面開始掃瞄迴圈佇列,把所遇到的引用標誌位是1的頁面的引用標誌位清0,並跳過,把所遇到的引用標誌位是0的頁面淘汰,指標推進一步

頁表及相關硬體機制在位址轉換、儲存保護、虛擬位址訪問中發揮了關鍵作用,為頁式儲存管理設定專門硬體機構,記憶體管理單元mmu:cpu管理虛擬/物理儲存器的控制線路,把虛擬位址對映為實體地址,並提供儲存保護,必要時確定淘汰頁面,反置頁表ipt:mmu用的資料結構

標誌位:有效、引用、修改、保護和鎖定等標誌資訊

鏈指標:雜湊鏈

mmu通過雜湊表把程序標識和虛頁號轉換成乙個雜湊值,指向ipt的乙個表目,mmu遍歷雜湊鏈找到所需程序的虛頁號,該項的索引就是頁架號,通過拼接位移便可生成實體地址,若遍歷整個反置頁表中未能找到匹配頁表項,說明該頁不在記憶體,產生缺頁中斷,請求作業系統調入

每個程式可由若干段組成,每一段都可以從「0」開始編址,段內的位址是連續的,分段儲存器的邏輯位址由兩部分組成,段號:單元號

段式儲存管理基於可變分割槽儲存管理實現,乙個程序要占用多個分割槽,硬體需要增加一組使用者可見的段位址暫存器(**段、資料段、堆疊段,附加段),供位址轉換使用,儲存管理需要增加設定乙個段表,每個段占用乙個段表項,包括:段始址、段限長,以及儲存保護、可移動、可擴充等標誌位

通過不同程序段表中的項指向同乙個段基址來實現,對共享段的資訊必須進行保護,如規定只能讀出不能寫入,不滿足保護條件則產生保護中斷

把程序的所有分段都存放在輔存中,程序執行時先把當前需要的一段或幾段裝入主存,在執行過程中訪問到不在主存的段時再把它們動態裝入,段式虛擬儲存管理中段的調進調出是由os自動實現的,對使用者透明,與段覆蓋技術不同,它是使用者控制的主存擴充技術,os不感知

段式儲存管理可以基於頁式儲存管理實現,每一段不必佔據連續的儲存空間,可存放在不連續的主存頁架中,能夠擴充為段頁式虛擬儲存管理,裝入部分段,或者裝入段中部分頁面

儲存管理2

ext4檔案系統 名詞解釋 ext4是 擴充套件檔案系統 英語 fourth extended filesystem 型別 索引 index 檔案系統 系統限制 ext3 檔案系統最大為16tb ext4 檔案系統最大為16tb xfs 檔案系統最大為100tb 名詞 inode 記錄檔案的屬性 檔...

儲存器管理 2

u 1 程式的裝入和鏈結 u 2 連續分配儲存管理方式 u 3 分頁儲存管理方式 u 4 分段儲存管理方式 u 5 虛擬儲存器 請求分頁 分段 頁面置換演算法 2 連續分配方式 1 單一連續分配 記憶體分為系統區和使用者區兩部分 n 系統區 僅提供給os使用,通常放在記憶體低址部分 n 使用者區 除...

儲存器管理2

4.1.3 基本分頁儲存管理方式 1.分頁儲存管理的基本方法 系統將邏輯位址空間分成若干大小相等的片,叫頁面,記憶體空間分成若干與頁面同樣大小的塊,記憶體的分配以塊為單位,允許將乙個程序的若干頁分別裝入不相鄰的塊中。頁面大小通常設成2的冪頁面大小為 2 k位元組,邏輯位址長度為 n位,右邊的 k位為...