内存访问期间缺少分页符。
详细介绍:
直到需要特定虚拟内存区域中的数据时,虚拟内存和物理内存的关系才建立起来。如果进程访问尚未映射到页框的虚拟地址空间,处理器会自动抛出页错误异常,内核必须处理该异常。这是内存管理最重要和最复杂的方面之一。
因为有无数的细节需要考虑,页面错误是由于访问用户地址空间中的有效地址引起的还是应用程序试图访问受保护的区域?核心?目标地址与现有映射匹配吗?应该用什么方法来找到这个位置的地址?
丢失页面管理的实现因处理器而异。
常见场景:
地址空间映射连接未建立:内核提供了几个接口函数malloc/map来引用内存,实现了虚拟地址间但实际地址空间没有分配。
当一个进程第一次创建并运行时,该页面会带有许多缺页异常空间,第一次访问时就会出现缺页异常。
地址空间映射建立:访问的页面被移动到磁盘。父进程触发缺页错误(COW技术)需要访问的页面由KSM集成,写入时触发缺页错误(COW技术)。
由于用户空间访问内核空间地址,因此内核空间不会通过触发用户空间地址来检测页面错误。页面错误的实现根据情况不同而不同,本文使用ARMV7架构来学习。
上一篇:vmware虚拟机安装闪退
下一篇:计算机的可用内存不足怎么释放