Init

Init

init (сокращение от англ. initialization — инициализация) — программа в UNIX и Unix-подобных системах, которая запускает все остальные процессы. Работает как демон и обычно имеет PID 1. Обычно (согласно Filesystem Hierarchy Standard) располагается по пути /sbin/init.

Содержание

Уровни инициализации

В процессе загрузки, после инициализации ядра, ядро запускает /sbin/init как первый процесс пользовательского режима. init отвечает за дальнейшую загрузку системы. Для этого он запускает так называемые стартовые скрипты, которые выполняют проверку и монтирование файловых систем, запуск необходимых демонов, настройку ядра (в том числе загрузку модулей ядра согласно установленному оборудованию, настройку IP-адресов, таблиц маршрутизации и др.), запуск графической оболочки и другие действия.

В операционных системах Unix/Linux с помощью init можно изменить уровень инициализации. Уровень инициализации — степень загрузки операционной системы. Вот как происходит инициализация системы: процесс init запускается и анализирует файл /etc/inittab. Следует отметить, что приведенная здесь система инициализации работает на системах Linux и Unix System V и она несколько отличается от стиля инициализации системы в BSD-подобных системах.

По умолчанию, в системе использовано 7 уровней инициализации:

0 - остановка системы
1 - загрузка в однопользовательском режиме
2 - загрузка в многопользовательском режиме без поддержки сети
3 - загрузка в многопользовательском режиме с поддержкой сети
4 - не используется
5 - загрузка в многопользовательском режиме с поддержкой сети и графического входа в систему
6 - перезагрузка

Набрав init n в терминале (с правами суперпользователя), где n — номер уровня инициализации, можно переключиться в любой из вышеперечисленных уровней.

Стартовые скрипты для каждого уровня находятся в каталогах с /etc/rc0.d до /etc/rc6.d, где цифра после rc соответствует номеру уровня инициализации.

Файл /etc/inittab

Как уже было упомянуто выше, работа процесса init управляется с помощью файла /etc/inittab. Вот пример этого файла (без комментариев):

id:5:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon

В первой строке описан терминал и его конфигурация по умолчанию. Сначала в этом файле описываются уровни инициализации. Затем инициируются виртуальные консоли. Запись инициализации консолей состоит из полей, разделенных двоеточием и выглядит следующим образом:

  • 1 — порядковый номер консоли
  • 2345 — номера уровней инициализации, для которых консоль инициализируется
  • respawn — этот параметр означает, что init должен перезапустить обслуживающий консоль процесс после выхода из сеанса или в случае краха.
  • /sbin/mingetty tty6 — программа (с указанием параметров), которая будет обслуживать консоль.

Таким образом, вы легко можете создать свой уровень инициализации (под номером 4 или 7, 8…), просто исправив файл /etc/inittab и создав необходимые ссылки в каталоге /etc/rc.d/rc*.d

init в других ОС

В Windows NT роль init играет smss.exe. В Solaris 10 вместо init применяется Service Management Facility. /* init в Solaris 10 запускает и, в случае необходимости, перезапускает SMF (init initiates the core components of the service management facility, svc.configd(1M)and svc.startd(1M), and restarts these components if they fail). Т.е. можно сказать, что в Solaris 10 большая часть функций init выполняется с помощью SMF. */

Альтернативы init

Сейчас существует множество систем, призванных заменить собой классический init: Upstart, Runit, Daemontools, Launchd, Initng, systemd. Все они разрабатывались изначально для определенных дистрибутивов Linux или вообще для других систем.

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Init" в других словарях:

  • Init — (short for initialization ) is the program on Unix and Unix like systems that all other processes. It runs as a daemon and typically has PID 1.The functionality diverged, in Unixes such as System III and System V, from the functionality provided… …   Wikipedia

  • Init — (abréviation de initialisation) est le programme sous Unix qui lance toutes les autres tâches. Il s exécute comme un démon informatique et typiquement il a un identifiant de processus (PID) de 1. Les fonctionnalités du programme init divergent… …   Wikipédia en Français

  • init — (abréviation de initialisation) est le programme sous Unix qui lance toutes les autres tâches. Il s exécute comme un démon informatique et typiquement il a un identifiant de processus (PID) de 1. Les fonctionnalités du programme init divergent… …   Wikipédia en Français

  • init — abbrev. initial * * * …   Universalium

  • init — abbrev. initial …   English World dictionary

  • INIT II — The Intranasal Insulin Trial (INIT II) began in late 2006, and is being run by an Australian non profit organization, the Diabetes Vaccine Development Centre (DVDC). The aim of the trial is to test a new preventative treatment for type 1 diabetes …   Wikipedia

  • Init — En sistemas Unix y de tipo Unix, init (abreviatura de initialization) es el primer proceso en ejecución tras la carga del kernel y el que a su vez genera todos los demás procesos. Se ejecuta como demonio y por lo general tiene PID 1.… …   Wikipedia Español

  • Init — Der init Prozess ist bei unixartigen Betriebssystemen der erste Prozess eines Systems: Er hat immer die Prozess ID 1. Traditionell startet er alle anderen Prozesse; auf welche Art er dies tut, wird unter Linux und anderen System V orientierten… …   Deutsch Wikipedia

  • init — Der init Prozess (von initiieren) ist bei unixartigen Betriebssystemen der erste Prozess eines Systems: Er hat meistens die Prozess ID 1. Bei Mac OS X wurde er durch launchd ersetzt, der jetzt die PID 1 trägt. Traditionell startet er alle anderen …   Deutsch Wikipedia

  • init — Isn t it? It sure is cold out today, init? …   Dictionary of american slang


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»