1.連續分配方式:乙個程序連續的裝進記憶體乙個大小合適的區。->「碎片」->「緊湊」->增大開銷
2.如果允許乙個程序直接分散裝入多個不相鄰分割槽中,則無需「緊湊」->產生儲存管理的離散分配方式。
3.離散分配三種方式:
4.離散分配記憶體:
5.分頁方式下,記憶體的使用率高,浪費少。但不是絕對沒有碎片(程序的最後一頁不總是能佔滿乙個物理塊)。
6.分頁儲存管理的基本方法
7.離散分配的過程;
8.如何執行乙個作業?
9.位址對映(位址計算)的過程
若要執行某作業的一條指令,其相對位址是24b (設10b一頁,頁表如下表),其實體地址到底是多少呢?
分析其所在的頁和偏移得:2號頁(頁號從0開始) ,偏移4b處是該條指令
查頁表找頁面對應的塊(2號頁儲存在6號物理塊)
找物理塊6,向下偏移4b,找到要執行的指令。取出執行即可。
以上就是求商(頁號)及取餘(偏移量)的過程
10.一作業所有指令在使用者位址空間是順序編址。
11.例項
12.計算口訣
頁面大小決定偏移量(頁內位址)的位數 n;
作業大小->頁面數量
->頁表長度 a
->頁號的位數 m(或總位數-頁內位數)
記憶體容量決定塊數,塊數決定編址位數,即頁表項位數 b。
13.位址變換過程
分頁系統中,程序建立,放入記憶體,構建頁表,在pcb中記錄頁表存放在記憶體的首位址及頁表長度。
執行某程序a時,將a程序pcb中的頁表資訊寫入ptr中;
每執行一條指令時,根據分頁計算原理,得到指令頁號x和內部偏移量y;
查頁表資料,得到x實際對應存放的物理塊,完成位址對映計算,最終在記憶體找到該指令。
14.個人總結:
16.設訪問一次記憶體時間為t,則基本分頁機制下eat=2t。
原因:cpu操作一條指令需訪問記憶體兩次:
訪問記憶體中的頁表(以計算指令所在的實際實體地址)
訪問指令記憶體位址
17.快表:在位址變換機構中增設乙個具有並行查尋能力的特殊高速緩衝暫存器,又稱為「聯想暫存器」,或稱為「快表」,簡稱tlb,用以存放當前訪問的那些頁表項。
快表的暫存器單元數量是有限的,不能裝下乙個程序的所有頁表項。雖不能完全避免兩次訪問記憶體,但如果命中率a高還是能大幅度提高速度。
設一次查詢訪問快表時間為t』,則
19.兩級頁表
20.兩級頁表的位址變換機構
21.多級頁表:64位作業系統下,兩級仍然不足以解決頁表過大問題時,可按同樣道理繼續分頁下去形成多級頁表。
22.反置頁表1.分段儲存管理方式:作業分成若干段,段可離散存放,段內連續。
2.好處:
3.分段的基本原理:程式通過分段(segmentation)劃分為多個模組,每個段定義一組邏輯資訊。
編譯程式(基於源**)決定每個程式分幾段,每段多大。
4.段的特點
5.分段的邏輯位址由段號(段名)+段內位址組成。
6.分段系統位址變換結構
分段儲存同樣有兩次記憶體訪問問題
解決方法:設定聯想暫存器,用於儲存最近常用的段表項。
7.分頁和分段的主要區別
需求:分頁是出於系統管理的需要,是一種資訊的物理劃分單位,分段是出於使用者應用的需要,是一種邏輯單位,通常包含一組意義相對完整的資訊。
一條指令或乙個運算元可能會跨越兩個頁的分界處,而不會跨越兩個段的分界處。
大小:頁大小是系統固定的,而段大小則通常不固定。分段沒有內碎片,但連續存放段產生外碎片,可以通過記憶體緊縮來消除。相對而言分頁空間利用率高。
其他:通常段比頁大,因而段表比頁表短,可以縮短查詢時間,提高訪問速度。分段模式下,還可針對不同型別採取不同的保護;按段為單位來進行共享。
8.分段系統的突出優點:
易於實現共享
易於實現保護:
**的保護和其邏輯意義有關,分頁的機械式劃分不容易實現。
9.段頁式儲存管理方式的基本原理:
第四章儲存器管理
問題 基本分頁機制下,一次指令需兩次記憶體訪問,處理機速度降低1 2,分頁空間效率的提高以如此的速度為代價,得不償失。改進 減少第1步訪問記憶體的時間。增設乙個具有 並行查詢 能力的高速緩衝暫存器,稱為 快表 也稱 聯想暫存器 associative memory ibm系統稱為tlb transl...
第四章 儲存器管理
主存 儲存程序執行時的程式及資料 暫存器 速度最快,昂貴且容量不大,一般以字為單位 快取記憶體 1 速度比記憶體快,整合在cpu 2 存放記憶體的部份拷貝,放置常用資料以提高速度 3 不能被程式直接更改,由硬體自己處理對記憶體資料的拷貝 磁碟快取 記憶體的一部分,將頻繁使用的磁碟資料預讀在磁碟快取,...
第四章儲存器管理 1
1 程式的裝入和鏈結 使用者源程式to記憶體中執行的程式 1 位址的概念 邏輯位址 相對位址,虛位址 實體地址 絕對位址,實位址 2 程式裝入中的位址處理 絕對裝入 邏輯位址 實體地址 靜態重定位裝入 動態執行時重定位裝入 3 不同的程式鏈結裝入方式 使用記憶體的時機 靜態鏈結 裝入時鏈結 執行時鏈...