CS지식

비전공자로서 컴퓨터의 본질에 대해 다가가기 "컴퓨터 시스템 딥 다이브"

차빛 2024. 2. 25. 02:36
반응형

비전공자로서 컴퓨터의 본질에 대해 다가가기: "컴퓨터 시스템 딥 다이브" 

 

비전공 프론트엔드 개발자로서 컴퓨터시스템에 대한 지식이 많이 부족하다보니, 여러책을 찾아보던 중 "컴퓨터 시스템 딥 다이브" 를 발견했다. 컴퓨터의 본질에 대한 깊은 이해를 쌓을 수 있는 이 책은, C뿐만 아니라 python의 예제도 제공하고 있어 c언어를 모르는 독자여도 따라하면서 이해할 수 있다고 생각했다.

 

 

https://www.yes24.com/Product/Goods/124301248

 

컴퓨터 시스템 딥 다이브 - 예스24

코드 아래 숨겨진 아름답고 놀라운 컴퓨터 아키텍처 대탐험컴퓨터 시스템은 바다와 비슷합니다. 현대 생명의 기원이 원시 바다 깊은 곳에서 시작됐다고 여겨지듯, 현대의 프로그래밍도 초기 컴

www.yes24.com

 

 

그래서 픽하게 된 딥다이브 시리즈 중 하나인 " 컴퓨터 시스템 딥 다이브",

 

 

이 책은 시작은 컴퓨터 시스템에 대한 기본적인 이해를 제공하며, 현대의 컴퓨터가 어떻게 동작하는지를 알려준다. 이는 컴퓨터 과학에 대한 경험이 없는 독자들에게도 친숙한 내용으로 시작하여 부담없이 공부할 수 있게 도와준다.

 

 

1장에서는 C 프로그래밍 언어로의 여정이 펼쳐진다. 변수, 데이터 타입, 함수, 배열, 구조체 등 C 언어의 기초를 탄탄하게 다지면서, 독자들은 프로그래밍의 기본 원리를 체득한다. 이는 현대 프로그래밍 언어들의 기초가 되는 C 언어를 통해 컴퓨터의 핵심 원리를 깊이 있게 이해할 수 있게 해준다.

 

 

C언어의 산을 넘으면 어셈블리 언어의 세계로 발을 내디딘다. 여기서는 프로그램 메모리와 범위, 포인터, 동적 메모리 할당 등 어셈블리 언어의 특징적인 개념들을 다루면서, 어셈블리 언어를 통해 하드웨어와 소프트웨어 간의 상호작용을 체험할 수 있다. 이 파트가 가장 중요하다고 생각한다.

 

 

 

책의 또 다른 강점은 디버깅 도구, 최적화, 그리고 컴퓨터의 성능 향상에 대한 내용을 폭넓게 다룬다는 점이다. GDB를 이용한 디버깅, 코드 최적화, 메모리 구조 최적화 등 다양한 주제를 통해 실전에서 활용 가능한 기술들을 제시한다.

 

 

이어지는 파트에서는 컴퓨터 시스템의 기초, 바이너리와 데이터 표현, 컴퓨터 아키텍처에 대한 심층적인 내용이 펼쳐진다. 논리 게이트, 회로, 프로세서, 파이프라이닝 등 하드웨어와 소프트웨어의 상호작용 원리를 통해 컴퓨터에 대해 자세히 이해할 수 있도록 되어있다.

특히, 바이너리와 데이터표현은 늘 언제나 힘든 파트였는데 조각 조각 나누어 잘 정리되어 있고, NOTE를 이용해 독자가 충분히 이해 할 수 있게 돕는다.

 

 

 

64비트 X86 어셈블리부터 32비트 X86 어셈블리, 그리고 ARM 어셈블리까지, 다양한 어셈블리 언어를 통해 다양한 환경도 제공한다.

더불어 병렬 프로그래밍 파트에서는 멀티스레드 프로그래밍의 기초부터 시작하여 동기화, 락, 프로세스 간 통신, 캐시 일관성 등 다양한 병렬 프로그래밍 관련 주제를 다룬다. 이를 통해 독자들은 실제 상황에서의 다중 스레드 처리에 대한 통찰력을 얻고, 효과적으로 병렬화된 프로그램을 작성하는 방법을 배울 수 있다.

 

책의 마무리는 운영 체제와 보안에 대한 파트로 마무리된다. 프로세스와 스레드의 관리, 메모리 보호, 파일 시스템, 보안 및 암호화에 대한 내용을 자세하게 설명하며, 운영 체제와 보안에 대한 심화된 내용은 컴퓨터 과학에 대한 폭넓은 지식을 확장하고자 하는 독자들에게 적격이다.

이 책은 이론을 넘어서 실전 경험을 제공하는 데 있어서 독보적이다. 각 파트마다 풍부한 예제와 실습을 통해 이론을 실제로 체험하고 응용하는 기회를 제공한다.

 

이를 통해 개발자들은 문제 해결 능력을 향상시키고, 더 나은 소프트웨어를 개발할 수 있게 만드는 밑거름이 될 것이다. 

"컴퓨터 시스템 딥 다이브"는 컴퓨터 과학의 깊이 있는 접근과, 독자들은 이 책을 통해 컴퓨터의 본질을 파악하고, 이를 통해 창의적이고 혁신적인 소프트웨어를 개발하는 데 필요한 역량을 키울 수 있을 것이다. 

 

이 책을 읽고 난 뒤 다음 독자들이 미리 알고 접근했으면 좋을 것을 생각해보았다.

C언어나 파이썬언어의 기본을 미리 알고 이 책을 읽게 된다면 독자가 얻어가는 지식은 무한정일것이고, 컴퓨터에 대한 지식이 전무한 독자라면 가볍게 여러번 읽고 이해하는 쪽을 추천한다.

 

 

 

 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

반응형