什么是计算机体系结构中的页面替换?

虚拟内存组织是硬件和软件系统的整合。它可以有效利用内存空间,所有软件操作都由内存管理软件处理。

硬件映射系统和内存管理软件共同构成了虚拟内存的结构。

当程序执行开始时,一个或多个页面被传送到主存中,并设置页表来表示它们的位置。该程序是在为不在内存中的页面创建引用之前从主内存中实现的。此事件被定义为页面错误。

当页面错误出现时,直接执行的程序就在所需页面被传送到主存储器之前停止。因为从辅助内存加载一个页面到主内存的行为是一个 I/O 操作,所以操作框架为 I/O 处理器创建了这个函数。

在此时间间隔内,控制转移到主存储器中等待 CPU 准备的下一个程序。在分配并移动内存块后不久,挂起的程序就可以恢复执行。

如果主存已满,则无法移入新页面。因此,从内存块中移除页面以保存新页面非常重要。从内存中删除特定页面的决定由替换算法决定。

有两种常用的替换算法是先进先出 (FIFO) 和最近最少使用 (LRU)。

FIFO 算法选择替换已在内存中最长时间的页面。每次将页面加权到内存中时,其标识号都会被推送到 FIFO 堆栈中。

只要内存不再有空块,FIFO 就会完成。当应该加载一个新页面时,当前最少传输的页面将被删除。要删除的页面很简单,因为它的标识号位于 FIFO 堆栈的高位。

FIFO 替换策略的优点是易于执行。它的缺点是在特定情况下页面从内存中删除和加载过于频繁。

LRU 策略执行起来更复杂,但更有趣的是假设最近最少使用的页面比 FIFO 中的最近最少加载的页面更适合删除。LRU 算法可以通过将计数器与主存储器中的每个页面相关联来执行。

当一个页面被引用时,它的相关计数器被设置为零。在永久的时间间隔内,与内存中所有页面相关的计数器加 1。

最近最少使用的页面是计数最大的页面。计数器被称为老化寄存器,因为它们的计数表示它们的年龄,即它们的相关页面在多长时间前被引用。