본문 바로가기

추천 검색어

실시간 인기 검색어

윈도우시스템 프로그램을 구현하는 기술

이호동 지음
한빛미디어

2016년 04월 12일 출간

종이책 : 2015년 04월 01일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (18.21MB)
ISBN 9788968489105
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 35,000원

쿠폰적용가 31,500

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

[IT EXPERT 윈도우시스템 프로그램을 구현하는 기술]은 동기ㆍ비동기 입출력 관점에서 윈도우 시스템 프로그래밍을 하는 방법을 다룬다. 크게 1부와 2부로 나뉘며, 1부는 비동기 입출력을 알아보기 전에 비동기 입출력의 전제가 되는 스레드와 동기화, 동기화의 요소가 되는 윈도우 객체 및 관련 함수, 그리고 스레드 동기화를 구현하는 다양한 방법들에 대해 예제를 통해 상세하게 설명한다. 2부에서는 본격적으로 비동기 입출력 또는 중첩 입출력에 대해 설명한다. 또한, 윈도우에서 확장성과 성능 향상을 위해 제공되는, IOCP를 기반으로 하는 스레드 풀을 설명하고 그 활용법에 대해 상세하게 논의한다. 그리고 비동기 입출력 기술을 활용할 수 있는 가장 대표적인 예인 비동기 소켓 입출력 활용법에 대해, 마지막으로 프로세스 간 통신(IPC) 시 비동기 입출력의 활용법에 대해 다룬다.
[1부] 동기화

01장 스레드와 동기화
_1.1 동기화를 위한 사전 지식
__1.1.1 프로세스
__1.1.2 커널 객체와 핸들 테이블
__1.1.3 스레드
__1.1.4 스레드 스케줄링
_1.2 스레드 동기화란?
__1.2.1 동기화의 필요성
__1.2.2 동기화의 목적과 방법

02장 커널 객체와 동기화
_2.1 스레드 동기화 API
__2.1.1 스레드 대기 함수
__2.1.2 대기 함수와 커널 객체
_2.2 데이터 보호를 위한 동기화 객체
__2.2.1 뮤텍스(Mutex)
__2.2.2 세마포어(Semaphore)
_2.3 흐름 제어를 위한 동기화 객체
__2.3.1 이벤트(Event)
__2.3.2 대기가능 타이머(Waitable Timer)
_2.4 통지를 위한 추가사항 고찰
__2.4.1 스레드 메시지 큐와의 연동
__2.4.2 콜백 함수와의 결합
__2.4.3 .NET BackgroundWorker 클래스의 구현

03장 유저 모드 동기화
_3.1 유저 영역의 동기화 객체
__3.1.1 크리티컬 섹션(Critical Section)
__3.1.2 SRW-락(Slim Reader-Writer Lock)
__3.1.3 조건 변수(Condition Variables)
_3.2 상호잠금(Interlocked) API
__3.2.1 상호잠금 함수의 사용 예
__3.2.2 상호잠금을 이용한 스핀락 구현
_3.3 새로운 동기화 수단
__3.3.1 동기화 장벽(Synchronization Barrier)
__3.3.2 주솟값에 대한 대기
__3.3.3 원-타임 초기화(One-Time Initialization)

[2부] 비동기 입출력

04장 파일, 비동기 입출력과 IOCP
_4.1 파일 커널 객체
__4.1.1 파일 생성 및 입출력
__4.1.2 파일에 대한 작업
__4.1.3 CreateFile을 통한 다른 장치 열기
__4.1.4 동기적 입출력의 취소
_4.2 비동기 입출력의 기본
__4.2.1 비동기 입출력을 위한 사전 지식
__4.2.2 장치 또는 이벤트 시그널링
_4.3 경보가능 입출력(Alertable I/O)과 APC
__4.3.1 비동기 프로시저 호출(APC)
__4.3.2 경보가능 입출력의 사용
__4.3.3 입출력과 상관없는 APC의 사용
_4.4 입출력 완료 포트(IOCP)
__4.4.1 IOCP의 생성
__4.4.2 스레드 풀 구성하기
__4.4.3 입출력과 상관없는 IOCP의 사용
__4.4.4 IOCP 내부 들여다보기
__4.4.5 IOCP 확장 함수
_4.5 비동기 입출력의 취소
__4.5.1 핸들 닫기
__4.5.2 취소 함수

05장 비동기 소켓
_5.1 소켓 API의 기본
__5.1.1 동기 모델의 C/S
__5.1.2 동기 함수의 비동기화
_5.2 비동기 소켓
__5.2.1 고전적 방식(select)
__5.2.2 윈도우 메시지(WSAAsyncSelect)
__5.2.3 이벤트 시그널링(WSAEventSelect)
_5.3 비동기 입출력 이용
__5.3.1 장치 또는 이벤트 시그널링
__5.3.2 경보가능 입출력의 사용
__5.3.3 IOCP의 사용
_5.4 MS 소켓 확장 API
__5.4.1 확장성을 위한 준비
__5.4.2 비동기 입출력 접속
__5.4.3 AcceptEx 함수와 소켓 풀
__5.4.4 파일 전송

06장 스레드 풀
_6.1 스레드 풀의 의미와 구현
_6.2 윈도우 2000의 스레드 풀
__6.2.1 작업(QueueUserWorkItem)
__6.2.2 대기(RegisterWaitForSingleObject)
__6.2.3 타이머(CreateTimerQueueTimer)
__6.2.4 입출력(BindIoCompletionCallback)
_6.3 새로운 스레드 풀 I
__6.3.1 작업 항목 객체와 스레드 풀
__6.3.2 작업(TP_WORK) 객체
__6.3.3 대기(TP_WAIT) 객체
__6.3.4 타이머(TP_TIMER) 객체
__6.3.5 입출력(TP_IO) 객체
__6.3.6 콜백 인스턴스 사용하기
_6.4 새로운 스레드 풀 II
__6.4.1 스레드 풀 객체
__6.4.2 콜백 환경 객체
__6.4.3 정리그룹 객체

07장 IPC와 비동기 입출력
_7.1 IPC를 위한 준비 작업
__7.1.1 프로세스의 생성
__7.1.2 커널 객체의 공유
__7.1.3 프로세스 간 데이터 공유
_7.2 서비스와 커널 객체 보안
__7.2.1 윈도우 서비스의 기본
__7.2.2 서비스와 접근 제어
__7.2.3 서비스에서의 프로세스 생성
_7.3 메모리 매핑 파일
__7.3.1 MMF의 의미와 사용
__7.3.2 공유 메모리
__7.3.3 서비스에서의 MMF 사용
_7.4 파이프
__7.4.1 파이프 소개
__7.4.2 파이프의 사용
__7.4.3 서비스에서의 파이프 사용

이 책은 동기ㆍ비동기 입출력 관점에서 윈도우 시스템 프로그래밍을 하는 방법을 다룬다. 크게 1부와 2부로 나누어 1부에서는 동기화 객체와 관련 함수, 스레드를 통해 스레드 동기화를 구현하는 다양한 방법을 다룬다. 2부에서는 OVERLAPPED 구조체를 이용한 비동기 또는 중첩 입출력, 그리고 이와 관련된 IOCP, 비동기 소켓, 쓰레드 풀에 대하여 설명하고 IPC에 활용하는 방법을 다룬다. 실무에 유용한 함수 230여 개와 샘플 코드 224개를 제시하고 있어 윈도우 개발자라면 누구나 소장해야 하는 최고의 실전 바이블이다. ‘한빛미디어 IT EXPERT 시리즈’ 첫 번째 리뉴얼 도서인 『윈도우 시스템 프로그램을 구현하는 기술』은 여러분을 윈도우 시스템 프로그래밍 전문가로 이끌어 줄 것이다.

출판사 리뷰

★ 이 책의 특징
이 책은 동기ㆍ비동기 입출력 관점에서 윈도우 시스템 프로그래밍을 하는 방법을 다루고 있다. 이 책은 크게 1부와 2부로 나뉘며, 1부는 비동기 입출력을 알아보기 전에 비동기 입출력의 전제가 되는 스레드와 동기화, 동기화의 요소가 되는 윈도우 객체 및 관련 함수, 그리고 스레드 동기화를 구현하는 다양한 방법들에 대해 예제를 통해 상세하게 설명한다. 2부에서는 본격적으로 비동기 입출력 또는 중첩 입출력에 대해 설명한다. OVERLAPPED 구조체를 통해 수행되는 비동기 입출력의 세 가지 패턴(파일 핸들 시그널 방식, APC와 경보 가능 대기 방식, IOCP 방식)을 설명하고 가장 핵심이 되는 입출력 완료 포트(IOCP)에 대해 상세하게 논의한다. 또한, 윈도우에서 확장성과 성능 향상을 위해 제공되는, IOCP를 기반으로 하는 스레드 풀을 설명하고 그 활용법에 대해 상세하게 논의한다. 그리고 비동기 입출력 기술을 활용할 수 있는 가장 대표적인 예인 비동기 소켓 입출력 활용법에 대해, 마지막으로 프로세스 간 통신(IPC) 시 비동기 입출력의 활용법에 대해 다룬다.

_1장. 스레드와 동기화
스레드 동기화에 필요한 윈도우 시스템 요소와 동기화의 개념 및 그 필요성에 대해 설명한다.

_2장. 커널 객체와 동기화
윈도우에서 제공하는 동기화 대기 함수들과 동기화 전용 커널 객체들을 상세하게 설명한다. 또한 흔히 간과하고 있는 스레드 또는 윈도우 메시지에 대해서도 그 유용성과 활용법을 동기화와 연결해 설명한다.

_3장. 유저 모드 동기화
동기화의 또 다른 수단인 유저 모드에서 제공되는 기존의 다양한 동기화 객체들과 상호잠금 함수에 대해 살펴보고, 윈도우 8에서 새롭게 제공되는 ‘동기화 장벽’ 동기화 객체와 ‘주소값 대기’ 동기화 함수에 대해 상세하게 설명한다.

_4장. 파일, 비동기 입출력과 IOCP
비동기 입출력의 기본 대상이 되는 파일의 다양한 의미와 그 동기적 사용법에 대해 설명한다. 그리고 비동기 입출력의 세 가지 패턴인 ‘파일 핸들 시그널 방식’, ‘APC와 경보 가능 대기 방식’, 그리고 이 책의 핵심인 ‘IOCP를 이용하는 방식’에 대해 상세하게 설명한다.

_5장. 비동기 소켓
비동기 입출력을 응용할 수 있는 대표적인 커널 객체인 소켓을 비동기 입출력 응용에 초점을 맞춰 설명한다.

_6장. 스레드 풀
윈도우 2000에서 소개된 스레드 풀과 비스타에서 대폭 개선된 새로운 스레드 풀에 대해 상세하게 설명한다. 스레드 풀의 의미와 구조, 사용법 및 다양한 응용을 예제를 통해서 논의한다.

_7장. IPC와 비동기 입출력
윈도우에서 프로세스 사이에서 서로 데이터를 교환하기 위한 메커니즘으로 프로세스 간 통신(IPC)에 대해 상세하게 논의하고, IPC와 비동기 입출력의 연동에 대해 설명한다.

★ 이 책의 독자층
이 책은 윈도우 시스템 개발자를 대상으로 한다. 기본적으로는 동기화의 개념을 조금이라도 알고 윈도우 시스템 개발 경험이 있다면 어렵지 않게 볼 수 있을 것이다. 동기화와 윈도우 시스템에 대한 기본적인 내용부터 다루고 쉽게 풀어 설명하고 있어서 중고급 개발자는 물론이고 초급 개발자도 충분히 이해할 수 있을 것이다.

추천평
“이 책은 프로그래밍을 하다 보면 반드시 필요하게 되는 동기화 및 비동기 처리에 대한 내용을 일관된 흐름으로 기술합니다. 이 점이 바로 다른 윈도우 프로그래밍 서적과의 차별화된 장점이라고 생각합니다. 또한 각각의 기술을 단순히 설명만 하는 게 아니라 해당 기술이 왜 필요한지, 어떤 상황에 사용하면 좋은지, 문제점이나 단점은 무엇인지를 알려주고, 예전 기술로 해결하는 방법과 새로운 기술로 해결하는 방법을 단계적으로 설명함으로써 좀 더 깊이 있는 이해를 돕습니다.”
_ 강상욱, 시큐어 플랫폼즈 테크놀로지 연구소 팀장

“이 책은 스레드 간 메시지 및 데이터 동기화를 왜 해야 되는지에 대한 필요성부터 동기화 방법 및 MS 차세대 동기화 수단 등을 샘플 코드와 함께 자세하고 체계적으로 설명해 이해를 돕습니다. 아울러 문제 해결을 위한 여러 방법을 함께 제시하고 있어서 이 예제를 확장하여 실제 상황에 적용한다면 상당한 도움이 될 것입니다.”
_김형민, UBIVELOX 솔루션 개발부 그룹

작가정보

저자(글) 이호동

저자 이호동은 연세대 전자공학과를 졸업하였지만, 학창시절 C와 어셈블리 언어에 빠진 이후 계속 소프트웨어 개발자의 길을 걸어 왔다. 학창 시절 환경이 무르익기 전부터 ‘IT 월간’ 매체에 기사를 연재하면서 정보 공유와 집필 욕구가 싹트기 시작했다. 15년간 직장생활을 통해 경험한 대용량 서버 사이드 개발, 클라이언트 보안 및 디바이스 드라이버 개발 등을 바탕으로 오랜 기간 동안 연구하고 학습하여 고급 개발 영역에서 꼭 필요한 분야를 집필하게 되었다. 주로 어셈블리, C++, COM, C#을 다룬다. 저서로는 『Windows 시스템 실행파일의 구조와 원리』가 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    윈도우시스템 프로그램을 구현하는 기술 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    윈도우시스템 프로그램을 구현하는 기술 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    윈도우시스템 프로그램을 구현하는 기술
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)