LINUX.ORG.RU

Передача данных между пользовательским приложением и модулем ядра


0

1

Товарищи, посоветуйте как лучше реализовать передачу данных между модулем ядра и пользовательским приложением. Смысл задачи такой: модуль передает команду процессу(демону), демон получает данные и возвращает их модулю ядра. Основное требование - быстродействие (объемы данных очень маленькие - макс. сотни байт). Сделал на сокетах - плохо, проблемы с блокированием, select порождает задержки и т.д. Одним словом, как быстрее и проще? Буду очень признателен за ссылки и примеры.

И еще, ядро 2.4.25

yura_lvk
() автор топика

быстрее всего - через общую память. Быстрее просто не бывает :) циклический буфер например

а вот как ваш демон договорится с вашим модулем где шарится память и как синхронизовать - это уже ваш уникальный протокол IPC, потому как странно всё это, когда ядро обращается за данными к демону.

MKuznetsov ★★★★★
()

Не слушай оратора выше. Делай девайс в /dev. Демон открывает девайс и общается с ним через ioctl. Ну будет минус - лишние системные вызовы. Ну и что? Зато глобально и надежно

anonymous
()
Ответ на: комментарий от anonymous

Хотя смотря как часто ты будешь перекидываться данными, т.е. как часто будешь вызывать ioctl

anonymous
()

Попробуй девайс с файлом в /dev, общение через read/write. Но, судя по этому:

select порождает задержки

ты что-то делаешь не так или у тебя требования по времени слишком жесткие.

tailgunner ★★★★★
()
Ответ на: комментарий от MKuznetsov

реклама

потому как странно всё это, когда ядро обращается за данными к демону.

Скажи это авторам HAMMER2

anonymous
()
Ответ на: реклама от anonymous

Интересно, откуда взялась тема «реклама»? Нет, это не реклама хаммера

anonymous
()

Спасибо всем за помощь, постараюсь сделать через /dev. Надеюсь получится

yura_lvk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.