4. Атрибуты процессов в Unix.

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

Атрибуты позволяют ОС эффективно управлять работой процесса.

Просмотр атрибутов процесса: ps -ef.

Идентификатор процесса

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

Родительский процесс

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

Приоритет процесса

Приоритет процесса (nice number) - относительный приоритет процесса, учитываемый планировщиком при определении очередности запуска. Чем меньше число, тем больше приоритет (nice - приятный, то есть чем более “приятный”процесс, тем меньше он загружает CPU). Фактическое распределение ресурсов - приоритет выполнения: динамически изменяется ядром во время выполнения. Относительный - постоянен, но может изменяться администратором или пользователем с помощью nice.

Терминальная линия

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

Идентификаторы пользователей

Реальный (RID) и эффективный (EUID) идентификаторы пользователя. RID - идентификатор пользователя, запустившего этот процесс. EUID служит для определения прав доступа процессак системным ресурсам (в первую очередь к файловой системе.) Обычно RID=EUID, то есть процесс имеет те же права, что и пользователь, запустивший его. RID!=EUID, когда на программе установлен бит SUID. Тогда EUID=UID, то есть процесс получает те же права, что и у владельца исполняемого файла (например, администратор).

Идентификаторы групп

Реальный (RGID) и эффективный (EGID) идентификаторы группы. RGID=GID первичной группы пользователя, запустившего процесс. EGID служит для определения прав доступа пользователя по классу доступа группы. По умол- чанию RGID=EGID, кроме SGID, установленного на команду, тогда EGID=GID группы-владельца команды.