В настоящее время я пишу модуль ядра Linux, и у меня возникают проблемы с реализацией его связи с программами пользовательского пространства.
Этот модуль ядра должен получать задачи, выполненные программой пространства пользователя, и после завершения отправлять результаты обратно программе пространства пользователя. Программа пространства пользователя должна быть заблокирована, пока модуль ядра выполняет свою работу.
Я думаю, что IPC пространства ядра пользователя или сокет Unix были бы хороши, но мне не повезло найти пример от Google.
В настоящее время мое уродливое решение - экспортировать chardev
и позволить программе пользовательского пространства записывать запросы в файл устройства и считывать результаты из него. Но я могу выдать только один запрос на open()
вызов, и это вызывает новые проблемы. Мне действительно нужен IPC или сокетоподобная вещь. Спасибо!