LinuxDoc.ru - Новости Linux - Разработчики systemd: загрузка с initrd оказалась быстрее загрузки без initrd

Разработчики systemd: загрузка с initrd оказалась быстрее загрузки без initrd

LinuxDoc.Ru,
В ходе работ по улучшению поддержки системного менеджера systemd в качестве init-процесса начального RAM-диска (initrd), разработчики Кей Сайверс и Гарольд Хойер столкнулись с интересным и по-своему курьёзным фактом — при использовании initrd, суммарное время инициализации ядра и initrd оказалось примерно на 10% меньше, чем время инициализации ядра без initrd.

Начальный RAM-диск (initrd) представляет собой специализированную файловую систему, которая используется ядром на стадии начальной загрузки. Основная задача initrd — обеспечить монтирование жизненно важных файловых систем: корня и /usr. В наиболее простых ситуациях (локальные дисковые разделы) данная работа может быть проделана и ядром, однако в случае использования для этих разделов специфических механизмов (LVM, RAID, multipath, шифрование, NFS), initrd является наиболее простым и гибким решением. Также он может оказаться полезен в качестве аварийно-восстановительной системы, предоставляя администратору средства, необходимые для исправления ошибок при монтировании ключевых системных разделов.

Традиционно считалось, что отказ от initrd должен неизбежно привести к увеличению скорости загрузки. Однако, при использовании в качестве init-процесса initrd systemd, результат получился неожиданным и парадоксальным: ядро в сочетании с initrd отрабатывали быстрее, чем ядро без initrd. Наиболее вероятная причина состоит в том, что при загрузке без initrd ядро выполняет вызов wait_for_device_probe(), ожидая завершения инициализации всех периферийных устройств. В то время как при использовании initrd с systemd, загрузка продолжается сразу после инициализации необходимых устройств (т.е. носителей корня и /usr).

Асинхронная архитектура systemd, в отличие от классической синхронной, позволяет не задерживать процесс загрузки на ожидание устройств, которые не требуются на данном этапе. В зависимости от аппаратной конфигурации системы, эта задержка может сильно отличаться: например, встроенный в ноутбук 3G-модем без SIM-карты задерживает загрузку на 5 секунд, а сервер с тысячами физических дисков и/или логических томов может потерять несколько десятков минут, опрашивая каждое блочное устройство на предмет наличия на нем файловой системы.

Стоит отметить, что в обсуждении один из разработчиков приводит довольно простой патч, который теоретически должен исправить эту проблему, путём перевода данной операции в ядре на асинхронный режим. К сожалению, пока отсутствуют результаты измерений, которые бы позволили судить об эффективности такого исправления.

В дополнение, несколько других, более коротких новостей от проекта systemd:

Разработчики systemd и Arch Linux Том Гундерсен и Дейв Рейзнер обеспечили поддержку systemd в качестве init-процесса initrd при использовании стандартного для Arch генератора initrd — mkinitcpio (в то время, как упомянутая выше работа Сайверса и Хойера акцентируется на dracut, стандартном initrd-генераторе Fedora/RHEL и Mageia/Mandriva).

Разработчик Arch Linux и SDDM Андреа Скарпино представил библиотеку libsystemd-qt, упрощающую обращение к функциям systemd из программ на базе фреймворка Qt. В качестве примера использования библиотеки приводится простая программа ksystemd, позволяющая просматривать состояние различных системных юнитов. В целом, проект направлен на улучшение взаимной интеграции systemd и KDE.

Разработчики пользовательского окружения Enlightenment обеспечили поддержку использования systemd в качестве системы инициализации сеанса. Запуск пользовательского сеанса в десктоп-окружении во многом аналогичен загрузке системы, что позволяет использовать для решения обеих этих задач один и тот же механизм, с минимальной адаптацией. Ранее, в силу сложившейся в эпоху SysV init традиции неоднократно дублировать и реализовывать заново уже существующую функциональность, каждое десктоп-окружение предлагало свою собственную систему инициализации сеанса. Замена множества собственных реализаций на общий стандарт должна упростить жизнь разработчикам DE и позволит им сконцентироваться на более актуальных задачах.

Опубликованы видеозаписи докладов сотрудника компании Wargaming (известной своей игрой World of Tanks) Максима Мельникова, одного из администраторов инфраструктуры серверов World of Tanks. В первом докладе «Зачем нам systemd», кратко рассматриваются ключевые преимущества systemd, полезные для системных администраторов и отсутствующие в других решениях. Во втором докладе обсуждаются достоинства механизма Journal и разбирается практический пример его использования. Доклады примечательны тем, что тема использования systemd впервые затронута на русскоязычной конференции разработчиков и пользователей Linux ((LVEE 2012).
linux

Новости Linux

. Разработчики systemd: загрузка с initrd оказалась быстрее загрузки без initrd Разработчики systemd: загрузка с initrd оказалась быстрее загрузки без initrd
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> Компания Google представила релиз операционной системы Chrome OS 67, основанной на ядре Linux, системном менеджере upstart, сборочном инструментарии ebuild/portage, открытых компонентах и web-браузере Chrome 67. Пользовательское окружение Chrome OS ограничивается web-браузером, а вместо стандартных программ задействованы web-приложения, тем не менее, Chrome OS включает в себя полноценный многооконный интерфейс, рабочий стол и панель задач.
>>> Увидел свет релиз дистрибутива Devuan 2.0 "ASCII", форка Debian GNU/Linux, поставляемого без системного менеджера systemd. Новая ветка примечательна переходом на пакетную базу Debian 9 "Stretch". Для загрузки подготовлены Live-сборки и установочные iso-образы для архитектур AMD64, i386 и ARM (Raspberry Pi, Banana Pi, СubieBoard, Odroid и др.). Специфичные для Devuan пакеты можно загрузить из репозитория packages.devuan.org. Подготовлены инструменты для миграции на Devuan 2.0 с Devuan 1.0, Debian 8.x "Jessie" или Debian 9.x "Stretch".
>>> Проект TrueOS (ранее PC-BSD) объявил о превращении из надстройки над FreeBSD с графическим рабочим столом в обособленную операционную систему, которую можно рассматривать как "downstream" форк FreeBSD. Помимо ранее предлагаемых файловой системы ZFS и системы инициализации OpenRC, начинка TrueOS будет расширена дополнительными возможностями, которые позволят рассматривать проект как свежую и инновационную ОС. В итоге планируется подготовить модульную, функциональную и качественную платформу, нацеленную на удовлетворение потребностей продвинутых пользователей и любителей кастомизации.
>>> Подготовлен корректирующий выпуск Firefox 60.0.2, в котором устранена критическая уязвимость и исправлено несколько ошибок. Информация о критической уязвимости пока не раскрывается, в отчёте упоминается только проблема CVE-2018-6126 в библиотеке Skia, которая может привести к краху браузера из-за переполнения буфера при растеризации специально оформленных изображений в формате SVG при выключенном сглаживании.


Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.