희귀한 옛 컴퓨터가 웹에서 살아났어요
혹시 Plexus P/20이라는 컴퓨터 들어보셨어요? 아마 대부분 처음 들어보실 거예요. 1980년대 초반에 Plexus Computers라는 회사가 만든 멀티유저 미니컴퓨터인데요. 개인용 PC가 아니라, 한 대에 터미널을 여러 개 붙여서 사무실 직원들이 동시에 쓰던 그런 기종이에요. 유닉스(Unix) 계열 OS를 돌리는 상업용 시스템이었죠.
그런데 Sprite_tm이라는 개발자(예전부터 하드웨어 해킹으로 유명한 분이에요)가 이 Plexus P/20을 브라우저에서 돌아가는 에뮬레이터로 만들어 공개했어요. 요즘은 구하기도 힘든 옛 기종인데, 이제 웹 페이지 하나만 열면 그 시절 시스템이 부팅되는 모습을 볼 수 있게 된 거죠.
Plexus P/20이라는 기계의 정체
이 컴퓨터는 MC68000 CPU를 썼어요. 모토로라가 만든 16/32비트 프로세서인데, 맥 초기 모델이나 아미가, 아타리 ST 같은 유명한 기계들에도 들어갔던 칩이에요. 개인용 취미 기기라기보다는 회사에서 회계나 데이터 처리 같은 업무에 쓰던 장비였습니다.
특이한 건 Plexus가 여러 개의 CPU를 협업시키는 구조를 썼다는 점이에요. 메인 CPU 말고도 주변 I/O(입출력) 처리를 담당하는 보조 프로세서들이 따로 있었어요. 요즘으로 치면 메인 CPU가 모든 일을 하는 대신 그래픽은 GPU, 네트워크는 NIC가 맡는 것과 비슷한 개념이죠. 당시로서는 꽤 앞선 설계였어요. 터미널을 여러 대 물려도 메인 CPU가 I/O 때문에 느려지지 않도록 만든 거예요.
OS는 초기 유닉스 계열이 돌아갔어요. 지금 우리가 쓰는 리눅스나 macOS의 먼 조상뻘이죠. 파일 시스템 구조, 쉘, 프로세스 개념 같은 게 이 시절부터 이미 정립돼 있었어요.
에뮬레이터는 어떻게 동작할까요
에뮬레이터가 뭐냐면, 다른 컴퓨터의 하드웨어를 소프트웨어로 흉내 내는 프로그램이에요. CPU가 받는 명령어를 하나하나 해석해서 똑같이 동작하게 만들고, 메모리 접근, 주변 장치 동작까지 전부 시뮬레이션하는 거죠. 그래서 원본 하드웨어가 없어도 소프트웨어는 그대로 돌릴 수 있어요.
이 프로젝트는 WebAssembly 기반으로 브라우저에서 돌아가요. WebAssembly가 뭐냐면, 브라우저에서 C나 C++, Rust 같은 저수준 언어로 컴파일된 코드를 거의 네이티브 속도로 실행할 수 있게 해주는 기술이에요. 에뮬레이터처럼 CPU 명령어를 하나씩 처리해야 하는 작업에 딱 맞죠. 자바스크립트만으로는 성능이 부족한 작업을 해결해주는 거예요.
에뮬레이션에서 어려운 부분은 단순히 CPU만 흉내 내면 되는 게 아니라는 점이에요. Plexus 같은 기계는 아키텍처 전체를 이해해야 돌릴 수 있어요. 메모리 맵이 어떻게 구성되는지, 어떤 주소에 어떤 장치가 매핑돼 있는지, 인터럽트(하드웨어가 CPU에게 "이것 좀 처리해줘"라고 요청하는 신호)는 어떻게 전달되는지, 디스크 컨트롤러는 어떤 프로토콜로 동작하는지까지 전부 맞춰줘야 하거든요. 보조 CPU까지 있으니 난이도가 더 올라가죠.
이런 에뮬레이터가 왜 의미 있을까요
첫째는 역사 보존이에요. 실제 Plexus P/20 하드웨어는 거의 남아있지 않아요. 남아있어도 부품이 낡아서 언제 고장 날지 모르고, 고쳐줄 엔지니어도 거의 없죠. 이런 시스템에서 돌던 소프트웨어나 데이터는 에뮬레이터 없이는 영영 못 보게 될 수 있어요. 디지털 고고학이라고도 부르는 영역인데, 요즘 꽤 진지하게 다뤄지고 있어요.
둘째는 교육적 가치예요. 현대 시스템은 너무 복잡해서 전체를 이해하기가 어렵거든요. 옛날 컴퓨터는 구조가 훨씬 단순해서 "CPU가 메모리에서 명령어를 읽고, 해석하고, 결과를 쓴다"는 기본 흐름을 눈으로 확인할 수 있어요. 운영체제 강의나 컴퓨터 구조 수업에서 교재로 쓰기 좋죠.
셋째는 그 자체로 재미있는 엔지니어링 문제예요. 문서가 부족한 하드웨어를 역으로 분석해서 흉내 내는 작업은 난이도가 높은 퍼즐 같아요. Sprite_tm이 이런 프로젝트를 자주 하는 이유도 그런 도전이 재밌어서인 것 같고요.
비슷한 프로젝트들
에뮬레이터 씬은 생각보다 활발해요. SIMH는 PDP-11이나 VAX 같은 고전 미니컴퓨터들을 에뮬레이션하는 오랜 프로젝트이고, MAME은 아케이드 게임뿐 아니라 다양한 옛 하드웨어를 다룹니다. 최근에는 PCE.js처럼 브라우저에서 Mac, IBM PC, Atari ST를 돌리는 프로젝트들이 많이 나왔어요. archive.org의 Internet Archive에도 옛 게임과 소프트웨어를 브라우저에서 바로 돌려볼 수 있는 에뮬레이터가 탑재돼 있죠.
Plexus P/20 에뮬레이터는 이런 흐름 속에서 상대적으로 덜 알려진 상업용 미니컴퓨터를 복원했다는 점에서 독특해요. 유명 개인용 컴퓨터는 이미 여러 에뮬레이터가 있지만, Plexus 같은 업무용 기종은 거의 처음이거든요.
한국 개발자에게 주는 시사점
직접 실무에 연결되는 건 아니지만, 배울 만한 게 몇 가지 있어요. 저수준 시스템 이해에 관심이 있다면 이런 에뮬레이터 코드를 읽어보는 게 정말 좋은 공부가 돼요. CPU 명령어 집합, 메모리 관리, 인터럽트 처리 같은 게 실제 코드로 어떻게 구현되는지 볼 수 있거든요. 운영체제 책으로 읽을 때와는 체감이 달라요.
WebAssembly 활용 사례로도 참고할 만해요. 요즘 WASM은 에뮬레이터뿐 아니라 비디오 편집, 게임 엔진, AI 추론 같은 브라우저 내 고성능 작업에 점점 많이 쓰이고 있어요. 이런 복잡한 프로젝트가 브라우저에서 어떻게 구현되는지 구조를 살펴보면 WASM의 한계와 가능성을 가늠할 수 있죠.
마무리
사라질 뻔한 옛 컴퓨터 하나가 브라우저 탭 안에서 살아 돌아왔어요. 실용성은 떨어지지만, 이런 복원 작업이 모여서 컴퓨팅의 역사가 보존되는 거겠죠.
여러분은 컴퓨터 역사나 오래된 시스템에 관심이 있으신가요? 혹시 에뮬레이터를 직접 만들어보거나 읽어본 경험이 있다면 어떤 프로젝트였는지 궁금해요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공