操作系统中的按需分页是什么?

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

根据虚拟内存的概念,为了执行某个进程,只需要进程的一部分存在于主内存中,这意味着在任何给定时间只有少量页面会存在于主内存中。

然而,决定哪些页面需要保留在主内存中,哪些需要保留在辅助内存中,将是一件困难的事情,因为我们无法提前确定一个进程在特定时间会需要某个特定页面。

因此,为了解决这个问题,引入了按需分页的概念。它建议将所有帧的页面保留在辅助内存中,直到它们被需要为止。换句话说,它表明在需要之前不要将任何页面加载到主内存中。

当第一次在主内存中引用任何页面时,该页面将在辅助内存中找到。

之后,它可能存在于主内存中,也可能不存在,这取决于后面的教程中将要介绍的页面替换算法。

什么是页面错误?

如果引用的页面不存在于主内存中,就会发生丢失,这个概念称为页面丢失或页面错误。

CPU 必须从辅助内存中访问丢失的页面。如果页面错误次数非常高,那么系统的有效访问时间将变得非常高。

什么是抖动?

如果页面错误的数量等于引用的页面数量,或者页面错误的数量非常高,以至于 CPU 只能忙于从辅助内存中读取页面,那么有效访问时间将是 CPU 从辅助内存读取一个字所需的时间,并且这个时间会非常高。这个概念称为抖动。

如果页面错误率为 PF %,从辅助内存获取页面并重新启动所需的时间为 S(服务时间),内存访问时间为 ma,则有效访问时间可表示为:


下一个主题倒置页表