BSD, Процессы, Структура

Группы процессов и сеансы

Группа процессов является совокупностью связанных процессов, таких, как конвейер оболочки, каждому из которых присвоен один и тот же идентификатор группы про­цессов. Идентификатор группы процессов равен PID начального участника группы процессов; таким образом, идентификаторы группы процессов разделяют пространст­во имен идентификаторов процессов. Когда создается новая группа процессов, ядро выделяет структуру группы процессов, которая будет с ней связана. Эта структура группы процессов записывается в хеш-таблицу таким образом, чтобы ее можно было быстро найти.

Структура потока

Структура потока

Планирование:

  • приоритет потока,
  • приоритет планирования режима пользователя,
  • недавнее использование процессора
  • количество времени, проведенного в состоя­нии сна.

Структура процесса (часть 2)

Процессорное время выделяется потокам в соответствии с их классами планирова­ния и приоритетами планирования. Ядро FreeBSD имеет два класса планирования ядра и три пользовательских класса планирования. Ядро всегда запускает поток, находящийся в классе с наивысшим приоритетом. Любые потоки прерывания ядра имеют преимущество при запуске по сравнению с другими, за ними следуют любые потоки верхней половины ядра. Любые готовые к выполнению потоки реального времени имеют преимущество перед потоками в классах с разделением вре­мени и ожидающих.

Структура процесса

  • Идентификация процесса: PID и PID родителя.
  • Состояние сигнала: ожидающие доставки сигналы, маска сигналов и сводка дей­ствий сигналов.
  • Трассировка: сведения о трассировке процесса.
  • Таймеры: таймер реального времени и счетчики использования процессора.
  • Подструктуры процесса содержат следующие категории сведений.
  • Идентификация группы процессов: группа процесса и сеанс, к которому относится процесс.
  • Мандаты пользователя: действительный, эффективный и сохраненный идентифи­каторы пользователя и г

Состояния процесса

Каждому процессу в системе назначается уникальный идентификатор, который назы­вается идентификатором процесса (PID). PID является обычным механизмом, используемым приложениями и ядром для обозначения процессов. PID используется приложениями, когда последние посылают процессу сигнал и когда они получают статус завершения процесса. Для каждого процесса особенно важны два PID: PID самого процесса и PID его родительского процесса.

RSS-материал