陷入,中断和驱动程序 运行进程时,cpu 一直处于一个大循环中:取指,更新 PC,执行,取指…….但有些情况下用户程序需要进入内核,而不是执行下一条用户指令.这些情况包括设备信号的发出.用户程序的非法操作(例如引用一个找不到页表项的虚拟地址).处理这些情况面临三大挑战:1)内核必须使处理器能够从用户态转换到内核态(并且再转换回用户态)2)内核和设备必须协调好他们并行的活动.3)内核必须知道硬件接口的细节.解决这三个问题需要对硬件的深入理解和小心翼翼的编程,并且有可能导致难以理解的内核代码.这一章…