드라이버 모델 선택

Microsoft Windows는 드라이버 작성에 사용할 수 있는 다양한 드라이버 모델을 제공합니다. 최상의 드라이버 모델 선택을 위한 전략은 작성하려는 드라이버의 유형에 따라 달라집니다. 다음과 같은 옵션이 있습니다.

  • 장치 기능 드라이버
  • 장치 필터 드라이버
  • 소프트웨어 드라이버
  • 파일 시스템 필터 드라이버
  • 파일 시스템 드라이버

다양한 드라이버 간 차이점에 대한 자세한 내용은 드라이버란 무엇입니까?장치 노드 및 장치 스택을 참조하세요. 다음 섹션에서는 각 드라이버 유형에 맞는 모델의 선택 방법에 대해 설명합니다.

장치 기능 드라이버를 위한 드라이버 모델 선택

하드웨어 장치를 설계할 때 가장 먼저 고려해야 할 것 중 하나는 기능 드라이버의 작성의 필요 여부입니다. 다음과 같은 질문을 해보세요.

드라이버 작성을 완전히 피할 수 있습니까?
기능 드라이버를 작성해야 하는 경우 어떤 드라이버 모델을 사용하는 것이 가장 좋습니까?

이러한 질문에 답하려면 자신의 장치가 장치 및 드라이버 기술에 설명되어 있는 기술 목록에서 어디에 해당되는지 확인하세요. 기능 드라이버 작성의 필요 여부를 결정하고 장치에 어떤 드라이버 모델을 사용할 수 있는지 알아보려면 해당 특정 기술에 대한 설명서를 참조하세요.

몇몇 개별 기술에는 미니 드라이버 모델이 있습니다. 미니 드라이버 모델에서는 장치 드라이버가 일반적인 작업을 처리하는 부분과 장치 전용 작업을 처리하는 부분, 이렇게 두 부분으로 구성됩니다. 대개 Microsoft는 일반적인 부분을 작성하고 장치 제조업체는 장치 전용 부분을 작성합니다. 장치 전용 부분에는 다양한 이름이 있는데, 이들 중 대부분은 미니라는 접두사를 공유합니다. 미니 드라이버 모델에 사용되는 몇 가지 이름은 다음과 같습니다.

  • 디스플레이 미니포트 드라이버
  • 오디오 미니포트 드라이버
  • 배터리 미니클래스 드라이버
  • Bluetooth 프로토콜 드라이버
  • HID 미니 드라이버
  • WIA 미니 드라이버
  • NDIS 미니포트 드라이버
  • 저장소 미니포트 드라이버
  • 스트리밍 미니 드라이버

미니 드라이버 모델의 개요를 보려면 미니 드라이버 및 드라이버 쌍을 참조하세요.

장치 및 드라이버 기술에 나열된 모든 기술에 전용 미니 드라이버 모델이 있는 것은 아닙니다. 특정 기술에 대한 설명서에서는 KMDF(커널 모드 드라이버 프레임워크)를 사용하도록 권장하고, 다른 기술에 대한 설명서에서는 UMDF(사용자 모드 드라이버 프레임워크)를 사용하도록 권장할 수 있습니다. 요점은, 자신의 특정 장치 기술에 대한 설명서를 공부하기 시작해야 한다는 것입니다. 해당 장치 기술에 미니 드라이버 모델이 있으면 미니 드라이버 모델을 사용해야 합니다. 아니면 UMDF, KMDF, WDM(Windows Driver Model) 중 무엇을 사용할지에 대해 기술 관련 설명서의 권장 사항을 따르면 됩니다.

장치 필터 드라이버를 위한 드라이버 모델 선택

대개 여러 드라이버가 단일 I/O 요청(예: 장치에서 데이터 읽기)에 참여하는 경우가 자주 있습니다. 드라이버는 스택에 놓이는데, 스택을 시각화하는 일반적인 방법은 첫 번째 드라이버를 맨 위에 두고 마지막 드라이버를 맨 아래에 두는 것입니다. 스택에는 하나의 기능 드라이버가 있으며 필터 드라이버도 있을 수 있습니다. 기능 드라이버와 필터 드라이버에 대한 자세한 내용은 드라이버란 무엇입니까?장치 노드 및 장치 스택을 참조하세요.

장치에 대해 필터 드라이버를 작성하려고 준비하는 경우, 자신의 장치가 장치 및 드라이버 기술에 설명된 기술 목록에서 어디에 해당하는지 확인하세요. 특정 장치 기술에 대한 설명서에 필터 드라이버 모델 선택에 대한 지침이 있는지 알아보세요. 해당 장치 기술에 대한 설명서에 이러한 지침이 없으면 우선 UMDF를 드라이버 모델로 사용하는 것이 좋습니다. 필터 드라이버가 UMDF를 통해 사용할 수 없는 데이터 구조에 액세스해야 한다면 KMDF를 드라이버 모델로 사용하는 것이 좋습니다. 매우 드문 경우지만, 해당 드라이버가 KMDF를 통해 사용할 수 없는 데이터 구조에 액세스해야 한다면 WDM을 드라이버 모델로 사용하세요.

소프트웨어 드라이버를 위한 드라이버 모델 선택

장치와 연결되지 않은 드라이버를 소프트웨어 드라이버라고 합니다. 소프트웨어 드라이버에 대한 자세한 내용은 드라이버란 무엇입니까? 항목을 참조하세요. 소프트웨어 드라이버는 커널 모드에서 실행할 수 있으므로 유용합니다. 이 경우 보호된 운영 체제 데이터에 액세스할 수 있습니다. 프로세서 모드에 대한 자세한 내용은 사용자 모드 및 커널 모드를 참조하세요.

소프트웨어 드라이버의 경우 두 가지 옵션은 KMDF 및 커널 모드 Windows NT 드라이버 모델입니다. KMDF 및 커널 모드 Windows NT 모델 모두 PnP(플러그 앤 플레이) 및 전원 관리에 대해 염려할 필요 없이 드라이버를 작성할 수 있습니다. 대신 드라이버의 주요 작업에 집중할 수 있습니다. KMDF의 경우, PnP와 전원을 프레임워크에서 처리하므로 PnP와 전원에 대해 염려할 필요가 없습니다. 커널 모드 Windows NT 모델의 경우, 커널 모드 서비스가 PnP 및 전원 관리와 완전히 분리된 환경에서 작동하므로 PnP와 전원에 대해 염려할 필요가 없습니다.

KMDF에 이미 익숙한 경우 이 모델을 사용하는 것이 좋습니다. 드라이버를 PnP 및 전원 관리와 완전히 분리하려면 커널 모드 Windows NT 모델을 사용하세요. 전원 전환 또는 PnP 이벤트를 인식하는 소프트웨어 드라이버를 작성해야 하는 경우 커널 모드 Windows NT 모델을 사용할 수 없으며, KMDF를 사용해야 합니다.

참고  매우 드문 경우지만, PnP 또는 전원 이벤트를 인식하는 소프트웨어 드라이버를 작성해야 하며 드라이버가 KMDF를 통해 사용할 수 없는 데이터에 액세스해야 한다면 WDM을 사용해야 합니다.
 

파일 시스템 필터 드라이버를 위한 드라이버 모델 선택

파일 시스템 필터 드라이버를 위한 모델 선택에 대한 자세한 내용은 파일 시스템 미니필터 드라이버 및 파일 시스템 필터 드라이버를 참조하세요.

파일 시스템 드라이버를 위한 드라이버 모델 선택

파일 시스템 드라이버를 위한 모델 선택에 대한 자세한 내용은 파일 시스템 미니필터 드라이버를 참조하세요.

관련 항목

커널 모드 드라이버 프레임워크
사용자 모드 드라이버 프레임워크

 

 

표시: