四.(3-4)存儲管理的離散分配方式

?基本分頁存儲管理方式

本部分討論不具備對換功能的純分頁模式,作業運行需要全部裝入內存。

比較連續分配方式

作業邏輯地址空間有M大,就需要向內存申請一個M大的連續區域。

分頁的目的是更細粒度的處理空間,減少粗放管理的浪費或開銷問題。


1)頁面的概念

u內存劃分成多個小單元,每個單元K大小,稱(物理)塊。作業也按K單位大小劃分成片,稱為頁面。

①物理劃分塊的大小= 邏輯劃分的頁的大小

②頁面大小要適中。

太大,(最后一頁)內碎片增大,類似連續分配的問題。

太小的話,頁面碎片總空間雖然小,提高了利用率,但每個進程的頁面數量較多,頁表過長,反而又增加了空間使用。

2)頁表的概念

為了找到被離散分配到內存中的作業,記錄每個作業各頁映射到哪個物理塊,形成的頁面映射表,簡稱頁表。

每個作業有自己的頁表

頁表的作用:頁號到物理塊號的地址映射

要找到作業A? ? ?? 關鍵是找到頁表(PCB)??? 根據頁表找物理塊


?作業相對地址在分頁下不同位置的數有一定的意義結構:

? 頁號+頁內地址(即頁內偏移)

?關鍵的計算是:根據系統頁面大小找到不同意義二進制位的分界線。

?從地址中分析出頁號后,地址映射只需要把頁號改為對應物理塊號,偏移不變,即可找到內存中實際位置。

4)地址變換機構

前面講解了地址變換的原理,那么誰具體實現地址映射?——地址變換機構。

圍繞頁表進行工作,那么頁表數據放在哪?

寄存器一個進程有n個頁,頁表就需要記錄n項數據,需要n個寄存器。不現實。

內存。只設置一個頁表寄存器PTR(page table register)記錄頁表在內存中的首地址和頁表長度,運行時快速定位頁表。


5)引入快表——針對訪問速度問題

問題:基本分頁機制下,一次指令需兩次內存訪問,處理機速度降低1/2,分頁空間效率的提高以如此的速度為代價,得不償失。

改進:減少第1步訪問內存的時間。增設一個具有“并行查詢”能力的高速緩沖寄存器,稱為“快表”,也稱“聯想寄存器”(Associative

memory),IBM系統稱為TLB(Translation Look aside Buffer)。

快表放什么?:正在執行進程的頁表的數據項。


基本分段存儲管理方式

從提高內存利用率角度;

固定分區-》動態分區-》分頁

從滿足并方便用戶(程序員)和使用上的要求角度:

分段存儲管理:作業分成若干段,各段可離散放入內存,段內仍連續存放。

方便編程:如匯編中通過段:偏移確定數據位置

信息共享:同地位的數據放在一塊方便進行共享設置

信息保護

動態增長:動態增長的數據段事先固定內存不方便

動態鏈接:往往也是以邏輯的段為單位更方便

1)分段系統的基本原理

程序通過分段(segmentation)劃分為多個模塊,每個段定義一組邏輯信息。如代碼段(主程序段main,子程序段X)、數據段D、棧段S等。

誰決定一個程序分幾段,每段多大?

編譯程序(基于源代碼)

段的特點:

每段有自己的名字(一般用段號做名),都從0編址,可分別編寫和編譯。裝入內存時,每段賦予各段一個段號。

每段占據一塊連續的內存。(即有離散的分段,又有連續的內存使用)

各段大小不等。


3)分頁和分段的主要區別

1.需求:分頁是出于系統管理的需要,是一種信息的物理劃分單位,分段是出于用戶應用的需要,是一種邏輯單位,通常包含一組意義相對完整的信息。

一條指令或一個操作數可能會跨越兩個頁的分界處,而不會跨越兩個段的分界處。

2.大小:頁大小是系統固定的,而段大小則通常不固定。分段沒有內碎片,但連續存放段產生外碎片,可以通過內存緊縮來消除。相對而言分頁空間利用率高。

3.邏輯地址:分頁是一維的,各個模塊在鏈接時必須組織成同一個地址空間;

???????????????????? 分段是二維的,各個模塊在鏈接時可以每個段組織成一個地址空間。

4.其他:通常段比頁大,因而段表比頁表短,可以縮短查找時間,提高訪問速度。分段模式下,還可針對不同類型采取不同的保護;按段為單位來進行共享

4)信息共享

分段系統的突出優點:

易于實現共享:

在分段系統中,實現共享十分容易,只需在每個進程的段表中為共享程序設置一個段表項。

比較課本圖。對同樣的共享內容的管理上,很明顯分段的空間管理更簡單。分頁的圖涉及太多的頁面劃分和地址記錄的管理。

易于實現保護:

代碼的保護和其邏輯意義有關,分頁的機械式劃分不容易實現。


?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 連續分配方式:一個進程連續的裝進內存一個大小合適的區。 ->“碎片”->“緊湊”->增大開銷 如果允許一個進程直接...
    盆栽木只閱讀 788評論 0 1
  • 1. 基礎知識 1.1、 基本概念、 功能 馮諾伊曼體系結構1、計算機處理的數據和指令一律用二進制數表示2、順序執...
    yunpiao閱讀 5,401評論 1 22
  • 內存管理的基本思想 每個進程都擁有自己的地址空間( Address space),包括這個進程可以使用的全部地址和...
    夏威夷的芒果閱讀 1,927評論 0 1
  • 人總會自欺欺人,這就是傳統作祟,既然有自己的目標也能控制自己情緒還糾結那么多,見識不能說不廣,能耐不能說沒有,可到...
    隱于世間浮華閱讀 422評論 4 1
  • 種一顆希望的小苗 長在陽光下 風兒輕拂 梳理它嫩黃的葉 我望著 日復日,月復月 從未間斷的呵護 像一個母親呵護自己...
    玥玥U閱讀 190評論 0 2