作業系統第四章記憶體離散分配 分頁、分段
記憶體離散分配 分頁、分段
比較連續分配方式
作業邏輯地址空間有M大,就需要向記憶體申請一個M大的連續區域。
分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。
1)頁面的概念
記憶體劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小劃分成片,稱為頁面。
① 物理劃分塊的大小 = 邏輯劃分的頁的大小
②頁面大小要適中。
太大,(最後一頁)內碎片增大,類似連續分配的問題。
太小的話,頁面碎片總空間雖然小,提高了利用率,但每個程序的頁面數量較多,頁表過長,反而又增加了空間使用。
2)頁表的概念
為了找到被離散分配到記憶體中的作業,記錄每個作業各頁對映到哪個物理塊,形成的頁面對映表,簡稱頁表。
每個作業有自己的頁表
頁表的作用:
頁號到物理塊號的地址對映
要找到作業A
關鍵是找到頁表(PCB)
根據頁表找物理塊
3)地址的處理
連續方式下,每條指令用基地址+偏移量即可找到其物理存放的地址。
作業相對地址在分頁下不同位置的數有一定的意義結構:
頁號+頁內地址(即頁內偏移)
關鍵的計算是:根據系統頁面大小找到不同意義二進位制位的分界線。
從地址中分析出頁號後,地址對映只需要把頁號改為對應物理塊號,偏移不變,即可找到記憶體中實際位置。
注意:一作業所有指令在使用者地址空間是順序編址
4)地址變換機構
前面講解了地址變換的原理,那麼誰具體實現地址對映?——地址變換機構。
※ 訪問記憶體的有效時間 ※
程序發出邏輯地址的訪問請求,經過地址變換,到記憶體中找到對應的實際實體地址單元並取出資料,所需花費的總時間,稱為記憶體的有效訪問時間EAT(effective access time)
設訪問一次記憶體時間為t,則基本分頁機制下EAT=2t,why?
CPU操作一條指令需訪問記憶體兩次:
訪問記憶體中的頁表(以計算指令所在的實際實體地址)
訪問指令記憶體地址
5)引入快表——針對訪問速度問題
引入快表後的記憶體訪問時間如何?
快表的暫存器單元數量是有限的,不能裝下一個程序的所有頁表項。雖不能完全避免兩次訪問記憶體,但如果命中率a高還是能大幅度提高速度。
設一次查詢訪問快表時間為t’ ,則
EAT= a*t' + (1-a)(t'+t) + t
= 2t +t' -t*a
6)兩級、多級頁表,反置頁表 ——針對大頁表佔用記憶體問題
頁表大小的討論
程序分頁離散存放,但頁表的資料是連續在存放記憶體的。而頁表可能很大:
現代作業系統支援非常大的邏輯地址空間的程序。如32位系統,可編址的最大程式碼數為232,若頁面大小為4KB(4*210),則支援的最大程序頁表項數可達碼232/212=220,有1M個,每個頁表項佔1B(位元組),則頁表大小就有1MB。
4.基本分段儲存管理方式
從提高記憶體利用率角度;
固定分割槽 -》動態分割槽-》分頁
從滿足並方便使用者(程式設計師)和使用上的要求角度:
分段儲存管理:作業分成若干段,各段可離散放入記憶體,段內仍連續存放。
方便程式設計:如彙編中通過段:偏移確定資料位置
資訊共享:同地位的資料放在一塊方便進行共享設定
資訊保護
動態增長:動態增長的資料段事先固定記憶體不方便
動態連結:往往也是以邏輯的段為單位更方便
1)分段系統的基本原理
程式通過分段(segmentation)劃分為多個模組,每個段定義一組邏輯資訊。如程式碼段(主程式段main,子程式段X)、資料段D、棧段S等。
誰決定一個程式分幾段,每段多大?
編譯程式(基於原始碼)
段的特點
每段有自己的名字(一般用段號做名),都從0編址,可分別編寫和編譯。裝入記憶體時,每段賦予各段一個段號。
每段佔據一塊連續的記憶體。(即有離散的分段,又有連續的記憶體使用)
各段大小不等。
2)段表與地址變換機構
段是連續存放在記憶體中。段表中針對每個“段編號”記錄:“記憶體首地址”和“段長”
3)分頁和分段的主要區別
1.需求:分頁是出於系統管理的需要,是一種資訊的物理劃分單位,分段是出於使用者應用的需要,是一種邏輯單位,通常包含一組意義相對完整的資訊。
一條指令或一個運算元可能會跨越兩個頁的分界處,而不會跨越兩個段的分界處。
2.大小:頁大小是系統固定的,而段大小則通常不固定。分段沒有內碎片,但連續存放段產生外碎片,可以通過記憶體緊縮來消除。相對而言分頁空間利用率高。
3.邏輯地址:
分頁是一維的,各個模組在連結時必須組織成同一個地址空間;
分段是二維的,各個模組在連結時可以每個段組織成一個地址空間。
4.其他:通常段比頁大,因而段表比頁表短,可以縮短查詢時間,提高訪問速度。分段模式下,還可針對不同型別採取不同的保護;按段為單位來進行共享
4)資訊共享
分段系統的突出優點:
易於實現共享
在分段系統中,實現共享十分容易,只需在每個程序的段表中為共享程式設定一個段表項。
比較課本圖。對同樣的共享內容的管理上,很明顯分段的空間管理更簡單。分頁的圖涉及太多的頁面劃分和地址記錄的管理。
易於實現保護:
程式碼的保護和其邏輯意義有關,分頁的機械式劃分不容易實現。
5)段頁式儲存管理方式
① 基本原理
將使用者程式分成若干段,併為每個段賦予一個段名。
把每個段分成若干頁
地址結構包括段號、段內頁號和頁內地址三部分
相關推薦
作業系統第四章記憶體離散分配 分頁、分段
記憶體離散分配 分頁、分段 比較連續分配方式 作業邏輯地址空間有M大,就需要向記憶體申請一個M大的連續區域。 分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。 1)頁面的概念 記憶體劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小
第四章 記憶體離散分配 分頁、分段
連續分配方式:一個程序連續的裝進記憶體一個大小合適的區。 “碎片” “緊湊” 增大開銷 如果允許一個程序直接分散裝入多個不相鄰分割槽中,則無需“緊湊” 產生儲存管理的離散分配方式。
作業系統 第四章 記憶體離散分配 分段--筆記*2
頁表筆記補充 每個程序一張頁表 一張OS反置頁表+沒程序一張外部頁表 **反置頁表:**站在物理角度,記錄佔用他的已調入記憶體的程序標識和頁號。系統中只需要一張表即可(例如:一個64MB記憶體,若頁面大小4KB[64M/4K=2^16 ,16個物理塊],反置頁
記憶體離散分配 分頁、分段
基本分頁儲存管理方式 本部分討論不具備對換功能的純分頁模式,作業執行需要全部裝入記憶體。 離散分配記憶體: 作業規定大小劃分成小份;記憶體也按同樣大小劃分成小份 作業的任一小份可分散放入記憶體任意未使用的小份 (分頁方式下,記憶體的使用率高,浪費少。但不是絕對沒
4.3-4.4記憶體離散分配 分頁、分段
一.基本分頁儲存管理方式 1.頁面的概念 記憶體劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小劃分成片,稱為頁面。 a. 物理劃分塊的大小 = 邏輯劃分的頁的大小 b.頁面大小要適中。 太大,(最後一頁)內碎片增大,類似連續分配的問題。 太小的
計算機作業系統第四章記憶體管理
虛擬記憶體管理包括虛擬記憶體概念、請求分頁管理方式、頁面置換演算法、頁面分配策略、工作集和抖動。 1.記憶體管理的概念 記憶體管理(Memory Management)是作業系統設計中最重要和最複雜的內容之一。雖然計算機硬體一直在飛速發展,記憶體容量也在不斷增長,但是
作業系統 第四章 3 分頁、分段、段頁式儲存管理 +作業題
一、分頁儲存管理方式 1、(物理)塊:記憶體劃分成多個小單元,每個單元K大小 頁面:作業也按K單位大小劃分成片 物理劃分塊的大小 = 邏輯劃分的頁的大小
作業系統 第四章 2 儲存器管理 連續分配方式
1)單一連續分配: 記憶體分為系統區和使用者區兩部分 2)固定分割槽分配: 把記憶體分為一些大小相等或不等的分割槽,每個應用程序佔用一個分割槽。作業系統佔用其中一個分割槽。(劃分為幾個分割槽,便只允許幾道作業併發) 建立一記錄相關資訊的分割槽表(或分割槽連結
作業系統第四章學習筆記 (2)儲存器管理 連續分配儲存管理方式
連續分配方式:為一個使用者程式分配一個連續的記憶體空間 :單一連續分配 記憶體分為系統區和使用者區兩部分:
《數學之美》讀書記錄【思維導圖記錄】:第四章,談談中文分詞
post IT .cn splay top style title mage blog 《數學之美》讀書記錄【思維導圖記錄】:第四章,談談中文分詞
計算機作業系統-第四章:儲存器管理
儲存層次至少三級:CPU暫存器,主存,輔存。 暫存器和主儲存器又被稱為可執行儲存器。(可使用一條load或store指令對可執行儲存器訪問,但輔存需要通過io裝置實現) 主儲存器簡稱記憶體或主存,用於儲存程序執行時的程式和資料,也簡稱可執行儲存器。 暫存器具有與處理機相同的速度,對暫存器訪問速度最快,完
作業系統 第四章 1 程式的裝入和連結
1、建立程序的第一件事:將程式和資料裝入記憶體。 2、程式進記憶體的一般過程: 編譯程式:( 高階語言編譯為機器語言)形成目標模組。 連結程式:將形成的一組目標模組,及它們需要的庫函式連結在一起,形成一個完整的裝入模組。 裝入load:由裝入程式將裝入
作業系統--第四章儲存器管理_1
程式進記憶體的一般過程: 編譯compiler:編譯程式:將使用者原始碼編譯成若干個目標模組。 連結link:連結程式:將形成的一組目標模組,及它們需要的庫函式連結在一起,形成一個完整的裝入模組。 裝入load:由裝入程式將裝入模組裝入記憶體,構造PCB,形成程序,開始執行(使用實體地址)。
作業系統--第四章儲存器管理_2
儲存管理的離散分配方式 基本分頁儲存管理方式 離散分配記憶體: 作業按規定大小劃分成小份;記憶體也按同樣大小劃分成小份 作業的任一小份可分散放入記憶體任意未使用的小份 分頁的目的:更細粒度的處理空間,減少粗放管理的浪費或開銷問題。 "頁"的概念:記憶體劃分成多個小單元,每個單元K
作業系統——第四章筆記(三)
分頁儲存管理方式 儲存管理的離散分配方式 1.基本分頁儲存管理 與連續分配方式比較 作業邏輯地址空間有M大,就需要向記憶體申請一個M大的連續區域。 分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。 離散分配記憶體: 作業規定大小劃分成小份;記憶體也按同樣大小劃分成小
作業系統——第四章筆記(二)
連續分配儲存管理方式 為一個使用者程式分配一個連續的記憶體空間 1.單一連續分配 記憶體分為系統區和使用者區兩部分: 系統區:僅提供給OS使用,通常放在記憶體低址部分 使用者區:除系統區以外的全部記憶體空間,提供給使用者使用。 這最簡單的一種儲存管理方式,只能用於單使用者、單任務的作
作業系統——第四章筆記(一)
儲存器管理 儲存部件的層次: 主存:儲存程序執行時的程式和資料 暫存器:速度最快,價格昂貴容量不大,一般以字為單位,只要存放指令一次操作的資料就夠了 。 快取記憶體(速度快、存放部分記憶體資料、硬體自動處理) 一種速度比記憶體快的儲存裝置,一般同暫存器一樣整合在CPU中。
記憶體離散分配、分頁、分段
連續分配方式:一個程序連續的裝進記憶體一個大小合適的區。“碎片” “緊湊” 增大開銷如果允許一個程序直接分散裝入多個不相鄰分割槽中,則無需“緊湊”產生儲存管理的離散分配方式。 基本分頁儲存管理 比較連續分配方式作業邏輯地址空間有M大,就需要向記憶體申請一個M大的連續區域。分頁的目的是更細粒度的處理
現代作業系統 第三章 記憶體管理 習題
Chapter03 第三章 記憶體管理 習題 知識點小記 當一個程序發生缺頁中斷的時候,程序會陷入核心態,執行以下操作: 1、檢查要訪問的虛擬地址是否合法 2、查詢/分配一個物理頁 3、填充物理頁內容(讀取磁碟,或者直接置0,或者啥也不幹) 4、建立對映關係(虛擬地址到實體
現代作業系統 第四章 檔案系統 習題
Chapter04 第四章 檔案系統 習題 知識點小記 檔案型別: ①普通檔案:包含有使用者資訊的檔案,分為ASCII檔案和二進位制檔案。 ②目錄:管理檔案系統結構的系統檔案; ③字元特殊檔案(UNIX):與輸入/輸出有關,用於序列I/O類裝置,如終端、印