В чем разница B / W TCB (блок управления потоком) и PCB (процесс)


Блок управления процессом (PCB)и блок управления потоком (TCB) используются в ядрах linux для того, чтобы иметь время на процессоре, делегированном им. В чем разница между ними?

Какая информация обычно хранится в блоке управления технологическим процессом (ПХД)?

3 5

3 ответа:

Некоторые примечательные поля, которые может содержать печатная плата, - это идентификатор процесса, идентификатор группы процессов, родительский процесс и дочерние процессы, указатель кучи, счетчик программ, состояние планирования (запущено, готово, заблокировано), разрешения (к каким системным ресурсам процесс имеет доступ), содержимое регистров общего назначения и открытые файлы.

TCB имеет несколько тех же полей, что и печатная плата (значения регистров, указатель стека, счетчик программ, состояние планирования), в дополнение к нескольким конкретным такие значения, как идентификатор потока и указатель на процесс, содержащий этот поток. Обратите внимание, что между потоками нет защиты.

В Linux есть структура task_struct, которая хранит информацию о потоке или процессе. Он объявлен в схед.h .

Печатная плата хранит информацию о процессе ядра. Например, адресные пространства и т. д...

Процесс может включать в себя различные потоки ядра. Оба управляются диспетчером и планировщиком.

TCB включает в себя информацию о потоке.

"блок управления процессом (PCB) и блок управления потоком (TCB) используются в ядрах, чтобы иметь время на ЦП, делегированном им" - обычно нет. Печатная плата будет иметь один или несколько УТС, связанных с ним. TCB описывает контекст выполнения, (например. указатель стека), текстолит контекст среды, (напр. сегменты памяти и разрешения).