Загрузка представляет собой комплекс действий, посредством которых операционная система приводится в состояние готовности. В процессе загрузки управление передается последовательно от BIOS к загрузчику, а затем – к ядру. Ядро осуществляет запуск планировщика, обеспечивающего многозадачность, и передает управление демону (службе) запуска, который контролирует запуск задач и демонов в процессе загрузки системы, а также позволяет осуществлять взаимодействие с пользователем и вход в систему. После выполнения запуска ядро переходит в состояние бездействия до тех пор, пока не получит внешний вызов.
Управление запуском системы выполняется демоном upstart
, который предназначен для запуска и остановки различных процессов, а так же для управления их состоянием. Демон upstart
запускается на уровне ядра и запускает все процессы в системе. Самым важным процессом является init
, который является родительским для всех остальных процессов. Задача upstart
– запуск необходимых процессов и демонов, контроль состояния служб, их остановка и перезапуск при необходимости, переключение в пользовательскую среду по окончанию запуска системы.
В отличие от init
демон upstart
запускает и останавливает задачи, вызывая соответствующие shell
-скрипты и наблюдая за работой запущенных задач, основываясь на событиях, получаемых им от приложений. Обработка событий является основным преимуществом демона upstart
, так как позволяет перезапустить службу, которая аварийно завершила работу, без применения сторонних программ. Подробнее о работе демона upstart
можно прочитать на официальном сайте.
Процессы, управляемые демоном init,
располагаются в директории /etc/init/
. Файлы именуются по правилу <имя_процесса>.conf
, здесь имя_процесса – имя запускаемой задачи или процесса, которое используется при управлении.
Управление процессами производится с помощью утилиты service
, которая позволяет выполнить запуск и остановку сервисов и служб, проверить состояние их исполнения. Синтаксис команды: service <имя_процесса> <команда>
, здесь имя_процесса – имя запускаемой задачи или процесса, команда – одна из доступных команд:
start
– запуск процесса или службы;stop
– остановка процесса или службы;status
– просмотр состояния процесса;restart
– перезапуск процесса.