- N +

什么是缺页

缺页(Page Fault)是计算机操作系统中的一种常见现象,它发生在进程试图访问内存中某个页面(即内存中的一页)时,该页面当前不在物理内存中。

具体来说,当以下情况发生时,会触发缺页:

1. 请求未在内存:进程请求访问的页面不在物理内存中,可能因为之前已经被其他进程占用或者根本就没有被加载到内存中。

2. 页面置换:如果内存中已经满了,操作系统需要从内存中移除一个页面来为新页面腾出空间。这个被移除的页面可能会被后续再次访问,这时就需要再次将其加载到内存中。

当发生缺页时,操作系统会执行以下步骤:

查找空闲页面:如果内存中有空闲页面,操作系统可以直接将需要访问的页面加载到这个空闲页面中。

选择置换页面:如果内存中没有空闲页面,操作系统需要选择一个页面进行置换。置换策略有多种,如最近最少使用(LRU)、随机置换等。

写入磁盘:被置换的页面被写入到磁盘上的交换空间(swap space)。

加载新页面:将需要的页面从磁盘加载到刚才置换出的页面位置。

更新页表:操作系统更新进程的页表,标记新页面在内存中的位置。

缺页是虚拟内存管理中不可避免的一部分,适当的缺页处理对于提高系统性能至关重要。过多的缺页会导致系统性能下降,因为磁盘I/O操作通常比内存访问要慢得多。

返回列表
上一篇:
下一篇: