查找最佳页面大小

2024 年 8 月 28 日 | 阅读 2 分钟

我们已经看到,较大的页面表大小会带来额外的开销,因为我们必须将该表分成页面,然后将其存储在主内存中。

我们的关注点必须是正在执行的进程,而不是页面表的执行。页面表为进程的执行提供了支持。页面表越大,开销就越高。

我们知道:

将有 100 万个页面,这是一个相当大的数字。但是,试着将页面大小增大,比如 2MB。

那么,页面表中的页面数量 = (2 X 2 ^ 30)/(2 X 2 ^ 20) = 1K 个页面。

如果我们比较这两种情况,我们可以发现页面表大小与页面大小成反比。

在分页中,最后一个页面总是有浪费。如果虚拟地址空间不是页面大小的倍数,那么将会有一些剩余字节,并且我们必须为这些字节分配一个完整的页面。这纯粹是一种开销。

让我们考虑一下:

将有 9 个页面,尽管第 9 个页面只包含 1 个字节,剩余的页面将被浪费。

一般来说,

平均而言,虚拟空间中浪费的页面数量是 p/2(总页面数的一半)。

为了达到最小的开销:

因此,如果页面大小为 √(2.S.e) 字节,则开销将最小。


下一个主题虚拟内存