页面调度涉及许多不同的算法,它们各有优缺点。
1.先进先出(FIFO):
- 优点 –
- 它简单易懂,易于实现。
- 缺点——
- 处理效率低。
- 当我们在使用 FIFO 时增加帧数时,我们为进程提供了更多内存。因此,页面错误应该减少,但这里的页面错误正在增加。这个问题被称为 Belady 异常。
- 每一帧都需要考虑。
2. 最近最少使用(LRU):
- 优点 –
- 它是开放的以供全面分析。
- 在这里,我们替换了最近最少使用的页面,从而摆脱了 Belady 的异常。
- 易于选择出现故障且长时间未使用的页面。
- 缺点——
- 它需要实现额外的数据结构。
- 硬件帮助很高。
3. 最佳页面替换 (OPR):
- 优点 –
- 复杂性较低且易于实现。
- 所需的帮助很低,即使用的数据结构简单明了。
- 缺点——
- OPR 是完美的,但在实践中是不可能的,因为操作系统无法知道未来的请求。
- 错误处理很困难。
虽然 FIFO 和 LRU 各有优缺点,但 OPR 被用作衡量其他算法性能的基准。所以根据情况使用适当的算法。