gpt4 book ai didi

linux - Linux 内核出现段错误后会发生什么?

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:00 25 4
gpt4 key购买 nike

当我考虑进行网络寻呼(从远程节点请求错误页面)时,我得到了这个问题:

首先,我们考虑以下步骤:

1) 用户空间程序尝试访问内存 X。

2)MMU遍历页表来找到X的物理地址。

3)在遍历页表时,它注意到页表条目无效。

4) CPU 陷阱并被 Linux 陷阱向量捕获。 (在ARM情况下,但我认为x86也是一样的,对吧?)

5)此时,我可以从远程节点检索正确的数据,复制到某个物理地址并将其映射到页表中。

6)问题来了:此时,在X处发生页错误的程序会安全地读取数据吗?那么,这是否意味着MMU或CPU以某种方式记住了页错误页表条目并返回到该条目并恢复页表的行走?

如果有不对的地方,请多多指教。

最佳答案

数据中止处理程序只是向 pc 分配与数据中止处理开始之前相同的值,并且指令将再次执行,并放置正确的数据,因此数据中止不会再次发生。

关于linux - Linux 内核出现段错误后会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18145425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com