Представлен kmod, новый инструментарий управления модулями ядра Linux
16 декабря 2011 года
Анонсирован первый выпуск проекта kmod, в рамках которого началось формирование нового набора утилит и библиотеки для управления загрузкой модулей ядра Linux. Ключевым отличием от утилит, подобных modprobe и insmod, является использование в качестве основы библиотеки libkmod, функции которой можно использовать в любых других программах. Использование библиотеки позволит избавить от необходимости вызова внешних утилит такие приложения, как udev, инсталляторы, утилиты работающие на раннем этапе загрузки. Код всех компонентов нового инструментария распространяется под лицензией GPLv2.
В десктоп-дистрибутивах и некоторых встраиваемых системах на этапе загрузки для проверки доступного оборудования используется udev, который создаёт устройства в директории /dev и на основании содержимого псевдофайловой системы /sys загружает необходимые для обеспечения взаимодействия с оборудованием модули ядра. Так как модулей загружается достаточно много, утилита modprobe может вызываться сотни раз, при этом не каждый запуск modprobe приводит к загрузке модуля так как модуль может уже быть загружен. Подобные действия приводят к большой паразитной нагрузке и замедляют процесс загрузки. Используя libkmod все операции по проверке активности и загрузке модулей могут производиться через обычные библиотечные вызовы, занимая при этом минимум ресурсов, так как файлы конфигурации и индексы со списком имеющихся в наличии модулей будут разобраны один раз, а не при каждом обращении к утилите modprobe.
В настоящее время в kmod входит реализация утилит kmod-lsmod, kmod-insmod, kmod-rmmod, kmod-modprobe, в которых обеспечена совместимость и реализована функциональность, аналогичная утилитам lsmod, insmod, rmmod и modprobe. Библиотека libkmod предоставляет API для вывода уже загруженных ядром модулей; получения информации о заданном модуле, включая такие данные как зависимости, размер и позиция в адресном пространстве ядра; поиска модулей по заданным критериям (алиас, имя модуля и путь); загрузки модулей с передачей параметров конфигурации; удаления модулей; использования чёрных списков; получения данных о поддерживаемых модулем опциях; управления индексом с данными о модулях. В настоящее время разработчики kmod обсуждают вопрос использования libkmod с мэйнтейнерами проектов udev и systemd.
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.