我们能否在无穷大或荒谬的数量下实现 0 页面错误率?

Can we ever have 0 page fault rate with an infinite, or an absurd amount of it?

我有一份操作系统课程的作业。其中一个问题要求我解释为什么 possible/not 页面错误率可能为 0。一个真实的系统可以有足够的 RAM 以完全没有页面错误吗?

我在想,也许如果我们有无限量的 RAM,就不需要虚拟内存,因此就不会有页面错误。我得出这个结论是因为页面错误发生在进程请求虚拟内存而不是物理内存中的内存页面时。也许有无限量的 RAM,进程需要的所有内存都在物理内存上,不需要分页。

是的,你可以。有时我们不能容忍页面错误,任何页面错误都是注定的。对于初学者来说,中断处理程序可能不会出现页面错误,因为它们可能不会等待。

除此之外,有时规范会显示 "must respond in 1/60th of a second",其中不响应的后果是发生坏事。根据后果的严重程度,我们可能会竭尽全力确保页面错误不会在初始化后发生。

是的,这意味着有足够的 RAM,但仅此是不够的。有系统调用将页面锁定到 RAM 中,这样它们就永远不会被驱逐,否则 OS 会回收空闲 RAM 以支持磁盘缓存。当我们不能容忍这种行为时...

一些嵌入式操作系统甚至不能分页。