儲存管理之離散儲存

2021-07-13 01:50:13 字數 3272 閱讀 6447

離散儲存主要包括分頁儲存分段儲存兩種。

一。分頁儲存管理:

頁面:系統把程序劃分為與幀(儲存塊)大小相等的塊,成為頁面(這樣就可以讓乙個頁存入乙個幀中)。

#1資料結構:

1.位示圖:記錄系統中幀的使用情況。

2.頁表(pt)(放在系統區)

頁表:頁號幀號許可權(讀寫)

比如,系統規定頁面的長度為

1024

個位元組,則頁內位址可用

10個二進位制位表示(

1024=2

10)表示。若機器的位址碼是

16位二進位制數時,其中高

6位代表頁號,低

10位代表頁內位址。

這樣的位址結構,允許乙個程序的頁面總數達64頁。(頁號佔6位,2的6次方為64)

邏輯位址構成  《頁號,偏移》

從頁表暫存器中找到頁表的起始位址從而找到頁表,根據頁表中的頁號找到對應的幀號,幀號,偏移分別作為實體地址的高位和低位共同形成實體地址。

頁內偏移 與 幀內偏移應該是一樣的。

從此過程中可見讀取記憶體中的乙個運算元,需要訪問兩次記憶體(頁表暫存器+運算元)

#3.頁面分配與**:

(1)計算請求者需要的總幀數n。(所需記憶體空間大小/幀的大小)

(2)查位圖,若找不到足夠的空閒幀,編制「分配失敗」報告返回。

(3)索取乙個空閒頁表pt。

(4)從位圖中找出n個為0位,計算出對應的幀號,填入pt。

(5)將這些位改為1。(修改位示圖中的對應位,使用為1,不使用為0)

(6)將pt起始位址填入程序的pcb中。

(7)結束。

#4.記憶體共享:

可重入技術   。。。。

分頁管理總結:

•離散儲存,利於大程序裝入

•只有很少的頁內碎片,提高記憶體利用率

•ds:位示圖、頁表

•動態位址重定位

邏輯位址                                 實體地址

一維、二維                         二維、一維

•頁面共享不易實現

二。分段管理技術:

1.所謂段可以理解為對一段程式的不同劃分,如分為主程式,函式,陣列等。

2.不會產生內碎片,但可能產生外碎片。

3.如在乙個有32位位址空間的分段管理系統中,段表的段首位址也必是一有32位。

#1.資料結構:

mat表

空閒分割槽鏈

段表:段表st,是用來記錄各個段位址對映關係的**,每個程序有一張。

各個分段在記憶體空間中的對應位置都登記在段表內。

段首位址段長度訪問控制

#2.位址重定位過程:

系統中設定段表控制暫存器,包括段表基址暫存器(stbr)和段表長度暫存器(stlr)

根據段表暫存器的內容找到對應段,根據段號找段的起始位址,與段內位址共同形成邏輯位址。

(1)      提取邏輯位址中的「段號」。

(2)   比較段號與stlr的段長度。如果超出段表長度,則返回「記憶體定位錯誤」,終止程序的執行。

(3)   從stbr中給出的段表首址開始,以段號為索引查詢該程序對應的段表,得到欲訪問段的首位址。

(4)   取出欲訪問段的首位址,加上邏輯位址中的偏移量得到實體地址。

#3.記憶體共享與保護:

分段管理模式下的資訊保護分兩級。第一級是防止程序發生超出儲存空間的訪問,第二級是阻止程序超出訪問許可權的讀寫。

三。段頁式管理:

(在段內分頁)

系統為乙個含有多分段的程序分配記憶體時,首先為這些分段建立段表,將各段長度填入表中。接下來為每個段分配位址空間。在這種系統中,

各分段有乙個

頁表,其首位址存放在段表中。

根據段表控制暫存器找到對應段號,根據段號找到頁號,根據頁號找到幀號,幀號加偏移形成實體地址。

邏輯位址《頁號,偏移》

(1)硬體邏輯中,將邏輯位址中的頁號p送入快取記憶體,與其中的所有頁號進行比較。找到相匹配的頁號後,讀出該頁面對應的幀號,送實體地址暫存器,與偏移量w共同合成乙個訪問記憶體的實體地址。

(2)若快取記憶體內找不到相匹配的頁號,表示欲訪問的頁號不在快表中。系統需要再訪問記憶體中的頁表。找到該頁的幀號,送實體地址暫存器與偏移量w共同合成訪問記憶體的實體地址。同時,將該頁及幀號複製到快表中。此時,如果快取記憶體已沒有空閒位置,應找到乙個最不常用的頁表項淘汰掉,換入新的頁表項。

為訪問一次快表的時間,t2

如果一次查詢快表能找到所用的頁,我們稱作命中。此時的有效訪存時間

t

大約為:

t

=t1

+t2

如果一次查詢快表找不到所用的頁,稱作沒有命中。此時的有效訪存時間

t

將是:

t

=t1

+ 2t2

一般地,當查詢快表的命中率為

p

,則平均記憶體有效訪問時間

t

大約為:

t = p*(t1 + t2) + (1-p) *(t1 + 2 * t2)

離散儲存 鍊錶

定義 n個結點離散分配,彼此通過指標相連,每個結點只有乙個前驅節點,每個結點只有乙個後續結點,首節點沒有前驅節點,尾結點沒有後繼結點 專業術語 首節點 第乙個有效節點 尾結點 最後乙個有效節點 頭結點 頭結點的資料型別和首節點型別一樣 第乙個有效節點之前的那個節點 頭結點並不存放資料 頭結點的目的主...

儲存管理 段式儲存管理

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

Linux儲存管理之管理磁碟

1 ll dev sd 檢視dev下面的所有磁碟 sd是sata介面 hd是ide介面 2 lsblk name maj min rm size ro type mountpoint 裝置名稱 裝置型別 序號 磁碟大小 是否唯讀 磁碟或分割槽 掛載點 1 進入分割槽 fdisk dev 磁碟名 先按...