次の方法で共有


カスタマイズ可能

現在の周辺機器は ハードウェアで構成可能であり、ドライバーは ソフトウェアで構成可能である必要があります。

デバイスは、物理的に変更することなく、I/O ポート番号など、システムのハードウェア リソースのさまざまな割り当てを受け入れる場合に、ハードウェアで構成できます。 たとえば、ホット プラグ可能なプラグ アンド プレイ ディスクのセットが、独立ディスク (RAID) 構成の冗長アレイに接続されている場合、ユーザーはシステムの実行中にディスクをスワップできます。 デバイスがハードウェアで構成可能な場合、そのドライバーには、デバイスのハードウェア リソースのハードコーディングされたシステム依存の値を含めることはできません。

ドライバーは、次の場合にソフトウェアで構成できます。

  • デバイスのハードウェア リソースを動的に受信および変更できます。

    プラグ アンド プレイをサポートするドライバーには、デバイスのハードウェア リソースのハードコーディングされた値は含まれていません。また、ドライバーはデバイスをポーリングしてそのリソース割り当てを決定しません。 代わりに、システムはデバイスにリソースを動的に割り当ててから、ドライバーにリソース値を提供します。

  • これは、ドライバー スタックの上または下に存在する可能性がある他のドライバーに関する想定なしで記述されました。

    たとえば、ディスクの下位レベルのデバイス ドライバーの設計は、複数の高レベルファイル システム ドライバー (場合によっては 1 台のコンピューター) によって実装される複数のファイル システムをサポートするのに十分な柔軟性が必要です。

    さらに、コンピューターに十分な大容量ストレージ容量がある場合、同じ下位レベルのディスク ドライバーが、ファイル システム内のフォールト トレランス (ミラー化されたパーティション、ストライプ セット、またはボリューム セットとして実装) に対する中間ドライバーのサポートを妨げてはなりません。

PnP マネージャーと各 PnP ハードウェア バス ドライバーは連携して、特定の種類の I/O バス用のプラットフォームのハードウェアとシステムのソフトウェアの間のインターフェイスを提供します。 PnP マネージャーは、バスを含むシステム上のすべてのデバイスを表すノードを含むデバイス ツリーを構築します。 PnP マネージャーは、デバイスごとに 2 つのリストを保持します。

  • デバイスで使用できる ハードウェア リソース の一覧。

  • デバイスに実際に割り当てられているハードウェア リソースの一覧。

デバイス ドライバーは、レジストリに保持されているこれらのリストを作成する PnP マネージャーを支援します。 デバイスがシステムに追加され、システムから削除されると、PnP マネージャーは必要に応じてリソースを再割り当てし、リストを更新します。

ダイナミック リンク ライブラリとして実装されるシステムのハードウェア抽象化レイヤー (HAL) コンポーネントは、カーネル モード ドライバーなど、他のシステム コンポーネントで必要とされるハードウェア レベルのプラットフォーム固有のサポートの一部を担当します。