-
-
0과 1 사이 - 고수준 코드 아래 숨은 실행, 구조, 보안, 메모리의 비밀
가와타 아키라 외 지음, 진명조 옮김 / 한빛미디어 / 2025년 10월
평점 :
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

0과 1 사이에는 무한이 숨어 있습니다. 현대의 모든 컴퓨터는 이 0과 1의 집합으로 세상을 다룹니다. 컴퓨터가 이해하는 데이터는 바이트열, 즉 ‘바이너리’ 형태로 표현됩니다. 만약 사람이 이 바이너리를 직접 읽고 의미를 파악할 수 있다면, 자신이 만든 소프트웨어 속 난해한 버그를 해결하는 데 큰 도움이 될 것입니다. 이런 능력을 키워주는 책이 나왔습니다. 바로 ‘0과 1 사이’입니다. 이 책은 2007년에 출간된 Binary Hack 해커가 전수하는 테크닉 100선의 후속작으로, 바이너리 세계를 깊이 있게 탐구하고자 하는 이들을 위한 안내서이기도 합니다. 이 책에 대해서 자세히 알아보도록 하겠습니다.
1) OS Hack하드웨어를 추상화해 안정적인 인터페이스를 제공하는 운영체제(OS) 덕분에 개발자는 하드웨어 세부 사항을 신경 쓰지 않고 응용 프로그램 개발에 집중할 수 있습니다. 하지만 제한된 환경에서 성능 최적화를 추구할 때는 OS가 제공하는 다양한 기능과 내부 동작을 폭넓게 이해하는 것이 필수적입니다. OS 해킹과 커널 탐구를 통해 블랙박스처럼 느껴지던 OS 원리가 친숙하게 다가옵니다. 0과 1 사이 책은 리눅스를 주요 대상으로 OS Hack을 실습 중심으로 소개합니다. 이 책을 통해 리눅스 커널의 동작과 시스템 콜, 프로세스 관리 등을 직접 실험하며 깊이 파악할 수 있습니다. 특히 초보자도 따라 할 수 있도록 단계별 예제가 풍부해, OS 이론을 실전으로 연결짓는 데 적합합니다.
2) 컨테이너 Hack현대 소프트웨어 개발에서 빠질 수 없는 기술은 바로 컨테이너입니다. 컨테이너는 서버상의 애플리케이션 실행 환경을 관리하거나 개발 환경을 공유할 때 주로 사용되며, Docker나 Kubernetes 같은 도구로 구현됩니다. 바다의 선착장에서 물건을 싣는 표준화된 컨테이너처럼, 애플리케이션을 일관되게 포장·배포·실행할 수 있습니다. 이는 리눅스 커널의 네임스페이스(Namespaces)와 컨트롤 그룹(cgroups) 조합으로 프로세스를 격리하고 자원을 제한하는 환경입니다. 네임스페이스는 PID, 네트워크, 마운트 등을 분리해 각 컨테이너가 독립적인 시스템처럼 동작합니다. cgroups는 CPU·메모리·I/O를 그룹 단위로 제어합니다. 리눅스 환경에서 chroot(루트 변경), Capabilities(권한 세분화), 유니온 파일 시스템(이미지 레이어 공유) 등이 추가로 결합되어 가벼운 OS 수준 가상화를 실현합니다. 이로 인해 VM보다 효율적이고 빠른 배포가 가능해집니다.