【问题标题】:process control block vs process descriptor进程控制块与进程描述符
【发布时间】:2011-06-24 15:38:09
【问题描述】:

process control blockprocess descriptor 之间的确切区别是什么?

我正在阅读有关 linux 内核的信息。据说有一些thread_info 结构包含指向实际进程描述符表的指针。据说thread_info 位于内核堆栈的上方/下方。所以肯定thread_info 在主内存中。但是实际的进程描述符task_struct呢?它在哪里?如果进程描述符驻留在主内存中,它的实际位置在哪里?

【问题讨论】:

    标签: process linux-kernel


    【解决方案1】:

    thread_infotask_struct 结构只是两个不同的结构,它们保存有关线程的不同信息,thread_infotask_struct 保存更多特定于体系结构的数据。拆分信息而不是将其全部保存在同一结构中更有意义。 (尽管您可以将它们放在同一个结构中;2.4 Linux 内核就是这样做的。)

    这些结构的分配方式取决于您使用的架构。您要检查的相关函数是alloc_task_struct()alloc_thread_info()

    【讨论】:

      【解决方案2】:

      在内核中,进程描述符是一个叫做task_struct的结构,它跟踪进程的属性和信息。在那里可以找到有关进程的所有内核信息。

      【讨论】:

        猜你喜欢
        • 2018-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-13
        • 2012-04-29
        相关资源
        最近更新 更多