Вперед: 2.5. Выполнение команд в ОС UNIX
Назад: 2.3. Файловая система UNIX
К содержанию: Оглавление


2.4. Процессы в ОС UNIX

В Unix системах под процессом понимается объект операционной системы, выполняющий код программы и имеющий свой собственный контекст: стек, набор страниц памяти, таблицу открытых файлов и уникальный номер (PID - сокращение от process ID), присвоенный ему системой. Из определения видно, что понятие процесс не тождественно понятию программа. Несколько процессов могут исполнять одну и ту же программу в одно и тоже время. Например, в системе есть одна копия программы tcsh, но может существовать много процессов исполняющих код этой программы, т.к. она запускается каждый раз при подключении нового пользователя к системе. Конфликтов между разными процессами, выполняющими код одной программы, не возникает, потому что каждый процесс имеет собственный контекст.

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

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



Вперед: 2.5. Выполнение команд в ОС UNIX
Назад: 2.3. Файловая система UNIX
К содержанию: Оглавление