PDA

Просмотр полной версии : [kernel] О работе модулей


cupper
06.01.2010, 20:40
Разговор пойдет о модулях, но не о их внутренностях и их работе, а о том как с ними работает ядро. Модули состоят из двух логических частей, init и самого выполняемого тела модуля. Как в целом механизм работает мне известно, функции, что где происходит где запускается на выполение init часть, тут все ясно. А не ясно мне где и как начинает выполняться вторая "core" часть. Мне даже неважно в какой момент она начинает выполнятся, важно именно как это происходит ? По этому поводу мне вообще ничего неизвестно, хотя есть малость предположение что они запускаются через одну из функций создания процессов, потому что в функции copy_process(...)(которая используется в функции do_fork (которая создает процессы)) есть место где идет проверка что запускаемый процесс это модуль и если да то увеличивается счетчик его обращение. Но этого очень мало, нужно больше инфы, может кто подскажет по этому поводу.

PS. все выше описанное следует понимать в конексте ядра linux.

razb
06.01.2010, 20:52
нужно больше инфы, может кто подскажет по этому поводу
Есть книжка по LKM, Linux Kernel Module Programming вроде так называется, погугли, в ней все описывается.

cupper
06.01.2010, 22:00
тут как бы из названия напрашивается, что это непосредственно механизм работы внутри модуля, это ненужно.

Snake Plissken
07.01.2010, 00:40
В мейл-лист девелоперам дистрибутива какого-нибудь напиши, там я думаю тебе растолкуют оперативно :)

cupper
07.01.2010, 15:24
а я думаю что мне даже не ответят там, была попытка связаться с разработчиками ядра (не по конкретно этому вопросу), но ответа вообще не было. Поэтому только своими силами.