OS 基础教程

进程管理

同步

死锁

内存管理

文件管理

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/os-demand-paging.html

按需分页


根据虚拟内存的概念,要执行某个进程,只需要在主内存中存在一部分过程,这意味着在任何时候只有少数几页才会出现在主内存中。

但是,决定哪些页面需要保存在主存储器中,哪些页面需要保存在辅助存储器中,这很困难,因为不能预先说明某个过程在特定时间需要特定的页面。

因此,为了克服这个问题,有一个叫做按需分页(Demand Paging)的概念被引入。 它建议将所有帧的页面保留在辅助存储器中,直到它们被需要为止。 换句话说,它表示在需要之前不要在主内存中加载任何页面。

每当首次在主存中引用任何页面时,该页面将在辅助存储器中找到。

之后,它可能会或可能不会出现在主内存中,具体取决于本教程后面将介绍的页面替换算法。

什么是页面错误?

如果引用的页面不存在于主内存中,那么将会有一个未命中的概念被称为页面遗漏或页面错误。

CPU必须从辅助存储器访问遗漏页面。 如果页面错误的数量非常多,那么系统的有效访问时间将变得非常高。

什么是抖动?

如果页面错误的数量等于参考页面的数量或者页面错误的数量如此之高以致CPU在从辅助存储器读取页面时仍然忙,则有效访问时间将是 CPU从辅助存储器读取一个字。 这个概念被称为抖动

如果页面错误率为PF%,则从辅助存储器获取页面并再次重新启动所需的时间为S(服务时间),并且存储器访问时间为ma,那么有效访问时间可以表示为;

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