2017-12-28 29 views
1

私はFreeBSDとLinuxで動く特定のハードウェアを持っています。カーネルとユーザースペースの共有と選択

カーネル/ユーザースペースアプリケーション間で共有メモリを使用するドライバで動作するユーザースペースアプリケーションを実行する必要があります。 私のアプリケーションは、ユーザー空間からの共有メモリのポーリングを実行します。 このような選択をどのようにしてスリープさせ、共有メモリの変更を通知するためのメカニズムをどのように使用できるか考えていますか?

私はnetlinkのようなコミュニケーションを実装したくありません。なぜなら、選択したアイデアは、スリープして何か起きたときに起きるためであり、起き続けて、カーネルにもっとIPCを渡すことなくデータを処理し続けます。 それが完了すると、アプリケーションは再び呼び出して再度待機します。

ありがとうございます。

答えて

0

あなたはFreeBSD上でkqueue(2)インターフェイスを探しています。 Linuxにはinotify/epollがあります。

関連する問題