Виды процессов

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

1. Системные процессы. Они не имеют собственных исполняемых файлов и за
пускаются из ядра операционной системы. Системные процессы стартуют
при загрузке операционной системы и выполняются в течение всего сеанса
работы. Они запускаются от имени операционной системы и обладают соот
ветствующими правами. Эти процессы не общаются с пользователем, и он
может их обнаружить только просматривая список процессов. Соответствен
но, пользователь, если он не является администратором системы, не имеет
права распоряжаться этими процессами, посылая им сигналы.

Есть один процесс, который по своей сути является системным, но запускается не из ядра, а из отдельного исполняемого файла с именем init. Этот процесс является прародителем всех остальных процессов.

  1. Демоны. Это процессы, которые также не общаются с пользователем напрямую и не могут управляться им. Они выполняются в фоновом режиме и отвечают за предоставление сервисов: печать, доступ к сетевым ресурсам и пр. Но каждому демону соответствует исполняемый файл, который обычно запускается автоматически, при загрузке системы.

  2. Пользовательские процессы. Запускаются из исполняемого (бинарного) файла пользователем. Они могут выполняться в интерактивном или фоновом режимах и срок их выполнения ограничен продолжительностью сеанса работы пользователя. Пользовательские процессы наследуют идентификатор пользователя и, как правило, имеют соответствующие права на доступ к объектам. Но некоторые пользовательские процессы могут при выполнении иметь больше прав, чем имеет создавший их пользователь - об этом подробнее будет сказано несколько позже.

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

Система изолирует пользовательские процессы друг от друга, от системных процессов и демонов. Каждый процесс выполняется в своем виртуальном адресном пространстве и других процессов «не видит». В многозадачной операционной системе пользовательские процессы не имеют права читать данные чужого процесса, записывать свои данные в его адресное пространство, отбирать у других задач вычислительное время и доступ к устройствам ввода-вывода.