Уровень выполнения — это режим работы в операционных системах компьютеров , реализующий инициализацию в стиле Unix System V. Обычно существует семь уровней выполнения, пронумерованных от нуля до шести. S иногда используется как синоним одного из уровней. При запуске выполняется только один уровень выполнения; уровни выполнения не выполняются один за другим (т. е. выполняется только уровень выполнения 2, 3 или 4, а не больше из них последовательно или в каком-либо другом порядке).
Уровень выполнения определяет состояние машины после загрузки. Обычно различные уровни выполнения назначаются (не обязательно в каком-либо определенном порядке) для однопользовательского режима , многопользовательского режима без запущенных сетевых служб, многопользовательского режима с запущенными сетевыми службами, выключения системы и перезагрузки системы . Точная настройка этих конфигураций различается в зависимости от операционных систем и дистрибутивов Linux . Например, уровень выполнения 4 может быть конфигурацией многопользовательского графического интерфейса без сервера в одном дистрибутиве и ничем в другом. Уровни выполнения обычно следуют общим шаблонам, описанным в этой статье; однако некоторые дистрибутивы используют определенные конкретные конфигурации.
В стандартной практике, когда компьютер переходит на нулевой уровень выполнения, он выключается, а когда переходит на шестой уровень выполнения, он перезагружается. Промежуточные уровни выполнения (1–5) различаются в зависимости от того, какие диски смонтированы и какие сетевые службы запущены. Уровни выполнения по умолчанию обычно 3, 4 или 5. Более низкие уровни выполнения полезны для обслуживания или аварийного ремонта, поскольку они обычно вообще не предлагают никаких сетевых служб. Конкретные детали конфигурации уровня выполнения сильно различаются в разных операционных системах, а также среди системных администраторов.
В различных дистрибутивах Linux традиционный скрипт /etc/rc, используемый в версии 7 Unix, сначала был заменен уровнями выполнения, а затем состояниями systemd в большинстве основных дистрибутивов.
Хотя systemd, по состоянию на 2016 год [обновлять], используется по умолчанию в большинстве основных дистрибутивов Linux , уровни запуска по-прежнему можно использовать с помощью средств, предоставляемых проектом sysvinit . После загрузки ядра Linux программа /sbin/init считывает файл /etc/inittab , чтобы определить поведение для каждого уровня запуска. Если пользователь не укажет другое значение в качестве параметра загрузки ядра , система попытается ввести (запустить) уровень запуска по умолчанию.
Системы, соответствующие Linux Standard Base (LSB), не обязаны предоставлять точные уровни выполнения, приведенные здесь, или придавать им описанные здесь значения, и могут сопоставлять любой описанный здесь уровень с другим уровнем, который обеспечивает эквивалентную функциональность. [1]
Slackware Linux использует уровень запуска 1 для обслуживания, как и в других дистрибутивах Linux; уровни запуска 2, 3 и 5 одинаково настроены для консоли (со всеми активными службами); а уровень запуска 4 добавляет систему X Window.
Начиная с Solaris 10, SMF ( Service Management Facility ) используется вместо уровней запуска SVR4. Последние эмулируются для сохранения совместимости с устаревшими сценариями запуска. [6]
AIX не следует спецификации уровней запуска System V R4 (SVR4), доступны уровни запуска от 0 до 9, а также от a до c (или h). 0 и 1 зарезервированы, 2 — это обычный многопользовательский режим по умолчанию, а уровни запуска от 3 до 9 могут быть свободно определены администратором. Уровни запуска от a до c (или h) позволяют выполнять процессы на этом уровне запуска без завершения процессов, запущенных на другом.
Уровни запуска S, s, M и m не являются настоящими уровнями запуска, но используются для указания команде init войти в режим обслуживания. Когда система входит в режим обслуживания с другого уровня запуска, в качестве терминала используется только системная консоль.