Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ОС часть 1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.23 Mб
Скачать

11.6.2 Атрибуты процесса.

Процесс в UNIX имеет несколько атрибутов, позволяющих операционной системе эффективно управлять его работой. Рассмотрим важнейшие из них:

  • Идентификатор процесса Process ID (PID). Каждый процесс имеет уникальный идентификатор PID, позволяющий ядру системы различать процессы. Когда создается новый процесс, ядро присваивает ему следующий свободный идентификатор. Присвоение идентификаторов происходит по возрастающей, то есть идентификатор нового процесс больше, чем идентификатор процесса, созданного перед ним. Если идентификатор достиг максимального значения, то следующий процесс получит минимальный свободный PID и цикл повторяется.

  • Идентификатор родительского процесса Parent Process ID (PPID) - идентификатор процесса, породившего данный процесс.

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

  • Терминальная линия (TTY). Терминал или псевдотерминал, ассоциированный с процессом, если такой существует. Процессы-демоны не имеют ассоциированного терминала.

  • Реальный (RID) и эффективный (EVID) идентификаторы пользователя. Реальным идентификатором пользователя данного процесса является идентификатор пользователя, запустившего процесс. Эффективный идентификатор служит для определения прав доступа процесса к системным ресурсам. Обычно реальный и эффективный идентификаторы эквивалентны, т.е. процесс имеет те же права, что и пользователь, его запустивший. Однако существует возможность задать процессу более широкие права путем установки флага SVID, когда эффективному идентификатору присваивается значение идентификатора владельца исполняемого файла.

  • Реальный (RGID) и эффективный (EGID) идентификаторы группы. Определяются аналогично идентификаторам пользователя.

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

  1. Процесс выполняется в режиме задачи. При этом процессором выполняются прикладные инструкции данного процесса.

  2. Процесс выполняется в режиме ядра. При этом процессором выполняются системные инструкции ядра операционной системы.

  3. Процесс не выполняется, но готов к запуску, как только планировщик выберет его. Процесс находится в очереди на выполнение и обладает всеми необходимыми ему ресурсами, кроме вычислительных.

  4. Процесс находится в состоянии сна, ожидая недоступного в данный момент ресурса.

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

  6. Процесс только что создан и находится в переходном состоянии: он существует, но не готов к запуску и не находится в состоянии сна.

  7. Процесс выполнил системный вызов exit() и перешел в состояние зомби. Как такового процесса не существует, но остаются записи, содержащие код возврата и временную статистику его выполнения. Это состояние является конечным в жизненном цикле процесса.