某計算機系統頁面大小為4K,進程的頁面變換表如下所示。若進程的邏輯地址為2D16H。該地址經過變換后,其物理地址應是()
第一步,先將系統頁面大小按字節單位byte化成二進制,那么4*1024=4096
例子:4K,4096/16=256,余數為0 記錄一個0
256/16=16,余數為0 記錄一個0
16/16=1, 余數為0 再記錄一個0 最后結果為1.
那么從最后的結果記錄十六進制得出結果:1000!然后化成二進制,0001 0000 0000 0000 一共有12個0
這里的4K轉成二進制的12個0,就代表了邏輯地址的后12位,是頁內偏移量。
第二步:把邏輯地址 2D16H 轉成二進制如下:
0010 1101 0001 0110 這里的后12位取出來!
前4位二進制化成的十進制對應頁號 0010 對應頁號2,物理塊號4!化成二進制是:0100
第三步:把上面物理塊號二進制作為物理地址的開頭二進制!把邏輯地址的后12位取出來,作為物理地址的后12位!組合如下:
0100 1101 0001 0110 化成16進制的物理地址是:4D16H
—————————————————————————————————————————————————————————————————
某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內存為16KB。假定某時一用戶頁表中已調入內存的頁面的頁號和物理塊號的對照表如下:
則邏輯地址 0A5C(H) 所對應的物理地址是什么?
分析:這道題有多種方法計算結果,這里還是沿用上面的方法來計算!需要留意的是每個頁面的大小,以及邏輯地址
頁面大小1K即是1024的二進制表示為: 0100 0000 0000 這里一共有10個0!取邏輯地址的后10位作為物理地址的實際地址
邏輯地址的二進制為: 0000 1010 0101 1100 后10位是: 10 0101 1100
邏輯地址的剩余位是: 000010 前面多余的2位0可以省略,化成十進制為2,頁號2對應物理塊號 11
物理地址塊號11直接化成二進制是: 1011
將塊號的二進制以及邏輯地址的后10位拼在一起是: 1011 10 0101 1100 中間不夠4位,前面的向后移,前面不夠4位,直接加0!!那么,真正的邏輯地址二進制是: 0010 1110 0101 1100 化成十六進制是:2E5CH
總結一下里面經歷過的進制轉換:
1:頁面大小K化成字節即是乘以1024,再化成二進制。看里面的0的個數,這里假設為n個
2:邏輯地址的后n位置取出來作為物理地址的后n位的真實地址,邏輯地址的剩余位化成 十進制 對應頁號表
3:頁號表對應的物理塊號是 十進制 ,化成二進制作為物理地址的開頭
4:將整個物理地址拼好,將二進制換算成十六進制
5:特別注意,如果剩余N位的十進制超出表給出的頁號表,則為超出范圍。要么是超出范圍,要么是你算錯了!
6:有的計算題給的頁面單位為:M!!,這里的單位是 K !!請仔細注意換算后有多少個0
7:計算地址必須仔細看參數!最重要的參數是:每頁面的大小單位K 而且必須要化成字節(byte)才能換算!即是要乘以1024
—————————————————————————————————————————————————————————————————
分頁式存儲管理系統中,主存容量為1M
假定某采用分頁式虛擬存儲系統中,主存儲容量為1M,被分為256份,某作業的地址空間占4頁,頁號為0,1,2,3,被分配要主存的第2,4,1,5塊中,回答
(1)主存地址應該用是____位來表示
(2)作業每一頁的長度為_____,邏輯地址中的頁內地址(單元號)占用____位
分析:主容量為1M!而且被分成256份!那么先把M化成k吧!
1*1024=1024K 1024K被分成256份,那么每一份的大小為:1024除以256=4K 問題(2)中的每頁長度為4K,然后4K換算成二進制即是212次方!12個0!!這里的頁內地址是術語,意思即是對應物理地址的真實二進制地址!即是后面的12位。問題(2)中的答案為占用了12位
1024K*1024=1048576Byte 這個時候再換算成二進制!即是220次方,有20個0!問題(1)中的答案為 20