2017-02-24 2 views
0

私は、非同期のIO(読み取り)要求の完了時にデータがどのように利用可能であるか疑問に思っていました。私は、要求されたデータがデバイスバッファまたはメモリ(何とかキャッシュされている)に存在することを意味しますか?On Async IO Completion

たとえば、私の非同期コールバックが起動されたとき(OSによって)データの準備ができたら、データ転送を開始するためのファイルハンドル(デバイスを指している)を提供するか、コールバック内のデータを持ちます(データの種類はメモリにあります)。

+0

あなたが何を求めているのかはわかりません。 – user3344003

+0

@ user3344003私はもう少し質問を更新しました。今ははっきりしていることを願っています。 – zgulser

答えて

0

使用しているシステムを指定していません。非同期I/Oをサポートするすべてのシステムでは、システム・サービスを呼び出し、データを格納するユーザー・バッファを提供します。

プログラミングのトリックは、アプリケーションのI/O完了の場合、アプリケーションはI/O要求をバッファに一致させる必要があります。

このようなシステムサービスには、I/Oが完了したときに呼び出されるソフトウェア割り込みハンドラに渡されるアプリケーションIDを渡すためのパラメータが常に含まれています。

通常、データはあなたを待っているバッファーに入れられます。