當前位置:首頁 » 存儲配置 » 分頁存儲的管理方式

分頁存儲的管理方式

發布時間: 2025-07-04 12:47:45

Ⅰ 基本分頁存儲管理方式的兩級和多級頁表

現代的大多數計算機系統,都支持非常大的邏輯地址空間(2^32~2^64)。在這樣的環境下,頁表就變得非常大,要佔用相當大的內存空間。例如,對於一個具有32位邏輯地址空間的分頁系統,規定頁面大小為4 KB即2^12 B,則在每個進程頁表中的頁表項可達1兆個之多。又因為每個頁表項佔用四個位元組,故每個進程僅僅其頁表就要佔用4 MB的內存空間,而且還要求是連續的。顯然這是不現實的,我們可以採用下述兩個方法來解決這一問題:
(1) 採用離散分配方式來解決難以找到一塊連續的大內存空間的問題;
(2) 只將當前需要的部分頁表項調入內存,其餘的頁表項仍駐留在磁碟上,需要時再調入。
兩級頁表(Two-Level Page Table)
對於要求連續的內存空間來存放頁表的問題,可利用將頁表進行分頁,並離散地將各個頁面分別存放在不同的物理塊中的辦法來加以解決,同樣也要為離散分配的頁表再建立一張頁表,稱為外層頁表(Outer Page Table),在每個頁表項中記錄了頁表頁面的物理塊號。下面我們仍以前面的32位邏輯地址空間為例來說明。當頁面大小為 4 KB時(12位),若採用一級頁表結構,應具有20位的頁號,即頁表項應有1兆個;在採用兩級頁表結構時,再對頁表進行分頁,使每頁中包含2^10 (即1024)個頁表項,最多允許有2^10個頁表分頁;或者說,外層頁表中的外層頁內地址P2為10位,外層頁號P1也為10位。此時的邏輯地址結構可描述如下:

由右圖可以看出,在頁表的每個表項中存放的是進程的某頁在內存中的物理塊號,如第0#頁存放在1#物理塊中;1#頁存放在4#物理塊中。而在外層頁表的每個頁表項中,所存放的是某頁表分頁的首址,如第0#頁表是存放在第1011#物理塊中。我們可以利用外層頁表和頁表這兩級頁表,來實現從進程的邏輯地址到內存中物理地址間的變換。
為了地址變換實現上的方便起見,在地址變換機構中同樣需要增設一個外層頁表寄存器,用於存放外層頁表的始址,並利用邏輯地址中的外層頁號,作為外層頁表的索引,從中找到指定頁表分頁的始址,再利用P2作為指定頁表分頁的索引,找到指定的頁表項,其中即含有該頁在內存的物理塊號,用該塊號和頁內地址d即可構成訪問的內存物理地址。右圖示出了兩級頁表時的地址變換機構。 對於32位的機器,採用兩級頁表結構是合適的;但對於64位的機器,採用兩級頁表是否仍可適用的問題,須做以下簡單分析。如果頁面大小仍採用4 KB即2^12 B,那麼還剩下52位,假定仍按物理塊的大小(2^12位)來劃分頁表,則將餘下的42位用於外層頁號。此時在外層頁表中可能有4096 G個頁表項,要佔用16 384 GB的連續內存空間。這樣的結果顯然是不能令人接受的,因此必須採用多級頁表,將外層頁表再進行分頁,也就是將各分頁離散地裝入到不相鄰接的物理塊中,再利用第2級的外層頁表來映射它們之間的關系。
對於64位的計算機,如果要求它能支持2^64 B(= 1 844 744 TB)規模的物理存儲空間,則即使是採用三級頁表結構也是難以辦到的;而在當前的實際應用中也無此必要。故在近兩年推出的64位OS中,把可直接定址的存儲器空間減少為45位長度(即2^45)左右,這樣便可利用三級頁表結構來實現分頁存儲管理。

Ⅱ 為實現分頁存儲管理 需要哪些硬體支持

為實現分頁存儲管理,需要的硬體支持包括:存儲器管理模塊、地址轉換機制、頁面緩存或高速緩存

1. 存儲器管理模塊: 該模塊負責識別和管理物理內存中的各個頁面,以及頁面的狀態信息。 它支持操作系統進行頁面的分配和回收操作,是分頁存儲管理的基礎。

2. 地址轉換機制: 主要是頁表機制,能夠將虛擬地址轉換為物理地址。 通常由內存管理單元完成這一轉換工作,使得程序可以通過虛擬地址空間來訪問實際存在於物理內存中的數據。

3. 頁面緩存或高速緩存: 這些緩存用於存儲最近訪問過的頁面數據,以提高數據訪問速度。 當需要再次訪問相同頁面時,可以直接從緩存中獲取數據,避免了從較慢的存儲設備中讀取,從而提升了分頁存儲管理的整體效率。

Ⅲ 請問段頁式和分頁式存儲管理有什麼區別

段式和頁式存儲管理的地址結構很類似,但是它們之間有實質上的不同,表現為頁式的邏輯地址是連續的,段式的邏輯地址可以不連續、頁式的地址是一維的,段式的地址是二維的、分頁是操作系統進行,分段是用戶確定、各頁可以分散存放在主存,每段必須佔用連續的主存空間

拓展:

各頁可以分散存放在主存,每段必須佔用連續的主存空間。分頁和分段者是操作系統確定和進行的。頁式和段式都是採用動態重定位方式。

  • 進程的地址空間:按照程序自身的邏輯關系劃分為若干個段,每個段都有一個段名(在低級語言中,程序員使用段名來編程),每段從0開始編址。

  • 內存分配規則:以段為單位進行分配,每個段在內存中占連續空間,但各段之間可以不相鄰。

  • 優點:保留了分段和請求分頁存儲管理的全部優點、提供了虛存空間,能更有效利用主存

  • 缺點:增加了硬體成本、系統復雜度較大

Ⅳ 在分頁存儲管理方式下應怎樣實現主存空間的分配和回收

2.1 模擬包括3部分:
1)實現特定的內存分配演算法
2)實現內存回收模擬
3)每種內存分配策略對應的碎片數統計
2.2 固定分區存儲管理
假設內存容量為120KB,並且分別劃分成8,16,32,64KB大小的塊各一塊。
一個進程所需要的內存為0到100個KB。同時假設一個進程在運行過程中所需內存的大小不變。
模擬五個進程到達請求分配與運行完回收情況,輸出主存分配表.
2.3 動態分區分配存儲管理
採用連續分配方式之動態分區分配存儲管理,使用首次適應演算法、下次適應演算法、最佳適應演算法和最壞適應演算法4種演算法完成設計(任選兩種演算法)。

Ⅳ 基本分頁存儲管理方式頁面與頁表

分頁存儲管理是一種常見的內存管理方式,它將進程的邏輯地址空間劃分為固定大小的片,即頁面,每個頁面都有唯一的編號。內存空間則被劃分為同樣大小的物理塊,稱為頁框,它們也有各自的編號。在分配內存時,進程的頁面被分散存儲到多個物理塊,可能導致頁內碎片。


選擇合適的頁面大小至關重要。如果頁面過小,雖然能減少內存碎片,但會增加頁表長度和內存消耗,降低頁面交換效率。相反,大型頁面可以減少頁表長度,提高交換速度,但會導致頁內碎片增多。通常,頁面大小設為2的冪,比如512B至8KB之間,以平衡各種因素。


分頁地址結構包含頁號和頁內地址,通過特定機器的地址結構和頁面大小計算得出。以系統頁面大小1KB為例,邏輯地址A為2170B,可以通過整除和取余運算得到頁號P和頁內地址d。例如,P=2,d=122。


為了確保進程的正確運行,即使頁面分布在內存的不同位置,系統需要維護一個頁表,也稱為頁面映像表。每個進程都有一個頁表,其中包含所有頁面(編號從0到n)的映射,記錄了每個頁面在內存中的對應物理塊號。通過查找頁表,進程可以准確找到每個頁面的物理塊位置,實現頁號到物理塊號的地址映射。


(5)分頁存儲的管理方式擴展閱讀

在存儲器管理中,連續分配方式會形成許多「碎片」,雖然可通過「緊湊」方法將許多碎片拼接成可用的大塊空間,但須為之付出很大開銷。如果允許將一個進程直接分散地裝入到許多不相鄰的分區中,則無須再進行「緊湊」。基於這一思想而產生了離散分配方式。如果離散分配的基本單位是頁,則稱為分頁存儲管理方式。在分頁存儲管理方式中,如果不具備頁面對換功能,則稱為基本分頁存儲管理方式,或稱為純分頁存儲管理方式,它不具有支持實現虛擬存儲器的功能,它要求把每個作業全部裝入內存後方能運行。

熱點內容
聯想伺服器的bmc叫什麼 發布:2025-07-04 20:52:29 瀏覽:816
三星手機如何建文件夾 發布:2025-07-04 20:42:34 瀏覽:475
蘋果11的攝像頭是什麼配置 發布:2025-07-04 20:32:20 瀏覽:59
plc編程入門視頻 發布:2025-07-04 20:26:02 瀏覽:927
小米電視設置界面密碼是多少 發布:2025-07-04 20:26:01 瀏覽:989
linux軟體測試 發布:2025-07-04 20:12:40 瀏覽:274
小數加減法計演算法則 發布:2025-07-04 20:11:49 瀏覽:691
文件如何定時上傳至伺服器 發布:2025-07-04 20:06:17 瀏覽:861
菜鳥商城源碼 發布:2025-07-04 20:01:31 瀏覽:446
英雄聯盟頭像文件夾 發布:2025-07-04 19:49:59 瀏覽:580