스크랩

구간

IT EXPERT 윈도우 디바이스 드라이버

시리즈 : IT EXPERT [28]

이봉석 저 | 한빛미디어 | 2009년 01월

IT EXPERT 윈도우 디바이스 드라이버

북트리

정가
$84.00
판매가
$61.24 (27%↓) 최저가 보상
적립금
$1.22 (2%P)

품절된 상품입니다.

이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.

북카트 바로구매 위시리스트

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788979146202 / 1036쪽 188 x 257 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

이 책이 제시하는 핵심 내용
윈도우 디바이스 드라이버 개발과 동작 원리

이 책의 특징과 장점
- 다년간의 실무 경험에서 배우는 윈도우 디바이스 드라이버
- 다양한 디바이스 드라이버 제작 원리 학습
- IRP 처리에 대한 심도 있는 설명

어떤 독자를 위한 책인가?
- 윈도우 디바이스 드라이버 개발자
- 윈도우 시스템 프로그래밍, 보안 관련 개발자

도서 특징
디바이스 드라이버 개발은 한 가지만 알아서는 어렵다. C 언어만 알아서는 안 된다. 운영체제의 동작 원리도 알아야 하고 하드웨어도 알아야 한다.
이 책은 디바이스 드라이버 개발을 처음 접하는 독자에게 윈도우 동작 원리를 설명하고, 디바이스 드라이버와 윈도우가 어떻게 상호 작용하는지 설명한다. 간단한 디바이스 드라이버 제작부터 단계적으로 실습하면서 응용프로그램과 상호 작용하는 법, 인터럽트와 스레드 처리 등을 다룬다. 응용 실습으로 가상 USB 디바이스 드라이버, 가상 시리얼 디바이스 드라이버, 마우스 필터 드라이버 등을 소개해 독자가 필요에 따라 바로 응용할 수 있게 배려했다. 윈도우 2000 이전의 디바이스 드라이버를 개발하는 방법과 윈도우 비스타에서 처음 소개된 WDF(Windows Driver Foundation)도 수록하여 한 권의 책으로 윈도우 디바이스 드라이버의 다양한 요소를 학습할 수 있다.

【주요 내용】
- 디바이스 드라이버 구조와 동작 원리
- 설치 파일(INF)에 대한 이해
- 디바이스 스택(Device Stack)의 구조
- 인터럽트와 동기화
- 하드웨어에 접근하는 드라이버 구현
- 필터 드라이버 작성법
- PNP 처리 기법
- 전원 처리 기법
- 멀티 프로세서 처리, 인터럽트, DMA 처리
- 디바이스 드라이버에서 사용하는 다양한 자료구조
- USB 버스를 이용한 디바이스 드라이버 개발
- WDF(Windows Driver Foundation)
- 마우스 필터 드라이버 실습
- 가상 시리얼 디바이스 드라이버 실습

저자 소개

  • 저자 : 이봉석
지은이 : 이봉석
현재 ㈜하제소프트 대표이사를 맡고 있다. 1998년부터 지금까지 삼성첨단기술센터, 삼성21세기아카데미, LG러닝센터 등에서 디바이스 드라이버 교육을 수행해왔으며, 청강문화산업대 컴퓨터정보과 겸임교수와 정보통신 민관합동조사단 전문가로 활동했다. 윈도우와 임베디드 시스템 운영체제가 관심 분야이며, 특히 버스 인터페이스(USB, PCI, 1394 등)와 보안 시스템에 관심이 많다.

주요 저서로는 『Windows CE 실전 가이드』(에이콘출판, 2006)를 비롯해, 『고급개발자들이 알고 있던 디바이스 드라이버 구조와 원리 그리고 제작 노하우』, 『윈도우 디바이스 드라이버』가 있다.
  

감수 : 이재홍
PYRASIS.COM이라는 개인 웹사이트를 운영하고 있으며, 여러 가지 기술 문서를 작성하여 공개해왔다. 엔씨소프트에서 리니지 이터널 개발에 참여하였고, 엔트리브소프트에서 모바일 게임 서버를 개발했다. 또한, FFS File System Driver for Windows라는 오픈 소스 프로젝트를 진행하기도 하였으며, 최근에는 모바일 게임 엔진인 Cocos2d-x를 Tizen용으로 개발하여 메인스트림에 포함시켰다. 현재 주 관심 분야는 운영체제 커널, 파일시스템, 소프트웨어 개발 자동화, 게임 엔진, 클라우드 플랫폼, 분산 처리 시스템이다. 완전 자동화된 나만의 집을 짓는 것과 오픈 소스 재단 설립이 꿈이다.

사이트 http://pyrasis.com

[주요 저서]
<윈도우 프로젝트 필수 유틸리티: Subversion, Trac, CruiseControl.NET>(한빛미디어)
<아마존 웹 서비스를 다루는 기술>(길벗)
<가장 빨리 만나는 Docker>(길벗)  

목차

감수자의 글
저자 서문
이 책의 주요 내용
이 책의 학습 로드맵
예제 수록 내용

PART 1 이론편

01장 MS-DDK 소개
1.1 DDK 다운로드
1.2 DDK 설치
1.3 DDK Tools
1.4 디바이스 드라이버의 빌드

02장 세상에서 가장 간단한 디바이스 드라이버 작성하기
2.1 문맥(Context)의 의미
2.2 SIMPLE 디바이스 드라이버 예제 파악하기
2.3 SIMPLE 디바이스 드라이버 빌드 과정과 설치 방법
2.4 설치된 SIMPLE 디바이스 드라이버 확인하기

03장 설치 파일(INF)에 대한 이해
3.1 이름이 정해져 있는 섹션
3.2 이름이 정해져 있지 않은 섹션
3.3 지시자(Directives)
3.4 설치 파일 예제 분석

04장 디바이스 스택(Device Stack)
4.1 디바이스 스택의 개념 파악
4.2 장치 관리자 대화상자를 통한 디바이스 스택의 모습
4.3 디바이스 스택의 모습을 결정하는 설치 파일의 이해
4.4 디바이스 스택을 구성하는 드라이버 코드에 대한 이해
4.5 DDK Tool “Device Tree”를 통해 본 실제 디바이스 스택의 모습

05장 스레드와 IRQL
5.1 가상 메모리, 프로그램 모듈, 스레드
5.2 인터럽트 요구 레벨(IRQL)과 스레드
5.3 동기화 문제(Synchronization Problem)
5.4 타이머 스케줄러와 Idle 스케줄러
5.5 Idle 스케줄러와 디바이스 드라이버

06장 응용 프로그램과 연결되는 디바이스 드라이버
6.1 응용 프로그램이 디바이스 드라이버를 찾는 방법
6.2 디바이스 드라이버와 대화하기 위해서 응용 프로그램이 사용하는 함수
6.3 응용 프로그램에서 커널까지
6.4 커널에서 IO 관리자까지
6.5 IO 관리자에서 디바이스 드라이버까지
6.6 예외와 스택 프레임

07장 디바이스 드라이버 엔트리
7.1 DriverEntry 루틴 - 필수 함수
7.2 AddDevice 루틴 - 필수 함수
7.3 DriverUnload 루틴 - 필수 함수
7.4 공통 IRPDispatch 루틴
7.5 PnP IRPDispatch 루틴 - 필수 함수
7.6 Power IRPDispatch 루틴 - 필수 함수
7.7 IRP StartIO 루틴 - 선택 함수
7.8 IRP Cancel 루틴 - 선택 함수
7.9 IRP Completion 루틴 - 필수 함수
7.10 BuiltIn Timer와 Custom Timer 루틴 - 선택 함수
7.11 System 스레드와 WorkItem 루틴 - 선택 함수
7.12 H/W 인터럽트 서비스 루틴, DPC 루틴 - 선택 함수

08장 드라이버가 사용하는 자료구조
8.1 LIST_ENTRY
8.2 KQUEUE
8.3 KDEVICE_QUEUE
8.4 IO_REMOVE_LOCK
8.5 MDL(Memory Descriptor List)

09장 하드웨어에 접근하는 드라이버 코드 구현
9.1 하드웨어 자원(Resource)에 접근하는 방법(IO Port, 메모리, 인터럽트, DMA)
9.2 PNP IRP_MN_START_DEVICE와 자원 정보

10장 필터 드라이버의 매력
10.1 필터 드라이버와 디바이스 스택
10.2 필터 드라이버 기본 골격
10.3 필터 드라이버의 설치

11장 DDK가 제공하는 함수 분석
11.1 IO 관리자가 제공하는 함수
11.2 커널이 제공하는 함수


PART 2 응용편

12장 USB 버스를 사용하는 드라이버 개발
12.1 USB 버스를 사용하는 다양한 디바이스 스택 분석
12.2 USBDI(USB Bus Driver Interface)
12.3 URB(USB Request Block)
12.4 가상 USB 장치로 DDK가 제공하는 USB 드라이버 분석하기(BULKUSB)

13장 WDF 소개
13.1 WDM과 WDF
13.2 KMDF 예제 드라이버 분석
13.3 USB 버스를 사용하는 KMDF 예제 소스

14장 NT 구형(Legacy) 드라이버 개발
14.1 NT 구형(Legacy) 드라이버와 WDM 드라이버
14.2 NT 구형(Legacy) 드라이버의 로딩과 언로딩
14.3 NT 구형(Legacy) 드라이버가 사용되는 영역

15장 후킹 드라이버 개발
15.1 정규 필터 방식을 사용하는 후킹 방식(디바이스 스택 필터링)
15.2 비정규 방식을 사용하는 후킹 방식(테이블 후킹과 코드 후킹)

PART 3 실습편

01 응용 프로그램에서 디바이스 드라이버까지(CreateFile, CloseHandle)
02 응용 프로그램에서 디바이스 드라이버까지(파일 핸들을 통한 문맥 유지 1)
03 응용 프로그램에서 디바이스 드라이버까지(파일 핸들을 통한 문맥 유지 2)
04 응용 프로그램에서 디바이스 드라이버까지(취소와 Cleanup 실습)
05 응용 프로그램에서 디바이스 드라이버까지
06 StartIo 루틴 작성법 1
07 StartIo 루틴 작성법 2
08 Interrupt Service Routine(ISR)과 Deferred Procedure Call(DPC) 루틴 작성법
09 마우스 필터 드라이버 작성
10 가상 USB 디바이스를 위한 버스 드라이버 작성
11 NT 구형(Legacy) 드라이버 실습(파일 시스템 필터 드라이버)
12 가상 시리얼 디바이스 드라이버

부록
A: 실전에서 사용하는 다양한 디바이스 스택의 모습
B: WinDbg 사용법

찾아보기

top