一个用户线程能够直接进入内核而不需要调用内核线程吗?

3

一个用户线程能直接进入内核,而不需要调用任何内核线程吗? 我的意思是,用户空间通过异常进入内核,而没有调用任何内核线程,但在内核代码中运行。谢谢!


你对问题不是很清楚吗?内核会在中断时被输入,可以是来自运行线程的软件中断(系统调用),也可以是来自外围设备/控制器的硬件中断(例如磁盘、网卡、鼠标、键盘)。 - Martin James
1个回答

6

是的,他们可以。用户线程在系统调用、中断和异常时经常进入内核。当内核处理其中之一时,它会在用户线程的上下文中以内核模式运行(并使用该线程的内核堆栈)。

事实上,“内核线程”被定义为从不退出内核的定期任务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接