【操作系统】一级页表与三级页表优劣对比

一级页表与三级页表优劣对比

一级页表

优势:
1、简单
	实现简单,仅需要维护一个页表即可。
2、访问速度快
	直接访问页表即可,中间无需其他查找操作,所以速度较快。
3、内存占用少
	仅需要一个页表即可支持页表映射,所需内存少。

劣势:
1、页表大小受限制,大虚拟内存空间不适用
	由于每个虚拟内存页对应一个页表项,当虚拟内存非常大,页表需要的物理内存随之增加,系统会进行限制。
2、访问效率(另一个角度会较低)
	页表是以线性结构存储页表项,虚拟空间很大时,页表项数量随之增大,查找速度慢,查找对应的物理页框也就慢了。
3、TLB缓存频繁缺失
	TLB缓存有限,虚拟空间很大,导致一级页表较大,导致TLB无法缓存最近使用的所有页表项,导致命中概率降低,查询转换速率降低。

三级页表

优势:
1、适用于大内存空间
	通过引入多级页表,可以将页表项分散到多个页表中存储(一级页表中,是将所有页表项存放于一个页表,这个页表占内存很大)
2、内存利用率高
	对于大内存空间,三级页表可以实现更细粒度的页表映射,提高内存利用率
3.灵活
	可以通过调整页表级别和页表大小满足不同内存空间需求
劣势:
1、复杂
	需要维护多个页表,各个页表间相互查找
2、访问速度
	由于需要在多个级别的页表间查找,耗时
3. 内存占用(从另一个角度看)
	由于需要维护几个级别的页表,所以若是在目标页表项少的场景下,会认为占用内存较多。

你可能感兴趣的:(操作系统,windows,linux)