在虚拟存储系统中,页表 是映射程序和内存的关系表,它的作用是可以将页调入内存。
页表项是页表的重要部分,可以进行索引,得到页号,从而得到物理内存地址。
假设,计算机是32位,则页表项的大小就是4B(32bit),而页的大小是4KB(212),则页号的大小则为220。那么也就是说,一个程序所配置一个页表的大小就是220*4B = 4MB,并且在进行地址对比时,需要消耗比较多的时间,浪费空间和时间,不切实际。
上面问题中所使用的页表是单级页表。为了解决问题,引用二级页表,即顶级页表 -> 二级页表 -> 页框。
上面例子中,4KB / 4B = 1K = 212,也就是说可以放212个页表项,那么我们要单独来设置该种页表。(也就是说,我们尽量填满一张表为 一张页表),这个表作为二级表,剩下28来充当顶级页表。检索的过程如下:
1、 操作系统 :两级页表
2、 页 页表 页表项