按需分页

根据虚拟内存的概念, 为了执行某些线程, 仅一部分线程需要存在于主存储器中, 这意味着在任何时候仅几页将仅存在于主存储器中。
但是, 很难确定哪些页面需要保留在主存储器中, 哪些页面需要保留在辅助存储器中, 因为我们无法提前说一个线程在特定时间需要特定页面。
因此, 为了克服这个问题, 引入了一种称为按需分页的概念。它建议将所有帧的页面保留在辅助存储器中, 直到需要它们为止。换句话说, 它表示直到需要时才在主存储器中加载任何页面。
每当主存储器中第一次引用任何页面时, 该页面就会在辅助存储器中找到。
【按需分页】之后, 它可能会或可能不会出现在主存储器中, 具体取决于页面替换算法, 这将在本教程的后面部分介绍。
什么是页面错误?
如果所引用的页面不存在于主存储器中, 则将出现未命中, 该概念称为页面未命中或页面错误。
CPU必须从辅助存储器访问丢失的页面。如果页面错误数非常高, 则系统的有效访问时间将非常长。
什么是掷粒?
如果页面错误的数量等于被引用页面的数量, 或者页面错误的数量如此之大, 以致于CPU仍然忙于仅从辅助存储器读取页面, 则有效访问时间将是指CPU从辅助内存中读取一个字, 它将非常高。这个概念称为颠簸。
如果页面错误率是PF%, 则从辅助存储器获取页面并再次重新启动所花费的时间为S(服务时间), 并且存储器访问时间为ma, 则有效访问时间可以指定为:

EAT = PF X S + (1 - PF) X (ma)

    推荐阅读