Hi,
I am learning about memory management in operating systems. I am confused with Address Translation. In this question (pic attached), can anyone explain, how the answer is obtained for Blank #2? What are the steps? Thanks in advance
A B C D 1010 1011 1100 1101 101010 1111001101
101010
to hex, we get 0x2A
, which is indeed one of the numbers in the page table - specifically, it's the location of the page number 1. Therefore, the 6-bit page id before the translation was just the number 1.Physical: 101010 1111001101 Logical: 000001 1111001101 0000 0111 1100 1101 0 7 C D
Let's convert the address given to binary, and then split the address as prescribed in the question: 6 bits for page id, 10 bits for offset.
Your this statement is not quite right though. The physical address is not partitioned into the 6bit 10 bit format. Actually the logical address is (as happens in a usual OS) then after the mapping the offset for the physical address remains the same. But the page to frame map occurs as per the page table. So rather it should be correct to say that after taking away 10 bits from the physical address we are left with 6 bits for the frame number...
$\endgroup$
Commented
Jul 29, 2020 at 15:10
10 bits
for the page offset you are left with 6 bits for the frame... And to make it of the hex format you are padding extra 00
in the front. but what about the frame id 0xEE
=> 11101110
this should imply that our physical address is of 18 bits
so 0xABCD
not possibly a potential candidate for physical address
$\endgroup$
Commented
Jul 29, 2020 at 15:15
0xABCD
and the answer you say is a32
bit address. There are errors in the question I suppose $\endgroup$