これはより一般的な質問です。外部デバイスを考えてみましょう。このデバイスは、デバイス ドライバを介して特定のメモリ アドレスにデータを書き込むことがあります。このデータを読み取る小さな C プログラムを書きたいと思います。このアドレスをポーリングして値が変更されたかどうかを確認するよりも良い方法はありますか? CPU負荷を低く抑えたい。
私はいくつかのさらなる研究を行いました
「メモリマップIO」はオプションですか?私の素朴な考えは、外部デバイスがカーネルデバイスドライバーをトリガーする「メモリマップされたIO」アドレスにフラグを書き込むようにすることです。次に、ドライバーは値を処理するプログラムに「通知」します。これは機能しますか?ドライバーはどのようにプログラムに通知できますか?