操作系统
2013-46
某计算机主存按字节编址,逻辑地址和物理地址都是32位,页表项大小为4字节。请回答下列问题。
(1)若使用一级页表的分页存储管理方式,逻辑地址结构如下:

则页的大小是多少字节?页表最大占用多少字节?
(2)若使用二级页表的分页存储管理方式,逻辑地址结构如下:

设逻辑地址为LA,请分别给出其对应的页目录号和页表索引的表达式。
(3)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为0000 8000H,其长度为8KB,被装载到从物理地址0090 0000H开始的连续主存空间中。页表从主存0020 0000H开始的物理地址处连续存放,如下图所示(地址大小自下向上递增)。请计算出该代码段对应的两个页表项的物理地址、这两个页表项中的页框号以及代码页面2的起始物理地址。

答案
(1)页大小:4KB;页表最大占用:4MB。
(2)页目录号: LA >> 22 (或 ((unsigned int)(LA)) >> 22 );页表索引: (LA >> 12) & 0x3FF (或 ((unsigned int)(LA)) >> 12 & 0x3FF )。
(3)代码页面 2 的页表项物理地址为 0020 0024H,页框号为 00901H;代码页面 1 的页表项物理地址为 0020 0020H,页框号为 00900H。代码页面 2 的起始物理地址为 0090 1000H。