页表管理机制中有两个非常重要的概念,快表和多级页表,在分页内存管理中,很重要的两点是:1. 虚拟地址到物理地址的转换要快。2. 解决虚拟地址空间大,页表也会有很大的问题。
快表:为了解决虚拟地址到物理地址的转换速度,操作系统在页表方案基础上引入了快表来加速虚拟地址到物理地址的转换。我们可以把快表理解成一种高速缓冲存储器(cache),其中的内容是页表的一部分或者全部内容。作为页表的cache,它的作用与页表相似,但是为了提高了访问速率。由于采用页表做地址转换,读写内存数据时要访问两次主存,有了快表,有时只要访问一次高速缓存,一次主存,这样加速查找并提高了访问速率。使用快表之后的地址转换流程是这样的:1. 根据虚拟地址中的页号查快表;2. 如果该页在快表中,直接从快表中读取相应的物理地址;3. 如果该页不在快表中,访问内存中的页表,再从页表中得到相应的物理地址,同时将页表中的该映射项添加到快表中;4. 当快表填满后,又要登记新页时,就按照一定的淘汰策略淘汰其中一页。
多级页表:引入多级页表的主要目的是为了避免把全部页表一直放在内存中占用过多空间,特别是那些根本不需要的页表不需要保留在内存中。
总结:为了提高内存你的空间性能,提出了多级页表的概念,提升空间性能是以浪费时间性能为基础的,所以为了补充浪费的时间性能,提出了快表的概念。