假设计算机系统的页面大小为4K,进程P的页面变换表如下表所示。若P要访问的逻辑地址为十六进制3C20H,那么该逻辑地址经过地址变换后,其物理地址应为()

703109a479f0764d6a7728dcdffddd0b.png

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:操作系统-分页储存管理

位于4.3.3章节。

2020、2017、2014、2011、2010年都考过相差不大的题目。

要了解背景知识,各个名词什么意思,名词之间什么关系,请看文末文章,或者看书。

解题:

先确定页内地址位数

先拆分逻辑地址,因为题目中说页面大小4K,又因为页内地址指向的就是页面中的一小部分,所以,我们页内地址要指向4K个位置,就需要:4K需要2的12次方来表示,也就是页内地址有12个比特位,也就是页内地址需要12位。

因为一个十六进制位,对应4个二进制位(为啥是4个,因为那个1248相加的规律,也就是16进制快速转2进制的规律。如果不知道这个规律,那么你可能只有把它转换成二进制拆分末尾的12位出来再拼接,再转换成十六进制得到答案了),所以12÷4=3,也就是说,逻辑地址(十六进制)中,后面3个(C20)是页内地址,十六进制中最前面的数字(3)是页号。16进制的3也是10进制的3(这一步看情况转换,页表中的这些数字也没说是多少进制的,那么依据书上的页表,默认是十进制的,就需要转换。但是本题如果按照这个规律来解题,那么转不转无所谓因为表里面的数字还没超过15),所以把3当做页号,去页表里面去找对应的物理块号为6。

所以把6和页内地址C20拼接起来,也就是6C20,最后加个H表示16进制,所以最终答案是6C20H。

在一些非软考的考试中,有的题目把十六进制不写后缀H,而写前缀0x

背景知识请看文章:www.z21.org/article/10

请先 登录 后评论