Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Акуленок_часть1.doc
Скачиваний:
41
Добавлен:
13.11.2019
Размер:
1.43 Mб
Скачать

6.1. Процесс init

Процесс init является главным диспетчером процессов. Он поддерживает механизм создания процессов в соответствии со схемой, которая находится в файле /etc/inittab. По данной схеме обычно выполняется запуск процессов getty для всех терминальных линий, через которые пользователи входят в систему.

Кроме того, init контролирует работу автономных процессов, которые необходимы конкретной системе.

Init читает по очереди строку за строкой файл /etc/inittab, в котором содержатся точки входов, загружаемых по мере необходимости программ и командных файлов (в терминологии UNIX – shell script–файлов).

6.1.1. Формат файла inittab

Формат файла inittab состоит из 4–х полей, разделенных символом двоеточия:

id:run–level:action:process

  • id (имя процесса) – один или несколько символов, уникально идентифицирующих точку входа. Имя процесса служит для идентификации строки запуска процесса. Может иметь до 14 (4 – в современных ОС UNIX) символов. При идентификации терминалов используются имена их логических устройств. Имя должно однозначно идентифицировать строку.

  • run–level (уровень выполнения) – определяет уровень, на котором запускается процесс.

  • action (действие) – определяет действия для данной точки входа (дисциплину обработки процесса).

  • process – стартовые скрипты, которые будут автоматически запускаться при переходе к каждому из уровней выполнения.

6.1.2. Уровни выполнения

Для того чтобы системе было легче переключаться между разными наборами программ, которые используются для разных типов задач, была придумана концепция режимов работы системы. Любой UNIX ветви System V может работать в одном из семи режимов (они нумеруются от 0 до 6). Каждый режим характеризуется своим назначением, которое определяет набор программ, выполняющихся в этом режиме.

В Solaris, наряду с упомянутыми семью, используется и восьмой режим - s или S (режимы s и S - взаимозаменяемые имена для уровня однопользовательского выполнения).

Режим работы системы (runlevel) иногда также называют состоянием (state) или уровнем выполнения. Набор программ, запускаемых в том или ином режиме, определяется содержимым файла /etc/inittab.

Уровень выполнения – это программная конфигурация системы. Каждая конфигурация предусматривает в своем составе только определенные группы процессов.

В составе различных UNIX–систем предусмотрено различное количество уровней управления. Например, в системе AIX (IBM) поддерживается 11 различных уровней выполнения:

от 0 до 9, S, s, M, m

Перечень действий, происходящих с системой в различных режимах работы, представлен в табл.6.1.

Таблица 6.1

Уровни выполнения

Уровень

выполнения

Действие

0

Переход системы в режим останова. В режиме 0 компьютер можно выключить без опасений за сохранность данных.

1

Переход системы в режим системного администрирования. Сохраняется доступ ко всем файловым системам. Доступ к системе консоли возможен только для суперпользователя. Режим 1 применяется для установки пакетов ПО.

S/s

Переход системы в однопользовательский режим. При этом все пользовательские процессы останавливаются, а файловые системы, необходимые для многопользовательской работы, демонтируются. После этого доступ к системе возможен только с консоли; регистрационные имена, требующие доступа к пользовательским файловым системам, употреблять нельзя. Этот режим применяется для установки или удаления программного обеспечения, резервного копирования, восстановления или проверки файловых систем. Система переходит в состояние s автоматически, когда файловая система /usr повреждена и не может быть восстановлена без вмешательства администратора. Набор файловых систем, смонтированных при работе системы в состоянии s, не всегда один и тот же; то, какие файловые системы смонтированы, зависит от метода перевода системы в состояние s и настроек системы.

Переход в режим s возможен даже при поврежденном или отсутствующем файле /etc/inittab, что невозможно для любого другого режима работы. При переходе в режим S из других режимов работы, файловые системы, уже смонтированные к этому моменту, остаются смонтированными, даже если предоставляются другими серверами в сети. Все процессы, запущенные ранее в многопользовательских режимах, завершаются. Завершаются также все процессы, запущенные от имени пользователей.

2

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

3

Переход системы в нормальный многопользовательский режим работы. Кроме того, обеспечивается совместный доступ к файлам. Запускает дополнительные демоны, необходимые для предоставления доступа к файловой системе, монтирует удаленные файловые системы и объявляет о доступности своих ресурсов общего пользования, таких как NFS (полный многопользовательский режим с организацией сети)

4

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

5

Переход системы в режим останова. Во многом подобен уровню 0, за исключением того, что система не пытается отключить питание

6

Останавливает и перезагружает операционную систему в состояние, определяемое записью initdefault в файле /etc/inittab.

Поле для указания уровня выполнения может содержать один или большее число аргументов, описанных в табл. 6.1, либо пустое место, что означает все уровни (режимы) работы. Обычно стандартное значение этого аргумента составляет 2 или 3, в зависимости от системы.

Когда команда init изменяет режим работы системы, все процессы, не принадлежащие этому режиму, будут последовательно прекращены.

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