구성 가능
오늘날의 주변 장치는 하드웨어를 구성할 수 있어야 하며 해당 드라이버는 소프트웨어 구성 가능이어야 합니다.
디바이스는 물리적으로 수정하지 않고도 I/O 포트 번호와 같은 시스템 하드웨어 리소스의 다른 할당을 수락할 수 있는 경우 하드웨어 구성이 가능합니다. 예를 들어 핫 플러그형 플러그 앤 플레이 디스크 집합이 RAID(독립 디스크) 구성의 중복 배열에 연결된 경우 시스템이 실행되는 동안 사용자가 디스크를 교환할 수 있습니다. 디바이스가 하드웨어 구성 가능한 경우 해당 드라이버는 디바이스의 하드웨어 리소스에 대한 하드 코딩된 시스템 종속 값을 포함할 수 없습니다.
다음과 같은 경우 드라이버는 소프트웨어 구성이 가능합니다.
디바이스의 하드웨어 리소스를 동적으로 수신하고 변경할 수 있습니다.
플러그 앤 플레이 지원하는 드라이버는 디바이스의 하드웨어 리소스에 대해 하드 코딩된 값을 포함하지 않으며, 드라이버가 디바이스를 폴링하여 리소스 할당을 결정하지도 않습니다. 대신 시스템은 디바이스에 리소스를 동적으로 할당한 다음, 드라이버에 리소스 값을 제공합니다.
드라이버 스택의 위 또는 아래에 상주할 수 있는 다른 드라이버에 대한 가정 없이 작성되었습니다.
예를 들어 디스크에 대한 하위 수준 디바이스 드라이버의 디자인은 단일 컴퓨터에서 여러 상위 수준 파일 시스템 드라이버에 의해 구현되는 여러 파일 시스템을 지원할 수 있을 만큼 유연해야 합니다.
또한 컴퓨터에 충분한 대용량 스토리지 용량이 있는 경우 동일한 하위 수준 디스크 드라이버가 파일 시스템 내에서 내결함성(미러 파티션, 스트라이프 집합 또는 볼륨 집합으로 구현됨)에 대한 중간 드라이버의 지원을 방해해서는 안 됩니다.
PnP 관리자와 각 PnP 하드웨어 버스 드라이버는 함께 작동하여 특정 유형의 I/O 버스와 시스템 소프트웨어에 대한 플랫폼 하드웨어 간의 인터페이스를 제공합니다. PnP 관리자는 버스를 포함하여 시스템의 모든 디바이스를 나타내는 노드를 사용하여 디바이스 트리를 빌드합니다. 각 디바이스에 대해 PnP 관리자는 다음 두 개의 목록을 유지 관리합니다.
디바이스에서 사용할 수 있는 하드웨어 리소스 목록입니다.
디바이스에 실제로 할당된 하드웨어 리소스 목록입니다.
디바이스 드라이버는 PnP 관리자가 레지스트리에서 유지 관리되는 이러한 목록을 만들 수 있도록 지원합니다. 디바이스가 시스템에 추가되고 시스템에서 제거되면 PnP 관리자는 필요에 따라 리소스를 다시 할당하고 목록을 업데이트합니다.
동적 링크 라이브러리로 구현되는 시스템의 HAL(하드웨어 추상화 계층) 구성 요소는 커널 모드 드라이버를 비롯한 다른 시스템 구성 요소에 필요한 일부 하드웨어 수준 플랫폼별 지원을 담당합니다.