끄적끄적

[도서 리뷰] 컴퓨터 밑바닥의 비밀 본문

리뷰/도서리뷰

[도서 리뷰] 컴퓨터 밑바닥의 비밀

코리이 2024. 5. 20. 21:47

[컴퓨터 밑바닥의 비밀]


개발자라면 CS 지식은 지속적해서 공부하는 것이 매우 중요하다고 생각한다. 특히나 컴퓨터 내부가 어떻게 돌아가는지를 이해해야 동시성과 같은 어려운 개발 상황에 처하게 되었을 때 문제 해결법에 대한 힌트를 쉽게 얻을 수 있을 것이다. 이 책은 제목 그대로 컴퓨터가 어떻게 돌아가는지에 대해서 설명해주는 책으로 개인적으로는 CS 관련 책 중 깊이도 있고 이해하기도 쉽게 적어놓은 것 같았다.

 

우선 번역이 깔끔하게 잘 되어있다는 점이 가장 큰 장점이 아닐까 싶다. 가끔 기술 번역서의 번역이 잘못되어 있을 때 책을 읽는 것 자체가 어려운 경우가 있는데 전부 다 읽었을 때도 그런 느낌은 전혀 들지 않았다. 특히 CS 관련된 책의 경우 아무래도 기술적인 내용이 많기 때문에 중간중간 툭툭 끊길 수가 있는데 개인적으로는 끊기는 느낌 없이 쉽게 읽혔었다. 하지만 그렇다고 해서 깊이 없이 얕게 알려주는 책은 아니다.  책을 전부 읽었을 때의 느낌은 이론적인 내용은 정말 꾹꾹 모두 눌러 담았구나 하는 생각이 주를 이루었다. 특히나 간단한 코드와 그림과 함께 어떤 식으로 작동하는지를 한번씩 추가해 주니 조금 더 이해하기 쉽고 컴퓨터가 이렇게 작동하고 있구나를 깨달을 수 있었다.

 

책의 첫 장에서는 컴파일러에 대해서 이야기해준다. 어쨌든 컴퓨터의 가장 기초는 기계어로 번역되어야 하는 점은 모두 알고 있을 것이다. 그 때 우리가 고수준의 언어로 만든 프로그램이 컴파일러를 통해 어떻게 어셈블리어로 변환되고 링커가 이를 어떻게 이어주는지에 대해서 그림과 함께 알려준다. 그 이후에는 우리가 개발하면서 가장 많이 맞닥뜨리는 부분인 프로세스와 쓰레드에 대해서 알려준다. 멀티 프로세스 부터 이에 대한 한계 그로 인해 태어난 스레드 등에 대한 설명을 이어나간다. 3장에서는 메모리와 관련된 이야기를 한다. 특히나 메모리에 대한 설명을 이어가다 보니 프로세스영역에서 힙 영역과 함께 연관지어서 설명을 한다. 이 때 가상메모리에 대해 엄청난 찬사를 이어나가는 것이 재밌었던 점이다. 4장은 CPU 관련 이야기이다. 초반에 회로에 대한 이야기가 나와서 조금 어지럽긴 했지만 옛날 생각이 나면서 흥미롭기도 했다. 가장 재미있었던 부분은 CISC 와 RISC 가 서로 경쟁하면서 시장을 점유해가는 이야기였으며 최신 MAC 의 ARM CPU 에 대한 이야기를 하면서 미래는 어떻게 될지 정말 모를 것 같다는 생각이 들었다. 5장은 캐시에 대한 이야기를 한다. 캐시를 이야기하면서 캐시의 동기화에 대해서 많은 이야기를 해줘서 재미있게 읽었었다. 마지막 파트는 입출력에 대한 이야기이다. 결국 모든건 파일로 연결된다는 이야기를 하고 DMA 에 대한 이야기도 하는데 흥미롭게 읽었던 것 같다.

 

책을 전부 읽었을 때, 이전에 배웠던 내용들이 새록새록 기억에 떠올랐다. 물론 이 책 자체가 두껍지는 않은 만큼 모든 내용을 깊게 다루기는 어려울 수 있다. 만약 더 궁금한 점이 있다면 한가지 파트만 깊게 파는 책을 보거나 하면 좋을 것 같았다. 특히 아무래도 실습관련된 내용은 없으니 추가로 관련 내용을 직접 실습해보면서 공부하는 것이 가장 도움이 될 것으로 생각된다. 특히나 OS 관련 실습의 경우 요즘엔 유투브 같은 곳에서 무료로 볼 수 있으니 한번쯤은 해보는 것이 좋을 것 같다.

 

오랜만에 CS 관련 서적을 읽으면서 재밌다는 생각을 하게 만들어준 책이였다. 그렇기 때문에 만약 CS 를 잊어버린 개발자라면 한번쯤 돌아보기 매우 좋은 책인 것 같아서 만약 주변 개발자가 도서 추천을 해달라고 한다면 이 책을 추천해줄 것 같다.

 

해당 컨텐츠는 길벗 출판사로부터 책을 제공받아 작성된 서평입니다.