메모장 입니다2
Windows] 드라이버 개발 - 1) 정의, 개발 킷 종류 본문
0.정의
-드라이버는 두 대상(OS, 프로그램, 장치 등) 간의 통신을 돕는 역할을 한다.
-드라이버 종류
1)장치(?) 드라이버
*응용프로그램(OS 함수 호출) -> OS(드라이버 함수 호출) -> 장치 I/O
2)필터/기능 드라이버
>다수의 드라이버가 I/O를 요청할 경우,
아래처럼 차례로 스텍에 쌓인다.
>마지막 참가자(Driver 3)는 기능드라이버가 되고
나머지는 필터드라이버가 된다.
>>기능 드라이버: 장치와 직접 통신
>>필터 드라이버: 요청을 전달하기만 함,
그 외 요청이 제대로 이루어지는지 검사하는 기능도 수행.
3)소프트웨어 드라이버: OS의 핵심 데이터에 접근할 때 사용,
커널모드로 코드가 실행되어 보호된 데이터에 접근 가능.
*유저모드에서 실행되는 소프트웨어 드라이버도 있다고 한다..
4)버스 드라이버: 나중에 필요할 때 정리.
1.개발환경
-윈도우 드라이버 모델은 다양하기 때문에 구현하려는 드라이버에 따라 개발방법도 달라진다.
ex) 네트워크 디바이스 드라이버 -> NDIS(Network Driver Interface Specification)
-개발킷 종류
1)DDK(Device Driver Development Kit): Vista 이전 버전의 드라이버 개발 킷.
>개발만 지원
2)WDK(Windows Driver Kit): DDK의 업그레이드 된 버전
>개발 + 테스트 + 인증 + 디버깅
3)WLK(Windows Logo Kit): 윈도우 로고 인증을 위한 테스트 툴모음.
>WDK에 포함됨.
4)IFS(Installable File System): 윈도우 커널 모드 파일 시스템과 파일 시스템 필터 드라이버를 개발할 수 있음.
-설치 순서
Visual Studio -> WDK -> SDK
*WDK와 SDK의 버전이 같아야 함
출처:MSDN
'Study > Programming' 카테고리의 다른 글
Windows] 드라이버 개발 - 6) IRP (0) | 2017.02.24 |
---|---|
Windows] 드라이버 개발 - 5) WDM 드라이버, 디바이스 스택 (0) | 2017.02.23 |
Windows] 드라이버 개발 - 4) 권한, 콜백함수 (1) | 2017.02.23 |
Windows] 드라이버 개발 - 3) windbg 기능, 커널 덤프 (0) | 2017.02.23 |
Windows] 드라이버 개발 - 2) 부가 설명, 코드, 환경설정, 명령어 (0) | 2017.02.23 |