Группа процессов является совокупностью связанных процессов, таких, как конвейер оболочки, каждому из которых присвоен один и тот же идентификатор группы процессов. Идентификатор группы процессов равен PID начального участника группы процессов; таким образом, идентификаторы группы процессов разделяют пространство имен идентификаторов процессов. Когда создается новая группа процессов, ядро выделяет структуру группы процессов, которая будет с ней связана. Эта структура группы процессов записывается в хеш-таблицу таким образом, чтобы ее можно было быстро найти.
Структура потока
Планирование:
Процессорное время выделяется потокам в соответствии с их классами планирования и приоритетами планирования. Ядро FreeBSD имеет два класса планирования ядра и три пользовательских класса планирования. Ядро всегда запускает поток, находящийся в классе с наивысшим приоритетом. Любые потоки прерывания ядра имеют преимущество при запуске по сравнению с другими, за ними следуют любые потоки верхней половины ядра. Любые готовые к выполнению потоки реального времени имеют преимущество перед потоками в классах с разделением времени и ожидающих.
Каждому процессу в системе назначается уникальный идентификатор, который называется идентификатором процесса (PID). PID является обычным механизмом, используемым приложениями и ядром для обозначения процессов. PID используется приложениями, когда последние посылают процессу сигнал и когда они получают статус завершения процесса. Для каждого процесса особенно важны два PID: PID самого процесса и PID его родительского процесса.