看深入理解linux 内核 第三版,中断与异常一章,“大多说异常只在CPU处于用户态时发生,然而,page fault 异常发生在内核态" 。 对这句话百思不得其解,难道page fault都是在内核态发生的嘛? 只要要访问的内存被换出,任何move 指令不是都可以导致page fault嘛? 这个问题确实令我自责了许久,从决定开始学习kernel到现在,已经比较长的一段时间了,在一些基本概念上咋还是理解不透捏?
后来查到原来是作者翻译的时候漏掉了可能二字。即 page fault 可能发生在内核态。虽然只差了两个字,在上面的语境里面,意思却一个发生了很大变化