私はカーネルプログラミングの初心者です。私はちょっとインスピレーションが必要です。私は、カーネルソースにいくつかの関数を書いて、カーネルを再構築して再起動できることを知っています。コードは、ハードウェアを制御する何らかのハードウェアドライバであってもよい。しかし、どのように私たちのユーザー空間プログラムは、これらの機能を使用できますか? 私は、ユーザスペースプログラムがカーネルスペースと通信できることを知っています。また、ロード可能なカーネルモジュールは、カーネルソースコードで定義された関数も使用できます。しかし、私たちのユーザープログラムはこれをどのように達成できますか?linuxでは、ユーザー空間プログラムがどのようにカーネル関数を使用できますか?私は本当にインスピレーションが必要です
PS:今私はqemu-kvmを学んでいます。私はqemuがユーザスペースプログラムであり、kvmがカーネルであることを知っています。私はちょうどqemuプログラムがkvmをどのように使用するかを理解したい。
これは非常に基本的なLinuxカーネルプログラミングの問題ですが、私は長い間混乱しています。誰かが私にヒントを与えることができますか? :>
手段 '/ dev'で'/proc'ファイルシステムとデバイスファイルは次のとおりです。
は、ここでそれを説明する良いHOWTOです。 –
私はqemu-kvmがnetlinkを使ってカーネル<=>のユーザー空間に通信していると思います。 – strkol
@strkol:ネットリンクとは何ですか? –