Интернет магазин китайских планшетных компьютеров



Компьютеры - Процесс загрузки Linux - Процесс init

25 апреля 2011


Оглавление:
1. Процесс загрузки Linux
2. Фаза загрузчика
3. Фаза ядра
4. Процесс init



« Init является родителем всех процессов. Его главная задача — создавать процессы по сценарию из файла /etc/inittab. В этом файле обычно содержатся записи, указывающие init породить getty для каждой линии, по которой пользователи могут входить в систему. Он также контролирует автономные процессы, требуемые какой-либо системе. Уровень выполнения — программная конфигурация системы, которая позволяет существовать только заданной группе процессов. Процессы, порождаемые init на каждом из таких уровней выполнения, определяются в файле /etc/inittab. »

По сути Init организует и поддерживает всё пользовательское пространство, что включает в себя также проверку и монтирование файловых систем, запуск нужных пользовательских служб и, переключение в пользовательскую среду, когда запуск системы завершится. Он похож на процессы init в Unix и BSD, от которых произошёл, но в некоторых случаях он изменён или переделан. В обычной системе Linux init с параметром, известном как уровень выполнения, принимающим значения от 1 до 6, и определяющим, какие подсистемы следует включить. Для каждого уровня выполнения есть собственные сценарии, которые регламентируют различные процессы, участвующие в установлении или снятии данного уровня, и именно эти сценарии считаются необходимыми для процесса загрузки. Сценарии Init обычно хранятся в каталогах с именами вида /etc/rc…. Главный файл конфигурации уровней для init — /etc/inittab.

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

В частности, по сообщению Red Hat, процесс init следует такой схеме:

  1. Он просматривает сценарий sysinit, который "устанавливает путь к среде, запускает swap, проверяет файловые системы и делает всё, что необходимо для инициализации системы. Это, в частности, системные и аппаратные часы, специальные процессы для последовательного порта и т. п.
  2. Затем Init просматривает конфигурацию, указанную для заданного уровня выполнения.
  3. После этого Init устанавливает исходную библиотеку функций для системы. Это определяет, как следует запустить или снять программу и как определить её PID.
  4. Затем он запускает все предусмотренные процессы и создает сессию входа пользователя в систему.

После того, как он породил все заданные процессы, init переходит в режим ожидания и ждет одного из трёх событий:

  1. Нормального или аварийного завершения порождённых процессов.
  2. Сигнала аварии питания.
  3. Запроса от /sbin/telinit на изменение уровня выполнения.

Это относится к программе init в стиле UNIX System V. Другие программы init могут вести себя иначе.



Просмотров: 2951


<<< Главная загрузочная запись
ATI Technologies >>>