linux中的线程控制块

linux中的线程控制块,linux,linux-kernel,Linux,Linux Kernel,在linux中,在线程上下文切换期间,用于保存PC、SP和寄存器等线程状态的结构是什么?与freebsd中的TCB等效。如果可能,请指向源文件 请注意,PCB本身是不够的,因为我们每个线程而不是每个进程都有PC、SP等。也许你想要和朋友(但你的代码不是很好移植,而且很难正确使用) 或者您是从内核内部说话的?那么可能就是你要找的东西了???它实际上是任务结构。在Linux中,任务可以是线程、进程或介于两者之间的任何东西。线程只是您为与其他任务共享大部分内容(VMA、文件描述符等)的任务指定的名称

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

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

也许你想要和朋友(但你的代码不是很好移植,而且很难正确使用)


或者您是从内核内部说话的?那么可能就是你要找的东西了???

它实际上是任务结构。在Linux中,任务可以是线程、进程或介于两者之间的任何东西。线程只是您为与其他任务共享大部分内容(VMA、文件描述符等)的任务指定的名称


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

是的-我正在寻找更晚的-但我不确定task结构的线程信息是否正确,因为它似乎没有任何结构来存储上下文切换期间的寄存器。事实上,task_struct就是PCB。我不知道答案,但是从
task_struct
你可能可以得到一个地址空间的表示,从一个地址空间,得到拥有它的线程任务列表?