頁式儲存管理和段式儲存管理的區別是什麼

2021-06-09 17:38:02 字數 2505 閱讀 3346

(1)頁式儲存管理

1)基本原理。將程式的邏輯位址空間劃分為固定大小的頁(page),而物理記憶體劃分為同樣大小的頁框(pageframe)。程式載入時,可將任意一頁放人記憶體中任意乙個頁框,這些頁框不必連續,從而實現了離散分配。該方法需要cpu的硬體支援,來實現邏輯位址和實體地址之間的對映。在頁式儲存管理方式中位址結構由兩部構成,前一部分是頁號,後一部分為頁內位址,如圖4-2所示。

這種管理方式的優點是,沒有外碎片,每個內碎片不超過頁大比前面所討論的幾種管理方式的最大進步是,乙個程式不必連續存放。這樣就便於改變程式占用空間的大小(主要指隨著程式執行,動態生成的資料增多,所要求的位址空間相應增長)。缺點是仍舊要求程式全部裝入記憶體,沒有足夠的記憶體,程式就不能執行。

2)頁式管理的資料結構。在頁式系統中程序建立時,作業系統為程序中所有的頁分配頁框。當程序撤銷時收回所有分配給它的頁框。在程式的執行期間,如果允許程序動態地申請空間,作業系統還要為程序申請的空間分配物理頁框。作業系統為了完成這些功能,必須記錄系統記憶體中

實際的頁框使用情況。作業系統還要在程序切換時,正確地切換兩個不同的程序位址空間到物理記憶體空間的對映。這就要求作業系統要記錄每個程序頁表的相關資訊。為了完成上述的功能,—個頁式系統中,一般要採用如下的資料結構。

程序頁表:完成邏輯頁號(本程序的位址空間)到物理頁面號(實際記憶體空間)的對映。

每個程序有乙個頁表,描述該程序占用的物理頁面及邏輯排列順序。

物理頁面表:整個系統有乙個物理頁面表,描述物理記憶體空間的分配使用狀況,其資料結構可採用位示圖和空閒頁鍊錶。

3)頁式管理位址變換

在頁式系統中,指令所給出的位址分為兩部分:邏輯頁號和頁內位址。cpu中的記憶體管理單元(mmu)按邏輯頁號通過查程序頁表得到物理頁框號,將物理頁框號與頁內位址相加形成實體地址(見圖4-3)。上述過程通常由處理器的硬體直接完成,不需要軟體參與。通常,作業系統只需在程序切換時,把程序頁表的首位址裝入處理器特定的暫存器中即可。一般來說,頁表儲存在主存之中。這樣處理器每訪問乙個在記憶體中的運算元,就要訪問兩次記憶體。第一次用來查詢頁表將運算元的邏輯位址變換為實體地址;第二次完成真正的讀寫操作。這樣做時間上耗費嚴重。為縮短查詢時間,可以將頁表從記憶體裝入cpu內部的關聯儲存器(例如,快表)中,實現按內容查詢。此時的位址變換過程是:在cpu給出有效位址後,由位址變換機構自動將頁號送人快表,並將此頁號與快表中的所有頁號進行比較,而且這種比較是同時進行的。若其中有與此相匹配的頁號,表示要訪問的頁的頁表項在快表中。於是可直接讀出該頁所對應的物理頁號,這樣就無需訪問記憶體中的頁表。由於關聯儲存器的訪問速度比記憶體的訪問速度快得多。

(2)段式儲存管理

1)基本原理。

在段式儲存管理中,將程式的位址空間劃分為若干個段(segment),這樣每個程序有乙個二維的位址空間。在前面所介紹的動態分割槽分配方式中,系統為整個程序分配乙個連續的記憶體空間。而在段式儲存管理系統中,則為每個段分配乙個連續的分割槽,而程序中的各個段可以不連續地存放在記憶體的不同分割槽中。程式載入時,作業系統為所有段分配其所需記憶體,這些段不必連續,物理記憶體的管理採用動態分割槽的管理方法。在為某個段分配物理記憶體時,可以採用首先適配法、下次適配法、最佳適配法等方法。在**某個段所占用的空間時,要注意將收回的空間與其相鄰的空間合併。段式儲存管理也需要硬體支援,實現邏輯位址到實體地址的對映。程式通過分段劃分為多個模組,如**段、資料段、共享段。這樣做的優點是:可以分別編寫和編譯源程式的乙個檔案,並且可以針對不同型別的段採取不同的保護,也可以按段為單位來進行共享。總的來說,段式儲存管理的優點是:沒有內碎片,外碎片可以通過記憶體緊縮來消除;便於實現記憶體共享。缺點與頁式儲存管理的缺點相同,程序必須全部裝入記憶體。

2)段式管理的資料結構。

為了實現段式管理,作業系統需要如下的資料結構來實現程序的位址空間到物理記憶體空間的對映,並跟蹤物理記憶體的使用情況,以便在裝入新的段的時候,合理地分配記憶體空間。

·系統段表:系統所有占用段。

·空閒段表:記憶體中所有空閒段,可以結合到系統段表中。

3)段式管理的位址變換。

在段式管理系統中,整個程序的位址空間是二維的,即其邏輯位址由段號和段內位址兩部分組成。為了完成程序邏輯位址到實體地址的對映,處理器會查詢記憶體中的段表,由段號得到段的首位址,加上段內位址,得到實際的實體地址(見圖4—4)。這個過程也是由處理器的硬體直接完成的,作業系統只需在程序切換時,將程序段表的首位址裝入處理器的特定暫存器當中。這個暫存器一般被稱作段表位址暫存器。

4.頁式和段式系統的區別

頁式和段式系統有許多相似之處。比如,兩者都採用離散分配方式,且都通過位址對映機構來實現位址變換。但概念上兩者也有很多區別,主要表現在:

·頁是資訊的物理單位,分頁是為了實現離散分配方式,以減少記憶體的外零頭,提高記憶體的利用率。或者說,分頁僅僅是由於系統管理的需要,而不是使用者的需要。段是資訊的邏輯單位,它含有一組其意義相對完整的資訊。分段的目的是為了更好地滿足使用者的需要。

·頁的大小固定且由系統決定,把邏輯位址劃分為頁號和頁內位址兩部分,是由機器硬體實現的。段的長度不固定,且決定於使用者所編寫的程式,通常由編譯系統在對源程式進行編譯時根據資訊的性質來劃分。

·頁式系統位址空間是一維的,即單一的線性位址空間,程式設計師只需利用乙個識別符號,即可表示乙個位址。分段的作業位址空間是二維的,程式設計師在標識乙個位址時,既需給出段名,又需給出段內位址。

儲存管理2 頁式與段式儲存管理

頁式儲存管理 計算機儲存的層次結構 暫存器,快取記憶體cache,主儲存器dram,ddram,外部儲存器 分割槽是程序的連續儲存 以下是分散儲存 原理 物理記憶體劃分許多固定大小的塊,稱物理頁面,頁框,邏輯位址空間劃分大小相同的塊,稱邏輯頁面,頁面 二者大小相同,兩種塊之間實現對映,物理頁面可以不...

頁式儲存管理和段式儲存管理(學習筆記)

從頁式管理開始,到之後的段式管理,都與之前的分割槽管理不同,最大的區別就在於乙個是分割槽管理是連續儲存,二這兩種方式可以非連續。實現原理 首先是必要概念 物理塊 將物理儲存空間劃分為大小相等的若干儲存塊,每塊大小為2的整數次冪,總大小在4kb 1gb之間。頁表 存放於主存中,記錄程序的邏輯頁與主存中...

儲存管理 段式儲存管理

分段儲存器的邏輯位址由兩部分組成 段號 單元號 注 段號加單元號是使用者自己設定,而頁號加單元號由系統自己切割的。段式儲存管理基於可變分割槽儲存管理實現,乙個程序要占用多個分割槽。硬體需要增加一組使用者可見的段位址暫存器 段 資料段 堆疊段 附加段 共位址轉換使用 段式儲存管理需要增加設定乙個段表,...