首页 > 试题广场 >

一个有64MB物理内存的机器使用32位虚拟地址空间。假设内存

[单选题]
一个有64MB物理内存的机器使用32位虚拟地址空间。假设内存页面大小为4KB,单个页表项的大小对齐到Byte,则整个页表的大小约为
  • 16 MB
  • 8 MB
  • 2 MB
  • 24 MB
终于做出来了。。。

内存以Byte为一个单位,32位指的是232次方Byte

虚拟地址32位,即4GB

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

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

可以有220次方个虚页。

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

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

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

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


发表于 2020-03-22 00:53:21 回复(6)
图片中题目物理内存为128MB。但本体内存位64MB,所以实页号只有14,但最后结果还是2MB,实页号为14的时候,有一个有效位和一个修改位,页表项是实页号加2等于15位,最后结果还是2MB。这么理解有问题不
发表于 2020-03-21 22:31:27 回复(2)
虚地址32位:虚页号(20位)+页内偏移(12位)
实地址27位:实页号(15位)+页内偏移(12位)
每个程序虚拟空间最多可有:220个虚页;
每个页表项:1位(有效位)+15位(实页号)=16位;
每个页表所占空间:220 X 16 = 16Mb = 2MB
发表于 2020-03-20 22:45:31 回复(0)