ネットワークアダプタードライバーとは
ネットワークアダプタードライバーは、ネットワークアダプターを制御する低レベルのソフトウェアです。 各ネットワークドライバーは、コンピューターシステム内の1つ以上のネットワークアダプターを操作します。 特定のタイプのアダプターおよび特定のオペレーティングシステム(OS)用に特別に設計されています。 ネットワークアダプタードライバーは、ネットワークのメディアアクセス制御レイヤーで動作します。 それに関連付けられたネットワークアダプターの回路を直接制御します。 他のネットワーク層と組み合わせて、コンピューターシステムはネットワークアダプタードライバーを使用して、他のネットワークコンピューターおよびインターネットと通信します。
1990年代後半まで、ネットワークアダプタードライバーは通常、ネットワーク通信の面倒な作業の多くを実行していました。 一部のネットワークアダプターでは、ドライバーがメモリバッファーとOSバッファー間ですべてのパケットデータをコピーする必要がありました。 多くの場合、このプロセス中にドライバーによって識別ヘッダーが書き込まれました。 アダプタドライバは、マルチキャストパケット受信や「プロミスキャスモード」操作などの特殊なケースを頻繁に管理する必要がありました。 構成中、ドライバーは多くの場合、コンピューターバスの種類を識別し、それに応じてアダプターをプログラムする必要がありました。 ネットワークリンク速度に対応するために、ほとんどのアダプタードライバーは非常に効率的なアセンブリ言語で記述されています。
最大ネットワークリンク速度が増加するにつれて、ネットワークドライバーやその他のOSソフトウェアレイヤーがボトルネックになることがよくありました。 これに対処するために、OSの設計者は、ネットワークアダプタードライバーの機能の多くをOSにより深く移行しました。 他のネットワーク層との緊密な統合と最適化により、多くの場合パフォーマンスが向上しました。 新しいネットワークアダプターは、OSデータバッファーの場所がわかれば、ハードウェアを介してすべてのパケットデータを構築およびコピーできます。 同時に、より優れたコンパイラコード生成により、アダプタードライバーをアセンブリ言語ではなくC汎用コンピュータープログラミング言語で記述できるようになりました。 これらの最適化の結果、ネットワークアダプタードライバーの作成と保守がはるかに簡単になりました。 最新のドライバーは、まだいくつかの構成、電源管理、およびマルチプロセッシングサポートを実装する必要があります。 ただし、OSとネットワークアダプターハードウェアは、時間に依存する作業の大部分を実行するようになりました。
複数のネットワークアダプタードライバーをシステムで同時に実行できます。 最近のほとんどのコンピューターには、マザーボードに有線ネットワークアダプターインターフェイスが組み込まれています。 通常、そのネットワークアダプタドライバはOSに含まれています。 ラップトップやその他のポータブルコンピューターには、多くの場合、ワイヤレスネットワークアダプターとドライバーも含まれています。 多くのシステムは、追加のネットワークカードを接続する手段を提供します。高速ギガビットイーサネットまたはファイバーチャネルアダプタが一般的な選択肢です。 多くの場合、ドライバーは購入時にネットワークアダプターに含まれています。 また、ほとんどのメーカーは、最新バージョンのドライバーをインターネットに投稿しています。 ユーザーはこれらの更新されたドライバーを定期的にチェックしてインストールし、最新のバグ修正とパフォーマンスの強化を入手する必要があります。