Драйверы и модули ядра Linux

Итоговые заметки по актуальным обсуждениям в форумах

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 21 янв 2015, 00:44

В связи с серьёзными изменениями сетевых макросов в ядре 3.17 (см. viewtopic.php?f=20&t=3753), переписан текст в новой редакции, и переписаны все примеры кода сетевых модулей (драйверов).

Всё можно взять здесь: http://mylinuxprog.blogspot.com/2015/01/linux.html
Номер последней редакции: 223
Объём (страниц): 425
Размер файла текста: 1478880
Размер архива кодов: 893557
Дата размещения: 20 января 2015

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 05 мар 2015, 14:53

Olej писал(а):переписан текст в новой редакции, и переписаны все примеры кода сетевых модулей (драйверов).
Предложили немного расширить курс, сориентировав его на практические тренинги - решение учебных задач ... для группы разработчиков, которые имеют минимальный опыт Linux и модулей ядра ... которые думают, что они уже что-то знают и умеют по части модулей ядра. ;-)

Такая "маленькая перекройка" привела к тому, что:
- задач для практических занятий пришлось придумать ещё столько же почти, сколько в архиве примеров до того было;
- а потом ещё все эти задачи самому ... перерешать ;-) - написать свои варианты реализующего кода;
- а потом и текст захотелось перешерстить, сократить где можно начальные сведения ... сократить удалось мало, но получилось почистить и уточнить;
- попутно все старые примеры и новые задачи проверены в новых ядрах 3.17 - 3.18, и многое переписано на предмет совместимости с новыми ядрами;

И всё это закончилось новым комплектом:
- текст "Практикум: модули ядра Linux. Конспект и задачи" - это текст на базе "Драйверы и модули ядра Linux", но несколько другой, чуть сокращённый, и он явно дополнен формулировками задач для практической тренировки, задачи расставлены в тех местах, где и касающийся их материал;
- отдельный каталог в архиве +TASKS, содержащий обновлённые примеры к тексту и решения для формулируемых задач (старые коды задач, не совместимые с ядрами 3.10-3.18 сохранены "на память" в каталоге !previous);
- текст "Практикум: модули ядра Linux. Ответы на вопросы и задачи" ... собственно, ответы на задачи находятся в архиве кодов ;-) , здесь только названия подкаталогов и файлов (целеуказание) ... но среди задач есть часть вопросов, где код писать не обязательно, но нужно очень хорошо понимать происходящее в Linux и ядре - здесь ответы на такие вопросы;

Всё это добро можно свободно взять, если кого заинтересует, здесь.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 03 июн 2016, 13:50

Olej писал(а): Всё можно взять здесь: http://mylinuxprog.blogspot.com/2015/01/linux.html
Сохраню здесь статистику посещения блога со статьями ... такое вот небольшое подведение промежуточных итогов ;-) :
blog.png
blog.png (13.39 КБ) 6574 просмотра
Вот так это выглядит примерно с момента начала ведения в 2012 году.

А если по темам рассмотреть, то получается так:
Просмотры страницы:

Драйверы и модули ядра Linux
19 нояб. 2012 г.,
2170

Заметки о systemd, часть 2, управление
21 окт. 2012 г.,
1468

Сопоставление: 10 языков программирования
10 февр. 2014 г.,
1313

Сравнительное обозрение языков программирования
21 окт. 2014 г.,
918

Go конспект
16 авг. 2014 г.,
901
P.S. Я уже не знаю куда это написать ... :-o : там по каждой теме есть "возвраты", новые редакции, большие дополнения....
Например, по тем же драйверам и модулям ядра Linux: 2012г., 2013г., 2014г., 2015г. - немого меняясь в названиях.
Дорогие друзья ;-) - ну ищите самые последние версии, а не читайте самые старые редакции! ;-) ... там ведь даты везде указаны.

Аватара пользователя
Genast
Интересующийся
Сообщения: 3
Зарегистрирован: 03 фев 2017, 00:52
Откуда: Россия
Контактная информация:

Драйверы и модули ядра Linux

Непрочитанное сообщение Genast » 16 апр 2017, 20:01

Не совсем ясно что Вы хотите - каждый раз при загрузке компилировать ядро? Есть такая вещь как модули - как раз для драйверов.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 27 июл 2017, 15:03

Из отзывов на мои книги (в электронном виде) по модулям ядра Linux (из мэйл-переписки, комментариев и отзывов на сайтах и др.):
27.07.2017
Большое спасибо за вашу книгу, это единственное что есть из актуального на сегодняшний день в русскоязычном интернет по модулям ядра. Прочитал ее полностью, больше половины заданий сделал, сейчас перечитываю по второму разу. Раньше писал на С++ большую часть времени, но сейчас пришлось перейти на С и вплотную заняться модулями ядра.
P.S. Почему я а). назвал книги во множественном числе и б). почему не назвал конкретную книгу?
Потому что книга, собственно, расщепилась на две:
1. Драйверы и модули ядра Linux
2. Практикум по Linux Kernel
(и там и там есть ссылки для свободного скачивания)

Первая из них рассчитана на начинающих писателей драйверов под Linux, начиная с объяснений некоторых архитектурных особенностей ядра Linux и что такое и зачем модули ядра.
Вторая - это поздняя переработка первой (базовый материал там и там один и тот же), но рассчитанная на практикующих разработчиков модулей ядра: убраны разъяснения относительно основ и т.д. Но, что важно, в этом варианте добавлено довольно много не тривиальных задач из области модулей ядра + показаны возможные варианты их решений (эта часть была бы слишком сложной для начинающих).

Ещё что-то из переписки (то что попалось на глаза):
24.11.2011
Спасибо Вам за книгу "Модули ядра Linux". Я ее распечатал и начал читать. Редакция книги 4.95. Надо отметить, что текст читается легко и приятно.
Я получаю удовольствие.
07.11.2011
Благодарю за вашу книгу "Модули ядра Linux", вы делаете очень нужное дело.
Во-первых, заметил одну опечатку: ...
и т.д.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 27 июл 2017, 16:19

Olej писал(а):Из отзывов на мои книги (в электронном виде) по модулям ядра Linux (из мэйл-переписки, комментариев и отзывов на сайтах и др.):
http://mylinuxprog.blogspot.com/2015/02 ... el_25.html
2 года назад
Большое Вам спасибо за очень полезные материалы!
10 месяцев назад
Олег, большое спасибо за вашу книгу
http://mylinuxprog.blogspot.com/2013/11/linux.html
3 года назад
Отличная книга! Читал с большим удовольствием, спасибо.
http://mylinuxprog.blogspot.com/2013/01/linux.html
2 года назад
Тоже хочется сказать спасибо, пожелание довести Ваши рукописи до реальной книги и издать.( Я бы купил обязательно, книги написанные на русском языке совсем по другому читаются, и понимаются, нежили переведенные ).
4 года назад
Отличное пособие, помогающее быстро втянуться в разработку! Спасибо автору за труд!
http://mylinuxprog.blogspot.com/2012/11/linux.html
4 года назад
Огромное спасибо!
Наконец-то , с Вашей помощью, я окончательно определился в каком направлении куда идти дальше

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 22 июн 2018, 15:56

После очень большого перерыва - последняя редакция/правка "Практикум по Linux Kernel" относится к 1-й половине 2015 года - появилась оказия снова вернуться к этой теме: крупная отечественная компания, разработчик серьёзной электроники, обратилась с предложением помочь быстренько подобучить их сотрудников вещам, связанным с ядром Linux и написанием модулей ядра, драйверов.

В принципе ... можно было бы им оттарабанить ряд лекций-семинаров по имеющемуся курсу (ссылка выше), но ... как-то стыдно :oops: ... по материалу 3-х летней давности. Но эта мотивация так ещё ... шутка, но дело в том, что для краткого изложения материал нужно сделать максимально компактным, выбросив все мелочи и разъяснения (время сейчас уже другое: в деталях - Google в помощь), только наметив "штрих-пунктиром" самые важные вещи, т.е. "целеуказание" что искать в том Google - а детали как это сделать уж там найдутся! ;-)

И, естественно, дополнить материал обзором тех новых вещей, которые появились в использовании за прошедшее время (некоторые даже не новые вещи, а старые начавшие активно использоваться). Вот в связи с этим и появилось вот это продолжение темы в форуме:
- я не знаю, стану ли оформлять расширения и дополнения в единый связный текст ... хватит ли на это здоровья и времени (и того и другого ястаётся мало ;-) :-? ) ...
- но здесь в теме соберу ссылки на другие, новые темы этого форума относительно этого расширения...
- те, кому интересна эта тематика, дополнят сами уже существующий материал.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Драйверы и модули ядра Linux

Непрочитанное сообщение Olej » 22 июн 2018, 17:20

Olej писал(а): - но здесь в теме соберу ссылки на другие, новые темы этого форума относительно этого расширения...
1. Одноплатные компьютеры - это всё что касается особенностей появившихся широко одноплатных микрокомпьютеров, чаще всего на ARM платформе, но не обязательно...
Здесь целый раздел форума, где на сегодня уже 12 тем, а будет ещё больше. ;-)

2. управление частотой процессора - это вопросы энергосбережения и тепла (охлаждения).

3. Device mapper - это (в узком смысле) возможность отображать блочные (дисковые) устройства ... на что угодно. А в широком смысле - это расширение раздела рукописи (которую в этой теме мы обсуждаем):
5. Драйверы: блочные устройства
Но ещё больше, это обоснование того моего убеждения/утверждения, что:
- там где можно не лазить в ядро - не лазьте... :lol:
- есть достаточно много возможностей для разработчиков сделать много (или почти всё) в userspace
О чём и было немного в главе рукописи:
Операции I/O пространства пользователя
...
Проект libusb 251
Файловая система FUSE
...
И, ещё более, темы здесь в форуме:
файловая система FUSE
Это то, на что мы (с сотрудниками), в своё время, потратили много сил и времени, и о чём бы я теперь советовал разработчикам:
- разработка драйверов блочных устройств в Linux нужна только фирмам-изготовителям массового, тиражного специфическиго оборудования - остальным разработчикам более чем достаточно представленных на сегодня разнообразных инструментов userspace...
- для всех остальных ваших устройств, если они только не обеспечивают критические потоки (по скоростям), более чем достаточно userspace инструментария.

Ответить

Вернуться в «Итоги по обсуждениям здесь в форумах»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя