儲存器管理
連續分配方式可分為 4 類:
1)單一連續分配(最簡單),
2)固定分割槽分配,
3)動態分割槽分配(可變分割槽分配),
4)動態可重定位分割槽分配。
動態分割槽分配工作原理:記憶體不是系統預先劃分好的,而是當程式裝入時,根據程式的實際 需求和記憶體空間的使用情況來決定是否分配。若有足夠的空間,則按需要分割一部分分割槽給 該程序;否則令其等待記憶體空間。
固定分割槽分配工作原理和特點。
工作原理:預先把可分配的主儲存器空間分割成若干個連續區域,稱為乙個分割槽。每個分割槽
的大小可以相同也可以不同,但分割槽大小固定不變。每個分割槽裝乙個且只能裝乙個程式,而
且系統需要建立一張分割槽使用表。當分配時找到符合的記憶體大小並且未分配就進行分配。
特點:記憶體分配簡單,但是記憶體利用率不高。
基於順序搜尋的動態分割槽分配演算法:
首次適應演算法(ff):從頭開始檢索,能安排就安排,不能安排向後檢索。
迴圈首次適應演算法(nf):從上次檢索的地方開始檢索,能安排就安排,不能安排向後檢索。 (結束後從頭開始)
最佳適應演算法(bf):空閒區域從小到大排列,從頭檢索空閒區域,能安排就安排,不能安 排向後檢索。
最壞適應演算法(wf):空閒區域從大到小排列,從頭檢索空閒區域,能安排就安排,不能安 排就不能安排了。
基於索引搜尋的動態分割槽分配演算法:快速適應演算法,夥伴系統,雜湊演算法。
動態可重定位分割槽分配:緊湊,動態重定位,動態重定位分割槽分配演算法。
離散型分配方式分為以下三種:
分頁儲存管理方式,分段儲存管理方式,段頁式儲存管理方式
分頁儲存分配單位
在分頁儲存管理中,邏輯位址分配是按頁為單位進行分配
而主存的分配即實體地址分配是以記憶體塊為單位分配的
分頁儲存管理的原理
1.將使用者程式的位址空間分為若干固定大小的區域,成為「頁」
2.也將記憶體空間分為若干與頁面相同大小的儲存塊,稱為「塊」
3.在程序分配記憶體時,以塊為單位,將程序中的若干頁分別裝入多個不相鄰的物理塊中
#由於程序的最後一頁經常裝不滿一塊,而形成了不可利用的碎片,稱為「頁內碎片」
頁表:在分頁系統中,允許將程序的各個頁離散的儲存在記憶體的任一物理塊中,為保證程序 仍然能夠正確的執行,即能在記憶體中找到每個頁面所對應的物理塊,系統又為每個程序建立 了一張頁面影響表,簡稱頁表。
段表:在分段儲存管理系統中,為每個分段分配乙個連續的分割槽,程序中的每個段,
可以離散的裝入記憶體中的不同的分割槽中,為保證程序能正常執行,就必須為每個程序建立一張段對映表,簡稱段表。
位址變換機構:
分段式儲存系統的引入,特點:方便程式設計,資訊共享,資訊保護,動態增長,動態鏈結
分頁和分段的主要區別:
1)劃分原則不同:頁是資訊的物理單位,段是資訊的邏輯單位。
2)儲存單位特徵不同:頁的大小固定且由系統決定,段的長度不固定,決定於使用者所編寫 的程式。
3)邏輯位址性質不同:分頁的使用者程式位址空間是一維的,分頁完全是系統行為:分段是 使用者的行為,分段系統中使用者程式的位址空間是二維的。
第三章 記憶體管理
一 概述 1.記憶體管理的領域 1.管理物理記憶體頁 2.分配開啟記憶體的夥伴系統 3.分配小記憶體的slab slub slob分配器 4.分配非連續記憶體快的vmalloc 5.程序的位址空間 核心將虛擬位址空間分為兩個部分,底部較大,用於使用者空間,上部用於核心,在發生程序切換時,底部會變化,...
第三章 記憶體管理
報考的是三系老師 不是搞硬體的 但由於自己考研時選的科目有作業系統,所以 大致看一下了解即可 1 程式裝入和連線 裝入 將裝入模組裝入記憶體執行 3 連續分配管理方式 分頁儲存管理 分割槽大小固定 分段儲存管理 分割槽大小不固定 5 基本分頁儲存管理 6 基本分段儲存管理 7 段頁式儲存管理 1 區...
第三章 1節 記憶體管理
ps 個人課下整理的作業系統筆記,onenote直接拷貝過來的,看不了就將就一下,配合張偉老師的ppt看效果更好 一 背景 1.記憶體 main memory 是cpu唯一能直接訪問的大容量儲存機構 2.記憶體由很大一組字或者位元組組成,每個字或者位元組有他們自己的位址,cpu根據程式計數器的值在記...