CU论坛里有个哥们问关于内核抢占的问题,索性就直接总结一下吧:

用户态:
(1)从系统调用返回用户空间
(2)从中断处理流程返回用户空间
内核态:
(1)从中断处理流程返回内核空间,且内核具有可抢占性
(2)当内核再次具有可抢占性(如spin_unlock)
(3)内核显示调用schedule()
(4)内核中任务阻塞
10-12 07:57