-
АДМИНИСТРИРОВАНИЕ И БЕЗОПАСНОСТЬ ОПЕРАЦИОННЫХ СИСТЕМ LINUX
пускаются из ядра операционной системы. Системные процессы стартуют
при загрузке операционной системы и выполняются в течение всего сеанса
работы. Они запускаются от имени операционной системы и обладают соот
ветствующими правами. Эти процессы не общаются с пользователем, и он
может их обнаружить только просматривая список процессов. Соответствен
но, пользователь, если он не является администратором системы, не имеет
права распоряжаться этими процессами, посылая им сигналы.
Есть один процесс, который по своей сути является системным, но запус-кается не из ядра, а из отдельного исполняемого файла с именем init. Этот процесс является прародителем всех остальных процессов.
2. Демоны. Это процессы, которые также не общаются с пользователем напрямую и не могут управляться им. Они выполняются в фоновом режиме и отвечают за предоставление сервисов: печать, доступ к сетевым ресурсам и пр. Но каждому демону соответствует исполняемый файл, который обычно запускается автоматически, при загрузке системы.
3. Пользовательские процессы. Запускаются из исполняемого (бинарного) файла пользователем. Они могут выполняться в интерактивном или фоновом режимах и срок их выполнения ограничен продолжительностью сеанса работы пользователя. Пользовательские процессы наследуют идентификатор пользователя и, как правило, имеют соответствующие права на доступ к объ-
14
ектам. Но некоторые пользовательские процессы могут при выполнении иметь больше прав, чем имеет создавший их пользователь — об этом подробнее будет сказано несколько позже.
Самый важный пользовательский процесс — командный интерпретатор, обеспечивающий диалоговый режим с пользователем. К моменту, когда система предоставит пользователю право управлять собой, в ней уже будет существовать несколько десятков системных и сервисных процессов.
Система изолирует пользовательские процессы друг от друга, от системных процессов и демонов. Каждый процесс выполняется в своем виртуальном адресном пространстве и других процессов «не видит». В многозадачной опе-рационной системе пользовательские процессы не имеют права читать данные чужого процесса, записывать свои данные в его адресное пространство, отбирать у других задач вычислительное время и доступ к устройствам ввода-вывода.
Выполнение процессов может происходить в одном из двух возможных режимах: в режиме ядра, либо в пользовательском режиме. В режиме ядра процесс может выполнять любые привилегированные инструкции по управлению центральным процессором. В пользовательском режиме выполняются обычные, непривилегированные инструкции. Любая программа, созданная для многоза-дачной операционной системы, использует вызовы системных функций. Боль-шинство таких функций (вычислительные процедуры, операции со строками и др.) не требуют каких-либо исключительных привилегий и могут выполняться в пользовательском режиме. Но создание или удаление объектов файловой системы, обращение к устройствам требует системных привилегий. Если пользова-тельскому процессу не хватает прав, он обращается к ядру с системным вызовом и продолжает выполнение в другом контексте уже в привилегированном режиме ядра.
Страниц: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
Ваш отзыв


