윈도우 시스템 프로그래머를 위한 고전적인 참고서인 『Windows Internals 7/e Vol.2』를 한국어로 번역하게 돼 정말 기쁘다. 이 책은 윈도우 운영체제의 내부 작동 방식에 대한 포괄적이고 심층적인 정보를 제공한다.
이 책을 번역하는 것은 쉽지 않은 작업이었다. 전문 용어와 개념이 많았고, 정확하고 이해하기 쉽게 번역하는 것이 중요했다. 독자의 필요를 염두에 두면서 텍스트를 충실하게 번역하고자 최선을 다했다.
번역 과정에서 용어가 항상 진화하기 때문에 정확한 최신 용어를 사용하는 것이 중요했다.
개념이 복잡하고 설명하기 어려웠기 때문에 더 작은 조각으로 나누고 그림과 예제를 사용해 설명했다.
이 책은 다음과 같은 내용을 포함한다.
● 윈도우 운영체제의 내부 구조와 동작 방식
● 윈도우 시스템 프로그래밍을 위한 기초 지식
● 윈도우 성능 최적화 및 디버깅에 대한 팁
또한 이번에 새로 업데이트된 내용을 포함하고 있다.
2장에서부터 시작 및 종료 프로세스, 레지스트리 하위 시스템, UWP 등 시스템의 광범위한 부분이 업데이트됐다. 단순히 새로워진 내용뿐 아니라 하이퍼V, 캐싱 및 파일 시스템, 진단 및 추적에 대해 자세히 설명하는 3개의 새로운 장도 추가됐다.
이러한 추가 사항을 통해 윈도우 시스템 프로그래머는 윈도우 운영체제의 내부 작동 방식에 대한 좀 더 포괄적인 최신 정보를 얻을 수 있다.
이 책을 통해 윈도우 시스템 프로그래밍에 대한 지식을 쌓고 윈도우 운영체제를 더 잘 이해할 수 있기를 바란다.
격변하는 기술의 흐름 속에서 윈도우 NT가 처음 세상에 출현한 1993년 이래로 이 책의 시리즈도 함께 시작되어 벌써 5판 째를 맞이한다. 개인용 PC와 서버를 아우르는 윈도우 운영체제의 방대하고도 심도 있는 주제를 이보다 잘 다룬 출판물은 아마도 당분간은 보기가 힘들 것이다.
이번 제5개정판의 내용을 알아보기 전에 먼저 일련의 이들 시리즈에서 주요 변경 사항을 간략히 살펴보자. 윈도우 NT4.0을 토대로 David Solomon에 의해 1998년에 집필된 『인사이드 윈도우 NT』는 이 시리즈의 제2개정판으로서 NT 4.0에 추가된 여러 기능을 다뤘다. 즉, 그래픽 엔진을 위한 클라이언트/서버 모델이 구현됐으며 대부분의 USER 및 GDI 구성 요소를 커널모드로 이동해 성능향상을 꾀했다.
윈도우 2000을 대상으로 데이비드 솔로몬과 마크 러시노비치에 의해 집필된 『인사이드 윈도우 2000』은 제3판으로서 잡(Job)에 대한 개념이 소개됐고, 시스템의 시작과 셧다운에 대한 설명, 플러그앤플레이 및 전원 관리자의 기능, 윈도우 관리도구(WMI), 스토리지 관리, 네트워킹에 대한 내용이 추가됐다.
윈도우 XP와 윈도우 서버 2003을 대상으로 마크와 데이비드에 의해 작성된 『마이크로소프트 윈도우 인터널』은 제4판으로서 크래시 덤프 분석에 관한 내용이 신규로 추가됐으며 IA-64와 x64에 대한 메모리 관리 메커니즘과 Wow64에 대한 개념도 또한 소개됐다.
윈도우 비스타를 대상으로 데이비드와 마크, 알렉스가 작성한 제5판인 본 책은 '커널 패치 보호', 새로운 드라이버 모델인 KMDF와 UMDF를 소개하고 또한 보안적인 측면에서 사용자 계정 제어(UAC)를 다루며 스토리지 관리에 있어서 비트라커(BitLocker)의 기능, 멀티프로세서에서의 향상된 스레드 스케줄링 기법, 네트워크 주제로 윈도우 필터링 플랫폼(WFP) 등을 새롭게 소개한다.
앞서 기술한 이런 기술적 항목은 지난 10여 년 동안 PC 시장의 컴퓨팅 환경을 주도해온 기술이며 트렌드다. 이런 기술들을 익히고 하나씩 습득하노라면 이들 기술의 흐름을 선도하고 항상 개척하는 마이크로소프트의 경이적인 노력과 장인 정신을 엿볼 수 있는 대목이기도 하다.
IT 분야에서 프로그램에 종사하는 모든 개발자라면(반드시 윈도우 운영체제가 아니어도 좋다) 관련 기술들의 개념을 숙지하는 것만으로도 어느 분야에 종사하든지 당신이 성숙된 개발자로서 나아가는 데 크나큰 밑거름이 될 것이라고 확신한다.
1998년에 집필된 『Inside Windows NT』의 시리즈로서 윈도우 7과 윈도우 서버 2008 R2 운영체제의 핵심 내용을 다룬 『Windows Internals 제6판』이 출간됐다. 6판은 방대한 내용을 기술적으로 좀 더 심도 있게 다루기 위해 2권으로 나뉘어 출판됐다. 윈도우 비스타까지 다뤘던 이전의 5판에 비해 6판에서 새롭게 추가된 주요 내용은 다음과 같다.
시스템의 여러 구성 요소 간의 데이터를 안전하고도 빠르게 전송할 수 있는 기능인 고급 로컬 프로시저 호출에 대한 세부적인 동작 메커니즘, 서비스와 작업의 제어를 위해 일관적인 인터페이스를 제공해주는 통합 백그라운드 프로세스 관리자, 스레드 기반 스케줄링의 여러 단점을 극복할 수 있는 프로세서 공유 기반의 스케줄링 기법, 애플리케이션이 자신의 내부 객체를 보호할 때 유저 모드와 커널 모드의 전환에 필요한 부담을 없애고 보호할 객체에 대한 접근 검사 결과를 캐시하게 함으로써 검사 속도를 높일 수 있는 AuthZ 윈도우 API에 대한 설명, 원격 시스템으로부터 파일을 캐시해 로컬 머신이 네트워크에 접속하지 않고서도 파일에 접근할 수 있는 오프라인 파일 기능, WAN을 통한 네트워크 대역폭을 줄이게 해주는 브랜치캐시 기능 등이 새롭게 추가됐다.
지난 20여 년 가까이 윈도우 프로그래밍을 하면서 윈도우 운영체제를 체계적으로 이해하고 시스템 프로그램을 능숙하게 다룰 수 있는 개발자를 근래만큼 찾기 힘든 적도 참으로 드물었다. IT 산업의 흐름이 이렇게 바꾼 것이라고 생각하기에는 쉽게 납득이 가지 않는다. 이유가 무엇이든 또는 관심을 가지고 종사하는 분야가 무엇이든 간에 프로그래머로서 자긍심을 공유할 수 있는 많은 분을 만나기를 기대해본다.
대표 역자 김점갑
1998년에 집필된 『Inside Windows NT』의 시리즈로서 윈도우 7과 윈도우 서버 2008 R2 운영체제의 핵심 내용을 다룬 『Windows Internals 제6판』이 출간됐다. 6판은 방대한 내용을 기술적으로 좀 더 심도 있게 다루기 위해 2권으로 나뉘어 출판됐다. 윈도우 비스타까지 다뤘던 이전의 5판에 비해 6판에서 새롭게 추가된 주요 내용은 다음과 같다.
시스템의 여러 구성 요소 간의 데이터를 안전하고도 빠르게 전송할 수 있는 기능인 고급 로컬 프로시저 호출에 대한 세부적인 동작 메커니즘, 서비스와 작업의 제어를 위해 일관적인 인터페이스를 제공해주는 통합 백그라운드 프로세스 관리자, 스레드 기반 스케줄링의 여러 단점을 극복할 수 있는 프로세서 공유 기반의 스케줄링 기법, 애플리케이션이 자신의 내부 객체를 보호할 때 유저 모드와 커널 모드의 전환에 필요한 부담을 없애고 보호할 객체에 대한 접근 검사 결과를 캐시하게 함으로써 검사 속도를 높일 수 있는 AuthZ 윈도우 API에 대한 설명, 원격 시스템으로부터 파일을 캐시해 로컬 머신이 네트워크에 접속하지 않고서도 파일에 접근할 수 있는 오프라인 파일 기능, WAN을 통한 네트워크 대역폭을 줄이게 해주는 브랜치캐시 기능 등이 새롭게 추가됐다.
지난 20여 년 가까이 윈도우 프로그래밍을 하면서 윈도우 운영체제를 체계적으로 이해하고 시스템 프로그램을 능숙하게 다룰 수 있는 개발자를 근래만큼 찾기 힘든 적도 참으로 드물었다. IT 산업의 흐름이 이렇게 바꾼 것이라고 생각하기에는 쉽게 납득이 가지 않는다. 이유가 무엇이든 또는 관심을 가지고 종사하는 분야가 무엇이든 간에 프로그래머로서 자긍심을 공유할 수 있는 많은 분을 만나기를 기대해본다.
대표 역자 김점갑