2011-12-28 15 views
0

私の質問は、ホストosとQEMUをホストOS上で実行するゲスト間の信号を転送する方法です。ゲストOSのスレッドによってホストOS上に作成された共用メモリで、ホストOS上の他のスレッドがそれを知り、データを読み込もうとしますが、ホストOSのスレッドではポーリングを使用しません。これを実現する方法は何かありますか? ありがとうございます。QEMUとホストosで実行されているゲストosとの間で信号を転送する方法

+0

(それは機械ではなく、OSをエミュレートしているので)私はQEMUが唯一の割り込みをエミュレートすることができると信じています。 QEMUのLinuxの下でアプリケーションでSIGIOを使用できないのはなぜですか?私はあなたの質問のすべてを理解していません。 –

答えて

1

Qemuはゲストに完全なシステムの抽象化を与えます。また、マシン間で共有メモリIPCを使用することはできません。私は、IPCが必要であることを知るために、qemu分解関数を使用することができる特別な指示を使用することを提案する。

ステップ:

  1. ゲストアプリで特別なマーカー命令を使用します。 "int $ 100"と言うことができます。
  2. この命令が発生したときに呼び出されるヘルパー関数をqemuで作成します。
  3. qemuでコールバック関数を受け取ったら、データへのポインタとデータの長さを格納している既知の仮想アドレスを調べます。行わ

..

関連する問題