Jump to content

нагревать

(Перенаправлено из inittab )
Версия 7 Unix : т.д. init и дольдо
Версия 7 Unix: Содержание /и т. Д./RC Bourne Shell Script

В основе UNIX компьютерных операционных системах на INIT (короткий для инициализации ) является первым процессом, запущенным во время загрузки операционной системы. Init - это процесс демона , который продолжает работать до тех пор, пока система не будет отключена. Это прямой или косвенный предок всех других процессов и автоматически принимает все осиротежные процессы . Init запускается ядром во время процесса загрузки ; Паника ядра произойдет, если ядро ​​не сможет запустить его, или она должна умереть по любой причине. Init обычно назначается идентификатор процесса 1.

В таких системах UNIX, как System III и System V , дизайн INIT расходился от функциональности, предоставленных Init in Research Unix и его производными BSD . До начала 2010 -х годов, [ 1 ] [ неудачная проверка ] Большинство распределений Linux использовали традиционную инициативу, которая была несколько совместима с системой V, в то время как в некоторых распределениях, таких как Slackware, используются сценарии стартапов в стиле BSD, а другие, такие как Gentoo, имеют свои собственные индивидуальные версии.

С тех пор было создано несколько дополнительных реализаций инициировать, пытаясь учесть ограничения проектирования в традиционных версиях. К ним относятся LaunchD , объект управления услугами , SystemD , Runit и OpenRC .

Исследование в стиле Unix/BSD-стиль

[ редактировать ]

Исследование Unix инициализации, init запускает скрипт оболочки расположенный в /etc/rc, [ 2 ] затем запускает Getty на терминалах под контролем /etc/ttys. [ 3 ] Там нет бегалвров; а /etc/rc Файл определяет, какие программы запускаются инициатором. Преимущество этой системы заключается в том, что ее простой и легко редактировать вручную. Тем не менее, новое программное обеспечение, добавленное в систему, может потребовать изменений в существующих файлах, которые производят риск, производящую небезопасную систему.

BSD Init был до 4.3BSD, так же, как и Research Unix's Init; [ 4 ] [ 5 ] В 4.3BSD он добавил поддержку для системы оконного окон запуска /etc/ttys. [ 6 ] [ 7 ] Чтобы удалить требование, чтобы редактировать /etc/rc, Варианты BSD давно поддерживают специфичный для сайта /etc/rc.local Файл, который запускается в подболке в конце концов последовательности загрузки.

Полностью модульная система была введена с NETBSD 1.5 и перенесена в FreeBSD 5.0 ​​и преемники. Эта система выполняет сценарии в /etc/rc.d каталог. В отличие от упорядочения сценария системы V, которое получено из имени файла каждого сценария, эта система использует явные теги зависимости, размещенные в каждом сценарии. [ 8 ] Порядок выполнена сценарии, определяется утилитой RCorder на основе требований, указанных в этих тегах.

SYSV-стиль

[ редактировать ]
SYSV-RC-CONF , утилита TUI , которая выбирает, какие сценарии инициации в стиле SYSV будут выполняться в каждом Runlevel

По сравнению со своими предшественниками, AT & T System III представила новый стиль конфигурации запуска системы, [ 9 ] который выжил (с модификациями) в систему V Unix и поэтому называется «SYSV-стиль».

В любой момент работающая система V находится в одном из заранее определенного количества состояний, называемых Runlevels . По крайней мере, один Runlevel является нормальным рабочим состоянием системы; Как правило, другие Runlevels представляют собой режим однопользователя (используемый для восстановления неисправной системы), выключение системы и различные другие состояния. Переключение с одного Runlevel на другое вызывает запуск набора сценариев для заполнения, которые обычно устанавливают файловые системы, запускают или останавливают демоны , запускают или останавливают систему x , выключите машину и т. Д.

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

Помимо этих стандартных, Unix и Unix-подобных систем обрабатывают Runlevels несколько по-разному. Общий знаменатель, /etc/inittab Файл, определяет, что каждый настроенный Runlevel делает в данной системе.

По умолчанию Runlevels

[ редактировать ]
Операционная система По умолчанию Runlevel
AIX 2
антиксальный 5
Gentoo Linux 3 [ 10 ]
HP-UX 3 (консоль/сервер/многопользователь) или 4 (графический)
Linux с нуля 3
Slackware Linux 3
Солнечная / свет 3 [ 11 ]
System V System V выпуски 3.x, 4.x 2
Unixware 7.x 3

На Linux Distributions Dellocting to Runlevel 5 В таблице справа Runlevel 5 вызывает многопользовательскую графическую среду, управляющую системой x Window , обычно с помощью диспетчера дисплеев, такого как GDM или KDM . Тем не менее, операционные системы Solaris и Illumos обычно зарезервируют Runlevel 5, чтобы выключить и автоматически питать машину.

В большинстве систем все пользователи могут проверить текущий Runlevel с любым runlevel или who -r командование [ 12 ] Пользователь root обычно меняет текущий Runlevel, запустив telinit или init команды А /etc/inittab Файл устанавливает Runlevel по умолчанию с :initdefault: вход.

В системах UNIX изменение Runlevel достигается за счет запуска только пропущенных сервисов (поскольку каждый уровень определяет только те, которые запускаются / останавливаются). [ Цитация необходима ] Например, изменение системы с Runlevel 3 на 4 может запустить только локальный X -сервер. Возвращаясь к Runlevel 3, его снова остановит.

Другие реализации

[ редактировать ]

Традиционно, одним из основных недостатков init является то, что он начинает задачи последовательно, ожидая, пока каждый закончит загрузку, прежде чем перейти к следующему. Когда процессы запуска в конечном итоге заблокированы входными/выводами (ввода/вывода), это может привести к длинным задержкам во время загрузки. Ускорение ввода/вывода, например, с использованием SSD, может сократить задержки, но не учитывает основную причину.

Были предприняты различные усилия, чтобы заменить традиционные демоны init для решения этого и других проблем с дизайном, в том числе:

  • Bootcripts в Gobolinux
  • Busybox-init , подходит для встроенных операционных систем , используемых Alpine Linux , Slitaz 5 (Rolling), Tiny Core Linux и VMware Esxi , и используется OpenWRT , прежде чем он был заменен ProCD
  • Dinit, менеджер по обслуживанию и система Init. [ 13 ]
  • Эпоха , однопоточная система Linux Init, ориентированная на простоту и управление услугами [ 14 ]
  • Initng , полная замена инициирования, предназначенная для запуска процессов асинхронно
  • LaunchD , замена для Init в Darwin / MacOS / IOS / TVOS, начиная с Mac OS X V10.4 (он запускает SystemStarter для запуска «RC.Local» и SystemStarter Process)
  • OpenRC , процесс Spawner, который использует предоставленную систему init, обеспечивая при этом изоляцию процесса, параллелизированный запуск и зависимость от обслуживания; Используется Alpine Linux , Gentoo и его производные и доступен в качестве опции в Devuan и Artix Linux
  • Рунит , кроссплатформенная полная замена для init с параллельным запуском сервисов, используемый по умолчанию в void linux [ 15 ]
  • Sun Service Management Facility (SMF), полная замена / редизайн init с нуля в Illumos / Solaris , начиная с Solaris 10, но выпущенная в качестве единственной услуги оригинальной системой V-стиля init
  • Shepherd , сервис GNU и Daemon Manager, который обеспечивает асинхронную инициализацию на основе зависимостей; Написано в схеме стихийной работы и предназначено для интерактивного взлома во время обычной системы системы [ 16 ]
  • S6 , набор программного обеспечения, который включает в себя систему init. [ 17 ] [ 18 ]
  • Systemd , набор программного обеспечения, полная замена для init в Linux, которая включает в себя демон init, с одновременным запуском услуг, сервисного менеджера и других функций.
  • SystemStarter , процесс Spawner, созданный в стиле BSD в Mac OS X до Mac OS X V10.4
  • Upstart , полная замена инициирования, предназначенная для запуска процессов асинхронно. Инициировано Ubuntu и использованным ими до 2014 года. Он также использовался в Fedora 9, [ 19 ] [ 20 ] Red Hat Enterprise Linux 6 [ 21 ] и Google Chromeos . [ 22 ]

По состоянию на февраль 2019 года , SystemD была принята большинством крупных распределений Linux. [ 23 ]

Смотрите также

[ редактировать ]
  1. ^ «Поэттер в Леннарте на бурном господстве Системда» . Новый стек . 2018-11-08. Архивировано из оригинала 2018-11-08 . Получено 2024-01-30 .
  2. ^ init(8) - Версия 7 программиста Unix Руководство
  3. ^ ttys(5) - Версия 7 программиста Unix Руководство
  4. ^ init(8) - 4.2BSD по системному менеджеру Руководство
  5. ^ ttys(5) - 4.2BSD Форматы файлов Руководство
  6. ^ init(8) - 4,3BSD системному менеджеру Руководство по
  7. ^ ttys(5) - 4,3BSD Форматы файлов Руководство
  8. ^ Эндрю Смоллшоу (7 декабря 2009 г.). «Сценарии стартапов Unix и Linux, часть 2» . Архивировано из оригинала 18 декабря 2009 года . Получено 6 июня 2011 года .
  9. ^ "Инициация (8)" . Minnie.tuhs.org . Архивировано из оригинала 2021-07-27 . Получено 2015-09-12 .
  10. ^ "Initscripts" . Документация Gentoo Linux . Gentoo.org. 2014-12-13. Архивировано из оригинала 2020-12-03 . Получено 2020-12-08 .
  11. ^ «Уровень бега» . Администрация Oracle Solaris: общие задачи . Оракул . Архивировано с оригинала 2016-04-10 . Получено 2017-11-14 .
  12. ^ "Unix Man Pages: Runlevel (8)" . UnixHelp.ed.ac.uk. 1997-05-27. Архивировано из оригинала 2014-07-14 . Получено 2014-07-12 .
  13. ^ "GitHub - DAVMAC314 / DINIT: мониторинг обслуживания /" Init "System" . GitHub . Архивировано из оригинала 2021-12-12 . Получено 2021-12-12 .
  14. ^ «Домашняя страница эпохи init init» . Архивировано с оригинала 2014-08-02 . Получено 2014-07-31 .
  15. ^ "Void Linux Main Page" . Архивировано из оригинала 2020-08-29 . Получено 2020-08-31 .
  16. ^ «Пастух - проект GNU» . Free Software Foundation, Inc. Архивирована с оригинала 2016-02-12 . Получено 2016-01-16 .
  17. ^ «S6: Почему еще один набор надзоров» . Архивировано из оригинала 2021-09-13 . Получено 2021-09-13 .
  18. ^ "S6 Init System" . Архивировано из оригинала 2021-09-13.
  19. ^ Fedora 14 принятые функции , 2010-07-13, архивировали из оригинала 2022-03-27 , извлечены 2010-07-13
  20. ^ «Fedora Defers Systemd до F15» . Linux Еженедельные новости. 2010-09-14. Архивировано из оригинала 2010-09-19 . Получено 2010-09-17 .
  21. ^ «Развертывание» . Red Hat Enterprise Linux 6: Технические примечания . Красная шляпа . Архивировано с оригинала 2018-08-29 . Получено 2013-12-31 .
  22. ^ Архитектура программного обеспечения: Design Documents Chromium OS , архивные из оригинала 9 апреля 2022 года , извлечены 25 января 2014 г.
  23. ^ См . Systemd#Усыновление
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8337ad01bc4e2589fc53c3fe84e812d4__1719855900
URL1:https://arc.ask3.ru/arc/aa/83/d4/8337ad01bc4e2589fc53c3fe84e812d4.html
Заголовок, (Title) документа по адресу, URL1:
init - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)