윈도우7이 좋다고 여기 저기 소문이 났지만 아직까지 하드웨어에 장치 드라이버
개발자들은 소위 “DDK”가 있기 전 까지는 그 소문을 믿지 않는 경향이
있을 것 입니다. 최근에 저에게 윈도우7 DDK가 어디에 있느냐고 물어보는 사람들이
너무라도 많아서 여기 블로그에 내용을 정리해 보려고 합니다.
결론부터 말하자면, MSDN 구독자 분들에게 받을 수 있도록 제공하고
있습니다. 저도 MSDN 구독자 서비스에서 다운로드 받아서 설치 하였음을
밝혀 둡니다. 이런 것이 정품 사용자가 누리는 혜택이라고 할까?
Windows 7 Device Driver
kit (빌드 7000용 베타)를 다운로드 받으면 ISO로 약 600메가 정도 됩니다.
그것을 DVD에 압축을 풀어서 설치하면 되는데, 빌드 환경이나 장치 샘플, 그리고
개발 도구 뿐만 아니라 Microsoft WIndows Debuggers 라는 Windows for debuggers
라는 도구가 포함되어 있습니다. 또한 장치를 시뮬레이션 해 주는 프레임워크의 런타임
환경과 장치 테스팅 프레임워크 까지 제공해 줍니다.
그런 후에 해당 디렉터리를 설치합니다. 이것은
지난번 공개된 Windows 7 SDK 와는 다릅니다. Windows 7 SDK는 애플리케이션을
개발하지만 DDK는 Windows 7과 연결하는 외부의 여러 가지 USB 나 터치
드라이버와 같은 센서 등을 하드웨어 칩과 소프트웨어 운영체제에 연결한 장치 드라이버를
개발하는 데 사용합니다.
당연히 장치 드라이버를 개발해야 하기 때문에 C/C++ 언어를 이용하는
것이 성능에 좋습니다. C# 언어도 좋지만 하드웨어 호환성과 이식성 때문에 전
세계 개발자들은 C/C++ 언어를 선호합니다. 저도 심플한 C/C++ 언어가 장치 드라이버를
개발하는 데 좋아합니다. 어셈블리어는 너무 어렵잖습니까? 파일 심볼 분석 하다 보면
결국 그 알아야 할 언어지만 64비트용 어셈블리어는 어떻게 처리 되는가도 사실
궁금합니다.
설치는 보시다시피 10분 정도 모두 설치를 마칩니다. 아래의 그림은 Microsoft Windows for Debuggers 를 실행한 화면 입니다. 상용 Soft ICE 나 Bounds Checker (요즘 이런 제품이 있나 몰겠네요) 보다는 못하지만 기본적으로 WIndows 7 Kernel, Process 및 Memory Access 등을 살펴 볼 수 있는 디버깅 도구 입니다.
언제
날 한 번 잡아서 WIndows Internals (2010년에 Windows 7용으로 나올 예정) 에 대해 말씀 드리도록 하겠습니다.
윈도우 임베디드 CE 6 개발자라면 Windows Vista 커널 아키텍처를 보시면 아마
깜짝 놀랄 것 입니다. 그 이유는 매우 흡사하기 때문입니다. 힌트를 드리자면
KMDF (Kernel Mode Device Framework) 와 UMDF (User
Mode Device Framework) 구조로 되어 있습니다. (자세한 이야기는 커널 이야기할
때 전달해 드리도록 하겠음)
커널 이나 장치 드라이버
등을 PREFast 를 이용하는 방법이라든가, 현재 모던(Modern) 개발 도구인 Visual Studio
2008 Team System 의 테스트 버전과 테스트 프레임워크가 어떻게 연결하는 지도
앞으로 준비해 보도록 하겠습니다. 아니, Windows 7 Developer Group 에서 함께
연구해 보도록 합시다.
아직 Coder’s Oasis Group 이나 KOSR 에서의 커뮤니티 여러분들도 Windows XP 의 WDM(WIndows Device Model) 모델에만
연구를 하고 있어서, Windows 7 베타도 공개되었으니 이제 Windows Vista 와
Windows 7의 WDF(Windows Device Foundation)을 연구를 시작할 때가 온
것 같습니다.
자세한 정보는 아래에 있습니다! 새싹이
돋아나는 봄에는 윈도우7를 연구합시다!