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


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

操作系統
頁式存儲
邏輯地址
物理地址
塊號
頁號

以下這些概念在剛開始學的時候簡直要逼瘋我了,因為不同書籍不同作者就會有不同的叫法,比如說頁內地址有叫頁偏移的,塊有叫頁框的。。。
反正各種不爽。如果你也有這種狀況,那不好意思,我先得說明一下,你還是適應一下我的叫法。因為這篇文章我說了算~~~~(有沒有很霸氣)

頁式存儲

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

文章最后會給出我總結的頁和塊的關系

  1. 邏輯地址和物理地址

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

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

注意:

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

  • 計算公式:

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

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


b) 物理地址

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

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


例題

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

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

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

解:

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



頁塊術語對應

程序 內存
邏輯地址 物理地址
頁號 塊號
頁內地址 塊內地址
頁長(頁面大小) 塊長(塊大小)

ps:頁內地址又可以成為頁偏移,但是頁內地址不是頁長!!!!頁長又可以成為頁面大小。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM