Вход:  Пароль:  
FreeSource: ТЗ/initscripts ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия ТЗ/initscripts за 2008-03-05 19:10:22..

Сценарии запуска системы


Известно, что Linux-системы, использующие сценарии запуска Sys V?, запускаются достаточно долго. Это связано в первую очередь с тем, что сценарии запуска системы выполняются последовательно. Играют роль задержки при обращении к оборудованию. Также сильно замедляет загрузку обращение к многочисленным конфигурационным файлам. Это легко увидеть, посмотрев как «взлетает» система с флэш-диска. Существует несколько альтернативных реализаций сценариев запуска.


Теоретически может быть определено несколько направлений оптимизации:


Проведя некоторое время в размышлениях по поводу запукса GNU/Linux систем в целом и Alt Linux в частности, спешу поделиться своим опытом.
Для начала замечу, что мое рассмотрение коснется только трех вариантов организации загрузки системы. Это


Для начала пробегусь в общих чертах на тему инициализации системы вообще.
Когда мы включаем компьютер первым делом bios загружает и запускает загрузщик ядра линукс (у нас, конечно стоит линукс, а другие варианты мы не рассматриваем :) ). Этот этап нам совершенно не интересен, поэтому о нем больше ни слова.
Далее загрузщик так или иначе загружает в память ядро Linux и, обычно передает ему образ initrd (если не ошибають от Initialisation RAM Drive — диск инициализации в памяти). Это уже интереснее. Этот самый образ initrd является архивом, который содержит структуру файлов и каталогов, очень похожую на обычный корень файловой системы используемой традиционно в GNU/Linux. Только всего там по минимому. Ну это и понятно, поскольку этот образ разворачивается в память и там и работает.
Фактически, это первая мини-система запускаемая при старте компьютера. При этом Linux вполне может стартануть и без нее, но сейчас так делают разве что встраиваемые системы или системы собранные самостоятельно, да и то редко. Зачем же нужна такая мини-система? Вообще смысл ее очень прост: она должна примонтировать корень большой, настоящей системы и затем передать управление программе на нем. При этом иногда приходиться проделать совсем нетривиальные вещи, вроде автодетектирования оборудования и подгрузки необходимых для его работы модулей, подгрузки модулей файловой системы и т. п. вещи. Кроме того корень файловой системы может располагаться на другом компьютере и быть доступным по сети. Тогда initrd система получает сетевые настройки по протоколу dhcp и действует в соответствии с ними. Что бы там ни происходило, но итогом всех действий является смонтированый только для чтения (ну так обычно) корень файловой системы и запуск процесса /sbin/init уже с этого корня.
Теперь настает самый важный для нас этап. Первый процесс должен произвести окончательную инициализацию системы, и запустить необходимые пользовательские процессы. На этом этапе обычно происходит следующее:

Существующие реализации



Страницы, ссылающиеся на данную: DmitrijMaslennikov


 
Файлов нет. [Показать файлы/форму]
Один комментарий. [Показать комментарии/форму]