如果我们取消引用用户空间和内核空间中的空指针会发生什么?
据我了解,行为基于编译器、架构等。
但通常对于分配有虚拟内存的每个用户空间程序,分页用于使用页表将虚拟地址转换为物理地址。
因此,如果我们在用户空间中取消引用空指针,则该地址无效,因此将发生上下文切换,并且在内核中基于此空指针取消引用的中断“将出现分段错误或将出现页面错误错误”。
在内核空间中:
如果我们取消引用 NULL 指针,则可能会导致系统崩溃或内核可能无法从该调用返回。
我的理解是否正确?或任何其他信息缺失意味着请解释。
参考:我从这个“当我们在 C 中取消引用 NULL 指针时,OS 会发生什么? ”