-
-
컴퓨터 시스템 딥 다이브 - C 언어부터 어셈블리, 아키텍처, OS까지 한 꺼풀씩 벗겨보는 컴퓨터 시스템
수잰 J. 매슈스.티아 뉴홀.케빈 C. 웹 지음, 김모세 외 옮김 / 한빛미디어 / 2023년 12월
평점 :
수잰 J.매슈스, 티아 뉴홀, 케빈 C. 웹(지음)/ 한빛미디어(펴냄)
4차 산업혁명의 시대, 2015년 교육과정이 개편되면서 갑작스레 코딩 열풍이 불었었다. 당시 코딩을 못하면 무슨 큰일이라도 날 것처럼(여기서 큰일이란? 좋은 대학을 못 가는 것을 의미) 언론에서 앞다투어 방송했었다. 각급 학교에서 교육과정 안에 코딩 의무교육을 실시하고 수업시수를 대폭 늘렸다. 자유학기제와 함께 맞물려서 학생들은 질 좋은 코딩 교육장으로 나가서 수업을 받기도 했다. 당시 현장에서 본 모습은 현실이 제도를 따라가지 못하는 느낌? 질 낮은 교육장과 검증되지 않은 강사들도 일부 있었다. 우리 교육은 인문계와 실업계 그 모습만 다를 뿐, 대학 진학이라는 하나의 목표로 달리기 때문에 경쟁이 치열할 수밖에 없다. 그때 가장 우려했던 점은 좋은 의도로 시작된 코딩 교육이, 그마저도 입시의 도구화되고 일부 사교육의 돈벌이 수단으로 전락하는 것은 아닌가 싶었고 일부 현실화되었다.
이 책은 컴퓨터의 구조적인 개념과 컴퓨터 언어들에 대한 이해를 우선으로 하며, 그 위에 프로그램 구조와 성능을 개선할 수 있는 여러 방법을 설명한다. 시중에 컴퓨터 구조 운영체제 서적은 많지만, 초심자, 입문자 및 지망생과 개발자 모두를 충족하는 책은 처음인 것 같다. 이전에 Mano 저자의 책으로 공부를 한 적이 있는데, 기본적인 출제 내용과 디지털 회로 구성 요소 등 기본적인 코드와 디자인까지 다 언급하는 책이었다. 이 책의 저자가 컴퓨터 시스템을 바다로 비유하는 점 흥미롭다. 컴퓨터 개론, 종류, 초기 컴퓨터의 아키텍처를 언급하지 않을 수 없다. 책은 처음부터 읽어도 좋고, 각 장은 따로 떼서 봐도 무방하며 서로 독립적으로 구성되어 있다.
현역 개발자의 영역은 비전공자들도 다소 많은데, 그들이 놓치기 쉬운 근간에 대한 부분, 가장 기본적인 프로그래밍 기초부터 시작된다. 시스템이란 무엇인가? ( 하드웨어랑 소프트 웨어로 이루어져 있는 모든 기계들, 시스템) 그렇다면 현대의 컴퓨터 시스템은 어떤 모습인가? 1장은 정말 쉽고 구체적으로 서술된다. 나아가 C 프로그래밍의 언어의 몇 가지 새로운 기능, 디버깅 도구 소개, C 포인터와 동적 메모리 할당 지원을 소개한다. 나는 2장의 컴퓨터 시스템 기초를 가장 먼저 펼쳐보았다. 데이터 표현법과 기초적인 컴퓨터 아키텍처 개념을 문장과 소스를 통해 두루 설명한다. 중앙처리장치는 어떤 역할을 하는지, 지금 컴퓨터의 옛날 오래전 조상이 되어버린 아키텍처의 근간을 소개한다. 여기서 컴퓨터 역사가 살짝 언급되는데 튜링 머신이라든가 폰 노이만 언급을 빼놓을 수 없다. 초기 여성 엔지니어들은 하찮은 계산만 시켰으며 중요한 방법론적인 접근은 남자들의 영역이었다.
책은 컴퓨터가 프로그램을 실행하는 방법에 대해, 프로그램 성능과 관련된 시스템 비용을 평가하는 방법, 병렬 프로그래밍으로 병렬 컴퓨터의 성능을 활용하는 방법도 상세히 설명된다. 책의 좋았던 점은 비교적 입문자들을 위한 설명을 친절히 하려 노력한 전문가 저자의 노력이 보였다. 분야는 각광받지만 실제로 구인난을 겪고 있다고 한다. 단순히 프로그램만 만드는 개발자를 원하는 시대를 끝났다고 본다.
현업 개발자에 비해 상대적으로 기술의 영역을 잘 알지 못하는 마케팅 분야와의 협업이 많은 요즘이다. 앞으로 이런 협업은 더욱 늘어날 텐데, 고객의 니즈를 전달하는 과정에서 마찰과 갈등은 '모름'에서 시작되는 것이 아닐까 싶다. 서로의 요구 사항을 전달하기 위해 어느 정도의 컴퓨터 지식이 필요한 것은 당연한 일 아닐까! 또한 현업에서 이론이 부족한 실무자에게도 추천하고 싶은 책이다.
한빛미디어 〈나는 리뷰어다〉 활동을 위해 책을 제공받아 작성한 리뷰입니다