К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Чтение регулярных файлов в прерываниях ядра Linux

Гость
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 и работает. Скорее всего, квалификации недостаточно :-(

Проблему решил иным путем (объяснил заказчику, почему так делать нельзя), но теоретический интерес к задаче все еще есть.

Какие мысли?


К списку вопросов






Copyright ©, Все права защищены