URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 81876
[ Назад ]

Исходное сообщение
"Представлен kmod, новый инструментарий управления модулями я..."

Отправлено opennews , 16-Дек-11 14:40 
Анонсирован (http://www.politreco.com/2011/12/announce-kmod-1/) первый выпуск проекта kmod (http://git.profusion.mobi/cgit.cgi/kmod.git/), в рамках которого началось формирование нового набора утилит и библиотеки для управления загрузкой модулей ядра Linux. Ключевым отличием от утилит, подобных modprobe и insmod, является использования в качестве основы библиотеки libkmod, функции которой можно использовать в любых других программах. Использование библиотеки позволит избавить от необходимости вызова внешних утилит такие приложения, как udev, инсталляторы, утилиты работающие на раннем этапе загрузки. Код всех компонентов нового инструментария распространяется под лицензией GPLv2.

В десктоп-дистрибутивах и некоторых встраиваемых системах на этапе загрузки для проверки доступного оборудования используется udev, который создаёт устройства в директории /dev и на основании содержимого псевдофайловой системы /sys загружает необходимые для обеспечения взаимодействия с оборудованием моду...

URL: http://www.politreco.com/2011/12/announce-kmod-1/
Новость: http://www.opennet.me/opennews/art.shtml?num=32577


Содержание

Сообщения в этом обсуждении
"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Прохожий , 16-Дек-11 14:51 
А modinfo ?

"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено kuku , 16-Дек-11 16:49 
>Так как модулей загружается достаточно много, утилита modprobe может
>вызываться сотни раз, при этом не каждый запуск modprobe приводит к
>загрузке модуля так как модуль может уже быть загружен. Подобные
>действия приводят к большой паразитной >нагрузке и замедляют
>процесс загрузки.

Хорошо.
вводное: Каждое устройство имеет PCI идентификатор.
         Этому ID соответствует модуль, который
         может зависить от других модулей.
         Либо он есть, либо его нету.
         Полагаю что имя модуля уникально.
И как она может вызываться "сотни" раз ?
Если вызывается, по списку загруженных модулей
пройтись не судьба ?

Дальше.
Для ускорения загрузки Linux конфигурация и
компиляция ядра уже не нужна ?

А вообще, одебилить всё можно, но не дебилам
как бы от этого не легче.

От этого Linux более конкурентноспособным
не станет.
Для серверов это нахер ненадо.

А тем, кому нравится перезагружать Linux,
типа "I like to move it, move it", пусть
выберут что-нибудь другое.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Ваня , 16-Дек-11 16:59 
При загрузке драйвер может получать список драйверов. Напр. (абстрактно) драйвер кэша диска проверяет что загружен драйвер диска, или драйвер брандмауэра проверяет наличие хотя бы одного драйвера сетевой карты, и т.п.

Как это делать? Сейчас через вызов утилиты и парсинг текстовика. Хмм... 21 век вроде...

Теперь будет API, который будет возвращать структуры и возможно (не знаю) даже энумератор, как в Windows, сокращающий нагрузку и затраты памяти (по сути энумератор - ссылка на элемент существующего L1, поэтому при запросе достаточно найти первый элемент, соответствующий отбору, а не выбирать весь список).

Драйверов много и вызовов тоже много.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Lain_13 , 16-Дек-11 17:01 
Он предложил конфигурировать и собирать ведро на каждой конкретной железяке. 21 век вроде на дворе… Дальше можно было его не читать и даже не отвечать.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Hugo Reyes , 16-Дек-11 17:28 
есть системы, где скорость загрузки критична.
вполне уже сейчас можно применять linux с RT-патчами в системах управления, когда важна скорость восстановления системы при различных аппаратных сбоях и случайных ошибках. Рестарт должен длиться доли секунды.

"Представлен kmod, новый инструментарий управления..."
Отправлено arisu , 16-Дек-11 18:41 
> Рестарт должен длиться доли секунды.

и там не используют кастомное ядро без всяких удевов, а ставят полновесную универсальную систему? верю! и в то, что луна из лимбургского сыра сделана — тоже верю!


"Представлен kmod, новый инструментарий управления..."
Отправлено Аноним , 16-Дек-11 23:48 
> и там не используют кастомное ядро без всяких удевов, а ставят полновесную
> универсальную систему?

Ну так будет поменьше плясок с бубнами и в таких случаях. Или тебе нравится когда система работает в стиле виндус висты, загружаясь 5 минут?


"Представлен kmod, новый инструментарий управления..."
Отправлено arisu , 17-Дек-11 11:20 
> Ну так будет поменьше плясок с бубнами и в таких случаях.

в каких? чего «меньше»? хинт: система, неоптимайзнутая производителем под его железо, называется «халтура».


"Представлен kmod, новый инструментарий управления..."
Отправлено cjayho , 17-Дек-11 12:59 
>>хинт: система, неоптимайзнутая производителем под его железо, называется «халтура».

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


"Представлен kmod, новый инструментарий управления..."
Отправлено cjayho , 17-Дек-11 13:00 
*пЕрекомпилировав

"Представлен kmod, новый инструментарий управления..."
Отправлено Aleksey Salow , 17-Дек-11 13:12 
>>>хинт: система, неоптимайзнутая производителем под его железо, называется «халтура».
> Вы это разработчикам netBSD скажите, которые годами пилят архитектуру своей оси так
> чтобы ее можно было запустить на любом поддерживаемом компилятоом железе без
> изменения кода, только прекомпилировав под соотв. платформу.

Кто вам такое сказал? Там есть прослойка аналогичная HAL в винде которую и нужно писать под конкретное железо чтобы можно был взлететь. Компиляция спасёт только если кто-то уже постарался до вас.


"Представлен kmod, новый инструментарий управления..."
Отправлено Аноним , 17-Дек-11 08:22 
В потребительских девайсах - да, полновесную универсальную систему. И да, там нажна скорость загрузки.

"Представлен kmod, новый инструментарий управления..."
Отправлено arisu , 17-Дек-11 11:21 
> В потребительских девайсах - да, полновесную универсальную систему. И да, там нажна
> скорость загрузки.

и RT-ось, угу. посколькув оригинале ляпнул чушь, начал съезжать. abtreten!


"Представлен kmod, новый инструментарий управления..."
Отправлено Aleksey Salow , 17-Дек-11 13:09 
> В потребительских девайсах - да, полновесную универсальную систему. И да, там нажна
> скорость загрузки.

А можно пример этих самых потребительских девайсов?


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Aleksey Salow , 17-Дек-11 04:34 
Ещё наши деды поняли что там где это критично проще продублировать (3, 4 системы в резерве) чем городить непонятно что.

"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено asipin , 18-Дек-11 01:03 
> Ещё наши деды поняли что там где это критично проще продублировать (3,
> 4 системы в резерве) чем городить непонятно что.

И лучше разных.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 16-Дек-11 23:46 
> Для серверов это нахер ненадо.

Зато в куче других мест - очень даже надо. Холодильники, телефоны и прочие точки доступа должны стартовать настолько быстро насколько возможно.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено anonymous , 17-Дек-11 16:25 

В холодильниках, телефонах и прочих embedded, производитель собирает систему под конкретный девайс и обходится без всяких udev, как было сказано выше. Система стартует мгновенно, просто загрузив ядро.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено lucentcode , 16-Дек-11 18:26 
Давно пора. Хорошо, что такое важное новшество всё же запилили.

"Представлен kmod, новый инструментарий управления..."
Отправлено arisu , 16-Дек-11 18:42 
> Давно пора. Хорошо, что такое важное новшество всё же запилили.

есть мнение, что не такое уж оно и важное, раз до сих пор вполне нормально без него жили.


"Представлен kmod, новый инструментарий управления..."
Отправлено Аноним , 17-Дек-11 00:36 
> есть мнение, что не такое уж оно и важное, раз до сих
> пор вполне нормально без него жили.

Ну если так рассуждать, тогда развивая мысль, на хлебе и воде можно в принципе перекантоваться.


"Представлен kmod, новый инструментарий управления..."
Отправлено Аноним , 21-Дек-11 20:15 
нет, на 640К оперативки

"Представлен kmod, новый инструментарий управления..."
Отправлено lucentcode , 07-Янв-12 05:52 
>> Давно пора. Хорошо, что такое важное новшество всё же запилили.
> есть мнение, что не такое уж оно и важное, раз до сих
> пор вполне нормально без него жили.

С сегодняшнего дня этот инструментарий установлен у меня на машине, люблю всё новое.



"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 16-Дек-11 19:31 
> Использование библиотеки позволит избавить от необходимости вызова внешних утилит

А что, execve(2) у нас уже дорогой стал? Объясните, зачем линковаться динамически с библиотекой? Что, оверхэд у libc такой злой, что тратится куча времени?

modprobe/insmod, ясен пень, после первых запусков будут в кэше, mmap и готово. А то и раньше — заранее readahead положит.

Не осознаю.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 16-Дек-11 22:34 
>А что, execve(2) у нас уже дорогой стал? Объясните, зачем линковаться динамически с библиотекой? Что, оверхэд у libc такой злой, что тратится куча времени?

Начало моего сообщения под номером 8.80 . Я думаю дело в гибкости системы. То что вы пишете про кэш и mmap - да, верно. Но как разработчик и архитектор системы скажу вам что рано или поздно наступает момент когда появляется необходимость выделения функионала (на выходе единственная концентрированная логическая структура в виде модуля) которые ранее был "размазан" по нескольким модулям и четко не выделялся. Такие необходимости возникают всегда если проект:
1) развивается и уже на есть (или на подходе) потребность в подобном;
2) должен обеспечивать гибкую структуру для работы с ней (в нашем случае имеется ввиду что окружение ядра должно обеспечивать гибкость для работы с функционалом управления модулями).

Я не уверен что мои доводы вам покажутся достаточно весомыми, т.к. если вы не разрабатываете сложные проекты в несколько циклов развития - то  велика вероятность что вы не поймете сходу о чем речь.

Вцелом же, делают правильное и нужное дело. Я вам гарантирую это!


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено kuku , 20-Дек-11 14:53 
Хорошее замечание.

Отдельный механизм работы с модулями ?

В ядро всегда будут встроены модули, необходимые
для загрузки ОС на данной машине. И машины бывают
разные, со своими "капризами". И вариации устройств
к ним не всегда бывают большими.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 17-Дек-11 00:07 
> А что, execve(2) у нас уже дорогой стал?

Дороже просто вызова в либу. Загрузка с диска бинаря, его парсинг, загрузка секций, педалинг релокейшнов и инициализация переменных, вгрузка всех потребных бинарю либ если кого еще нет в памяти, etc. В 100500 раз больше действий. Если в случае опача половина действий скипается т.к. бинарь уже висел в памяти, то всякие там modprobe - не демон, в памяти его никто не держит.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 17-Дек-11 00:09 
> А то и раньше — заранее readahead положит.

Вы так говорите как будто на диске оно лежит в виде дампа который достаточно в оперативку вгрузить. Агащаз.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 17-Дек-11 00:30 
Он в памяти. Если друг за другом запускается, то вся загрузка, разбор бинарника и динамическое связывание пройдет один раз (в первый).

"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 17-Дек-11 00:38 
> Он в памяти. Если друг за другом запускается, то вся загрузка, разбор
> бинарника и динамическое связывание пройдет один раз (в первый).

Только при условии что оно не успеет выгрузиться из памяти во всех копиях. А поскольку это не демон - очень даже успеет и будет каждый раз парситься/догружать + свой конфиг парсить и прочий бред. Так что в целом направление мысли у этих кексов правильное.


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 17-Дек-11 01:17 
>Только при условии что оно не успеет выгрузиться из памяти во всех копиях. А поскольку это не демон - очень даже успеет и будет каждый раз парситься/догружать + свой конфиг парсить и прочий бред. Так что в целом направление мысли у этих кексов правильное.

Убеждаюсь в очередной раз что люди педалируют те идеи которые им понятны. Однако, скорость исполнения, загрузка/выгрузка - это в совокупности лишь второстепенные вещи по отношению к проекту. Вы вдумайтесь насколько часто сегодня в обычной (не загрузка и запуск/перезапуск служб) работе системы этот функионал востребован (случами разработки и отладки/тестирования модулей ядра или ядра можно и вовсе пренебречь).


"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Аноним , 17-Дек-11 02:14 
Я согласен что это не сильно приоритетное занятие и в списке насущных проблем оно хренадцатым номером, но если кому охота это написать - пусть будет :)

"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Стас , 18-Дек-11 12:04 
Мало библиотек, надо ещё добавить. Ну кому интересно, пусть пользуются, чего там. А так библиотека представляет чисто спортивный интерес сделать скорость загрузки linux сравнимой со скоростью загрузки dos. )

"Представлен kmod, новый инструментарий управления модулями я..."
Отправлено Гость , 12-Дек-13 06:33 
и будущим вирусам будет легче жить с kmod