2026 개정판 · 1차 8월 5일 공개전체 커리큘럼 →
TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 28 READS

CP/M-386: 8비트 시대의 유산이 386 보호 모드에서 되살아나다

CP/M-386: 8비트 시대의 유산이 386 보호 모드에서 되살아나다
SOURCE IMAGE · HACKER NEWS

레트로 컴퓨팅과 운영체제 역사에 관심이 있는 개발자라면 CP/M이라는 이름이 낯설지 않을 것이다. 1970년대 게리 킬달이 만든 CP/M은 초창기 마이크로컴퓨터를 사실상 지배했던 운영체제였고, 이후 MS-DOS의 설계에도 적지 않은 영향을 남겼다. 그런 CP/M의 계보를 잇는 실험적 프로젝트가 최근 공개됐다. 존슨(johnsonjh)이 GitHub에 올린 CP/M-386은 인텔 386 프로세서의 보호 모드(protected mode)에서 동작하도록 만든 CP/M 구현으로, 68000 계열 프로세서용이었던 CP/M-68K에서 파생됐다.

왜 386 보호 모드인가

원래 CP/M은 8080·Z80 같은 8비트 프로세서를 겨냥해 만들어졌고, CP/M-68K는 이를 모토로라 68000 계열의 32비트 환경으로 이식한 판본이었다. CP/M-386은 여기서 한 걸음 더 나아가 인텔 386의 보호 모드를 타깃으로 삼는다. 보호 모드는 실제 주소 공간 확장과 메모리 보호, 특권 수준 분리를 지원하는 386의 핵심 동작 모드로, 초기 x86 운영체제들이 실주소(real mode)의 제약을 넘어서기 위해 활용했던 기반이다. 8비트 시절의 단순한 운영체제 모델을 32비트 x86 보호 모드 위에 다시 얹는다는 발상 자체가 이 프로젝트의 성격을 잘 보여준다.

프로젝트는 스스로 밝히듯 아직 매우 초기 개발 단계에 있다. 다만 설계 목표 가운데 하나로 다른 CP/M 구현들과의 높은 소스 호환성을 내세운다는 점이 눈에 띈다. 현재 시스템은 응용 프로그램에 대해 BDOS 2.2를 보고한다. BDOS는 CP/M에서 파일과 콘솔 입출력 등을 담당하는 기본 디스크 운영체제 계층으로, 응용 프로그램이 시스템 호출을 통해 마주하는 인터페이스다. 즉 CP/M-386은 하부 하드웨어가 완전히 다른 32비트 x86임에도, 애플리케이션에게는 익숙한 CP/M 2.2 수준의 계약을 그대로 제시하려는 셈이다.

빌드 환경과 실무적 의미

빌드 측면에서 이 프로젝트는 현대적인 개발 환경을 폭넓게 지원한다. NetBSD와 FreeBSD의 최신 릴리스, 그리고 대부분의 최근 리눅스 배포판에서 컴파일이 가능하다. 성공적으로 빌드가 검증된 최소 버전으로는 CentOS Stream 9, Fedora 36, Debian 12, Ubuntu 22.04, Alpine 3.24, OpenSUSE Leap 15.4가 명시돼 있으며, Ubuntu 18.04의 경우 ubuntu-toolchain-r/test PPA에서 gcc-16을 가져와야 한다는 조건이 붙는다. 컴파일에 필요한 의존성 가운데 cpmtools는 2.23 이상 버전을 사용하라는 주의도 덧붙어 있는데, 그 이전 버전은 겉보기에는 동작하는 듯 보여도 알려진 버그가 여럿 있기 때문이다.

빌드 결과물로는 두 개의 주요 산출물이 만들어지며, 직접 컴파일하는 대신 미리 빌드된 바이너리를 내려받는 선택지도 제공된다. 이 지점이 실무자에게 갖는 의미는 분명하다. CP/M-386은 당장 생산 현장에 투입할 운영체제라기보다, 운영체제의 이식성과 호환 계층 설계가 실제로 어떻게 구현되는지를 소스 수준에서 뜯어볼 수 있는 학습·연구 자료에 가깝다. CP/M-68K라는 32비트 이식본을 다시 x86 보호 모드로 옮기는 과정은, 하드웨어 추상화와 시스템 호출 인터페이스의 유지가 무엇을 뜻하는지 구체적으로 보여준다.

남은 한계와 지켜볼 지점

물론 한계도 뚜렷하다. 프로젝트가 직접 초기 단계임을 밝히고 있는 만큼 기능의 완성도나 안정성에 대한 기대는 신중해야 한다. 공개된 정보만으로는 지원되는 응용 프로그램의 범위나 실제 하드웨어에서의 동작 폭을 단정하기 어렵고, BDOS 2.2 보고 역시 호환성의 목표치이지 모든 CP/M 소프트웨어가 그대로 돌아간다는 보증은 아니다. 그럼에도 오래된 운영체제 아키텍처를 현대적 빌드 도구 체인 위에서 재구성하려는 이런 시도는, x86 보호 모드의 기초와 초창기 시스템 설계 철학을 동시에 되짚어 보려는 이들에게 충분히 들여다볼 가치가 있다. 앞으로 개발이 어느 방향으로 확장되고, 소스 호환성이라는 목표가 어디까지 실현되는지가 이 프로젝트를 계속 지켜볼 이유가 될 것이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/johnsonjh/cpm386
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...