作業系統綜合題之“採用二級頁表的分頁儲存管理方式,計算頁目錄號的位數 和 頁大小,給定頁目錄項大小計算頁目錄表大小,給定邏輯地址計算頁內偏移量和實體地址[0x00200643]”

骚哥發表於2024-04-10

一、問題:某計算機系統的主存按位元組編址,邏輯地址和實體地址都是32位,其記憶體管理採用兩級頁表的分頁儲存管理方式。邏輯地址中頁號位10位,頁內偏移地址為10位。該計算機系統的兩級頁表結構如下圖所示,圖中數值均為十進位制數

1.頁目錄號的位數為多少?頁的大小為多少KB?

2.如果頁目錄項大小為4位元組,則一個頁目錄表最大為多少KB?

3.設某邏輯地址為0x00200643,其頁內偏移量是多少?該邏輯地址所對應的實體地址是多少?(用十六進位制表示)

二、參考答案

1.

頁目錄號的位數 = 邏輯地址位數 - 頁號位數 - 頁內偏移地址位數 = 32 - 10 - 10 = 12

頁大小 = 2頁內偏移地址位數 = 210 = 1024B= 1KB

2.頁目錄表大小 = 頁目錄項大小 * 2頁目錄號位數 = 4B * 212 = 4 * 4096 = 16384B = 16KB

3.

從邏輯地址0x00200643中分析得到二進位制

0000 0000 0010 0000 0000 0110 0100 0011

頁內偏移量 = 10 ,所以擷取邏輯地址的二進位制0 ~ 9位 = 10 0100 0011 轉十六進位制 = 0x243

頁號 = 10 ,所以擷取邏輯地址的二進位制10 ~ 19位 = 0000 0000 01 ,轉十六進位制 = 0x1

頁目錄號 = 12 ,所以擷取邏輯地址的二進位制20 ~ 31位 = 0000 0000 0010,轉十六進位制 = 0x2

根據頁目錄項號 = 2和頁號 = 1,查詢頁表2的1號頁,得頁框號1511

實體地址 = 頁框號 * 頁大小 +頁內偏移量 = 1511 * 1KB + 0x243 = 495616 + 0x267 = 0x00179C00 + 0x243 = 0x00179E43

相關文章