0
- 29.05.2013 - 09:49
|
Собственно, нужно как-то сделать это. Я в курсе, что это искуссное извращение, и все, от man до google, делать это не рекомендуют. Но: нужно. Причем не в зоне module_init, а именно внутри прерывания, например, таймера. Если в зоне init я еще могу считать файл с помощью filp_open/kernel_read, то внутри прерывания эти операции наглухо вешают ОС. Понимаю, почему. Есть какие-то мысли? Вариант "переделать архитектуру" не предлагать :-) Задача стоит именно так: получить содержимое регулярного файла (например, /home/user/test.dat) внутри таймера модуля ядра. За грамотный совет готов перекинуть немного Qiwi или Yandex.Денег. | |
1
- 29.05.2013 - 09:51
| Потокобезопасность и защищенность особенно не интересуют. К модулю никто подключаться не будет, связей с другими модулями нет, там будет только прерывание таймера, и, возможно, вывод в /proc. | |
2
- 29.05.2013 - 09:51
| Короче, вполне подойдет какой-нибудь грязный небезопасный хак, за который в приличных местах побьют вениками. | |
3
- 31.05.2013 - 15:17
| Может быть стоит в обработчике прерывания запускать/контролировать результаты/останавливать некоторый процесс, выполняющий в фоне нужные действия с этим файлом? Тогда и на ожидания отработки прерывания расходы будут небольшими. | |
4
- 31.05.2013 - 16:23
|
Пробовал, но и запустить пользовательский процесс из прерывания не удается. только обращение к демону пользовательского уровня через /proc и работает. Скорее всего, квалификации недостаточно :-( Проблему решил иным путем (объяснил заказчику, почему так делать нельзя), но теоретический интерес к задаче все еще есть. Какие мысли? | |
| Интернет-форум Краснодарского края и Краснодара |