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).
{keyw}

Новости Linux

. Разработчики systemd: загрузка с initrd оказалась быстрее загрузки без initrd Разработчики systemd: загрузка с initrd оказалась быстрее загрузки без initrd
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> После пяти месяцев разработки увидел свет релиз десктоп-окружения MATE 1.12, в рамках которого продолжено развитие кодовой базы GNOME 2.32 с сохранением классической концепции формирования рабочего стола. Установочные пакеты с MATE 1.12 в ближайшее время будут подготовлены для Arch Linux, Linux Mint, Debian, Ubuntu, Fedora, Mageia, Slackware и openSUSE. MATE 1.12 войдёт в состав ближайшего выпуска Linux Mint 17.3, а также будет доступен через репозиторий для пользователей Ubuntu MATE.
>>> Кес Кук (Kees Cook), бывший главный сисадмин kernel.org и лидер Ubuntu Security Team, ныне работающий в компании Google над обеспечением защиты ChromeOS, объявил о создании проекта Kernel Self Protection Project, в рамках которого планируется сформировать сообщество для развития и продвижения в основное ядро Linux технологий активной защиты, большинство из которых уже подготовлены в рамках проектов PaX и Grsecurity. Финансирование и ресурсы для проведения работ будут предоставлены организацией Linux Foundation и участниками программы Core Infrastructure Initiative.
>>> Состоялся релиз Linux-дистрибутива Ubuntu 15.10 "Wily Werewolf". Готовые установочные образы созданы для Ubuntu Desktop, Ubuntu Server и Ubuntu Core (для них на прошлых этапах тестирования предлагались только ежедневные сборки), а также для Kubuntu, Lubuntu, Ubuntu MATE, Ubuntu Cloud, Ubuntu GNOME и Xubuntu.
>>> Объявлено о начале альфа-тестирования дистрибутива Ubuntu 15.10 "Wily Werewolf". В соответствии с планом разработки, уже опробованном при подготовке прошлых выпусков, отдельные альфа-сборки не будут сформированы, вместо них для тестирования предлагается использовать ежедневные экспериментальные сборки. Готовые тестовые образы созданы только для Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu MATE и Ubuntu Cloud. Второй альфа-выпуск Ubuntu 15.10 запланирован на 30 июля, релиз намечен на 22 октября.


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

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