kognise는 컴퓨터로 많은 일을 해왔지만 늘 공백을 안고 있었다: 프로그램을 실행하면 정확히 무슨 일이 일어나는가? 저수준의 조각들은 대부분 갖고 있었지만 그것들을 연결하지 못했다 — 프로그램이 정말 CPU에서 직접 실행되는가, 시스템 콜은 어떻게 작동하는가, 어떻게 여러 프로그램이 동시에 실행되는가. 대학 밖에는 포괄적인 시스템 자료가 없었기에 그는 품질이 제각각이고 때로는 서로 상충하는 자료들을 뒤졌고, 몇 주와 거의 마흔 페이지 분량의 노트 끝에, 17세의 나이로 자신이 있었으면 했던 글을 썼다.

표준적인 접근은 추상화를 층층이 쌓는 교과서다: 인출-실행, 프로세스, 가상 메모리, 시스템 콜. cpu.land는 이를 뒤집는다: 리눅스 x86-64에서 하나의 실제 동작을 처음부터 끝까지 따라가며, 커널이 오픈 소스이고 “소스 코드를 읽기만 하면 조사하기가 아주 쉽기” 때문에 이를 택했다. 독자들은 한 가지 생각을 새기라는 말을 듣는다: “단순해 보이는 모든 것은 사실 그렇게 단순하다.” 3장은 execve를 do_execveat_common과 binfmt 핸들러를 통해 추적하며, 셰방(shebang)이 셸이 아니라 커널의 기능임을 보여주고, git blame을 이용해 BINPRM_BUF_SIZE가 왜 128바이트에서 256바이트로 두 배가 되었는지 설명한다.

형식은 내용만큼이나 많은 일을 한다. 장들은 Hack Club 조직의 저장소 아래, GitHub에서 편집 링크와 함께 cpu.land에 게시되며, 각 장은 다음 장이 답할 질문으로 끝난다. 3장은 도전으로 시작한다: “3장을 읽어보라, 그리고 뭔가 새로운 것을 배우게 될 것이라고 장담한다.” 산문은 유쾌함을 유지하며 — “컴퓨터는 정말 멋지다!” — 코드 조각은 실제 그대로다.

출시는 성공했다. 해커 뉴스는 2023년 8월 9일 이 글에 1,337점과 307개의 댓글을 주었다. 20대 후반의 댓글 작성자들은 그중 절반도 몰랐다고 말했고, 한 대학생은 운영체제 과목의 주제를 다루기 때문에 친구들에게 이 가이드를 추천하고 있다고 말했다. 2026년 9월 스냅숏 기준으로 저장소는 5.6k개의 별, 193개의 포크, 103개의 커밋을 보유했으며, 전체 텍스트는 여전히 cpu.land에 있다.

하나의 실제 프로그램을 실제 커널 소스를 통해 추적하고, 그 경로를 가리는 추상화를 거부한다

하나의 실제 경로를 실제 커널 소스를 통해 추적하면 모든 주장을 검증할 수 있다: 독자들은 가이드가 인용한 것과 같은 파일을 열어볼 수 있으므로, 신뢰는 주장되는 것이 아니라 얻어지는 것이다.

독자의 실제 공백 — “이걸 실행하면 무슨 일이 일어나지?” — 에서 시작하는 것은 가이드를 선수 지식 없이도 읽을 수 있게 유지하며, 각 용어를 그 경로가 필요로 하는 순간에 소개한다.

그 공백을 안고 있던 사람, 17세의 독학 코더로서 글을 쓴 것은 지식의 저주를 산문에서 배제시켰다; 경험 많은 댓글 작성자들은 그 세심함과 주의를 드물다고 평했다.

명시적인 도전 — 3장을 읽으면 뭔가 새로운 것을 배우게 될 것이다 — 은 회의적인 전문가 독자에게 검증 가능한 기준을 제시했고, 그 스레드가 이를 확인해 주었다.

Hack Club 아래에서 오픈 저장소와 편집 링크와 함께 게시한 것은 한 편의 글을 유지 관리되는 자산으로 바꾸어 계속 복리처럼 쌓이게 했다: 3년이 지나 103개의 커밋과 5.6k개의 별.

한 분야의 지식이 파편화되어 있고 고르지 않을 때, 자신이 있었으면 했던 연속적인 안내서를 쓰라: 하나의 실제 경로를 처음부터 끝까지 추적하고, 실제 코드를 인용하며, 검증 가능성이 신뢰를 지게 하라

이 가이드의 2023년 8월 9일 해커 뉴스 출시는 1,337점과 307개의 댓글로 정점을 찍었으며, 독자들은 대학 친구들에게 이를 추천하고 운영체제 과목과 연결지었다. 저장소는 Hack Club 조직 아래에서 열린 채로 유지되며 계속 작업을 축적했다 — 2026년 9월 스냅숏에서 193개의 포크, 103개의 커밋, 5.6k개의 별 — 그리고 전체 텍스트는 cpu.land에 계속 게시되어 있었고, 각 페이지는 여전히 GitHub에서 편집 링크를 제공했다.

근거 확인하기

출처

  1. I'm 17 and wrote this guide on how CPUs run programs | Hacker News Hacker News · news.ycombinator.com ·
  2. hackclub/putting-the-you-in-cpu — Putting the "You" in CPU (GitHub) GitHub · github.com
  3. How to Run a Program — Chapter 3 of Putting the "You" in CPU cpu.land · cpu.land