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