처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.07.22 35

브라우저에서 1981년 IBM PC가 부팅됩니다 — PCjs 이야기

Hacker News 원문 보기
브라우저에서 1981년 IBM PC가 부팅됩니다 — PCjs 이야기

웹사이트를 열면 40년 전 컴퓨터가 켜져요

PCjs라는 프로젝트가 있어요. 웹사이트에 접속하면 브라우저 안에서 1981년에 나온 오리지널 IBM PC가 그대로 부팅되는데요. 설치할 것도 없고 회원가입도 없어요. 그냥 페이지를 열면 40년 전 화면이 뜨고, 그 위에서 진짜 옛날 소프트웨어를 직접 돌려볼 수 있어요. Jeff Parsons라는 개발자가 오랫동안 가꿔온 오픈소스 프로젝트인데, 취미 프로젝트라고 하기엔 완성도가 어마어마해요.

에뮬레이터가 뭐냐면요

PCjs의 핵심은 자바스크립트로 만든 에뮬레이터예요. 에뮬레이터가 뭐냐면, 옛날 컴퓨터의 하드웨어를 소프트웨어로 통째로 흉내 내는 프로그램이에요. 인텔 8088 CPU가 명령어를 하나하나 실행하는 과정, 비디오카드가 화면에 글자를 찍는 방식, 플로피 디스크 컨트롤러가 데이터를 읽는 동작까지 전부 코드로 재현하는 거죠. 그러니까 브라우저 안에 '가짜 하드웨어'를 만들어 놓고, 그 위에서 진짜 옛날 운영체제와 프로그램을 돌리는 거예요.

이게 왜 대단하냐면, 옛날 소프트웨어는 하드웨어의 세세한 동작에 딱 맞춰서 짜여 있었거든요. 타이밍이 조금만 어긋나도 화면이 깨지거나 프로그램이 멈춰요. PCjs는 이런 부분까지 신경 써서 재현하기 때문에, 초기 MS-DOS는 물론이고 역사상 첫 스프레드시트인 VisiCalc, 초창기 윈도우, 고전 게임들까지 원본 그대로 돌아가요. IBM PC뿐 아니라 PC XT, PC AT 같은 후속 기종과, 그보다 더 옛날의 PDP-11 같은 미니컴퓨터까지 컬렉션에 들어 있어요.

왜 하필 자바스크립트냐고요?

요즘 같으면 이런 건 당연히 WebAssembly로 만들 텐데, PCjs는 순수 자바스크립트로 작성돼 있어요. 프로젝트가 시작된 게 WebAssembly가 나오기 한참 전이기도 하고, 덕분에 코드가 사람이 읽기 좋은 형태로 남아 있다는 게 오히려 장점이 됐어요. CPU 에뮬레이션이 어떻게 구현되는지 궁금하면 소스 코드를 열어서 바로 읽을 수 있거든요. 명령어 하나를 어떻게 해석하고 플래그 레지스터를 어떻게 갱신하는지가 전부 평범한 자바스크립트 함수로 쓰여 있어요.

비슷한 프로젝트로는 고전 게임기 쪽의 MAME나 도스 게임용 DOSBox가 유명한데요. 이들이 '일단 잘 돌아가게' 하는 실용성에 무게를 둔다면, PCjs는 기록과 보존에 가까워요. 사이트에는 에뮬레이터만 있는 게 아니라 당시의 기술 문서, 매뉴얼, 잡지 기사까지 아카이브돼 있어서, 컴퓨터 역사 박물관을 통째로 웹에 옮겨 놓은 느낌이에요. 소프트웨어도 문화유산이고, 그걸 실행 가능한 상태로 보존하는 일 자체가 하나의 엔지니어링 분야라는 걸 보여주는 사례예요.

공부 자료로도 정말 좋아요

이 프로젝트가 한국 개발자에게 갖는 의미는 '살아 있는 컴퓨터 구조 교과서'라는 점이에요. 컴퓨터 구조 수업에서 배우는 레지스터, 인터럽트, 메모리 맵 같은 개념들이 책에서는 추상적으로만 느껴지잖아요. 그런데 초기 IBM PC는 구조가 단순해서 시스템 전체를 머릿속에 담을 수 있는 마지막 세대의 컴퓨터거든요. 메모리가 몇 킬로바이트 단위이고, 운영체제가 하는 일이 눈에 다 보여요. PCjs에서 내장 디버거를 열고 명령어를 한 스텝씩 실행해 보면, 추상적으로만 알던 개념이 실제로 어떻게 굴러가는지 체감할 수 있어요.

에뮬레이터를 직접 만들어 보고 싶은 분에게도 좋은 참고 자료예요. 에뮬레이터 제작은 CPU, 메모리, 입출력이라는 컴퓨터의 근본을 건드리는 작업이라 사이드 프로젝트로 인기가 많은데, PCjs처럼 잘 정리된 레퍼런스 구현이 있으면 시작이 훨씬 수월하거든요. 자바스크립트만 알아도 읽을 수 있다는 게 진입 장벽을 확 낮춰줘요. 간단한 CHIP-8 에뮬레이터부터 만들어 보고, 막히는 부분이 생기면 PCjs 코드에서 힌트를 얻는 식으로 접근하면 좋아요.

정리하면

PCjs는 브라우저 하나로 컴퓨팅의 역사를 직접 만져볼 수 있게 해주는 프로젝트예요. 기술적으로는 에뮬레이션의 정석을 보여주고, 교육적으로는 컴퓨터 구조를 몸으로 배우게 해줘요. 여러분이 처음 만진 컴퓨터는 뭐였나요? 그 시절의 기계와 소프트웨어가 이렇게 실행 가능한 형태로 보존될 가치가 있다고 생각하시는지, 추억과 함께 얘기 나눠봐요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.