컴퓨터 밑바닥의 비밀 - 컴퓨터 시스템의 본질을 알면 코드의 실마리가 보인다
루 샤오펑 지음, 김진호 옮김 / 길벗 / 2024년 3월
평점 :
장바구니담기


제목이 강렬하게 느껴진 건 '밑바닥'이라는 단어 때문인 것 같아요.

어떤 대상이나 분야에 대해 '밑바닥'을 언급했다면 거의 모든 것을 다 보여줬다고 봐야 하니까요. 아무래도 어렵고 복잡한 컴퓨터의 세계를 보다 쉽게 알려주는 책이라는 점에서 흥미로운 입문서라고 할 수 있어요.

《컴퓨터 밑바닥의 비밀》은 루 샤오펑의 책이에요. 저자는 소프트웨어 시스템 연구 및 개발 분야에서 일했던 경험을 바탕으로 위챗에서 '프로그래머의 무인도 서바이벌'이라는 이름의 공개 계정을 운영하며 컴퓨터 기술을 알기 쉬운 언어로 설명해주고 있다고 하네요. 이 책은 소프트웨어부터 하드웨어까지, 고수준 계층에서 저수준 계층까지 컴퓨터 시스템 내부의 세계로 떠나는 여행 안내서라고 볼 수 있어요. 첫 번째 여행지는 프로그래밍 언어이며, 프로그래머가 코드를 작성할 때 어떤 일이 일어나는지를 보여주고 있어요. 컴퓨터를 배운다는 건 프로그래밍 언어를 배우는 것과 같다고 생각했는데 사실은 그렇지 않다고 해요. 프로그래밍 언어는 프로그래머가 컴퓨터에 명령을 내리는 도구이므로 컴퓨터라는 거대한 세계를 이루는 작은 요소라는 거예요. 저자는 일방적인 설명 대신 질문으로 시작하고 있어요. 직접 프로그래밍 언어를 발명해야 한다면 어떻게 할 것인가. 아무런 기초지식이 없는 사람에겐 무리한 질문이지만 스스로 생각해보는 시간을 주고 있네요. 소프트웨어는 복잡하지만 프로그래머는 추상화를 통해 복잡도를 제어할 수 있고, 컴퓨터 시스템은 기본적으로 추상화라는 기반 위에 구축된다고 해요. 추상화는 프로그래머를 저수준 계층에서 점점 멀어지게 만들고, 프로그래밍의 문턱도 점점 더 낮추어 컴퓨터 기초가 전혀 없는 사람도 며칠 동안 간단한 학습만으로 괜찮은 프로그램을 작성하게 해준다는 점에서 중요한 역할을 하고 있어요. 각각의 추상화 계층은 본질적으로 그 안에 편안하게 머물면서 프로그래밍을 즐길 수 있는 낙원인데 자신만의 낙원을 만들고 싶다면 필연적으로 가장 아래에 위치한 저수준 계층을 이해할 필요가 있다는 거죠. 그래서 다음 여행 코스는 프로그래밍이 실행되고 난 후 저수준 계층이에요. 프로그램의 실행 시간 동안 일어나는 비밀에 관한 것으로 CPU부터 운영체제, 프로세스, 스레드, 코루틴, 동기, 비동기, 블로킹, 논블로킹이라는 개념을 알려주네요. 고수준 계층에 해당하는 소프트웨어가 아무리 복잡하더라도 저수준 계층에서는 모든 것이 CPU를 비롯한 하드웨어에 달려 있다는 거예요. 저수준 계층에서 고수준 계층까지 입출력을 전방위적으로 살펴봄으로써 코드가 어떤 방식으로 실행되는지, 프로그램과 컴퓨터 시스템을 이해할 수 있는 기본서였네요.








댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo