她轻轻地把鱼儿放在那池清水里,鱼儿摇了摇尾巴,游走了,只剩下她随风摇动的裙摆和水面微微泛起的涟漪
概述
什么是缺页异常
当一个进程试图访问一个地址,但是这个地址对应的内存尚未被加载进系统RAM中,那么将会产生一个pagefault
缺页异常种类
缺页异常一般由如下两种情况触发:
- 编程错误引起的异常
- 由于懒分配导致的引用属于进程但是尚未分配物理页框的页
常见场景如下:
- 映射关系未建立
- malloc/mmap申请的虚拟空间未分配实际物理页,首次访问触发缺页异常
- 映射关系已建立
- 访问的页面被置换入磁盘中
- fork子进程时,父子进程共享地址空间,写时触发写时拷贝(copy on write)
- 访问地址空间不合法,用户空间访问内核空间,或者内核空间访问用户空间
缺页异常处理程序
参考文献
- 1. ↩