Группы процессов. Каждый процесс относится к определенной группе процессов, которая идентифицируется через идентификатор группы процессов (process group ID). Этот механизм используется ядром для проведения некоторых действий сразу над всеми процессами группы. Каждая группа может иметь лидера. Лидер группы — это процесс, имеющий PID, совпадающий с идентификатором группы процессов. Обычно процесс наследует идентификатор группы от своего предка, а все остальные процессы в группе являются потомками лидера.
Управляющий терминал. Любой процесс может обладать управляющим терминалом. Чаще всего это терминал входа в систему, от которого процесс был создан. Все процессы одной группы разделяют между собой один и тот же управляющий терминал.
Файл /dev/tty. С управляющим терминалом каждого процесса связан специальный файл /dev/tty. Драйвер устройства, связанный с этим файлом, перенаправляет все запросы на соответствующий терминал. Например, в системе 4.3BSD номер устройства управляющего терминала хранится в поле u_ttyd области и. Чтение из терминала реализовано следующим образом:
Следовательно, если два процесса относятся к различным сеансам входа в систему и они оба откроют файл /dev/tty, то результатом станет доступ к разным терминалам.
Управляющая группа. Каждый терминал ассоциируется с группой процессов. Такая группа, называемая управляющей группой терминала, идентифицируется при помощи поля t_pgrp структуры tty этого терминала1. Сигналы, вырабатываемые при вводе с клавиатуры, такие как SIGINT или SIGQUIT, посылаются всем процессам управляющей группы терминала, то есть всем процессам, чье поле p_pgrp в структуре ргос равно значению t_pgrp структуры tty этого терминала.
Управление заданиями. Этот механизм (реализованный в системах 4BSD и SVR4) позволяет приостановить и возобновить работу группы процессов, а также управлять ее доступом к терминалу. Командные интерпретаторы, поддерживающие управление заданиями, такие как csh или ksh, распознают специальные управляющие символы (обычно Ctrl+Z) и команды, такие как fg и bg, для доступа к описываемым возможностям. Драйвер терминала обеспечивает дополнительное управление, посредством которого процессы, не входящие в управляющую группу терминала, защищены от чтения из терминала или записи в него.
Оригинальная реализация System V формирует группы процессов главным образом как представления сеансов входа в систему и не имеет средств управления заданиями. В системе 4BSD с каждой введенной командной строкой командного интерпретатора ассоциируется новая группа процессов (следовательно, все процессы, связанные между собой конвейером командного интерпретатора, относятся к одной группе).
Таким образом, в этой операционной системе появилось понятие задания. В SVR4 произведена унификация этих различающихся друг от друга подходов при помощи понятия сеанса. В следующих разделах вы увидите описание всех трех технологий, перечисленных выше, а также анализ их преимуществ и недостатков.
Опубликовал katy
July 06 2015 15:49:55 ·
0 Комментариев ·
2362 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.