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보다 효율적이고 빠른 배포가 가능해집니다.



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