I/O の一般的なプログラミング手法
I/O プログラミングで最も重要な手法の 1 つは、オペレーティング システムにデバイスの待機を強制する方法です。 ほとんどのユーザーは、Microsoft Windows が "フリーズ" した経験を持っています。 フリーズがクラッシュによることもありますが、システムが単にデバイスの応答を待機していることもあります。
デバイスの待機を処理するための基本的なプログラミング手法には、同期と非同期の 2 つがあります。 同期プログラミングはデバイスを待機するため、これは回避する必要があります。 非同期プログラミングでは、他の手法 (割り込み要求の待機など) が使用されます。 同期および非同期プログラミングについて詳しくは、次のトピックをご覧ください。
Microsoft Vista には、同期プログラミングに関する問題に対処するための新しいポリシーがあります。 この新しいポリシーについて詳しくは、「Windows Vista での待機の制限」をご覧ください。
以前のデバイス ドライバー プログラミングでは、ドライバーは、応答が提供されるまで、ドライバーから情報を繰り返し要求する必要があります。 この手法はポーリングと呼ばれます。できる限り使用しないでください。 ポーリングの問題を処理する最善の方法は、ハードウェア割り込みを使用する方法です。 ハードウェア割り込みについて詳しくは、「サービス割り込み」をご覧ください。 ポーリングと、ポーリングを使用しない理由について詳しくは、「デバイスのポーリングの回避」をご覧ください。