页表大小是通过页数乘以页表条目大小来确定的,为什么不乘以页数与页面大小
您可能会对什么是页面和什么是帧(在主内存中完成的内存划分(感到困惑。希望一个例子对您有所帮助。
假设您有一个大小为 1KB 的进程,您的主内存大小为 1MB。要将进程放入主内存中,您需要将进程分类为页面,以便进程中的每个页面都将放置在主内存中的一个帧中[所以页面大小==帧大小]
让您的页面大小 = 帧大小 = 32B = 25B
那么过程中的总页数为 1KB/32B = (210B(/25B
即 25
主存储器中的总帧数为 1MB/32B = (220B(/25B
即 215
现在我们需要将 25个进程页放在 215个内存帧中。页表将在这里帮助我们。
页表将有 2 个5 个条目(代表每个页面(,每个条目都将填充相应页面所在的帧号。
由于主存储器中有 2 个 15 帧,因此我们需要15位来表示帧号。
所以总页面大小将是
25 *15 = 480字节
附加说明
注1:在框架示例中,由于我们的页表大小大于页面大小,我们需要使用多级分页
注 2:在现实生活中,页表大小可能不仅仅是 15 位。相反,将为每个页表条目提供一些附加信息。