linux中的线程控制块

时间:2011-11-23 14:45:26

标签: linux linux-kernel

在linux中的线程上下文切换期间,用于保存线程状态如PC,SP和寄存器的结构是什么?相当于freebsd中的TCB。如果可能,请指向源文件here

请注意,PCB本身是不够的,因为每个线程每个进程都有PC,SP等。

2 个答案:

答案 0 :(得分:7)

实际上是task_struct。在Linux中,任务可以是线程,进程或介于两者之间的某种东西。线程只是您为与其他任务共享大多数事物(VMA,文件描述符等)的任务提供的名称。

这与线程只是一种特定的过程,并且可以通过相同的函数等处理的想法非常一致...... Plan 9的rfork()和Linux的clone()允许创建一个具有可定制级别共享的流程,因此您最终使用相同的机制来创建流程和线程。

答案 1 :(得分:1)

也许你想要setcontext和朋友(但你的代码不是非常便携,而且很难做到正确)?

或者你在内核里面说话?那么也许task_struct可能就是你想要的东西?