页面错误是否必然导致Linux中的上下文切换?

时间:2014-04-03 17:51:23

标签: linux multithreading linux-kernel

虽然我知道某些上下文切换是由页面错误引起的,但是页面错误肯定会导致上下文切换吗?

2 个答案:

答案 0 :(得分:0)

页面错误可以在用户模式或内核模式下发生。如果它在用户模式下发生,则无论结果如何,都会导致上下文切换。并且在内核模式下,除了上下文切换之外,因为访问地址0可能导致内核崩溃。

答案 1 :(得分:0)

是。如果发生这种情况是因为您在用户模式下的程序会导致" page_fault"它运行的CPU接收" page_fault"的中断。并且当前执行的上下文必须保存在系统的堆栈空间中(通常是执行此操作的固件),以便将控件传递给" page_fault" (" ENTRY(page_fault)"在/kernel/entry.S中定义。)