關於頁表,頁表項,頁框號(物理塊號)的理解

今天看到一個關於分頁系統中頁表項的計算問題。首先要了解頁表項是由【頁號】【頁框號】組成,因爲是分頁系統每一個頁面大小都是一樣的所以可以根據邏輯地址的大小推算出【頁號】,也就是說頁表項中的【頁號】可以省略。
下邊給出一個例子:
一個32位系統分頁系統,頁面大小爲4KB,則100MB的進程其頁表大小爲多少,佔多少個頁面存儲頁表?
【頁面大小】爲4KB,既212B 也就是說佔了12個bit , 進而可以計算出【頁號】爲220B 即佔了20個bit,因爲邏輯地址是由【頁號】【頁內偏移量】(頁面大小)組成,【頁框號】(物理塊號)232 /212=220 ,也佔了20個bit ,一般情況下在題目中都會給出【頁框號】佔多大的位置,但是這個沒有給出,我們其實可以大概的估算一下,就是就【頁號】+【頁框號】的佔了多少bit,即20+20=40bit (8bit 比特= 1Byte 字節) 40/8=5字節,如果把【頁號】省略掉也就是隻算【頁框號】佔的字節數 ,即20/8=2…4 也就是3字節(因爲2個字節沒有辦法存儲20位)。
但是這個題計算的時候用的【頁表項】大小並不是3字節和5字節,而是4字節。(具體爲什麼我個人認爲是32位系統默認就是按照4字節來計算,沒有特別要求的話)
下邊我們來計算一下這個題
1、100MB的進程佔用頁表項數 = 100MB/4KB=100 x 28
每一個頁表項大小是4B,則所佔頁表大小=100*28 *4B=100KB
2、一個頁面可以存儲的大小=(212B /4B )x 4KB =2MB,其中212B /4B算出的是頁表項的個數
100MB/2MB = 50頁

這個題是次要的主要是上邊對頁表項大小的計算問題的分析。
萌新博主,還有些不適應這個編輯方式還有語言表達不知道是否清晰,如有問題大家可以提出來,望大家見諒。

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