04.0 (Конспект) SystemBoot
Досистемная загрузка состоит условно из 4 частей (на самом деле из 5). То что делает компьютер вообще не глядя ни на какие внешние устройства. Загрузка с того устройства, которое мы выбрали, маленького загрузчика (первичный загрузчик). Потом загружается большой загрузчик (вторичный загрузчик). Вторичный загрузчик загружает ядро, а в случае линукса еще и стартовый виртуальный диск, потому что это проще делать из самого Линукса чем из какой-то внешней программы. Init это отец всех процессов, в задачу которого входит запуск всех остальных процессов из которых состоит операционная система. Вся система остановится, если остановится Инит Стартовые наборы - это такие автоматические, которые практически не проверяются на предмет юзабилити. Они проверяются на предмет работоспособности и на тему того, из каких пакетов они состоят, но они не являются полноценными дистрибутивами. Любой скрипт оборачивается вокруг соответствующей службы и поддерживает несколько стандартных параметров: старт, стоп, рестарт, статус. Разные сервисы стартуют и завершаются абсолютно по-разному. Поскольку мы хот стартовать их все по очереди, их обрезывают Шелл скриптом старт-стопным, и вместо того, чтобы указывать специальные параметры для старта сервиса, они все примерно одинаковые. Порядок загрузки сервисов - лексикографический. Идея состоит в том, что все ссылки правильно именуются. Systemd система, которая должна решать все задачи по запуску операционной системы. Systemd решает такие проблемы как время запуска и большие траты на выполнение Шелл скриптов, а также некоторые штуки связанные с недостаточностью одного только Шелл скрипта для запуска операционной системы. У нас есть граф загрузки, то есть сначала запускается что-то, затем запускается еще несколько штук на выбор в произвольном порядке, после них еще что-то, некоторые из них должны быть запущены до того, как запущены другие. Существует зависимость по тому, что перед чем запускается. Эта зависимость описывается юнит. В разделе сервис описывается, как нужно запускать. Systemd до сих страдает от того, что он был разработан не как система управления Операционной Системой, а как система ускорения её загрузки. В нем есть много инструментов по проверке, кто дольше всех загружался итд. А вот инструмент по оптимизации и работе с графом отсутстствует.