Режимы работы системы
В одной и той же компьютерной системе может понадобиться выполнять совершенно разные типы задач. Например, на большом складе компании-поставщика бытовой техники центральный сервер управляет базой данных клиентов и их заказов. Эта работа ведется круглосуточно, за исключением короткой передышки в пятницу поздно вечером. В рабочее время на сервере запущены приложения, которые необходимы для обслуживания запросов: сервер базы данных, web-сервер, модули ядра, отвечающие за работу с сетью, и тому подобное. Во время короткой передышки в пятницу на сервере выполняется совершенно другая работа: полное резервное копирование базы данных и, если надо, установка нового ПО. Для этой работы важно, чтобы никто не обращался к серверу с запросами во время резервного копирования и модификации ПО, и такие приложения, как сервер базы данных, web-сервер, модули ядра, отвечающие за работу с сетью, следует выключить на время проведения еженедельного техобслуживания системы.
Для того чтобы системе было легче переключаться между разными наборами программ, которые используются для разных типов задач, была придумана концепция режимов работы системы. Любой UNIX ветви System V, в том числе и Solaris, может работать в одном из семи режимов (они нумеруются от 0 до 6). Каждый режим характеризуется своим назначением, которое определяет набор программ, выполняющихся в этом режиме. В Solaris, наряду с упомянутыми семью, используется и восьмой режим - s или S (режимы s и S - это одно и то же).
Режим работы системы (runlevel) иногда также называют состоянием (state) или уровнем выполнения. Набор программ, запускаемых в том или ином режиме, определяется содержимым файла /etc/inittab. В этом файле указываются стартовые скрипты, которые будут автоматически запускаться при переходе к каждому из уровней выполнения. Эти скрипты расположены в каталоге /etc, и из них вызываются другие скрипты, которые лежат в каталогах /etc/rcN.d. (N - число от 0 до 6 или символ S).
При переходе к режиму 0 выполняется /etc/rc0, к режиму 1 - /etc/rc1 и так далее. Ниже даны описания всех возможных режимов работы Solaris.
Режим 0.
Система останавливается, управление переходит к программе из ПЗУ (firmware) для компьютеров архитектуры SPARC, для компьютеров x86 - система останавливается и может быть перезагружена нажатием любой клавиши. В режиме 0 компьютер можно выключить без опасений за сохранность данных.
Режим 1.
Административный режим. Файловые системы, необходимые для многопользовательской работы, смонтированы, и можно использовать регистрационные имена, требующие доступа к многопользовательским файловым системам. Запущены некоторые демоны, однако пользователям не разрешено входить в систему. Режим 1 применяется для установки пакетов ПО.
Режим s, S.
Режим s (или S) называется однопользовательским. При переходе в это состояние все пользовательские процессы останавливаются, а файловые системы, необходимые для многопользовательской работы, демонтируются. После этого доступ к системе возможен только с консоли; регистрационные имена, требующие доступа к пользовательским файловым системам, употреблять нельзя. Этот режим применяется для установки или удаления программного обеспечения, резервного копирования, восстановления или проверки файловых систем. Система переходит в состояние s автоматически, когда файловая система /usr повреждена и не может быть восстановлена без вмешательства администратора. Набор файловых систем, смонтированных при работе системы в состоянии s, не всегда один и тот же; то, какие файловые системы смонтированы, зависит от метода перевода системы в состояние s и настроек системы.
Переход в режим s возможен даже при поврежденном или отсутствующем файле /etc/inittab, что невозможно для любого другого режима работы. При переходе в режим S из других режимов работы, файловые системы, уже смонтированные к этому моменту, остаются смонтированными, даже если предоставляются другими серверами в сети. Все процессы, запущенные ранее в многопользовательских режимах, завершаются. Завершаются также все процессы, имеющие записи в utmpx (т.е. запущенные от имени пользователей). Последнее означает, что процессы типа ttymon и других мониторов портов, запущенные системой SAC, тоже завершаются при переходе в режим S.
Режим 2.
Многопользовательский режим. Все процессы и демоны, необходимые для многопользовательской работы, запущены.
Режим 3.
Многопользовательский режим; кроме того, что разрешено в режиме 2, добавлен доступ к локальным ресурсам через сеть (поддерживается разделение каталогов с помощью NFS).
Режим 4.
Альтернативный многопользовательский режим. Предполагает иную, нежели в режимах 2 и 3, конфигурацию демонов и других программ для работы в многопользовательском режиме. Обычно не используется.
Режим 5.
Режим останова; операционная система останавливается, и, если это возможно, обеспечивается автоматическое выключение питания. Для автоматического выключения питания необходима аппаратная поддержка выполнения этой функции.
Режим 6.
Останавливает и перезагружает операционную систему в состояние, определяемое записью initdefault в файле /etc/inittab. При необходимости конфигурирует перед перезагрузкой новый загружаемый образ ядра операционной системы. Для пересборки ядра после модификации параметров ядра или добавления новых устройств следует выполнить команду
touch /reconfigure
перед перезагрузкой.