您是否可以指出我在Linux内核中如何交换线程?
答案 0 :(得分:3)
虽然我对内核没有深入了解,但内核threads
(& processes
)的AFAIK显示为tasks
。 tasks
之间的切换称为context switch
。调度程序通过schedule
(http://lxr.linux.no/linux+v3.0.4/kernel/sched.c#L4247)中的kernel/sched.c
调用触发上下文切换。在调用schedule
函数context_switch
时调用内存映射&注册新线程的值。我建议看看schedule
功能
P.S。:您可以使用http://lxr.linux.no在线浏览内核代码
希望这有帮助!