[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: пара отвлеченных вопросов, офтопик



> 14.06.06, Nikita V. Youshchenko<yoush@debian.org> написал(а):
> > Ядро - это замкнутый в себе статический бинарник.
>
> А загружаемые модули?

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

Советую почитать "Linux device drivers, 3rd edition" - доступно в сети.

>
> > Чтобы использовать внутри ядра библиотеку, надо поместить эту
> > библиотеку внутрь ядра. Что можно сделать далеко не с любым кодом:
> > например, код не должен использовать системные вызовы (либо их
> > использование должно быть заменено на вызов внутренних функций ядра,
> > их реализующих - а эти функции не всегда экспортируются);
>
> Из ядра можно вызывать любой системный вызов, доступный из user space.

Ну если только не играться с ассемблером, то это не так. Системному вызову 
xxx() соответствует в ядре функция sys_xxx(), и эти функции не 
экспортируются (так как, помимо прочего, используют специальные binary 
calling conventions).
Содержательная функциональность некоторых - но не всех! - системных вызовов 
доступны в виде внутреннего ядерного API.

А игры с ассемблером в ядре до добра не доводят.

> Просто нужно знать как. Это не документировано, но без этого маханизма
> само ядро обойтись не может, а потому это будет доступно всегда.

А с этого момента поподробнее пожалуйста. Многолетний опыт работы в ядре 
заставляет усомниться в ваших словах ...

Attachment: pgpmuyTe24vZY.pgp
Description: PGP signature


Reply to: