блок управления процессом и дескриптор процесса - PullRequest
0 голосов
/ 10 февраля 2011

какая точная разница между process control block и process descriptor?.

Я читал о ядре Linux. Было написано, что существует некоторая структура thread_info, которая содержит указатель на фактическую таблицу дескрипторов процесса. Было написано, что thread_info находится чуть выше / ниже стека ядра. Так что определенно thread_info находится в основной памяти. Но как насчет фактического дескриптора процесса task_struct? где он находится? Если дескриптор процесса находится в основной памяти, где его место?

Ответы [ 2 ]

3 голосов
/ 11 февраля 2011

Структуры thread_info и task_struct - это просто две разные структуры, которые содержат разные фрагменты информации о потоке, а thread_info содержит больше специфических для архитектуры данных чем task_struct. Имеет смысл разделить информацию, а не сохранять ее в одной структуре. (Хотя вы можете поместить их в одну структуру; ядро ​​Linux 2.4 сделало это.)

Как распределяются эти структуры, зависит от используемой вами архитектуры. Соответствующие функции, которые вы хотите изучить: alloc_task_struct() и alloc_thread_info().

1 голос
/ 14 октября 2011

В ядре дескриптор процесса представляет собой структуру с именем task_struct, которая отслеживает атрибуты процесса и информацию.Вся информация о процессах в ядре находится там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...