> 14.06.06, Nikita V. Youshchenko<[EMAIL PROTECTED]> написал(а): >> >> > 14.06.06, Nikita V. Youshchenko<[EMAIL PROTECTED]> написал(а): >> > > Ядро - это замкнутый в себе статический бинарник. >> > >> > А загружаемые модули? >> >> А загружаемые модули линкуются внутрь ядра; им доступны только символы, >> экспортируемые ядром или другими загруженными модулями. > > Значит, уже не замкнутый и не статический.
Ядро - замкнутое и статическое. Оно не может использовать неопределённые в нём символы. Хотя само экспортирует что-то для модулей. >> Советую почитать "Linux device drivers, 3rd edition" - доступно в сети. > > Спасибо за совет. Читал. Лучшая из всех и, тем не менее, крайне > недостаточная. 4th edition давно в сети. Это с каких пор? А url можно? >> > Из ядра можно вызывать любой системный вызов, доступный из user space. >> >> Ну если только не играться с ассемблером, то это не так. > > Никаких игр с ассемблером. Всё штатными средствами ядра. > Всё ассемблерное и платформо-зависимое предоставлено ядром. > >> Системному вызову >> xxx() соответствует в ядре функция sys_xxx(), и эти функции не >> экспортируются > > Экспорт не нужен. > >> (так как, помимо прочего, используют специальные binary >> calling conventions). > > Любые calling conventions описаны в прототипах. > Неважно. > >> > Просто нужно знать как. Это не документировано, но без этого маханизма >> > само ядро обойтись не может, а потому это будет доступно всегда. >> >> А с этого момента поподробнее пожалуйста. Многолетний опыт работы в ядре >> заставляет усомниться в ваших словах ... > > Ну тогда можно и без подробностей - смотрите <asm/unistd.h> и > приложенный файл - надёргал фрагментов из рабочего кода. Забавно. Не знал. Хотя это выглядит скорее извращением - особенно если учесть, скажем, размер структуры pt_regs для RISC архитектур. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]