校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 专业课 > 分页、分段
题目

一个有64MB物理内存的机器使用32位虚拟地址空间。假设内存页面大小为4KB,单个页表项的大小对齐到Byte,则整个页表的大小约为

A.16 MB

B.8 MB

C.2 MB

D.24 MB

解答

正确答案是 C

虚地址32位:虚页号(20位)+页内偏移(12位)
实地址27位:实页号(15位)+页内偏移(12位)
每个程序虚拟空间最多可有:220个虚页;
每个页表项:1位(有效位)+15位(实页号)=16位;
每个页表所占空间:220 X 16 = 16Mb = 2MB

C 3条回复 评论
csdn

深入浅出

发表于 2022-01-27 21:00:00
0 0
雾岛残月

看了两遍,慢慢消化吸收知识点

发表于 2021-09-10 09:20:00
0 0
沈振衣

终于做出来了。。。
内存以Byte为一个单位,32位指的是2的32次方Byte

虚拟地址32位,即4GB

虚拟空间4G,一个页大小为4KB,即2的12次方Byte,也就是有

虚拟页号(20位)+页内地址(12位)的地址结构。

可以有2的20次方个虚页。

物理空间64MB,即2的10+10+6次方Byte,页块空间对应,所以实际物理空间地址为:

实页号(14位)+页内地址(12位)。

实页号(14)位就是一个页表项,需要14bit空间存储一个页表项,又因为页表项大小对其到Byte,所以用2B存储一个页表项

共有虚页数个页表项,即有2的20次方个页表项,则整个页表大小位2的20+1次方个B,即2MB

发表于 2020-04-28 17:15:54
0 0