Olej писал(а):
- рукопись книги
"Модули ядра Linux" была впервые выложена здесь на этом сайте...
Возвращаясь, наконец, к предмету этой темы...
Чем последняя редакция принципиально расширена по сравнению с начальным выложенным текстом?
Очень многим...
1. Полностью добавлен здоровенный раздел: "Блочные устройства". Это по итогам вопросов участников здесь форума, и позднее по итогам обсуждений:
модуль ядра блочного устройства.
2. По символьным устройствам добавлено несколько глав "Неблокирующий ввод-вывод и мультиплексирование" (с работающими примерами), а это - неблокирующий ввод-вывод + такие операции как select(), poll()...
3. Полностью переделан и расширен раздел о сетевой подсистеме и протокольных уровнях L2, L3, ... Это по итогам обсуждений в
простой виртуальный сетевой интерфейс (и предшествующим темам:
Криптование потока сетевого интерфейса ,
Виртуальное сетевой устройство с криптованием ,
сетевые интерфейсы (реальные и виртуальные)). Здесь много пришлось перелопатить
4. С помощью здесь участников обсуждений на форуме (
чтение-запись данных ядра через /proc - 3 стр. в форуме!) полностью переписан раздел "Интерфейс /proc". Такой степени детализации, как теперь, вряд ли найдёте в любом источнике и в любом месте Интернет
5. По мотивам обсуждения
асинхронные уведомления и udev - написана глава об асинхронных уведомлениях из ядра, происходящих при всяких изменениях в /sys, а это ключ ко всему управлению /dev через udev. Написаны примеры кода, которые, как мне кажется, делают всю эту запутанную цепочку совершенно прозрачной. Это ключ к умелому использованию /etc/udev.conf вместе со своими драйверами.
6. Серьёзно переписан раздел "Обслуживание периферийных устройств" - это работа в драйвере с PCI, DMA, USB и т.д.
7. И, конечно, раздел (50 стр.) "Расширенные возможности" которого раньше не было.
Это, если быть точнее, не "Расширенные возможности", а "Хакерские штучки" ... те подробности, которые команда разработчиков ядра предпочитает не афишировать (см. тему форума
экзотика в модулях ядра (для вас, хакеры и вирусописатели)). С этими вещами в ядре Linux вообще можно делать всё, что вздумается.
Так что различия накопились - очень значительные.
Пользуйтесь
редакцией 3.168 или теми, которые последуют дальше в развитие.
P.S. Мне задают временами по почте уточняющие вопросы, и, как выясняется, по устаревшим редакциям - я не могу помнить и отвечать по прежним редакциям, пользуйтесь
последней.