проект книги: "Модули ядра Linux"

Здесь будут размещаться ссылки и отзывы на интересные публикации по Linux

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

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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 30 мар 2012, 00:37

bose писал(а):Возникла необходимость кое что "покрутить" -
bose, я бы вам предложил (или даже попросил):

- пропустить весь раздел "Внешние интерфейсы модуля" ... в том числе и подраздел "Сеть"... - это самая старая часть текста (она готовилась в большом цейтноте под проведение занятий, по принципу: что успел - то и будет);

- пропустить весь раздел "Внутренние механизмы ядра" - там хоть и много интересного, но а). это копание в мелочах, в API ядра, б). нечто подобное можно почитать (более-менее) и в других местах... (это тот материал, который обязательно нужно было прочитать в лекциях);

- пропустить весь раздел ;-) "Обслуживание периферийных устройств" - потому что это самый слабый раздел текста, а что можно вообще выудить и говорить об вещах так сильно архитектурно отличающихся?

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

bose
Писатель
Сообщения: 107
Зарегистрирован: 23 фев 2012, 14:41
Откуда: Киев
Контактная информация:

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение bose » 30 мар 2012, 11:35

Olej писал(а): - пропустить весь раздел "Внешние интерфейсы модуля" ... в том числе и подраздел "Сеть"... - это самая старая часть текста (она готовилась в большом цейтноте под проведение занятий, по принципу: что успел - то и будет);

- пропустить весь раздел "Внутренние механизмы ядра" - там хоть и много интересного, но а). это копание в мелочах, в API ядра, б). нечто подобное можно почитать (более-менее) и в других местах... (это тот материал, который обязательно нужно было прочитать в лекциях);

- пропустить весь раздел ;-) "Обслуживание периферийных устройств" - потому что это самый слабый раздел текста, а что можно вообще выудить и говорить об вещах так сильно архитектурно отличающихся?

- и сразу смотреть раздел "Расширенные возможности" + к нему примеры: а). такого вы точно нигде ;-) не почитаете, б). многие вещи там неожиданные и даже спорные в). всё это совершенно свежие результаты и это самое интересное для обсуждения.
Я только прочитал это сообщение, но дело в том что я уже сделал почти всё наоборот )))
В процессе чтения книги у меня возникли некоторые потребности, а именно - потребность в отладке модулей. Я заинтересовался этим вопросом, так как постоянно сталкиваюсь с тем, что при частых модификациях кода модуля (добавление, удаление управляющих и отладочных конструкций) много времени уходт на вставку/удаление диагностических сообщений + иногда дела идут так плохо (например при исследовании механизма read_proc_t) что уже отладочные сообщения не помогают :roll: . Отсюда, решил рассмотреть ассортимент способов отладки ядра и выбрать для себя наиболее подходящую. Также хочу уйти от пагубной привычки разрабатывать на хостовой системе (удобно, быстро но опасно). Прочитал 9 раздел, но этим не ограничился - вспомнил что у меня есть "Debugging
Linux Systems" Sreekrishnan Venkateswaran
(автор книги Essential Linux Device Drivers) http://www.amazon.com/Debugging-Linux-S ... B002WY31JE. Её читаю.
Вобщем хочу настроить себе отладочную среду, причём в качестве target platform выбрал ARM так как в реальных разработках модули создаются под embedded архитектуры и отлаживать это всё на Qemu (вобщем handmade вариант eclipse среды для Android).
Кстати, в выщеуказанной книге нашёл пару экзотических вариантов отладки ядра о которых ранее даже не слышал - Kernel Probes (Kprobes, Jprobes), Kexec, Linux Trace Toolkit.

Ну и решил освежить в памяти различные структуры данных ядра (списки, очереди) и механизмы синхронизации - так как они часто в коде встречаются. Так что как видите - я пошёл от обратного... Но раздел о котором вы говорите (он у вас, кстати, называется "Более экзотические возможности") как только закончу с настройкой отладочной среды - сразу изучу

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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 30 мар 2012, 17:50

bose писал(а): В процессе чтения книги у меня возникли некоторые потребности, а именно - потребность в отладке модулей. Я заинтересовался этим вопросом, так как постоянно сталкиваюсь с тем, что при частых модификациях кода модуля (добавление, удаление управляющих и отладочных конструкций) много времени уходт на вставку/удаление диагностических сообщений + иногда дела идут так плохо (например при исследовании механизма read_proc_t) что уже отладочные сообщения не помогают :roll: . Отсюда, решил рассмотреть ассортимент способов отладки ядра и выбрать для себя наиболее подходящую. Также хочу уйти от пагубной привычки разрабатывать на хостовой системе (удобно, быстро но опасно). Прочитал 9 раздел, но этим не ограничился - вспомнил что у меня есть "Debugging
Linux Systems" Sreekrishnan Venkateswaran
(автор книги Essential Linux Device Drivers) http://www.amazon.com/Debugging-Linux-S ... B002WY31JE. Её читаю.
Вобщем хочу настроить себе отладочную среду, причём в качестве target platform выбрал ARM так как в реальных разработках модули создаются под embedded архитектуры и отлаживать это всё на Qemu (вобщем handmade вариант eclipse среды для Android).
Кстати, в выщеуказанной книге нашёл пару экзотических вариантов отладки ядра о которых ранее даже не слышал - Kernel Probes (Kprobes, Jprobes), Kexec, Linux Trace Toolkit.
Отладка модулей ядра (и её отличие от того, что пишут как отладка ядра) - это вообще интересная и совершенно отдельная тема. Предлагаю для неё вообще завести отдельную тему обсуждений в "Linux изнутри".
bose писал(а): Но раздел о котором вы говорите (он у вас, кстати, называется "Более экзотические возможности") как только закончу с настройкой отладочной среды - сразу изучу
Это он когда-то так назывался ;-) .

bose
Писатель
Сообщения: 107
Зарегистрирован: 23 фев 2012, 14:41
Откуда: Киев
Контактная информация:

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение bose » 26 апр 2012, 13:31

Очередная ошибка у Jerry Cooperstein.
В исходном коде примера lab2_pci.c (http://rus-linux.net/MyLDP/BOOKS/Moduli ... 07-02.html) есть такие строки:

Код: Выделить всё

/* decrement the reference count and release */ 
	      pci_dev_put( pdev );
Так вот - этого не нужно делать:
The reference count for @from is always decremented if it is not %NULL.
(из описания pci_get_device - http://lxr.free-electrons.com/source/dr ... rch.c#L273)

Глядя в код - так оно и есть http://lxr.free-electrons.com/source/dr ... rch.c#L222

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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 27 апр 2012, 00:58

Olej писал(а): Публикация на IBM developer Works начата с 11.01.2012.
Адрес 1-й части: http://www.ibm.com/developerworks/ru/li ... index.html
То, что выкладывается там, есть несколько изменённый вариант текста, выложенный на этом сайте (в чём-то он будет укорочен, а в чём-то углублён).

Те, кого интересуют практические вопросы написания драйверов Linux - просматривайте оба источника: и там и здесь текст и архивы примеров будут обновляться, но синхронизировать их я не буду (т.е. они будут несколько расходиться).
После большого перерыва (долго они раскачивались) пошли плотной последовательностью публикации статей на IBM developer Works:
Разработка модулей ядра Linux: Часть 2. Анализ полученных результатов
Разработка модулей ядра Linux: Часть 3. Экспорт символов

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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 27 апр 2012, 12:04

Olej писал(а): После большого перерыва (долго они раскачивались) пошли плотной последовательностью публикации статей на IBM developer Works:
Разработка модулей ядра Linux: Часть 2. Анализ полученных результатов
Разработка модулей ядра Linux: Часть 3. Экспорт символов
Теперь многие любопытные вещи, на разгребательство с которыми наталкивают вот подобные находки:
bose писал(а):Очередная ошибка у Jerry Cooperstein.
В исходном коде примера lab2_pci.c (http://rus-linux.net/MyLDP/BOOKS/Moduli ... 07-02.html) есть такие строки:
+ результаты детального углубления в частные вопросы, на которое подталкивает именно разговор в этой теме форума - всё это может заканчиваться (и показываться) в этой серии статей, потому как они: а). регулярные, б). короткие.

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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 27 апр 2012, 19:58

Olej писал(а):
Olej писал(а): Адрес 1-й части: http://www.ibm.com/developerworks/ru/li ... index.html
После большого перерыва (долго они раскачивались) пошли плотной последовательностью публикации статей на IBM developer Works:
Разработка модулей ядра Linux: Часть 2. Анализ полученных результатов
Разработка модулей ядра Linux: Часть 3. Экспорт символов
Разработка модулей ядра Linux: Часть 4. Ядро и модуль

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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 01 май 2012, 23:09

Шикарная подборка для скачивания книг по ядру Linux и программированию модулей ядра: http://findebookee.com/t/the-linux-kernel-book
Там, например, можете взять:
Wolfgang Mauerer, "Professional Linux Kernel Architecture", 2008, 1370 стр.
Изображение

... ну и многих других, не менее интересных, и 2012 года!


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

Re: проект книги: "Модули ядра Linux"

Непрочитанное сообщение Olej » 16 май 2012, 23:08


Ответить

Вернуться в «Публикации, книги и обсуждения»

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

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