基本分段和段頁式記憶體管理

2022-06-08 22:03:14 字數 2123 閱讀 3361

分段儲存管理方式的引入是為了滿足使用者的要求。

方便程式設計:通常乙個作業是由多個程式段和資料段組成的,一般情況下,使用者希望按邏輯關係對作業分段,並能根據名字來訪問程式段和資料段

資訊共享

資訊保護

動態增長:實際應用中,某些段(資料段)會不斷增長,前面的儲存管理方法均難以實現。

為什麼分段中整個作業的位址空間是二維的?

而分段由於它各段長度可不等,乙個作業的所有段合在一起不可能像分頁一樣是連續的,所以分段整個作業的位址空間是二維的。

利用段表實現位址對映示意圖

分段系統位址變換機構

注:由於各段長度不等,也就是說各段長度無法確定,所以還要判斷段長是否越界。

可重入**(純**)

一種允許多個迚程同時訪問的**

為使各個迚程所執行的**完全相同,絕對不允 許可重入**在執行中有任何改變,所以它是一 種不允許任何程序對其進行修改的**

但事實上,大多數**在執行時都有可能發生改 變,例如其中用於控制程式執行次數的變數及指 針、訊號量及陣列等。為此,在每個程序中都必 須配備區域性資料區,並把在執行中可能改變的部 分都拷貝到該資料區。這樣,在程式執行時,只 去對屬於特定程序私有的資料區中的內容進行修 改,而不去改變共享的**,這時的可共享** 即成為可重入**

某多使用者系統,可同時接納40個使用者,假設 均在執行editor進行文字編輯。若該文字編輯 程式含有160kb的**區和40kb的資料區,如果不共享,則總共需有8000kb的記憶體空間來支援40個用 戶。

如果該文字編輯程式**是可重入的,則 無論分頁系統還是分段系統該程式**都能被 共享,即記憶體中只需保留乙份文字編輯程式的 副本,因而所需記憶體空間僅為 40×40+160=1760kb

分頁系統的共享

分段系統的共享

上述兩張圖可知,在分段系統中,實現共享容易得多,只需在每個程序的段表中為文字編輯程式設定乙個段表項。

頁是資訊的物理單位,分頁僅僅是由於系統管理的需要,對使用者透明的。段是資訊的邏輯單位,分段的目的是為了能更好的滿足使用者的需要。

頁的大小固定且由系統確定,把邏輯位址劃分為頁號和頁內位址兩部分。段的長度卻不固定,決定於使用者所編寫的程式。

分頁的作業位址空間是一維的,分段的作業位址空間是二維的。

頁和段都有儲存保護機制。但訪問許可權不同:段有讀、寫和執行三種許可權;而頁只有讀和寫兩種許可權。

分頁/段記憶體管理有機結合,既具有分段系統便於實現、分段可共享、易於保護、可動態鏈結等一系列優點;又能像 分頁系統那樣很好地解決記憶體的外部碎片問 題以及為各個分段離散地分配記憶體等問題 。

基本原理

利用段表和頁表實現位址對映

段頁式系統的位址變換結構

作業系統 記憶體管理 基本分段記憶體管理方式

引入分頁記憶體管理方式的目的是提高記憶體空間利用率,而引入分段記憶體管理的目的是滿足程式設計師在程式設計和使用上的多方面要求 方便程式設計 使用者可以把自己的作業按照邏輯關係劃分為若干個段,而且每乙個段的位址都是從0開始編址的,並且具有自己的段名和長度。邏輯位址是由段名 段號 和段內偏移量 段內位址...

對於段頁式記憶體管理的理解

所以段頁式記憶體管理每讀取一資料,要訪問三次記憶體。第一次是由段表暫存器得到段表始址後訪問段表,由此取出對應段的頁表在記憶體中的位址 第二次是訪問頁表得到所需訪問的實體地址 第三次才能訪問真正需要訪問的物理單元。附 mmu是一種硬體電路,它包含兩個部件,乙個是分段部件,乙個是分頁部件,通過分段機制 ...

作業系統記憶體管理 簡單 頁式 段式 段頁式

一 記憶體管理的目的和功能 記憶體一直是計算機系統中寶貴而又緊俏的資源,記憶體能否被有效 合理地使用,將直接影響到作業系統的效能。此外,雖然物理記憶體的增長現在達到了n個gb,但比物理記憶體增長還快的是程式,所以無論物理記憶體如何增長,都趕不上程式增長的速度,所以作業系統如何有效的管理記憶體便顯得尤...