|
1장 컴퓨터의 구조에 대한, 복습내용으로 되어있습니다. 시스템레벨 개발자라면 당연히 알아야 될 내용이므로, 더 자세한 내용은 아키텍쳐 책의 명서인 Computer Architecture: A Quantitative Approach 에 다와 있으므로, 저자가 간력하게 꼭 알아야 할 것만을 요약한 것으로 보입니다.
2장에서는 데이터및 자료구조에 대한 정확한 내용을 간결하게 정리하여 책을 보기 전에 확실히 알아두고 넘어갈수 있도록 되어 있습니다. 특히 윈도우의 디버거를 통해 데이터 컴퓨터의 메모리에 어떻게 맵핑되어 있는지에 대한 자세한 그림과 함께 이해를 돕고 있다는 점에서, 기존의 OS또는 자료구조책과는 다른 색다른 맛을 느낄수 있는 부분이었습니다.
3장에서는 기계어 구성 부분인데, 이 책이 Win32 어셈블러 책이 아닌관계로 저자가 많은 내용을 표현하기 어려웠었는지, 많은 부분들이 다루어 지지 않고, 간략하게 꼭 알고 넘어가야할 기본 개념들에 대한 정리를 해두었습니다.
4장에서는 프로시져와 스택에 대해 다루는 부분이 나오는데, 다른 원론적인 OS 책들과는 달리 Windows 에서 어떻게 처리되고 있는지 알수 있도록 자세한 설명을 하여 도움이 많이 되었습니다.
5장에서는 프로세스와 쓰레드에 대해서 다루어 지고 있는데, 기존에 Debugging Application이란 책에서 다루었던 내용보다 더 알기 싶고 자세하게 설명되어 있습니다.
6장과 7장에서는 쓰레드에 대해, 원론적인 OS책에서 나오는 딱딱한 설명이 아니라, 직접 윈도우 디버깅 툴은 WINDBG를 통해 직접 쓰레드가 어떻게 동작하고, 스케줄링이되는지에 대해 직접 확인해 가면서 배울수 있도록 되어 있어 많은 도움이 되었습니다.
8장부터 11장까지는 윈도우에서는 메모리 관리에 대해, 이론적인 기본 지식을 전달해 주는것으로 끝나는 것이 아니라, 직접 메모리를 추척해 가면서 직접 메모리 관리가 어떻게 되고 있는지 알수 있도록 되어있어, OS의 내부 메모리 관리에 대해 확실히 이해 시킬수 있도록 되어있습니다.
12장과 13장에서는 캐시에 대해 간략한 설명이 되어 있습니다. 특히 기존의 이론적인 OS서적에서 볼수 없었던 Windows에서는 캐시 정책과 프로세서의 캐시 구조를 한번에 살펴 볼 수 있어, 이해를 쉽게 하도록 되어있습니다.
14장에서는 권한 문제에 대한 내용을 담고 있습니다. 이 부분에서는 윈도우즈 커널 레벨 엔지니어들이 꼭 알아야 할 기본적인 인터럽트와 특권계층 레벨에 대해 아주 자세한 설명과 함께, 디버거를 통해 어떻게 변화되고 있는지를 알수 있도록 하여, 처음 접하는 사람들에게 이해 하기 쉽도록 되어있습니다.
전체적으로 윈도우라는 거대한 운영체제의 구조에 대해 전체를 포괄하는 책이라기 보기에는 조금 부족할 수 있지만, 고급 윈도우 개발자로서 알아야할 기본적인 것들에 대해서는 거의 대부분을 포함하는 책이라고 할 수 있습니다.
부가적으로 Undocumented Windows 2000 Secrets에서 소개되는 자세한 Kernel API 에 대한 것과 같이 공부를 한다면, 시스템 레벨 개발자들에게 많은 도움이 될것으로 생각되는 책입니다. 저자도 이점에 대해서 생각을 해두었는지, 숲의 윤곽에 대해서 자세히 설명하고, 그 숲의 나무 격인 Kernel API들에 대해서는 많은 언급을 하지 않은것 같습니다.
조금 아쉬웠던 점은 Windows Networking 부분과 File System (NTFS) 내용이 빠져 있기는 하지만, 이 점은 다른 것들을 빠르고 쉽게 이해할수 있도록 쓰여진 책이라는 점에서 옥에 티라고 할 수 있습니다. 제 2판이 만들어 질때 포함될 것이라 믿습니다. 사실 책을 꼼꼼하게 다 보지는 않았지만, 정말 한국에서 이런책을 만나게 되어, 대단히 기뻤습니다.
벌써부터 제 2판이 기대됩니다.
제 생각에 이 책을 먼저 읽고난 다음, 다음과 같은 책과 함께보면, 많은 도움이 될것 같습니다.
- Inside MS Windows 2000
- Windows NT File System Internals
- Undocumented Windows 2000 Sercets
- Debugging Application
- IA-32 Intel Architecture Software Developer's Manual [인상깊은구절] 어떤책은 너무나 이론에 치중했었고, 어떤 책은 너무 응용에만 치중했던 것 같다. |
|
이 책을 구입한지 몇일 되지 않아 아직 내용은 다 보지 못한 상태이긴 한데, 제가 보기에는 프로그래머 입장을 많이 고려한 듯하네요. windows의 원리를 이해할 수 있도록 프로그래머 입장에서 이야기하고 있어 윈도우에 대해 공부할 때 많은 도움이 될듯합니다. 책에 정성이 많이 들어 있는 것 같고, 윈도우 구조와 원리에 대한 서적이 부족하다는 점에서, 저역시 아래분과 같이 별 5개를 줘도 괜찮다 싶네요. 단지 아쉽다면 책에서 카트고리분류가 좀 엉성해서 별 소용이 없어 보인다는 게 옥의 티로 보이네요.(편집에 좀더 신경을 썼더라면 완성도가 높았을텐데.) [인상깊은구절] 프로그래밍 언어는 어디까지나 도구일뿐이며, 그 프로그램의 구현가능성 유무를 판별하거나 구현방법을 설계하는데 에는 개입되지 않는것이다… |
| 3년정도 Windows 운영체제에서 수행되는 어플리케이션과 디바이스 드라이버를 개발해 오면서 이전에 말한 컴퓨터 구조와 Windows 운영체제에 대하여 보다 자세히 그리고 명확히 설명해줄 책이 필요했는데, 이번에 그런 책이 나온것 같네요. 기존의 어플리케이션 원서를 보면 어디서부터 개념을 잡아가야 할지, 어떻게 공부해야 할지 알 수 없었다. 아직 책의 절반정도밖에 보지 못했지만 어려운 부분은 중간부분에 몰려있기 때문에 이 정도면 뒷 부분 역시 충분히 괜찮으리라 믿는다. 개발자가 10만이 넘어가는 지금 시스템 프로그래머에 점점 관심이 몰리는 것 같다. 그 와중에 한 줄기 빛이 될 만한 책을 찾은 것 같아서 다행이라 생각한다. |