Иерархии процессов

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

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

В качестве другого примера, поясняющего ту ключевую роль, которую играет иерархия процессов, давайте рассмотрим, как UNIX инициализирует саму себя при запуске сразу же после начальной загрузки компьютера. В загрузочном образе присутствует специальный процесс, называемый init. В начале своей работы он считывает файл, сообщающий о количестве терминалов. Затем он разветвляется, порождая по одному процессу на каждый терминал. Эти процессы ждут, пока кто-нибудь не зарегистрируется в системе. Если регистрация проходит успешно, процесс регистрации порождает оболочку для приема команд. Эти команды могут породить другие процессы и т. д. Таким образом, все процессы во всей системе принадлежат единому дереву, в корне которого находится процесс init.

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

2.1.5.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Иерархии процессов:

  1. Равенство и иерархия
  2. Равенство и иерархия
  3. Иерархия.
  4. Иерархия
  5. Иерархия
  6. Иерархия функций
  7. АРХАНГЕЛЫ И ВЫСШАЯ НЕБЕСНАЯ ИЕРАРХИЯ
  8. Иерархия
  9. Иерархия
  10. Таблица. Иерархия функций
  11. Иерархия человеческих потребностей (А. Маслоу).
  12. Глава шестнадцатая ВЫСШАЯ НЕБЕСНАЯ ИЕРАРХИЯ
  13. Глава пятнадцатая ИЕРАРХИЯ АНГЕЛОВ
  14. Очерк 2: Берт «Процесс — вот мое достояние. Именно процесс создает успех»
  15. Задания, мешающие когнитивному процессу (ЗМКП), и задания, помогающие когнитивному процессу (ЗПКП)
  16. ПРОЦЕСС НЕРВНЫЙ
  17. ПРОЦЕСС НАДСОЗНАТЕЛЬНЫЙ
  18. Психические процессы