一个32位的计算机系统中,虚拟存储系统采用了物理地址扩展的三级分页方式,第一级页表占用地址的最高2位,第二、三级页表依次占用9位地址,最低12位用于页内偏移量,如图2—3所示。 一个进程的地址空间为4 GB,每个页表项占用8个字节,请问: (1)一个

admin2013-12-31  31

问题 一个32位的计算机系统中,虚拟存储系统采用了物理地址扩展的三级分页方式,第一级页表占用地址的最高2位,第二、三级页表依次占用9位地址,最低12位用于页内偏移量,如图2—3所示。

  一个进程的地址空间为4 GB,每个页表项占用8个字节,请问:
(1)一个进程最多有多少个页面?
(2)一级、二级以及三级页表各为多大?一共占用多少存储空间?
(3)为提高效率,一级页表和二级页表全部装入内存,三级页表只装入一页,若从OxC8000000开始顺序映射三级页表、二级页表和一级页表,请计算列出上述三组页表在内存中的地址范围。

选项

答案(1)32位系统中,一个进程的大小为232=4 GB,页面大小为212=4KB,所以,一个进程最多可以有4GB/4KB=1M个页面。 (2)一级页表2位,22=4项,占4×8B=32字节,占用1页。二级页表9位,29=512项,占512×8B=4KB大小,被一级页表索引,共4页,二级页表9位,29=51 2项,占512×8B=4KB大小,被二级页表索引,共4×512=2 048页,因此,总共占用1+4+2048=2053页的存储空间。 (3)为提高效率,系统运行中仅调入一级和二级页表,三级页表只调入1页,共6页,因此,按三级、二级和一级的次序从内存0xC8000000开始存放,地址如表2-6所列。 [*]

解析
转载请注明原文地址:https://jikaoti.com/ti/0CajFFFM
0

最新回复(0)