次の方法で共有


一般的な I/O プログラミング手法

I/O プログラミングで注意すべき重要な点の一つは、オペレーティング システムにデバイスの待機を強制することを避けるべきだということです。 ほとんどのユーザーは、Microsoft Windows が "フリーズ" しているのを見た経験を持っています。 フリーズがクラッシュによる場合もありますが、システムが単にデバイスの応答を待機している場合もあります。

デバイスの待機を処理するための基本的なプログラミング手法には、 同期非同期の 2 つがあります。 同期プログラミングはデバイスを待機するため、回避する必要があります。 非同期プログラミングでは、他の手法 (割り込み要求の待機など) を使用します。 同期および非同期プログラミングの詳細については、次のトピックを参照してください。

同期 I/O プログラミング

非同期 I/O プログラミング

Microsoft Vista には、同期プログラミングに関する問題に対処するための新しいポリシーがあります。 この新しいポリシーの詳細については、「 Windows Vista での待機の制限 」を参照してください。

以前のデバイス ドライバー プログラミングでは、ドライバーは、応答が提供されるまで、ドライバーから情報を繰り返し要求する必要があります。 この手法はポーリングと呼ばれ、ほとんど使用しないでください。 ポーリングの問題を処理する最善の方法は、ハードウェア割り込みを使用することです。 ハードウェア割り込みの詳細については、「 サービス割り込み」を参照してください。 ポーリングについての詳細や使用しない理由については、デバイスのポーリングを回避を参照してください。