Примеры того, как модули ядра (штатные, ваши, любые) могут загружаться (и выгружаться) по требованию из программного кода:
1. ваших обычных программных приложений: main() {...};
2. из других модулей ядра;
Загрузка модулей ядра из программного кода
Модератор: Olej
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Загрузка модулей ядра из программного кода
Чем это примечательно и что следует?
Примечательно тем, что:
1. из системных вызовов загрузки выгрузки модулей ( sys_init_module() & sys_delete_module() ), а уж особенно из библиотечных функций stdlib ( init_module() & delete_module() ) делается (разработчиками ядра Linux?) чуть ли не "тайна великая есть"(с)
2. вплоть до того, что ни в описаниях, ни в форумах, ни по интернет не удаётся найти даже правильные синтаксические прототипы init_module() & delete_module()!
Пришлось это устанавливать чуть ли не экспериментальным путём.
В архиве - работающие приложения ... "знаю как" - пользуйтесь.
А следует что?
Такими способами легко создавать системы подключаемых плагинов для крупных проектов, как например (но там другим путём) это делается в драйверной поддержке адаптеров E1/T1/J1 в IP-телефонии:
- в интерфейсе DAHDI (zaptel) фирмы Digium;
- в интерфейсе фирмы Sangoma;
А это мировые бренды отрасли, стандарты пост-фактум.
Примечательно тем, что:
1. из системных вызовов загрузки выгрузки модулей ( sys_init_module() & sys_delete_module() ), а уж особенно из библиотечных функций stdlib ( init_module() & delete_module() ) делается (разработчиками ядра Linux?) чуть ли не "тайна великая есть"(с)
2. вплоть до того, что ни в описаниях, ни в форумах, ни по интернет не удаётся найти даже правильные синтаксические прототипы init_module() & delete_module()!
Пришлось это устанавливать чуть ли не экспериментальным путём.
В архиве - работающие приложения ... "знаю как" - пользуйтесь.
А следует что?
Такими способами легко создавать системы подключаемых плагинов для крупных проектов, как например (но там другим путём) это делается в драйверной поддержке адаптеров E1/T1/J1 в IP-телефонии:
- в интерфейсе DAHDI (zaptel) фирмы Digium;
- в интерфейсе фирмы Sangoma;
А это мировые бренды отрасли, стандарты пост-фактум.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Загрузка модулей ядра из программного кода
Всё это, конечно, в продолжение разговора о программировании модулей ядра ... вот здесь:
viewtopic.php?f=3&t=1549
viewtopic.php?f=3&t=1549
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя