Driver model 선택하기
Micro$soft Windows는 여러분들이 driver를 만들때, 다양한 Driver model을 제공하고 있다.
최고의 Driver모델의 선택 전략은 여러분이 작성하려는 driver의 형태에 따라 틀려질 것이다.
아래에 선택 사항이 있다.
- Device function driver
- Device filter driver
- Software driver
- File System filter driver
- File System driver
다양한 Driver간의 차이점을 알고자 한다면 "What is a driver"와 "Device nodes and device stack"을 찾아보아라.
아래에선 각 driver model을 선택하는 방법에 대하여 설명하고자 한다.
Device function driver model 선택 하기
여러분이 H/W device를 설계한다고 치자, 제일 먼저 고려해야 할 것은 function driver를 작성해야 한다는 것이다.
아래의 질문들에 대하여 답해보라.
- 당신은 driver를 작성할 필요가 없는가?(아 이거 어렵다..... 해석이 안되네..)
- 만약 여러분이 function driver를 작성한다면 사용해야할 최고의 device model은 무엇인가?
이 질문들의 대답은 당신의 device가 Device and driver technologies에 기술된 기술의 list에 부합하는 것을 결정한다.
각각의 기술을 위한 문서를 보고 당신이 작성해야 할 function driver를 결정 하고 당신의 장치에 유요한 driver model에 대하여 연구하라.
어떤 개별적인 Technology은 minidriver models을 가지고 있다. minidriver model에서 device driver는 두 부분을 포함하고 있다. 하나는
General tasks 처리이고 다른 하나는 Device-specific task 처리 부분이다. 일반적으로 Micro$oft는 General portion을 작성하고
장치 제작사들은 device-specific porting을 작성한다. Device-specific 부분은 많은 이름을 가지고 있으며, 대부분 mini접두어를 사용한다.
여기에 minidriver model에서 사용되는 이름을 보여주고자 한다.
- Display minoport driver
- Audio miniport driver
- Battery miniport driver
- Bluetooth protocol driver
- HID minidirver
- WIA minidirver
- NDIS miniport dirver
- Storage miniport driver
- Streaming minidriver
minidirver model에 대하여 살펴보고자 한다면 "Minidrivers and driver pairs"를 보도록 하자.
Device and driver technologies에 나열된 technology들은 전용 minidriver model이 없다.
특정 technology 에 관한 문서에는 Kernel-Mode Driver Framework(KMDF)를 사용하라 조언할 것이다.
다른 Technology에 관한 문서는 User-Mode Driver Framework(UMDF)를 사용 하라 조언할 것이다.
중요한 것은 여러분이 특정 장치를 위한 문서를 연구해야한다는 것이다.
만약 여러분의 Device technology가 minidriver가 있다면 여러분은 minidirver model을 사용해야한다.
혹은 minidirver가 없다면 UMDF, KMDF 또는 Windows Driver Model(WDM)을 사용할지 여부는 여러분의
Technology-specific 설명서에있는 지침을 따르십시오.
Device filter driver를 위한 driver model 선택하기
상당히 많은 몇몇 Driver들이 장치로부터 데이터를 읽는 것과 같은 하나의 I/O요청에 대응 한다. Driver들은 스택안에 존재한다.
그리고 앞서 보여준바와 같이 Stack에서 첫 Driver는 위에있고 마지막 Driver 는 하단에 있다.
스택은 하나의 function driver와 몇몇의 filter driver를 포함할 수 있다. Function driver와 filter driver에 대하여 알고 싶다면
"What is a driver?"와 "Device nodes and device stacks"을 보도록 하자.
만약 여러분이 device를 위한 filter driver를 만들 준비중이라면, "Device and driver technologies"에 기술된 Technologies들의
나열 중에 당신의 device와 부함하는 것을 결정하시오
특정 device technology 문서에 Filter driver model 선택에 대한 지침이 있는지 여부를 확인합니다.
만약 기술 문서에 해당 내용에 대한 지침이 없을 경우 먼제 UMDF(User-mode driver framework) Model을 사용하는 것이 좋다.
만약 당신의 Filter driver가 UMDF로 접근 할 수 없는 데이터 구조를 접근 해야 할 경우,
Driver model로 KMDF(Kernel-mode driver framework)를 사용하는 것이 좋다.
아주 드문 경우지만 당신의 driver 가 KMDF(Kernel-mode driver framework)에 유요하지 않은 자로에 접근 할 필요가 있다면,
WDM을 당신의 driver model로 사용해라.
software driver를 위한 driver model 선택하기
Device와 연결되지 않은 Driver를 softwaare driver라 한다. Software dirver에 대하여 더 알고 싶다면, "What is a driver?"를 참조하라.
Software driver는 Kernel-mode에서 동작하며, protected OS Data에 접근 할수 있기 때문에 매우 유용하다.
processor mode에 관현 정보를 알고 싶다면 "User mode and kernel mode."를 참조하라.
software driver는 KMDF(Kernel-mode driver framwork)와 기존의 Windows NT driver model의 2가지 종류가 있다.
KMDF와 기존의 Windows NT model은 둘 모두 PnP(Plug and Play) 및 전원 관리에 대하여 신결 쓰지 않고 Driver를 작성 할 수 있다.
때문에 당신은 단신의 Driver의 기본 작업에 더 집중 할 수 있습니다. KMDF(Kernel-mode driver framework)로 작성한다면
framework가 PnP및 전원처리를 하기 때문에 여러분은이들에 신경 쓸 필요가 없다.
기존의 Windows NT model로 작성한다면, 기존 Windows NT model은 PnP와 전력처리에 완전히 독립적이므로 신경쓸 필요가 없다.
우리는 만약 당신이 KMDF에 익숙하다면 KMDF로 작업하길 권장한다.
만약 당신이 제작 하려는 driver가 전원관리와 PnP에 독립적이라면, 기존의 Windows NT model을 이용하라.
만약 단신이 제낙 하려는 Driver가 PnP Event나 전원 관리를 신경 써야 한다면 기존의 Windows NT model을 사용 할 수 없다. KMDF를 사용하라.
매우 드문 경우지만, PnP나 전원관리를 신경 쓰거나 KMDF에 유효하지 않은 데이터에 접근 하는 software driver를 작성해야 한다면 WDM을 사용하라.
File system filter driver를 위한 driver model 선택하기
이 모델을 선택하는데 도움을 얻고자 한다면 "File system filter drivers"를 살펴보기바란다.
File system driver를 위한 driver model 선택하기
이 모델의 선택에 도움을 얻고자 한다면 "File System Minifilter drivers"를 살펴 보기 바란다.
댓글 없음:
댓글 쓰기