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

操作系統 頁式存儲 頁與塊之間的關係詳解
操作系統頁式存儲頁塊邏輯地址物理地址塊號頁號
以下這些概念在剛開始學的時候簡直要逼瘋我了,因爲不同書籍不同作者就會有不同的叫法,比如說頁內地址有叫頁偏移的,塊有叫頁框的。。。
反正各種不爽。如果你也有這種狀況,那不好意思,我先得說明一下,你還是適應一下我的叫法。因爲這篇文章我說了算~~~~(有沒有很霸氣)

頁式存儲
注意頁和塊的對象的不同
對程序進行分頁存儲
對內存進行分塊存儲

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

邏輯地址和物理地址

a) 邏輯地址:由兩部分組成,即頁號 + 頁內地址

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

注意:

塊內地址=頁內地址=2n,同理最大的程序可允許有 > > 2m-n 個頁面。

計算公式:

頁號 = 邏輯地址/頁長(商)

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

b) 物理地址

物理地址 = 塊號 * 塊長 + 塊內地址 +(用戶基址)
物理地址 = 塊號 * 頁長 + 頁內地址 +(用戶基址)

爲了弄清楚上面一大堆名詞之間的關係,看看下面的例題。
根據所給條件求出物理地址(答案雖然已經給出,但是你可以裝作沒看見啊)
ps:用戶基址是1000


例題
分析:注意每個頁的頁內地址是一樣的,所以由公式
頁號 = 邏輯地址/頁長(商)

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

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

解:

塊長=頁長=(4865-769)/2=2048,又 塊內地址=頁內地址,故
物理地址=塊號*塊長+塊內地址+用戶基址
      =6*2048+769+1000=14057
頁塊術語對應

頁    塊
程序    內存
邏輯地址    物理地址
頁號    塊號
頁內地址    塊內地址
頁長(頁面大小)    塊長(塊大小)
ps:頁內地址又可以成爲頁偏移,但是頁內地址不是頁長!!!!頁長又可以成爲頁面大小。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章