При передаче данных из приложения в драйвер через IOCTL, что лучше: по строке или по общей структуре? - PullRequest
0 голосов
/ 15 ноября 2010

Если приложению необходимо обмениваться данными с базовым драйвером через IOCTL, я знаю, что приложение и драйвер могут определить общую структуру для хранения данных и передавать ее в двух направлениях.Однако недавно я заметил, что некоторые приложения / драйверы не используют эту парадигму.Вместо этого они передают строковое повторное представление данных и позволяют драйверу анализировать строку для получения каждого файла данных.

Я чувствую, что это неправильный выбор, например, анализатор строк может замедлить драйвер, который должен быть быстрым в ядре.

Может кто-нибудь сравнить эти два подхода и дать плюсы и минусы?Спасибо.

1 Ответ

0 голосов
/ 15 ноября 2010

Не уверен, какой протокол передает строку данных в базовый модуль / код ядра, но в linux вы можете использовать netlink для полнодуплексного IPC между proc пользовательского пространства. и ядро.

...