Top

윈도우 임베디드 CE 6.0 프로그래밍

  • 원서명Programming Windows Embedded CE 6.0 Developer Reference, 4th Edition (ISBN 9780735624177)
  • 지은이더글라스 볼링
  • 옮긴이신진철, 이정윤
  • 감수자백원석, (주)어드밴텍테크놀로지
  • ISBN : 9788960770812
  • 40,000원
  • 2009년 05월 29일 펴냄
  • 페이퍼백 | 820쪽 | 188*255mm
  • 시리즈 : 임베디드 시스템

책 소개

임베디드 모바일 시스템용 애플리케이션 개발을 위한 최고의 지침서

가장 대중적이고 실용적인 임베디드 시스템 운영체제인 윈도우 CE가 6.0으로 업데이트됐다. 임베디드 시스템 개발의 권위자인 저자 더글라스 볼링이 윈도우 임베디드 CE 6.0의 운영체제 개념과 Win32 API를 중점적으로 설명한 책이다. 다양한 예제 코드와 예제 프로젝트를 통해 차세대 디바이스용 애플리케이션을 능숙하게 작성하는 법을 배울 수 있다.


[ 소개 ]

윈도우 CE는 미니노트북, 휴대폰, 산업용 임베디드 장치 등 다양한 분야에서 사용된다. 또한 Win32 API를 사용할 수 있으므로 윈도우 프로그래머가 완전히 다른 분야의 시스템에서 동작하는 소프트웨어를 개발하는 것이 가능해졌다. 그러나 윈도우 CE와 기존 윈도우 프로그래밍은 다른 점도 다소 있다. 이 책에서는 윈도우 CE와 기존 윈도우 프로그래밍의 차이점을 자세히 설명한다. 또한 6.0 버전에서 새롭게 디자인된 커널과 가상 메모리, 개발환경 등 이전 버전과 달라진 점도 다룬다.


[ 이 책에서 다루는 내용 ]

■ 임베디드 시스템 애플리케이션 개발 요구사항
■ 가상메모리, 힙, 스택 관리와 최적화
■ 멀티스레드 프로세스, 이벤트
■ 스토리지 관리자: 파일 시스템과 볼륨 관리
■ 데이터베이스 API
■ 레지스트리: 읽기, 쓰기, 찾기
■ 스케줄, 타이머 이벤트, 시스템 이벤트, 버블 알림
■ PC와 기타 장치 간 유무선 네트워킹


[ 이 책의 대상 독자 ]

윈도우 CE 애플리케이션을 개발하려는 모든 사람이 읽을 수 있는 책이다. 특수 목적 소프트웨어를 개발하려는 임베디드 시스템 개발자, 기존 윈도우 애플리케이션을 포팅하려는 윈도우 개발자, 이 책을 읽고 더 쉽게 윈도우 CE 프로그래밍을 하고 싶은 개발자 모두가 대상이다.


[ 추천의 글 ]

해가 갈수록 임베디드 시장은 더욱 발전하며 뜨겁게 달아오르고 있습니다. 임베디드란 개인용 노트북이나 PC가 아닌 그 밖의 장치를 특정한 목적으로 작동시키는 컴퓨팅을 말합니다. 최근 각광을 받고 있는 스마트폰도 쌍방향으로 음성을 전달하고 메시지를 보내도록 작동하는 임베디드 기기 중 하나입니다.

마이크로소프트 사에서는 컨슈머와 엔터프라이즈 분야의 임베디드 장치에 소프트웨어가 많이 사용될 것임을 13년 전부터 예측해 윈도우 임베디드 CE(Windows Embedded CE)라는 플랫폼에 끊임없이 투자하고 있습니다. 윈도우 CE는 현재 임베디드 플랫폼 중 전 세계에서 가장 많이 사용되며, 국내에서는 각종 내비게이션 맵이나 포터블 미디어 플레이어, 스마트폰 등의 기기 분야에서 많이 활용하고 있습니다.

『Programming Windows CE』는 윈도우 CE 판올림에 맞춰 몇 번의 개정을 거치면서 커널 시스템 아키텍처부터 프로세스, 메모리 등 각종 모뎀과 블루투스 같은 최첨단 네트워킹, 그리고 사용자 인터페이스까지 네이티브(C/C++) 언어를 사용해 쉽게 개발할 수 있도록 잘 설명해 놓은 책입니다. 윈도우 임베디드 CE 프로그래밍에서 활용하는 모든 윈도우 CE API를 총망라해 놓았기에, 저도 필요할 때마다 참고할 수 있도록 늘 제 곁에 놓아둔 책이기도 합니다.

특히 이번 4번째 개정판인 『윈도우 임베디드 CE 6.0 프로그래밍』은 최신 윈도우 임베디드 CE 6.0 운영체제의 내용을 포괄적으로 다루고 있어 윈도우 임베디드 CE 운영체제 플랫폼을 이용해 전문적으로 개발하는 엔지니어, 컴퓨터 공학이나 전자공학, 통신 분야를 전공하는 대학생들에게도 실용적인 도서로 많은 도움이 되리라 생각합니다. 또한 이 책의 저자인 더글러스 볼링(Douglas Boling)은 국내 임베디드 분야에서 모르는 사람이 없을 정도로 널리 알려진 인물이며, 윈도우 임베디드 CE 시스템 아키텍처 분야에서 기업 컨설팅과 함께 수년째 마이크로소프트 MVP로 활동하고 있습니다. 번역 역시 현장에서 실제로 임베디드 프로젝트를 풍부하게 경험해 본 역자분이 거의 1년에 걸쳐 심혈을 기울여 작업한 결과물인지라 열정의 흔적을 보게 되어 더욱 기쁩니다.

모쪼록 윈도우 모바일이나 윈도우 임베디드 CE의 커널 시스템 아키텍처부터 애플리케이션 개발까지, 궁금한 독자들에게 사막의 오아시스처럼 갈증을 해소해주리라는 믿음으로 이 책을 추천합니다!

한국 마이크로소프트, 모바일/임베디드 디벨로퍼 에반젤리스트
서진호 차장


마이크로소프트 사는 1996년 올더(Alder, 오리나무)라는 코드명을 가진 윈도우 CE 1.0을 출시하면서 임베디드 시장 진입을 본격화했다. 그로부터 10여 년이 지난 지금 임베디드 디바이스는 우리 생활 깊숙이 자리잡으며 포스트 PC 시대를 이끌어 가는 플랫폼으로 입지를 견고히 다졌다. 이러한 시대 흐름을 읽기라도 한 듯 마이크로소프트는 1.0 버전 출시 후 2, 3년마다 메이저 버전업을 거듭하며 자사의 임베디드 OS 에 실시간 커널 탑재, 강력한 멀티미디어 기능과 인터넷 브라우저 등 굵직한 기능을 추가했고, 기존 데스크탑 OS 시장에서의 독보적인 지위를 산업용 디바이스와 컨슈머 디바이스 시장에서도 재현하고 있다.

21세기 IT 산업의 주요 트렌드 중 ‘서비스’는 이제 절대 빼놓을 수 없는 요소가 됐다. 단순히 하드웨어 생산 기술만으로 제품 경쟁력을 확보하기는 힘들어졌고, 제조사는 주변의 디바이스나 새로운 서비스와 연동해 제품 가치를 높일 수 있는 방안을 끊임없이 고민해야 하는 시장 상황이 전개됐다. 이러한 임베디드 제조사들의 요구에 따라 더욱 더 진보적인 소프트웨어 개발 플랫폼이 필요하게 됐고, 윈도우 CE는 간편한 개발환경과 서비스, 연결 지향적인 개발 플랫폼을 앞세워 전세계의 임베디드 개발자들의 든든한 파트너 역할을 감당하고 있다.

이 책은 볼링 컨설팅(Boling Consulting) 사의 대표이자 윈도우 CE 프로그래밍의 권위자인 더글라스 볼링(Douglas Boling)이 저술한 『Programming WINDOWS EMBEDDED CE 6.0』의 번역서로서 저자의 풍부한 실무 경험을 살려 기본적인 애플리케이션 프로그래밍부터 네트워킹, 파일 시스템 등 각종 시스템 애플리케이션까지 폭넓은 분야를 자세히 다룬다. 특히 최신 커널 구조와 메모리 구조 변경으로 인해 개선된 프로그래밍 방법도 빠지지 않고 다룸으로써, 더욱 안정적이고 강력한 임베디드 플랫폼 개발을 가능케 한다.

이 책 『윈도우 임베디드 CE 6.0 프로그래밍』이 윈도우 CE를 처음 접하는 개발자와 기존 개발자들에게 더욱 훌륭한 길잡이가 되리라 확신한다.

어드밴텍 임베디드 솔루션 사업본부장
이희걸 상무

저자/역자 소개

[ 저자 소개 ]

더글라스 볼링
윈도우 CE에 관한 다방면의 전문가로 유명하다. 윈도우 CE 프로젝트에 관한 컨설팅 회사를 창립하고 전 세계 다양한 회사에서 윈도우 CE, 윈도우 모바일에 관한 강의 활동을 펼치고 있다. 윈도우 임베디드 디벨로퍼 컨퍼런스를 포함한 각종 컨퍼런스, 전시회의 강연자로도 인기가 높다.


[ 감수자 소개 ]

백원석
전남대학교 전산학과에서 박사과정을 수료했으며, 현재 마이크로소프트 사의 공인 임베디드 총판인 어드밴텍에서 기술지원 팀을 맡고 있다. 과거에 여러 종류의 CPU 기반에서 윈도우 CE 기반 IP-STB 개발을 진행한 바 있으며, ARM이나 Mips 기반에서 임베디드 리눅스를 사용한 몇 가지 제품 개발에도 깊게 참여했다. 어드밴텍 기술지원 팀장으로서 필드의 윈도우 CE 개발자들을 지원하고 정기적으로 윈도우 CE 관련 강사로도 활동하고 있다.


[ 옮긴이의 말 ]

임베디드 시스템의 요구사항이 나날이 복잡해지고 트렌드가 광속으로 바뀌며 개별 개발자의 역량만으로는 시스템을 전적으로 지배할 수 없는 세상이 왔다. 구조적이고 체계화된 OS를 이용해 개발하는 시대가 온 것이다. 네트워크 시스템을 개발할 때는 임베디드 리눅스를 쓰고 화성에 보내는 로봇에는 신뢰성이 높은 RTOS를 쓴다. 각 분야에 맞는 다양한 OS들이 경쟁적으로 출현하고 사라지며 발전하고 있다.

그런 측면에서 윈도우 CE는 CE(Consumer Electric) 디바이스에서 강점을 가진다. PC용 윈도우 환경에서 개발하던 방식을 거의 그대로 쓸 수 있으며 그만큼 풍부한 리소스를 지원한다. 주변의 스마트폰, 내비게이션, PDA, PMP 등에서도 윈도우 모바일이나 윈도우 CE를 탑재한 제품을 쉽게 찾아볼 수 있다. 나 역시 윈도우 CE 2.11을 탑재한 국산 PDA에서 처음 윈도우 CE를 접했다.

사실 윈도우 CE의 시대가 이런 식으로 광범위하게 찾아오리라고는 예상하지 못했다. 주로 경량 시스템에서 최대한의 성능을 뽑아내야 하는 펌웨어 개발자였기 때문에, 윈도우 CE는 도무지 효율이라고는 찾아 볼 수 없는 굼뜬 공룡이라고만 여겼다.

그러나 IT 계에서 벌어지는 일들이 종종 그렇듯이 변화는 예상보다 빠르게 찾아온다. 봄 나들이를 떠나는 내 차에는 윈도우 CE가 탑재된 내비게이션이 장착돼있고, 옆 자리 친구는 윈도우 모바일이 탑재된 핸드폰을 자랑한다. 나는 밤이면 침대에 누워 윈도우 CE가 탑재된 PMP로 영화를 본다. 나와 내 동료들은 오늘도 회사에서 윈도우 CE 애플리케이션이 탑재된 어플라이언스를 개발하는 등 윈도우 CE는 예상보다 빠르게 내 일상의 중요 부분을 차지했다.

내가 쓰고 있는 윈도우 CE 내비게이션의 기능, UI, 멀티미디어 등을 경량 RTOS로 직접 구현했다면 아마도 이보다 성능이 좋지 않을까 하고 상상해 본다. 물론 타당한 상상이다. 그러나 상상을 조금 더 키워보면 불행한 결말이 보이기 시작한다. 제품은 일년 이년이 지나도 발매 연기만 계속 할 뿐이고, 복잡한 기능을 유기적으로 조율하지 못해 버그투성이가 될 테며, 새로 만들어야 할 기능이 너무나도 많아서 써드파티 라이브러리와 자체 개발 라이브러리가 불협화음을 내고 있을 것이다. 남들이 봄 나들이에 나서는 동안 나는 계속되는 야근의 일상과 마주했을 것이다.

최근 뉴스에 따르면 윈도우 CE는 상당한 수준의 하드 리얼타임의 영역까지 손을 뻗기 시작했다. 버전이 올라가고 임베디드 시스템의 기본 성능 또한 향상되면서 윈도우 CE의 영역이 점점 더 확대되고 있는 것이 지금의 현실이다. 이제 임베디드 시스템을 다루는 개발자는 그 분야가 어디든 윈도우 CE를 한 번쯤 고려해보거나 긴박하게 드라이브해야 하는 지경에 이르렀다.

더글라스 볼링이 쓴 이 책은 윈도우 CE 개발에 있어서 가장 기본적인 필독서에 속한다. 이제 막 시작하려는 개발자, 그동안 윈도우 프로그래밍을 해 온 개발자, 이미 윈도우 CE 개발에 통달한 개발자 모두를 대상으로 한다.

사실 이 책, 『윈도우 임베디드 CE 6.0 프로그래밍』은 따라만 하면 된다는 친절한 입문서도 아니고, 퀵 레퍼런스도 아니며, 모든 것을 총망라한 핸드북도 아니다. 이미 윈도우 프로그래밍에 익숙하고 최단 시간내에 실무에 적용할 레퍼런스가 필요하다면 에이콘 임베디드 시스템 프로그래밍 시리즈 중 하나인 『Windows CE 실전 가이드』를 권하겠지만, 윈도우 CE 입문자라면 이 책을 읽고 윈도우 CE의 전체적인 맥락과 구성을 이해하는 편이 좋다. 물론 중급자 이상의 경우에도 심각한 문제의 원인을 해결할 수 있는 바이블 역할을 한다. 나도 번역을 하면서 실무에서 발생할 이슈들을 해결하기 위해 이 책을 늘 곁에 두고 일했다. 실전용 퀵 레퍼런스 책과는 궤를 달리 하지만, 이 책은 체계적인 지식 습득을 기본으로 개발자 가이드를 겸한다.

윈도우 프로그래밍에 이미 익숙한 개발자라 할지라도 이 책을 통해 임베디드 시스템과 윈도우 CE의 특징을 정확히 이해하고 개발에 착수하길 권한다. 임베디드 개발자라면 현업에서 임베디드 시스템과 윈도우 CE에 대한 이해부족으로 프로젝트나 제품이 실패한 사례를 분명 한두 번은 맞닥뜨릴 것이다. 개발 조직 내에서 프로젝트 성패의 피해자 또는 가해자가 되지 않으려면 임베디드 시스템과 윈도우 CE의 특징을 반드시 체계적으로 학습해둬야 한다.

윈도우 CE는 버전 6.0부터 윈도우 임베디드 CE(Windows Embedded CE)로 제품명이 바뀌었다. 2009년 하반기부터는 6.0을 탑재한 제품들이 본격적으로 나오리라 예상된다. 6.0에서는 새롭게 디자인한 커널이 탑재됐고 동시 처리 프로세스 및 가상 메모리, 개발 환경 등이 대폭 개선됐다. 자세한 내용은 본문을 참고하기 바란다.

역자 신진철


[ 옮긴이 소개 ]

신진철
아주대학교 기계공학과를 졸업했다. 자동제어, SI, UI 등 중구난방으로 생계를 연명하다가 어울림 정보기술에 입사 후 본격적인 임베디드 시스템 개발 경험을 쌓았다. 삼성 소프트웨어 멤버십 활동을 거쳐 지금은 삼성전자 생활가전 사업부에서 선행 소프트웨어 개발 업무를 담당하고 있다.

이정윤
서울대학교 전자공학과를 졸업했다. 어울림 정보기술에서 VPN과 커널 업무를 담당했으며, 현재 미국 USC에서 박사과정을 밟는 중이다. 연구 분야는 뉴로 컴퓨팅, 머신 러닝 등 인공지능 계열이다.

목차

목차
  • 1부 _ 윈도우 프로그래밍 기초
  • 01장 헬로 윈도우 CE
    • 윈도우 CE 특징
      • 제한된 리소스
      • 유니코드
      • 새로운 컨트롤
      • 컴포넌트화
      • Win32 부분집합으로서의 Windows CE
    • 윈도우 프로그래밍과 비슷한 점
      • 헝가리안 표기법
    • 첫 번째 윈도우 CE 프로그램
      • 첫 번째 프로그램 빌드
      • 프로그램 실행
      • 발생하는 문제
    • Hello2
    • 윈도우 프로그램 구조 분석
      • 윈도우 객체
      • 윈도우 클래스
      • 윈도우 프로시저
      • 메시지의 생명주기
      • 윈도우 클래스 등록
      • 윈도우 생성
      • 메시지 루프
      • 윈도우 프로시저
    • Hello CE
      • 코드
    • HelloCE 실행
  • 02장 화면에 그리기
    • 그리기 기초
      • 유효 영역과 무효 영역
      • 디바이스 컨텍스트
    • 텍스트 출력
      • 디바이스 컨텍스트 속성
      • TextDemo 예제 프로그램
      • 글꼴
      • FontList 예제 프로그램
    • 비트맵
      • 장치 의존 비트맵
      • 장치 독립 비트맵
      • DIB 섹션
      • 비트맵 그리기
      • 알파 블렌딩
    • 선과 도형
      • 도형
      • 채우기 함수
      • Shape 예제 프로그램
  • 03장 입력장치
    • 키보드
      • 입력 포커스
      • 키보드 메시지
      • 키보드 함수
      • KeyTrac 예제 프로그램
    • 마우스와 터치스크린
      • 마우스 메시지
      • 터치스크린
      • TicTac1 예제 프로그램
  • 04장 윈도우, 컨트롤, 메뉴
    • 자식 윈도우
    • 윈도우 관리 함수
      • 윈도우 열거
      • 윈도우 찾기
      • 윈도우 이동
      • 윈도우 구조체 데이터 조작
    • 윈도우 컨트롤
      • 컨트롤 사용
      • 버튼 컨트롤
      • 에디트 컨트롤
      • 리스트 박스 컨트롤
      • 콤보 박스 컨트롤
      • 스태틱 컨트롤
      • 스크롤 바 컨트롤
      • 컨트롤과 색상
    • 메뉴
      • 메뉴 명령 처리
    • 리소스
      • 리소스 스크립트
      • 아이콘
      • 단축키
      • 비트맵
      • 문자열
    • DOIView 예제 프로그램
  • 05장 공통 컨트롤과 윈도우 CE
    • 공통 컨트롤 프로그래밍
    • 공통 컨트롤
      • 커맨드 바
      • 기타 메뉴 컨트롤
      • 달력 컨트롤
      • 날짜와 시간 선택 컨트롤
      • 리스트 뷰 컨트롤
      • 캡에디트 컨트롤
    • 기타 공통 컨트롤
    • 지원하지 않는 공통 컨트롤
  • 06장 대화상자와 속성 시트
    • 대화상자
      • 대화상자 리소스 템플릿
      • 대화상자 생성
      • 대화상자 프로시저
      • 모달리스 대화상자
      • 속성 시트
      • 공통 대화상자
    • DlgDemo 예제 프로그램
  • 2부 _ 윈도우 CE 프로그래밍
  • 07장 메모리 관리
    • 메모리 기본
      • 가상 메모리
      • 애플리케이션 주소 영역
    • 메모리 할당 종류
      • 가상 메모리
      • 로컬 힙
      • 개별 힙
      • 스택
      • 정적 데이터
      • 문자열 리소스
      • 메모리 선택
      • 메모리 부족 상황 관리
  • 08장 모듈, 프로세스, 스레드
    • 모듈
    • 프로세스
      • 프로세스 생성
      • 프로세스 종료
      • 기타 프로세스 함수
    • 스레드
      • 시스템 스케줄러
      • 스레드 생성
      • 스레드 우선순위 설정과 조회
      • 스레드 타임 퀀텀 설정
      • 스레드 일시 중지와 실행 재개
    • 파이버
    • 스레드 로컬 스토리지
    • 동기화
      • 이벤트
      • 대기
      • 세마포어
      • 뮤텍스
      • 동기화 핸들 복제
      • 크리티컬 섹션
      • 상호잠금 변수 접근
    • 프로세스 간 통신
      • 외부 프로세스 검색
      • WM_COPYDATA
      • 명명된 메모리 맵 객체
      • 지점 간 메시지 큐
      • 파일, 데이터베이스 통신
    • XTalk 예제 프로그램
    • 예외처리
      • C++ 예외처리
      • Win32 예외처리
  • 09장 윈도우 CE 파일 시스템
    • 윈도우 CE 파일 시스템 API
      • 표준 파일 I/O
      • 메모리 맵 파일
      • 파일 시스템 네비게이션
    • 스토리지 관리
      • 오브젝트 스토어
      • 파일 API로 볼륨 접근
      • 스토리지 관리자
  • 10장 레지스트리
    • 레지스트리 구조
    • 레지스트리 API
      • 키 생성과 열기
      • 레지스트리 값 읽기
      • 레지스트리 값 쓰기
      • 키와 값 삭제
      • 레지스트리 키 검색
      • 레지스트리 플러싱
      • 레지스트리 변경 공지
      • RegView 예제 프로그램
  • 11장 윈도우 CE 데이터베이스
    • 데이터베이스 종류
      • 기본 정의
      • 데이터베이스 API
  • 12장 알림
    • 사용자 알림
      • 사용자 알림 설정
    • 타이머 이벤트 알림
    • 시스템 이벤트 알림
    • NoteDemo 예제 프로그램
    • 예약된 알림 조회
    • 풍선 알림
      • 알림 추가
      • 알림 수정
      • 알림 제거
  • 3부 _ 윈도우 CE 고급 프로그래밍
  • 13장 윈도우 CE 네트워킹
    • 윈도우 네트워킹 지원
      • WNet 함수
      • ListNet 예제 프로그램
    • TCP/IP 프로그래밍
      • 소켓 프로그래밍
      • 블록과 비블록 소켓
  • 14장 장치 간 통신
    • 적외선 통신
      • IR 통신 기초
      • 디스커버리
      • IR 서비스 퍼블리시
      • IR 소켓 옵션 조회와 설정
      • MySquirt 예제 프로그램
    • 블루투스
      • 스택
      • 디스커버리
      • 서비스 퍼블리시
      • Winsock을 이용한 블루투스 통신
      • 가상 COM 포트를 이용한 블루투스 통신
      • BtSquirt 예제 프로그램
  • 15장 시스템 프로그래밍
    • 윈도우 CE 메모리 아키텍처
      • 애플리케이션 영역
      • 커널 공간
    • 크로스 플랫폼 개발
      • 플랫폼과 운영체제 버전
      • 컴파일 타임 버전 구분
      • 명시적 링크
      • 런타임 버전 검사
    • 전원 관리
      • “전원 끔”의 의미
      • 전원 상태 조회
      • 전원 관리자
      • 전원 관리자 없이 전원 관리
  • 16장 시리얼 통신
    • 시리얼 통신 기초
      • 시리얼 포트 열기와 닫기
      • 시리얼 포트 읽기/쓰기
      • 비동기 시리얼
      • 시리얼 포트 설정
      • 타임아웃 설정
      • 시리얼 드라이버 기능 조회
      • 시리얼 포트 제어
      • 에러 초기화와 상태 조회
      • 통신 기능을 절전 기능으로부터 보호
    • CeChat 예제 프로그램
  • 17장 디바이스 드라이버와 서비스
    • 드라이버 기초
      • 드라이버 이름
      • 디바이스 드라이버 로드 과정
      • 활성 드라이버 열거
      • 디바이스 드라이버 읽기/쓰기
    • 윈도우 CE 스트림 디바이스 드라이버 작성
      • 스트림 드라이버 진입점
      • 버퍼 관리
      • 장치 인터페이스 클래스
      • 디바이스 드라이버 전원 관리
    • 디바이스 드라이버 작성
      • 디버그 존
      • 일반적인 드라이버 예제
    • 서비스
      • 서비스 아키텍처
      • 서비스 생명주기
      • 애플리케이션에서 서비스 제어
      • 서비스 DLL 진입점
      • Service IOCTL 명령
      • 슈퍼 서비스
      • Services.exe 커맨드라인

관련 블로그 글

『윈도우 임베디드 CE 6.0 프로그래밍』출간
사용자 삽입 이미지
윈도우 임베디드 CE 6.0 프로그래밍
더글라스 볼링 지음 | 신진철 이정윤 옮김 | 어드밴텍 백원석 감수
820쪽 | 40,000원 | 2009년 5월 29일 출간 예정 | 임베디드 프로그래밍 시리즈 27


1996년 올더(Alder, 오리나무)라는 코드명으로 윈도우 CE 1.0이 출시된 지 어언 햇수로 13년이 됐습니다. 1996년 이후로 2,3년마다 메이저 버전 업을 거듭하면서 자사의 임베디드 운영체제에 실시간 커널 탑재, 강력한 멀티미디어 기능, 인터넷 브라우저 등 굵직한 기능을 추가해왔습니다.

[##_1L|1601107303.gif|width="100" height="124" alt="사용자 삽입 이미지"|_##]1998년 더글라스 볼링(Douglas Boling)이 『Programming Microsoft Windows CE』라는 제목으로 초판을 펴낸 이후로 2001년 개정판 『Programming Microsoft Windows CE, 2/e』, 2003년 닷넷 버전에 맞춘 3판 『Programming Microsoft Windows CE .NET, 3/e』에 이어 5.0버전은 건너뛰고 6.0을 다룬 4판까지 2007년에 출간됐습니다. 가히 윈도우 CE(Windows CE)에 관한 한 바이블이라고 할 만한 책인 거죠. 참고로 이름에 임베디드(Embedded)가 붙은 이유는 6.0에 들어서면서 바뀐 이름 때문이라고 합니다.
이 책은 볼링 컨설팅(Boling Consulting) 사의 대표이자 윈도우 CE 프로그래밍의 권위자인 더글라스 볼링(Douglas Boling)이 저술한 『Programming WINDOWS EMBEDDED CE 6.0』의 번역서로서 저자의 풍부한 실무 경험을 살려 기본적인 애플리케이션 프로그래밍부터 네트워킹, 파일 시스템 등 각종 시스템 애플리케이션까지 폭넓은 분야를 자세히 다룬다. 특히 최신 커널 구조와 메모리 구조 변경으로 인해 개선된 프로그래밍 방법도 빠지지 않고 다룸으로써, 더욱 안정적이고 강력한 임베디드 플랫폼 개발을 가능케 한다.
- 추천의 글 중에서
어드밴텍 임베디드 솔루션 사업본부장 이희걸

[##_1L|1906852628.gif|width="98" height="109" alt="사용자 삽입 이미지"|_##] 저희 에이콘에는 또 한 권의 윈도우 CE 책이 있습니다. 2006년 5월에 펴낸 Windows CE 실전 가이드(이봉석 류명희 공저)라는 책이 독자들의 사랑을 많이 받아왔죠. 수많은 윈도우 CE 관련서 중에서 저희 책이 돋보였던 이유는 바로 이 Windows CE 실전 가이드이 목표로 한 독자 대상군 때문이었습니다. 기존 애플리케이션 개발서와는 달리 이 책은 윈도우 CE 로우레벨 디바이스 드라이버와 BSP 개발자를 타겟으로 윈도우 CE의 하위단에서 어떤 일이 일어나는지를 궁금해했던 개발자와 로우레벨 업무를 하던 개발자들에게 전무후무한 필독서로 자리매김을 했던 것입니다.

◈ 더글라스 볼링의 윈도우 CE 바이블!

반면 더글라스 볼링의 윈도우 임베디드 CE 6.0 프로그래밍윈도우 CE 운영체제를 기반으로 애플리케이션을 개발하는 사람들이 처음 실무를 시작하고 전개해나가는 데 없어서는 안 될 필독서로 십여년간 명성을 이어왔습니다.

윈도우 CE 프로그래밍 개발자를 기준으로 두 책을 나눠본다면, Windows CE 실전 가이드가 로우레벨 프로그래밍을 맡고 윈도우 임베디드 CE 6.0 프로그래밍가 하이레벨 쪽을 책임진다고 할 수 있겠죠. 또 윈도우 CE 전체 개발자의 약 60%에 해당하는 분들이 두 책이 다루는 분야를 종횡무진하며 일을 하신다고 볼 수 있겠구요. 업무 레벨이 다르다고 하여 서로 전혀 연관성이 없는 일은 전혀 없을 테니까요.

◈ 이 책에서 다루는 내용

■ 임베디드 시스템 애플리케이션 개발 요구사항
■ 가상메모리, 힙, 스택 관리와 최적화
■ 멀티스레드 프로세스, 이벤트
■ 스토리지 관리자: 파일 시스템과 볼륨 관리
■ 데이터베이스 API
■ 레지스트리: 읽기, 쓰기, 찾기
■ 스케줄, 타이머 이벤트, 시스템 이벤트,풍선 알림
■ PC와 기타 장치 간 유무선 네트워킹

이 책은 윈도우 CE 판올림에 맞춰 몇 번의 개정을 거치면서 커널 시스템 아키텍처부터 프로세스, 메모리 등 각종 모뎀과 블루투스 같은 최첨단 네트워킹, 그리고 사용자 인터페이스까지 네이티브(C/C++) 언어를 사용해 쉽게 개발할 수 있도록 잘 설명해 놓은 책입니다. 윈도우 임베디드 CE 플랫폼에서 개발 할 수 있는 모든 윈도우 CE API를 총망라해 놓았기에, 저도 필요할 때마다 참고할 수 있도록 늘 제 곁에 놓아둔 책이기도 합니다.

윈도우 임베디드 CE 운영체제 플랫폼을 이용해 전문적으로 개발하는 엔지니어, 그리고 컴퓨터 공학이나 전자공학, 통신 분야를 전공하는 대학생들에게도 실용적인 도서로 많은 도움이 되리라 생각합니다.
- 추천의 글 중에서
한국 마이크로소프트 서진호 차장(모바일/임베디드 디벨로퍼 에반젤리스트)

◈ 판올림된 윈도우 CE 6.0 내용 보강!

윈도우 CE 6.0에서는 커널이 내부적으로 재설계되어 프로세스 개수, 메모리 제약사항등이 대폭적으로 개선됐습니다. 저희가 번역출간한 이번 4판에서는 3판에서 다룬 내용을 기본으로 6.0 버전에서 바뀐 프로세스와 메모리 아키텍처를 다루며, 새로운 개발 환경, 알파블렌딩, 강화된 알림과 통신 기능 등 조금씩 변경됐거나 강화된 부분이 다수 추가됐습니다. 파일과 레지스트리는 각각 장을 따로 할애했고, 디바이스 드라이버와 서비스도 다룹니다.

저자가 서문에서도 밝혔듯이, 윈도우 모바일이 컨셉을 달리한 제품으로 분화되었기에 1264페이지에 달했던 방대한 분량의 3판의 내용을 대폭 줄이고 중첩된 부분은 일부 삭제해 독자들이 알짜만 학습할 수 있도록 컴팩트한 레퍼런스 가이드를 만들려고 노력했습니다.

더글라스 볼링이 쓴 이 책은 윈도우 CE 개발에 있어서 가장 기본적인 필독서에 속한다. 이제 막 시작하려는 개발자, 그동안 윈도우 프로그래밍을 해 온 개발자, 이미 윈도우 CE 개발에 통달한 개발자 모두를 대상으로 한다.

윈도우 CE 입문자라면 이 책을 읽고 윈도우 CE의 전체적인 맥락과 구성을 이해하는 편이 좋다. 물론 중급자 이상의 경우에도 심각한 문제의 원인을 해결할 수 있는 바이블 역할을 한다.

나도 번역을 하면서 실무에서 발생할 이슈들을 해결하기 위해 이 책을 늘 곁에 두고 일했다. 실전용 퀵 레퍼런스 책과는 궤를 달리 하지만, 이 책은 체계적인 지식 습득을 기본으로 개발자 가이드를 겸한다.
- 옮긴이의 말 중에서, 신진철
그간 긴 시간 동안 번역을 하느라 고생하신 역자 신진철님과 미국에서 학업에 열중하면서도 번역에 애써주신 이정윤님께 감사의 말씀을 전합니다. 특히 800페이지가 넘는 두꺼운 책을 혼자 전부 탈고하며 마무리해주시고, 매끈한 번역을 위해 낱말 하나하나에도 공을 들이고 열심히 퇴고해주신 신진철님께 정말 감사합니다. 그리고 원고를 감수하고 기술적인 조언으로 도움을 많이주신 어드밴텍 백원석 팀장님께도 진심으로 감사하다는 말씀을 전합니다.

이 책은 지금 YES24, 교보문고, 인터파크, 알라딘, 강컴에서 예약판매 중입니다. 윈도우 CE 개발자 여러분의 많은 성원을 바랍니다.

계절의 여왕 5월이 저무는 무렵, 청천벽력과도 같은 소식이 우리를 놀라고 아프게 합니다. 국민장 기간인 지금, 신간 소식을 블로그에 올리며 첫마디를 어떻게 열어야 할까 생각하다가 주저주저 여기까지 글을 써내려 왔습니다. 개인적인 소신을 펼쳐서는 안 되는 기업 블로그이지만, 아무일 없는 듯 그냥 모른 척 지나가기엔 여기도 분명 사람냄새 풍기는 곳이고 그걸 여러분도 좋아해주셨으리라 믿습니다. 생명을 지닌 모든 존재는 어느 하나 귀하지 않은 것이 없습니다. 그렇기에 누군가의 떠나감은 개인의 소신이나 이념을 떠나 늘 마음이 아픈 거겠지요. 노무현 전 대통령님의 명복을 빕니다.
CC

크리에이티브 커먼즈 라이센스 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

[ p19 7행 ]
wc.hIcon = NULL, → wc.hIcon = NULL;