寻呼机如何猜测哪个页面在需求分页中将其带入内存?

时间:2014-08-08 14:38:14

标签: memory memory-management operating-system paging virtual-memory

当要交换进程时,寻呼机会在再次交换进程之前猜测将使用哪些页面。因此,寻呼机只会交换所需的页面。但是,寻呼机如何高级猜测这些特定页面是否必需?

3 个答案:

答案 0 :(得分:1)

它没有猜到。如果存在需求分页,则意味着:如果需要,它将进入内存(==进程想要读取它)。

虽然可以在需求之前使用某种类型的启发式方法来实现它,但实际上它并没有发生,因为这种类型的内存也可以有更好的用法:它可以用来缓存最后读/写磁盘块。

您还使用了一个术语:"在"中交换过程。在现代操作系统中,整个过程不会被换入/换出,只有他们的页面。在较旧的时候,流程被整体换入/换出,因为当时的分页无法处理。

答案 1 :(得分:1)

我最近有机会为小型实时操作系统实现请求分页管理器(DPM)。我无法代表大型和花哨的操作系统所做的事情,但在我工作的RTOS中,它没有做任何预测/猜测。它唯一的“猜测”是试图找出它应该逐出哪个页面以便为新页面腾出空间。

我需要一个通用的DPM - 可以在任何情况下使用的DPM。我采取了纯粹的反应方式;这是页面将被页面调用以响应某些要求它们存在的事件(例如页面错误)。我的DPM没有采取积极的方法(猜测提前需要哪些页面)。我这样做是为了避免招致以下处罚/费用:

  1. 开发更复杂代码的时间。
  2. 执行预测算法的时间。
  3. 预测未命中罚分(加载数据,保存数据和预测页面)
  4. 此外,主动方法仍然需要反应组件(及其成本)来处理预测缺失。采取被动方法更具成本效益。

答案 2 :(得分:1)

在为CPU分配进程之前,Pager不会猜测任何内容。一旦进程进入运行状态,它的一些页面将被加载到主存储器中,然后请求分页将出现在页面中,页面将根据进程的需求被换出/换出。