확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
WDF

WDF

: 윈도우를 위한 차세대 통합 드라이버 개발 모델

에이콘 윈도우 시스템 프로그래밍 시리즈이동
리뷰 총점8.0 리뷰 1건 | 판매지수 54
정가
45,000
판매가
40,500 (10% 할인)
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩)
지역변경
  • 배송비 : 무료 ?
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
  •  해외배송 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

품목정보

품목정보
발행일 2008년 01월 07일
쪽수, 무게, 크기 936쪽 | 1890g | 188*255*40mm
ISBN13 9788960770294
ISBN10 8960770299

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : Penny Orwick 외
Penny Orwick
Steyer에서 드라이버 개발과 윈도우 운영체제 관련 분야를 전문적으로 다루는 독립 기고가로 활동하고 있다. 1997년에 윈도우 드라이버의 작성을 시작했으며 드라이버 개발 커뮤니티를 위한 WDF 기술 문서 프로젝트를 기점으로 해 WDF 팀에서 일했다. 코넬 대학에서 학사 학위를 받고 몬타나 대학에서 예술전문사 학위를 취득했다.

Guy Smith
지구물리학 대학원 시절 펀치 카드를 이용해 포트란 IV로 프로그램을 시작했다. 1996년 초 마이크로소프트에서 SDK 문서 작성을 시작으로 윈도우 CE와 윈도우 쉘, 커먼 컨트롤, DirectX 8, 인터넷 익스플로러, 윈도우 프레젠테이션 파운데이션을 포함해 많은 마이크로소프트 기술에 관여했다. 현재는 Steyer에서 디바이스 드라이버와 이에 연관된 커널 모드 분야를 주로 다루는 독립 기고가로서 활동한다. 류트와 시턴, 세르팡으로 르네상스 음악을 연주하는 아마추어 뮤지션이기도 하다.

Carol Buchmiller
1981년 이래로 PC 소프트웨어 문서 작성과 편집에 종사하고 있다. 1980년대 초 마이크로소프트를 거쳐 퍼시픽 노스웨스트 사에서 다양한 소프트웨어 회사의 집필 업무를 담당했으며, 특히 윈도우 커널 모드 드라이버와 하드웨어 호환성을 전문적으로 다뤄왔다. 2000년에 윈도우 하드웨어 개발자 센트럴 웹 사이트를 집필하기 위해 마이크로소프트에 다시 합류했다. 휘트먼 대학에서 학사 학위를 수여했으며, C와 C++ 프로그램 자격증을 지니고 있다.

Annie Pearson
1982년부터 소프트웨어 문서 작성과 편집 분야에 종사하고 있다. 윈도우 3.1 리소스 킷에 대한 기술 문서 작성과 프로젝트 관리부터 시작해 1997년부터 윈도우 하드웨어 개발자 센트럴 웹 사이트의 주 작성자와 정보 아키텍트를 역임하고 있다.
역자 : 김점갑 외
김점갑
경북대학교 컴퓨터공학과를 졸업한 후 삼성전자에서 GNU 컴파일러를 기반으로 ARM CORE 컴파일러 포팅 개발을 했다. 이후 하제소프트를 거쳐 데브구루를 공동으로 창업하여 다양한 장치 드라이버 개발을 했으며, 다수의 드라이버 강의 세미나 및 교육을 진행했다. 현재는 안철수 연구소에서 보안관련 제품 개발 업무에 매진하고 있다.

최장욱
국민대학교에서 정보시스템을 전공했으며 학창시절 하제소프트에서 근무했다. 졸업 후 현재는 안철수 연구소 기반기술 팀에서 보안 제품 연구 및 개발을 담당하고 있다. 시간 날 때마다 XBOX 게임과 스노보드를 즐긴다.

책 속으로 책속으로 보이기/감추기

마이크로소프트 윈도우의 핵심 커널 구성 요소를 소유하면 으레 뒤따르는 특권(또는 지저분한 일) 중에 하나는 그 구성 요소 내에서 발생하는 많은 운영체제 크래쉬를 분석해야 한다는 것이다. 필자는 I/O 매니저의 주인으로서 드라이버와 관련된 많은 문제를 디버깅할 기회가 있었고 이러한 크래쉬로부터 많은 것을 배웠다. 크래쉬 덤프를 디버깅하면서 패턴들이 나타나기 시작했다.

크래쉬를 야기하는 이런 문제를 완전히 이해하기 위해 저장 매체, 오디오, 디스플레이와 같은 다양한 장치 스택과 USB, 1394 같은 상호 연결체를 더 잘 이해해야 할 필요성을 절감했다. 그래서 윈도우 부서의 디바이스 팀 개발 리더와 드라이버 스택 검토를 시작했다. 많은 검토를 거친 후 기존 드라이버 모델이 너무나도 복잡하다는 결론을 내렸다. M/S는 알맞은 추상화를 하지 않았고 드라이버 개발자에게 너무나도 많은 짐을 안겼다.

윈도우 드라이버 모델(WDM)은 14년 이상 개발에 사용되고 있다. WDM은 매우 유연하고 다양한 디바이스를 지원하지만 너무 로우레벨의 추상화를 제공한다. 윈도우 커널을 아주 깊이 이해하거나 커널 개발자들과 인연이 닿은 아주 극소수의 개발자만이 WDM을 사용했다. 현재 많은 드라이버 개발자들이 WDM을 사용하지 않는 실정이다.

너무나도 많은 규칙은 이해하기도 어렵고 명확히 묘사하기도 너무 힘들었다. 플러그앤플레이와 전원 관리 지원과 같은 기본적 운영체제 기능은 윈도우 I/O 서브시스템과 잘 통합되지 않았는데, 그 이유는 플러그앤플레이 장치와 비 플러그앤플레이 장치를 동시에 수행시킬 수 있기를 원했기 때문이다. 이것은 결국 I/O 요청과 플러그앤플레이, 전원 이벤트를 동기화시켜야하는 커다란 짐을 드라이버로 떠넘기게 운영체제 설계를 몰고 갔음을 의미했다. 동기화 규칙은 복잡하고, 이해하기 어려우며, 잘 문서화돼 있지도 않다. 게다가 비동기, 취소 가능한 I/O는 초기의 운영체제(최초의 NT)부터 지원되게 설계됐지만 대부분의 드라이버는 이를 잘 처리하지 못했다.

이러한 결론이 직관적으로 명료해 보이지만 외부 자료로 분명히 할 필요가 있다. 마이크로소프트 윈도우 XP는 온라인 크래쉬 분석(OCA)이 가능한 윈도우 에러 리포팅(WER)이라는 아주 뛰어난 기능을 포함한다. 윈도우가 예상치 않게 멈출 때 블루스크린상에 에러 메시지를 표시하고 시스템은 크래쉬에 대한 미니 덤프를 생성한다. 이 미니 덤프는 사용자가 크래쉬 자료를 마이크로소프트에게 보내기를 선택할 때 마이크로소프트에서 받을 수 있다. 크래쉬의 높은 빈도를 보고 드라이버 개발 방법에 대한 기본적인 변화가 필요하다는 것을 알았다.

드라이버 모델을 간단히 하기 위한 제안을 제시하고 우리가 발견한 사실을 입증하기 위해 조사를 하고 여러 드라이버 개발자와 직접 얼굴을 맞댄 회의를 했다. 이러한 토론은 놀랄만한 것이었다. 많은 드라이버 개발자는 우리의 드라이버 모델(특히 플러그앤플레이와 전원 관리, 비동기 요청의 취소)이 사용하기에 복잡하고 어렵다고 했다. 개발자는 좀 더 간단한 드라이버 모델을 매우 선호한다. 게다가 개발자는 우리가 전에 고려하지 못한 몇 가지 요구 사항을 추가했다.

첫째, 좀 더 간단한 드라이버 모델은 여러 운영체제 플랫폼에서 동작해야 한다. 하드웨어 업체들은 운영체제 버전에 관계없이 하나의 드라이버만을 작성하고 유지하기를 원했다. 최신의 윈도우 버전에서만 동작하는 새로운 드라이버 모델은 수용될 수가 없었다.
둘째, 드라이버 개발자는 우리가 몇 가지의 장치 클래스 특정 드라이버 모델에 사용했던 접근 방법인 소수의 API를 사용하는 데 제약이 있어서는 안 된다. 개발자는 기존 플랫폼의 드라이버 모델로부터 벗어날 수 있어야만 했다.

이러한 요구 사항을 가지고 WDF 작업을 시작했다. 목표는 모든 장치 클래스의 요구 사항을 만족시키는 차세대 드라이버 모델을 만드는 것이었다.
WDF의 경우 색다른 개발 방법론을 사용했다. 설계 초기부터 외부 드라이버 개발자를 참가시키는 설계 리뷰를 개최했다. 명세서를 만들어가면서 원탁회의(첫 번째는 2002년 11월)에 개발자들을 초대해 코딩을 시작하기도 전에 이미 많은 유용한 평가를 구했다. 이메일 계정을 지원하고 설계 선택을 위한 토론을 했던 토론 그룹을 지원했다. 다양한 내부와 외부의 얼리 어댑터(Early adopters)들이 드라이버를 작성하기 위해 우리의 프레임워크를 사용했고 매우 유용한 피드백을 주었다. 또한 WinHEC과 개발자 뉴스 그룹을 통해 많은 피드백을 찾고 구했다.

현재 WDF의 최종적 개발 모습은 여러 번의 반복 과정을 거쳐 이뤄졌다. 개발 동안 구한 피드백에 근거해 동기화 로직뿐만 아니라 플러그앤플레이와 전원 관리 구현을 수정했다. 특히 플러그앤플레이와 전원 관리 구현을 위해 상태도(state machines)를 사용하게 재설계했다. 이것은 동작을 명확하게 하는 데 도움이 됐고 결과적으로 I/O와 플러그앤플레이 관계를 쉽게 이해하게 했다. WDF 드라이버를 개발함에 따라 플러그앤플레이와 전원 관리에 연관된 규칙을 발견하고 이 규칙을 상태도에 통합했다. WDF를 사용하는 가장 큰 장점은 모든 드라이버는 자동으로 잘 검증되고 잘 구조화된 플러그앤플레이와 전원 관리가 구현된 복사본을 가진다는 것이다.

우리는 OCA 자료를 보고 좀 더 확실한 방법으로 크래쉬 문제를 대처하기로 했다. OCA 자료는 예기치 않은 시스템 종료의 85%가 윈도우 커널 구성 요소가 아니라 드라이버에 의해 야기됨을 나타냈다. 분석을 통해 많은 장치 클래스(특히 USB와 블루투스, 1394 연결체) 드라이버가 커널 모드에 있을 필요가 없음을 알았다. 드라이버를 유저 모드로 옮기는 것은 많은 이점이 있다. 예를 들면 유저 모드 드라이버 크래쉬는 완전히 분리될 수 있고 시스템은 리부팅없이 복구될 수 있다. 유저 모드 프로그래밍 환경은 커널 모드보다 아주 간단하다. 유저 모드에서 개발자는 많은 툴을 가지고 풍부한 언어를 사용해 코드를 작성한다. WDF의 중요한 발전은 유저 모드와 커널 모드에서 동일한 드라이버 모델을 제공하는 것이다. 드라이버 모델 단순화는 시스템 크래쉬를 야기하는 많은 문제와 일맥상통하지만 버퍼 오버런, 초기화되지 않은 변수, 잘못된 시스템 루틴 사용(요청을 여러 번 완료시키기) 같은 문제를 언급하지는 않는다. 정적 분석 툴 분야의 마이크로 소프트 리서치(MSR) 결과에 위에서 열거한 복잡한 문제가 언급돼 있다. MSR은 드라이버 모델 규칙을 이해할 수 있고 정형적으로 소스 코드를 분석할 수 있는 기초적인 툴을 개발했다. 이 두 가지 아이디어를 WDF의 한 부분이 된 툴에 넣기로 결정했다. 이것이 정적 드라이버 베리파이어(Verifier)와 드라이버 프리패스트(Prefast)이다.

윈도우 비스타 출시로 드라이버 개발자는 WDF 버전 1.0과 정적 툴을 WKD를 통해 사용할 수 있다. WDF와 정적 툴은 드라이버 개발 플랫폼에 훌륭한 기반을 제공한다. 윈도우 비스타 초기 출시본은 다양한 디바이스 클래스를 아우르는 17개의 KMDF 드라이버를 포함한다. 유저 모드에서 마이크로소프트 Sideshow와 윈도우 휴대용 미디어 기술은 UMDF 드라이버를 지원한다. 마이크로소프트는 현재와 미래의 장치 클래스 요구를 충족시킬 이 기반을 계속 확고히 할 것이다.

이 책은 WDF 프레임워크와 정적 툴의 핵심 사항을 포착하고 WDF와 연관된 모든 정보를 이용할 수 있는 최초의 유일한 창구이다. 이 책을 통해 드라이버 개발자(초급자일지라도)는 도움을 얻고 WDF로 빠르게 나아갈 수 있다. WDF를 통해 이전의 드라이버 모델보다 훨씬 단시간 내에 양질의 드라이버를 개발할 수 있다.

Nar Ganapathy
마이크로소프트 사 윈도우 디바이스 익스피리언스 그룹 아키텍트
--- 서문

출판사 리뷰 출판사 리뷰 보이기/감추기

회원리뷰 (1건) 회원리뷰 이동

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   40,500
뒤로 앞으로 맨위로 공유하기