【发布时间】:2016-05-16 07:56:24
【问题描述】:
如果我们在用户空间和内核空间取消引用空指针会发生什么?
据我了解,行为基于编译器、架构等。
但通常对于每个分配有虚拟内存的用户空间程序,分页用于使用页表将虚拟地址转换为物理地址。
所以如果我们在用户空间中取消引用空指针,该地址是无效的,因此上下文切换将发生,并且在内核中基于此空指针取消引用的中断'Segmentation fault will come or page fault error will come'。
在内核空间中:
如果我们取消引用 NULL 指针,系统可能会崩溃,或者内核可能无法从该调用返回。
我的理解是否正确?或任何其他信息缺失意味着请解释。
Ref:我从这个“What happens in OS when we dereference a NULL pointer in C?”了解到
【问题讨论】: