LINUX.ORG.RU

Книга «Модули ядра Linux»

 , ,


3

8

На сайте rus-linux.net опубликован проект книги О.И.Цилюрика «Модули ядра Linux». Книга посвящена программированию модулей ядра Linux и рассчитана на опытных разработчиков системного программного обеспечения. Предполагается, что читатель может и не иметь богатого опыта в программировании именно для ядра Linux, или даже вообще в программировании для этой системы, но имеет какой-то опыт в системном программировании для других операционных систем, что послужит базой для построения аналогий. Даже если чтение книги и не подвигнет читателя к написанию собственных компонент ядра (что совершенно не обязательно), то, по крайней мере, поможет более точному пониманию тех процессов, которые происходят в ядре. На примерах дан обстоятельный обзор возможностей в программировании модулей ядра, этого набора примеров достаточно, чтобы начать писать свой собственный драйвер-модуль Linux, дальше наращивая его функциональность. Предназначено для программистов-разработчиков, ведущих реальные проекты. Конструктивные замечания по тексту можно направлять автору на адрес olej at front dot ru.

>>> Подробности

★★★

Проверено: Shaman007 ()

Ответ на: комментарий от x0r

Вы очень категоричны, на мой взгляд.

...стех пор листаю исключительно англоязычную литературу и не знаю горя.

На ум приходит цитата из Стругацких (ПНвС) по поводу одного из определений счастья, собранных Магнусом Федоровичем Редькиным: «Счастливей всех шуты, дураки, сущеглупые и нерадивые, ибо укоров совести они не знают, призраков и прочей нежити не страшатся, боязнью грядущих бедствий не терзаются, надеждой будущих благ не обольщаются»

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

A-234 ★★★★★ ()

Olej, за книгу, в любом случае, спасибо.
Пока что я прочёл только первые три раздела. И по прежнему склоняюсь к тому, что это скорее набор заметок с примерами. Вообще весьма странный порядок изложения, к тому же слегка сумбурный. Особенно напрягают дополнения в скобках в середине предложения, после которых оно начинает казаться несогласованным. После примера простейшего модуля я ожидал подробного описания, но почему-то такие вещи как __init и __exit опущены. Нигде не указано что лицензия модуля не просто филькина грамота, а параметр определяющий какие API ядра можно вызывать, а какие нет. Потом резко начинается колупание файла модуля с помощью readelf и objdump, хотя зачем это нужно в вводных разделах я не понял.
В общем, у меня складывается впечатление что я бы ничего оттуда не понял, если бы раньше об этом не читал. По структуре и изложению мне понравилась презентация с free-electrons.org, там всё расписано в строгом порядке от простого к сложному. Тот же Роберт Лав также читается без напряга, здесь же не так.

Lampus ()

Читал ранние заготовки книги в виде статей. Читать стоит, вещь хорошая.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от anonymous

ядро то уже третье! очнитесь!

Третье? да хоть десятое ... «очнитесь»(с) ;)

Какое касательство это имеет к технике программирования модулей ядра?

Olej ()
Ответ на: комментарий от FeyFre

Ну те хоть ракеты запускают. Зато некоторые даже не способны выучить русский язык в объеме начально школы, и писать на нем без ошибок, а туда же критиковать лезут с кувшинным рылом в калашный ряд.

anonymous ()
Ответ на: комментарий от Lampus

Пока что я прочёл только первые три раздела. И по прежнему склоняюсь к тому, что это скорее набор заметок с примерами.

Это и есть заметки с примерами для программистов, в виде справочника: как по-быстренькому написать скелет модуля для себя.

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

За любые замечания - спасибо. Давайте обсуждать.

Тот же Роберт Лав также читается без напряга, здесь же не так.

Роберт Лав пишет о совсем другом: как устроено ядро, и что там есть... (и таких книг в мировой литературе несколько десятков хороших).

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

Olej ()
Ответ на: комментарий от Lampus

Пока что я прочёл только первые три раздела. И по прежнему склоняюсь к тому, что это

А это уже в порядке персональной просьбы, к вам, и ко всем другим заинтересованным в этой тематике участникам ЛОР: - если есть конкретные замечания, пожелания, критика, вопросы-ответы по предмету ... соображения какие вопросы ещё подробно проработать и показать... - то давайте это уже обсуждать ... «в рабочем порядке» в форуме того же сайта русскоязычной документации, где текст и выложен... - вот эта тема специально для таких рабочих вопросов: http://rus-linux.net/forum/viewtopic.php?f=3&t=1549

Olej ()
Ответ на: комментарий от vkaravanov

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

roof ★★ ()
Ответ на: комментарий от x0r

А кто виноват? А что делать?

Ктото когдато говорил, что если it книга написана российским автором, то ей смело можно подтереться.

Здравствуйте, скажите пожалуйста согласны ли вы с этим высказыванием и если да (или если нет) то объясните пожалуйста - по вашему мнению с чем это связано и возможно ли улучшить ситуацию и как. И если не секрет каков ваш личный опыт и/или вклад в данную область человеческой деятельности?

Diadia_Fiodor ()
Ответ на: комментарий от Olej

Немного оффтопа, Olej, я видел, что вы были участником форума minix3.ru, а теперь уже значитесь как Экс-участник. Что произошло то?

rikardoac ()
Ответ на: комментарий от rikardoac

я видел, что вы были участником форума minix3.ru, а теперь уже значитесь как Экс-участник. Что произошло то?

это значит только (и ничего более!):

1. что я в своё время плотно пописал программы и пообсуждал драйверы-серверы MINIX3 (а до того - QNX ;)) ... но с перекраиванием версий MINIX в 3.1.9 и 3.2.0 они там потеряли (укрыли) средства разработки драйверной части... мне остальное неинтересно, я и не пишу туда ничего ... но читаю ежедневно (когда что поменяется)

2. «экс-участник» потому, что у них на форуме в результате неквалифицированного администрирования накрылась учётная БД... пришлось мне завести нового участника с тем же именем, а старый остался «экс».

Olej ()
Ответ на: комментарий от I-Love-Microsoft

> супер книга, но там на некоторых страницах рисунков нет

Да, книга без картинок - это проблема. Журнал Мурзилка - наше всё.

bbk123 ★★★★★ ()
Ответ на: А кто виноват? А что делать? от Diadia_Fiodor

согласны ли вы с этим высказыванием и если да (или если нет) то объясните пожалуйста

Не совсем в тему ... и не совсем к вопросу, но...

По этому поводу интересно почитать, кто не читал - Шалыто А.А «У нас была Великая эпоха!»: http://is.ifmo.ru/belletristic/pre/

Olej ()

Недавно собирал hello world модуль. Попробовал его также уронить. Потом его нельзя было выгрузить. В книге есть упоминание «почаще перезагружайтесь». Но всё же между этими перезагрузками можно как-то выгрузить упавший модуль (если видно, что он упал на том месте, где возился со своими структурами/вычислениями, а не чужими)?

gag ★★★★★ ()
Ответ на: комментарий от gag

> Попробовал его также уронить. Потом его нельзя было выгрузить.

Можно сделать модуль, который вообще нельзя выгрузить ([permanent] отмеченный) - уберите из- кода функцию exit() ... и ОК - с ним ничего нельзя сделать.

можно как-то выгрузить упавший модуль (если видно, что он упал на том месте, где возился со своими структурами/вычислениями, а не чужими)?

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

Olej ()
Ответ на: комментарий от Olej

> По этому поводу интересно почитать, кто не читал - Шалыто А.А «У нас была Великая эпоха!»: http://is.ifmo.ru/belletristic/pre/

даааа

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

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

меня бы заинтересовал список вида «фамилия — краткое описание серьезного достижения», однако с этим у автора ой как не густо

«при этом верхняя оценка, полученная К.Э. Шенноном, уменьшалась в два раза» — это что, вместо оценки f(...) была получена оценка f(...)/2 ???

после уменьшения оценки в 2 раза появилась возможность доказать что-то существенно новое, или нет?

шеннон доказал *результат*, а лупанов, надо полагать, поковырявшись в объедках с царского шенноновского стола, смог разыскать кусочки недоеденной пищи и трудолюбиво по-нищебродски собрал их в одну кучку, которая, однако ж, (литавры!) оказалась по объему похожа на царский обед

з.ы. трепло, а не ученый, легко детектируется по рассказам кого как звали — лекачкой например

www_linux_org_ru ★★★★★ ()
Ответ на: комментарий от www_linux_org_ru

автор вероятно рассчитывает, что я должен

Такой автор о таком читателе - ничего не рассчитывает ;) ...

з.ы. трепло, а не ученый, легко детектируется по рассказам

... а я уж для слабограмотных детекторов уточню, скромно, что автор:

  • доктор наук, профессор ... но это так, по мелочам...
  • основатель научной школы из сотен учеников, которую (школу) называют западные обозреватели (это ж для вас сильный авторитет? ;) ) и неоднократно: «технологически прорыв России в ХХI век», ни много ни мало...
Olej ()
Ответ на: комментарий от rikardoac

Немного оффтопа, Olej, я видел, что вы были участником форума minix3.ru, а теперь уже значитесь как Экс-участник. Что произошло то?

на оффтоп и ответ оффтоп:

  • там менее интересно стало,
  • я сейчас много примеров в коде пишу-показываю-обсуждаю на: http://rus-linux.net/forum/index.php, о суперпроизводительных вычислениях на GPU, например (этого в MINIX не обкатаешь)...
  • интересно станет - посмотрите, там много любопытного выплывает,
  • здесь надоест и неинтересно станет - здесь покину и ещё куда-то перейду ... я во многих местах русского интернет плотно отмечался ;)
Olej ()
Ответ на: комментарий от Olej

> основатель научной школы из сотен учеников, которую (школу) называют западные обозреватели (это ж для вас сильный авторитет? ;) ) и неоднократно: «технологически прорыв России в ХХI век», ни много ни мало...

спешу тебя огорчить — для меня никто не авторитет, включая западных обозревателей (тем более, что ты не привел на них ссылки)

удивительно, как ты умудрился не прочитать мою фразу о том, что бы меня заинтересовало... ну в переводе на понятные тебе слова моим авторитетом был бы список «фамилия — краткое описание серьезного достижения»

пока что во всей этой куче навоза ( http://is.ifmo.ru/belletristic/pre/ ) я обнаружил всего одно жемчужное зерно — АВЛ-деревья, и пока что не потерял надежду, что ты избавишь меня от бесполезного этой кучи перерывания, и сразу перечислишь жемчужины

а я уж для слабограмотных детекторов уточню, скромно, что автор: доктор наук, профессор ... но это так, по мелочам

ооо, падем ниц перед доктором наук, профессором!!!

а что же не по мелочам, интересно?

я детектирую легкое раздражение по тому, что ты уже сразу перешел к обсуждению моей скромной персоны и называнию меня малограмотным

мне лень спорить с тобой и доказывать свою грамотность; а может быть, все же для грамотных читателей ты таки сообщишь списочек «фамилия — краткое описание серьезного достижения»?

www_linux_org_ru ★★★★★ ()

Хорошая новость. И автор доступен для комментариев и внесения изменений ;)

Книга пусть будет, не так уж и много информации на русском по программированию модулей ядра.

P.S. А с книгами по программированию ядра BSD вообще труба :( Единственно, в nostarch в 2012 выходит одна по FreeBSD, остальные все древние очень. На openbsd.org вообще маккузиковскую 4.4 book посылают читать. ;)

Lothlorien ★★★ ()
Ответ на: комментарий от www_linux_org_ru

> ооо, падем ниц перед доктором наук, профессором!!!

Не вина О.И.Цилюрика в том, что понятия доктор наук/профессор реформаторы образований и прочие причастные к процессу опустили ниже плинтуса! Цилюрик за ЭТО не в ответе!!!

anonymous ()
Ответ на: комментарий от Olej

>Я не очень понимаю, что значит «упавший модуль»? модуль, который начудил где-то в своём коде, но остаётся загруженным? он должен командой rmmod выгружаться.

Наверное, имеется ввиду Oops

ttnl ★★★★★ ()
Ответ на: комментарий от anonymous

О.И.Цилюрик, залогиньтесь.

Olej, Вы предоставляете ссылку на выжившего из ума препода-маразматика в качестве авторитетного. Довольно-таки херовая аргументация. Вам это не очевидно, нэ?

anonymous ()
Ответ на: комментарий от anonymous

s/авторитетного\./авторитетного мнения./

быстросамозаплатка

anonymous ()
Ответ на: комментарий от anonymous

> Не вина О.И.Цилюрика в том, что понятия доктор наук/профессор реформаторы образований и прочие причастные к процессу опустили ниже плинтуса! Цилюрик за ЭТО не в ответе!!!

«понятия»? скажи сразу авторитет

так вот — авторитет, основанный на научных званиях, по-моему, достаточно бесполезная вещь, и такая ситаций не сложилась в результате действий «реформаторов образований»

дело в том, что при достаточном упорстве доктора можно было получить просто проделав большой объем работы, алгоритм которой был известен (да, понятное дело, для изучения оного алгоритма требуется существенное время)

я бы не сказал что это неправильно — в науке есть вопросы, ответ на которые важен, но требует большой работы (а не озарения); по-моему, давать доктора за их решение — вполне нормально

с другой стороны, возьмем например хемминга — он изобрел свой код, будучи просто аспирантом; при сравнительной оценке двух научных школ я оценю хемминга выше, чем какого-то доктора, и научное звание хемминга мне до лампочки

те же АВЛ-деревья в принципе могли изобрести студенты 3-го курса, и меня опять (почти) не интересуют их звания — их, скажем, ладно уж, авторитет, для меня примерно равен хеммингу

теперь, для сбалансированности взгляда — емнип я видел одну докторскую на западе, в которой автор тупо пересказал алгортм декодирования МР3

__________________________________

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

www_linux_org_ru ★★★★★ ()
Ответ на: комментарий от Olej

еще один интересный момент об авторитете научных званий: я как-то пробовал читать на аглийском книжку каких-то, кхе-кхе, ученых cо званиями, и просто плевался; а недавно заглянул в доки к гнутой libc, и можно сказать ахнул: там пишется то же самое (исходнички простейшего шелла), но написано ясным языком и заглатывается без малейшего сопротивления

www_linux_org_ru ★★★★★ ()
Ответ на: комментарий от Olej

Olej

... если есть конкретные замечания ...

  • Как я уже говорил, нет чёткой последовательности повествования. Например, в четвёртом разделе есть пункт «Основные команды», где для часто используемых команд даётся описание всего по одной строчке. Зато до этого всё повествование эти команды использовались направо и налево. Причём для некоторых из них даже давалось более подробное описание. Не лучше бы было вытащить все эти описания в этот пункт, а сам пункт перенести ближе к началу книги? Потом, при необходимости, можно будет на него просто ссылаться.
  • В пункте «Системные файлы» думаю следует упомянуть /proc/iomem, который в случае архитектуры ARM явно нужнее, чем /proc/ioports, ибо там все железки в кристалле мапятся на память.
  • В пункте «Подсистема X11, терминал и текстовая консоль» можно упомянуть, что в Убунте настройка терминалов осуществляется через файлы /etc/init/tty*.conf (а можно и не упоминать). На той же Убунте fgconsole следует использовать с sudo, ибо:
    $ fgconsole 
    Couldn't get a file descriptor referring to the console
  • В пункте «О сборке модулей детальнее» в одном из Makefile'ов есть строка: «gcc ioctl.c -o ioctl». Не очень хорошая идея дёргать gcc напрямую, а то вдруг я использую кросс-компилятор, какой-нибудь arm-none-linux-gnueabi-gcc? Лучше использовать везде $(CC) или $(HOSTCC) в зависимости от применения компилируемой софтины.
  • В пункте «Как собрать модуль и использующие программы к нему? » есть такой код:
    typedef struct _RETURN_STRING {
    	   char buf[ 160 ];
    	} RETURN_STRING;
    
    Вообще Торвальдс бы такое не одобрил, если смотреть в Documentation/CodingStyle:

    Chapter 5: Typedefs

    Please don't use things like «vps_t». It's a _mistake_ to use typedef for structures and pointers.

    Ну и про пробелы уже тоже говорили:

    Do not add spaces around (inside) parenthesized expressions. This example is *bad*:

    s = sizeof( struct file );

Lampus ()
Ответ на: комментарий от fork_you

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

fooser ()
Ответ на: комментарий от Olej

> По этому поводу интересно почитать, кто не читал - Шалыто А.А «У нас была Великая эпоха!»: http://is.ifmo.ru/belletristic/pre/

В длинном перечне фамилий я нашел преподавателя по дискретной математики. Не смотря, на то, что прошло уже достаточно лет, благодаря нему я могу с закрытыми глазами собрать и разобрать автомат Мура :)

anonymous ()
Ответ на: комментарий от www_linux_org_ru

наконец к самому цирюлику у меня единственная просьба: не надо позориться,

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

это как если бы я стал обращаться здесь к собеседникам дружески-фамильярно, скажем так: «мой милый мудачок»..., да? :)

Olej ()
Ответ на: комментарий от Lampus

Ну и про пробелы уже тоже говорили:

Do not add spaces around (inside) parenthesized expressions. This example is *bad*: s = sizeof( struct file );

Относительно стиля записи кода я даже обсуждать не стану (ни здесь, ни в любом другом месте). Здесь есть единственный рецепт: не нравится - не читай ;). У Торвальдса на этот счёт может быть любое мнение - здесь я истинный демократ и признаю за каждым права иметь... Тем более, что речь мы здесь ведём никак не о коде ядра Linux, а о коде своих частных приложений.

Всё остальное - пойду детально посмотреть что там лучше. Спасибо.

Olej ()
Ответ на: комментарий от www_linux_org_ru

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

... и бла-бла-бла ...

Н-да-а-а... Ну, попёрли комплексы неполноценности! И что??? Прям вот так сильно обидели по-жизни товарищи учёные??? Не допустили до кормушки-корыта??? ;)

Это уже на уровне патологии, это уже лечить надо :( ... читайте классику: «вам, милейший, пора лечиться электричеством» ;)

Olej ()
Ответ на: комментарий от www_linux_org_ru

s/не сложилась в результате действий/сложилась не в результате действий/

Заикой стал??? ... так разволновался... ;)

от радости такой в зобу дыханье спёрло

Olej ()
Ответ на: комментарий от Lampus

Как я уже говорил, нет чёткой последовательности повествования. Например, в четвёртом разделе есть пункт «Основные команды», где для часто используемых команд даётся описание всего по одной строчке. Зато до этого всё повествование эти команды использовались направо и налево. Причём для некоторых из них даже давалось более подробное описание. Не лучше бы было вытащить все эти описания в этот пункт, а сам пункт перенести ближе к началу книги? Потом, при необходимости, можно будет на него просто ссылаться.

Я уже, кажется, упоминал как и откуда появился этот текст, отсюда и его некоторая непоследовательность:

  • мне предложили провести ряд занятий-тренингов с группой разработчиков ... построить их как «разбор полётов» по модулям ядра, которые я делал время от времени на протяжении лет 8-ми для коммуникационного оборудования (E1/T1/J1 etc.) которые и по сейчас в эксплуатации...
  • это занятие (68 акад.час.) перешло по форме больше в семинары-обсуждения, когда вопросы вызывавшие особый интерес имели следствием большое отвлечение в сторону, а то (из важных вещей) что не интересовало - оставлялось побоку...
  • потом это было ещё обкатано в апробации «на кроликах» - ещё в одном телекоммуникационном курсе занятий (68 акад.час.) с группой embedded-разработчиков из филиала другого города той-же международной софтверной компании...
  • то, что вы видите, и есть конспект, предназначенный в памятку разработчику прикладных проектов ... и ничего более (тем более, что приходилось спешить: я специально назвал объём часов - это очень мало для такого вопроса).

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

Вот почему возникают некоторая неупорядоченность + сумбурность. Но замечание ваше я попробую отработать.

Olej ()
Ответ на: комментарий от Grid_Sergey

> В своё время очень увлекался книгами Олега по QNX, надеюсь что здесь тоже будет много интересных примеров и кода.

То-то я смотрю, что достоинства микроядерности расписаны, а про недостатки микроядерности, и, соотвественно, достовинсва linux забыл.

Книга, про ядро linux от человека, который не видит достоинств в монолитности? Забавно.

x86_64 ★★★ ()
Ответ на: комментарий от vkaravanov

>> Давно хотел такую на русском. Автору спасибище. Понятно, что она английском литературы больше и она лучше, но въезжать в тему как-то комфортнее на родном языке

Если ты занимаешься it, технический английский давно должен стать родным.

Проблема в нюансах, которые даже на родном языке трудно усваиваются...

Конечно, бывают книги, где в результате перевода не то что нюансы, но и сам смысл теряется, но это отдельная тема.

x86_64 ★★★ ()
Ответ на: комментарий от Olej

Относительно стиля записи кода я даже обсуждать не стану

Это уже как больше нравится, но тогда стоит, по меньшей мере, в самом начале указать, что все примеры в книге не соответствуют принятому для ядра Linux стандарту кодирования, так что если захотите коммитить разработанные вами модули в основную ветку ядра с наименьшими переделками, то читателю стоит ознакомиться с Documentation/CodingStyle.

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

Ну и опять же, структура и последовательность... Тут же не требуется кардинальное переписывание всего текста, нужно просто отделить котлеты от мух, дабы книга (раз уж это было так названо) воспринималась как нечто цельное. Этого можно добиться простым переупорядочиванием. Чуть ли не во всех примерах используются kmalloc(), kzalloc() и kfree(), как будто так и надо. Но описание того что это такое и с чем его едят даётся только в шестом разделе. Раз это всё равно описывается, не лучше бы было именно с этого начинать? Это же одна из базовых вещей.
Далее, в пункте «Драйверы: интерфейс устройства» как-то резко начинается описание структур, специфичных для символьных устройств. Ну вот каким боком эти структуры относятся к теме «Драйверы: интерфейс устройства»? Всё же хотелось бы там видеть, что взаимодействие с userspace может осуществляться с помощью procfs, sysfs, что файлы устройств могут быть либо блочными, либо символьными. Хотелось бы видеть рекомендации в каких случаях и какой вид взаимодействия с userspace выбрать, показать примеры использования для существующих широко известных модулей. А то очень странно видеть описание различий в использовании procfs и sysfs в пункте «Интерфейс /proc», мне кажется что это должно быть во вводной части к разделу, это именно то что я ожидал увидеть в пункте «Драйверы: интерфейс устройства», а не описания структур для символьных устройств. И всё повествование так.
Далее, про документацию. В первых разделах как минимум несколько раз упоминается что нахождение актуальной документации по API ядра страшно сложная задача. Но почему тогда во введении нет ни слова про Linux Cross Reference, про kernel-doc (make htmldocs) и документацию в папке Documentation? В этой связи меня особенно «порадовала» попытка выискивания макросов и инлайн-функций в /proc/kallsyms.

Lampus ()
Ответ на: комментарий от x86_64

То-то я смотрю, что достоинства микроядерности расписаны, а про недостатки микроядерности, и, соотвественно, достовинсва linux забыл.

А у монолитного ядра нет достоинств, вот потому, собственно, и «забыл»(с).

Книга, про ядро linux от человека, который не видит достоинств в монолитности? Забавно.

Ещё раз повторю: книга не про ядро Linux! а про то, как к этому ядру приделать костыли-подпорки в виде модулей.

Почувствуйте разницу!

;)

Olej ()
Ответ на: комментарий от Olej

> А у монолитного ядра нет достоинств, вот потому, собственно, и «забыл»(с).

Вопросов больше не имею.

x86_64 ★★★ ()
Ответ на: комментарий от x86_64

> Вопросов больше не имею.

Ну вот как мы легко один за другим снимаем пункты разночтений ;)

Olej ()
Ответ на: комментарий от Olej

>> Вопросов больше не имею.

Ну вот как мы легко один за другим снимаем пункты разночтений ;)

Да, нет. Разночтения остались. Вот только того - кому можно вопросы задавать нет.

В данном случае означает, что и вопросов нет.

x86_64 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.