메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

윈도우 프로그램 경험이 있는 개발자가 읽어보면 좋을 책

han***

|

2005-01-25

API로 배우는 Windows 구조와 원리

이 책은 Windows 애플리케이션에게 제공하는 Windows API(Application Programming Interface)라고 하는 "창구"를 통해서 Windows의 작동 구조를 이해할 수 있도록 도와준다. C/C++는 물론이고, 비주얼 베이직, Java, .NET 같은 개발 환경을 사용해서 제작한 애플리케이션도 내부에서는 Windows API를 호출해서 동작한다. 이런 개발 환경을 무심하게 넘기지 않고, 개발 환경의 내부에서 어떻게 작동하는지

  • 저자 : 야스무로 히로카즈
  • 번역 : 김용준
  • 출간 : 2004-10-11
API로 배우는 Windows 구조와 원리.

이 책은 Windows에서 프로그램을 개발할 때 알아 두면 좋을 지식에 대해서 얘기하고 있다. 알면 좋은 지식이라고 한 것은 이러한 지식을 모르고 있더라도 개발하는 데 있어서는 큰 지장이 없기 때문이다. 하지만 이런 작은 차이가 명품을 만드는 초석이 되지 않을까.



이 책은 일본인이 쓴 책을 번역한 것이다. 그래서 그런지 아주 매끄럽게 되어있다. 내용이 번역한 책인지 느낄 수 없을 정도로 잘 되어있다. 원서가 원래 책 구성이 훌륭한 지는 접해보지 않아서 모르겠지만, 한글판의 경우 책 구성과 종이질도 훌륭하다고 할 수 있겠다.



구성을 살펴보자. 이 책은 Windows 애플리케이션의 구조, 메모리 관리, 프레세스, 스레드, DLL 등에 관한 얘기를 24개의 챕터로 나누어서 설명하고 있다. 각각이 분리되어 있기 때문에 잠깐씩 나누어서 읽기에 좋게 구성되어 있다. 물론 그렇다고 한 챕터의 내용이 깊이가 없는 것은 아니다. 평상시 알고 있던 지식에 기초하여 생각해보면 재밌고 유익한 내용을 많이 터득할 수 있을 듯 하다.



내용을 살펴 보자면, 윈도우 애플리케이션 개발자가 평상시 사용하면서도 깊은 이해가 없었을 부분에 대해 얘기를 한다. 메모리나 파일시스템에 관해서도 얘기하는데 기존 OS에 책과 다른 부분이라면 바로 MS Windows에 관해서 구체적인 얘기를 한다는 점이다. 파트 2에서는 실제 윈도우 API와 구조체를 이용하여 예를 들면서 설명을 해준다. 기존에 윈도우에서 개발을 했던 사람이라면 이해하는 데 전혀 문제가 없고 코드 자체도 보통 한페이지 이내이므로 가독성이 좋다. 윈도우가 메시지를 받아오는 구조라든지, 콘솔 프로그램에 관한 얘기들, 파일 시스템 접근, 메모리 관리, 프로세스, 스레드에 관한 얘기들, DLL 작동 원리, 프로세스 간 데이터 공유, 서비스, 디버거, 폰트, 비동기 I/O, 구조화 예외 처리 메커니즘, 장치 드라이버 등에 대해서 전반적이고 기초적인 얘기를 한다.



실제 다루는 내용을 좀 더 자세히 알아보자. 10장의 경우 윈도우즈에서 프로세스와 스레드에 대해서 살펴본다. 그리고 프로세스와 스레드를 생성하고 감시하는 API를 설명하고 실제 예를 든다. 11장의 경우 스레드를 사용할 경우 발생할 수 있는 동기화 문제에 대해서 얘기하고, 이를 해결할 수 있는 뮤텍스, 세마포어, 이벤트, 대기 가능 타이머에 대해서 간략히 다룬다. 물론 각 방법에 대해서 API를 소개하고 간략한 예를 보여준다. 위에서 알 수 있듯이 이 책을 통해 개괄적이고 기본적인 내용을 이해하고, 좀 더 깊은 내용이 필요하다면 그 부분을 전문적으로 다룬 책 등을 읽으면 좋을 듯 하다.



이 책에서 다룬 내용에 대해서 이미 유명한 책이 있다. 바로 Jeffrey Richter씨가 쓴 Programming Applications for Windows (4/E)이다. 지금은 절판되어 살 수 없지만, 위와 같은 내용에 대해서 아주 자세히 나온 듯 하다. (사정상, 아직 읽어보진 못했지만, 좋은 책이어서 알려주고 싶었다.) 이 책은 1000페이지가 넘고 번역본은 엉망이라고 평가받고 있어서 가벼운 마음으로 일단 내용을 알고 싶은 사람은 "API로 배우는 Windows 구조와 원리"를 보면 좋을 듯 하다.



윈도우 프로그래밍을 전혀 해보지 않은 사람에게 어쩌면 이 책은 어려울 수 있을 것이다. 하지만, 윈도우 프로그래밍을 조금이라도 해 본 사람이라면, 그리고 Jeffrey Richter의 책을 읽어보지 않은 사람이라면 한번쯤은 꼭 읽어 볼 만한 책인 것 같다. 사실 여기서 다른 내용이 MSDN 등에 잘 나와 있지만, 문제는 그 방대한 분량 중에서 핵심적인 부분을 찾는 것이다. 그러한 내용을 잘 정리해서 간추려 놓은 것이 이 책이라고 생각하면 좋을 듯 하다.
닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?