作業系統 頁式儲存 頁與塊之間的關係詳解

2021-09-19 22:19:16 字數 1094 閱讀 9499

作業系統

頁式儲存

邏輯位址

實體地址

塊號

頁號

以下這些概念在剛開始學的時候簡直要逼瘋我了,因為不同書籍不同作者就會有不同的叫法,比如說頁內位址有叫頁偏移的,塊有叫頁框的。。。

反正各種不爽。如果你也有這種狀況,那不好意思,我先得說明一下,你還是適應一下我的叫法。因為這篇文章我說了算~~~~(有沒有很霸氣)

注意頁和塊的物件的不同

程式進行分頁儲存

記憶體進行分塊儲存

文章最後會給出我總結的頁和塊的關係

邏輯位址和實體地址

a)邏輯位址

設邏輯位址由總長度為m的二進位制數表示,頁內位址為n位,則頁號為m-n位。

注意:b)實體地址

實體地址 = 塊號 * 塊長 + 塊內位址 +(使用者基址)

實體地址 = 塊號 * 頁長 + 頁內位址 +(使用者基址)

例題

頁內位址 = 邏輯位址%頁長(餘數)

我們可以知道邏輯位址 = 頁號 * 頁長 + 頁內位址,所以頁長 = (邏輯位址 - 頁內位址)/頁號.

解:

塊長=頁長=(4865-769)/2=2048,又 塊內位址=頁內位址,故

實體地址=塊號*塊長+塊內位址+使用者基址

=6*2048+769+1000=14057

頁塊術語對應頁塊

程式記憶體

邏輯位址

實體地址

頁號塊號

頁內位址

塊內位址

頁長(頁面大小)

塊長(塊大小)

作業系統 頁儲存

為了能知道每個程序的每個頁面在記憶體中的存放位置,作業系統需要為每個程序建立一張頁表。如上圖所示頁表,記錄了頁面在記憶體中對應的記憶體塊號,頁表一般存放在記憶體中。在配置了頁表後,程序執行時,通過查詢該錶,即可找到每頁在記憶體中的記憶體塊號。可見頁表作用是實現從頁號到記憶體塊號的位址對映。這就是頁儲...

作業系統 頁式儲存方式,頁,頁表,頁表項

作業系統和計算機組成原理裡都講到記憶體管理的頁式管理,但是本人以及很多初次學習分頁的時候,都會迷茫頁表大小和頁表項大小之間的關係,本人仔細分析了後寫了這篇blog,僅當學習交流,個人理解之用,如果有錯或者分析不夠嚴謹,歡迎指正。按字 圖結合起來分析,相信還是比較容易看懂。頁 將程序劃分的塊,對應的大...

作業系統 頁式虛擬儲存位址變換

include stdio.h define n 64 模擬實驗中假定的頁表長度,即最多允許程式含有多少頁 假定頁面大小為1k define length 10 struct page n 頁表定義 int m m為該作業在主存中的主存塊塊數 int page length 頁表實際長度 int p...