русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Как работают скрипты загрузки системы


Дата добавления: 2014-11-28; просмотров: 555; Нарушение авторских прав


В Linux используется специальный механизм загрузки, называемый SysVinit, который основывается на концепции уровней запуска (run-levels). Он может существенно различаться в различных системах, поэтому не следует предполагать, что то, что работает в одном из конкретных дистрибутивов Linux, также должно работать и в системе LFS. В LFS используется свой собственный способ загрузки, но в нем уважаются общепринятые стандарты.

Механизм SysVinit (который с этого момента будет называться " init") работает с использованием схемы уровней запуска. Есть семь (с номерами от 0 до 6) уровней запуска (на самом деле, уровней запуска больше, но они предназначены для специальных случаев и, как правило, не используются); подробности смотрите в init(8)), и для каждого из них определены действия, которые, как предполагается, компьютер должен выполнить при переходе на этот уровень. Уровнем запуска, используемым по умолчанию, является уровень 3. Ниже приведено описание различных уровней запуска и указано, что они реализуют:

0: выключение компьютера
1: однопользовательский режим
2: многопользовательский режим без поддержки сети
3: многопользовательский режим с поддержкой сети
4: зарезервирован для особых случаев; иначе то же самое, что и 3
5: то же самое, что и 4; обычно используется для графического входа (xdm для X или kdm для KDE)
6: перезагрузка компьютера

Командой, используемой для изменения уровней запуска, является команда init <runlevel>, где <runlevel> указывает уровень запуска, на который происходит переключение. Например, для перезагрузки компьютера, пользователь может набрать команду init 6, которая является алиасом команды reboot. Аналогично, команда init 0 является алиасом команды halt.

В директории /etc/rc.d есть ряд поддиректориев, которые имеют вид rc?.d (где ? является номером уровня запуска) и rcsysinit.d, причем во всех поддиректориях находится ряд символических ссылок. Некоторые начинаются с буквы K, другие начинаются с буквы S, и во всех за начальной буквой следуют две цифры. Буква K означает остановку (kill - уничтожить) сервиса, а S означает запуск сервиса. Числа от 00 и до 99 определяют порядок, в котором запускаются скрипты, причем чем число меньше, тем сервис запускается раньше. Когда с помощью команды init осуществляется переключение на другой уровень запуска, то в зависимости от выбранного уровня соответствующие сервисы либо запускаются, либо останавливаются.



Действительные скрипты находятся в директории /etc/rc.d/init.d. Они выполняют реальную работу, а символические ссылки указывают на них. Ссылки, используемые для остановки, и ссылки, используемые для запуска, указывают на одни и те же скрипты в директории /etc/rc.d/init.d. Это связано с тем, что скрипты могут вызываться с различными параметрами, например, start, stop, restart, reload и status. Когда используется ссылкаK, соответствующий скрипт запускается с аргументом stop. Когда используется ссылка S, соответствующий скрипт запускается с аргументом start.

В этом объяснении есть одно исключение. Ссылки, которые начинаются с S и находятся в директориях rc0.d и rc6.d, ничего не запускают. Они будут вызываться с параметром stop с тем, чтобы что-то остановить. Логика такого действия в том, что когда пользователь перезагружает или останавливает систему, ничего запускать не нужно. Все, что нужно, это остановить систему.

Ниже приводится описание того, что должны делать скрипты с каждым из аргументов:

start
  Запуск сервиса.
stop
  Остановка сервиса.
restart
  Сервис останавливается, а затем снова запускается.
reload
  Обновляется конфигурация сервиса. Этот вариант используется после того, как конфигурационный файл сервиса изменен, и сервис не должен просто перезапускаться.
status
  Сообщает, работает ли сервис и какой у него идентификатор PID.

Вы можете изменить способ загрузки процессов (в конце концов, это ваша собственная система LFS). Файлы, указанные здесь, являются примером того, как это можно сделать.



<== предыдущая лекция | следующая лекция ==>
Краткое описание | Конфигурирование скрипта setclock


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.385 сек.