+ -
当前位置:首页 → 问答吧 → 怎样根据task_struct判断该任务是内核线程还是用户进程?

怎样根据task_struct判断该任务是内核线程还是用户进程?

时间:2005-12-21

来源:互联网

怎样根据task_struct判断该任务是内核线程还是用户进程?
谢谢

作者: guoys   发布时间: 2005-12-21

看他的mm struct就可以了应该,内核进程没有自己的mm struct

作者: xieweiyi   发布时间: 2005-12-22

你为什么要判断一个认为是否是内核线程,说说你的理由!一般情况下都不需要判断。

作者: camelguo   发布时间: 2006-03-07

掉电保护时用到。
掉电中断产生时向所有task发送信号,给内核线程发我怕会导致内核崩溃。

作者: guoys   发布时间: 2006-03-07

给内核线程发信号,内核线程很有可能收不到。根据posix标准,中断出口处,系统将判断是否需要返回用户态,如果需要才检查是否有信号pending,以处理信号。内核线程没有用户空间,所以永远不可能返回到用户态。也就没有机会检查。不过,有些体系结构却在内核态检查是否存在pending中断。你看看《IA-64 linux内核设计与实现》就明白了。

作者: camelguo   发布时间: 2006-03-07

过于深奥

作者: guoys   发布时间: 2006-03-08