Cla*_*dio
6
当您通过进程(即系统调用)输入内核代码时,内核被称为处于进程上下文中.这意味着内核是代表进程执行的.内核的执行与用户级同步,因此可以访问用户级.也可以调用休眠函数,因为调度程序能够调度新进程.
当您从硬件源(即中断)进入内核时,内核被称为处于中断上下文中.内核的执行在用户级别上是异步的,您不能对在用户级别执行的内容做任何假设.例如,某些资源可能处于某种不一致的状态.因此,代码无法阻止,因为调度程序无法安排新进程.
Rubini的书" Linux设备驱动程序"(第3版)可以在网上免费获得这种差异.