程序开始的时候平凡页错误
当 CPU 开始打算执行这个地址的指令的时候,发现 0x0804800 到 900 都是空页面:
- CPU 就将控制权交给操作系统的专门的页错误处理例程
- 查询可执行程序到虚拟内存的映射关系表
- 通过找到空页面所在的 VMA 计算出相应的页面在可执行文件中的偏移
- 在物理内存中分配一个物理页面
- 将进程中的虚拟页和分配的物理页之间建立映射关系
- 将控制权还给进程,从刚才页错误的位置开始重新执行
2024年7月29日1分钟阅读
当 CPU 开始打算执行这个地址的指令的时候,发现 0x0804800 到 900 都是空页面: