缺页中断(Page Fault) 是操作系统内存管理机制中的一个核心概念。简单来说,它是当程序试图访问一块“逻辑上存在”但“物理上暂时不在内存中”的数据时,硬件(CPU/MMU)向操作系统发出的一个“求救信号”。 下面我将从定义、分类、以及操作系统的处理流程三个方面详细解答。 --- 1. 什么是缺页中断? 在现代操作系统中,程序使用的是虚拟内存(Virtual Memory)。程序认为自己拥有一大片连续的内存空间,但实际上,这些虚拟内存被切分成一个个固定大小的页(Page)。 正常情况: 当程序访问某个虚拟地址时,硬件(MMU,内存管理单元)会查询页表(Page Table),如果发现这个页已经映射到了物理内存(RAM)中,就直接进行读写。 缺页中断: 如果MMU查询页表时,发现该页的“存在位”(Present Bit)为 0,说明该页当前不在物理内存中(可能在硬盘的Swap分区,或者还未分配),此时MMU就会触发一个异常(Exception),这就是缺页中断。 通俗类比: 你去图书馆借书(访问数据)。 如果你要的书在书架上(在物理内存中),你直接拿走看(正常访问)。 如果你要...