본문으로 건너뛰기
피드

1년간 OS를 밑바닥부터 만든 개발자 — 부트로더에서 Doom 포팅까지

open-source 약 3분
vote
0
댓글
북마크

MONOLITH이라는 OS를 처음부터 만든 1년간의 개발 일지. GDT/IDT 초기화부터 시작해 메모리 관리, 유저스페이스, IPC, 데스크톱 환경까지 구현하고 최종적으로 Doom 포팅에 성공함.

  • 1

    12개월 만에 부트로더 → 데스크톱 환경 → Doom 포팅까지 달성

  • 2

    Claude Opus 4.5를 활용해 데스크톱 환경 프로토타이핑

  • 3

    대학 다니면서 사이드 프로젝트로 진행한 학습 목적 OS

1년간 OS를 직접 만들어본 개발자의 여정

  • MONOLITH이라는 이름의 OS를 처음부터(from scratch) 만든 1년간의 개발 일지임. 학습 목적의 프로젝트인데, 12개월 만에 데스크톱 환경까지 올리고 Doom까지 포팅한 게 인상적임

초반 3개월: 부트부터 가상 메모리까지

  • 첫 달에 multiboot2 프로토콜로 부팅 → GDT/IDT 초기화 → 물리 메모리 관리자 → 힙 할당자 → VGA 콘솔까지 구현. 거의 매일 커밋한 셈
  • i386 아키텍처 지원과 VESA 비디오 드라이버까지 추가했는데, 3개월째에 과감하게 i386과 텍스트 VGA 모드를 드롭하고 Limine 부트 프로토콜로 전환함
  • 2개월째는 대학 일정과 동기부족으로 진전이 없었다고 솔직하게 적어둠 (이런 솔직함이 좋음)

중반 4-8개월: 유저스페이스의 탄생

  • VFS + tmpfs 구현 → initrd → ELF 로더 순서로 진행해서, 5개월째에 드디어 ring-3(유저스페이스)와 syscall 지원이 들어감
  • microui 데모를 포팅한 게 재밌는 포인트. 커널 위에서 GUI가 돌아가기 시작한 순간임
  • 7개월째에 태스크 스위칭을 시도했는데 본인도 "반쪽짜리(half-baked)"라고 인정함
  • 8개월째에 GitHub에서 Codeberg로 이전하고, 유저스페이스 libc와 프로세스 크래시 핸들링을 구현함

후반 9-12개월: 데스크톱 환경과 Doom

  • Claude Opus 4.5로 데스크톱 환경 프로토타이핑을 했다는 부분이 눈에 띔. AI로 OS 개발을 가속한 사례
  • 프로세스 간 주소 공간 분리, malloc/realloc/free, 이벤트 폴링 기반 입력 처리 등 유저스페이스 인프라를 착실하게 쌓아감
  • IPC 구현 → 공유 메모리 → libdesktop 윈도우 프로토콜 순서로 데스크톱 기반을 만들고
  • 12개월째에 Doom 포팅 성공 — 자작 OS의 마일스톤 중 마일스톤이라 할 수 있음

💡

> 프로젝트가 Codeberg에 올라가 있으니, OS 개발에 관심 있으면 타임라인 따라가며 커밋 히스토리를 보는 것도 좋은 학습 자료가 될 듯.

  • 대학 다니면서 사이드 프로젝트로 이 정도를 해냈다는 게 핵심. "OS 개발 해보고 싶다"는 막연한 생각을 실제로 실행에 옮긴 좋은 사례임

OS 개발이라는 거대한 프로젝트도 매일 조금씩 커밋하면 1년 안에 Doom이 돌아가는 수준까지 올 수 있다는 걸 보여주는 사례

댓글

댓글

댓글을 불러오는 중...

open-source

차세대 데이터 파일 포맷 F3, 디코더를 Wasm으로 파일 안에 넣자는 실험

F3는 Parquet, ORC 같은 기존 컬럼형 파일 포맷의 한계를 줄이기 위해 제안된 오픈소스 연구 프로토타입이다. 핵심 아이디어는 데이터와 메타데이터뿐 아니라 WebAssembly(Wasm) 디코더까지 파일에 함께 넣어, 새 인코딩 방식이 나와도 플랫폼 호환성을 유지하자는 것이다.

open-source

에코백스, 1,134만원짜리 오픈소스 가정용 로봇 ‘빠졔’ 판매 시작

중국 청소 로봇 기업 에코백스가 첫 오픈소스 로봇 ‘빠졔’를 정식 판매하기 시작했음. 가정용 로봇을 개발자가 직접 조율하고 프로그래밍하고 2차 개발할 수 있게 만든 플랫폼이고, 가격은 4만9990위안, 약 1,134만원 수준임.

open-source

BMW·폭스바겐·스텔란티스, 자동차 소프트웨어 오픈소스 동맹 키운다

BMW, 폭스바겐그룹, 스텔란티스 등 유럽 완성차 업체들이 소프트웨어 정의 자동차(SDV) 경쟁력 강화를 위해 오픈소스 공동 개발에 나서고 있다. 독일자동차산업협회 주도 프로젝트에는 완성차, 부품사, 반도체 기업 등 30개 이상 기업이 참여하며 차량 OS, 미들웨어, 통신 소프트웨어 같은 공통 영역을 함께 만든다. 기대 효과는 개발·유지 비용 최대 40% 절감, 차량 개발 기간 최대 30% 단축이다.

open-source

AI 시대 오픈소스, ‘공개됐으니 막 써도 됨’은 진짜 위험한 착각

생성형 AI 서비스가 오픈소스 코드, 모델, 데이터셋, 외부 API를 섞어 쓰면서 라이선스와 이용 조건 관리가 훨씬 복잡해졌다는 내용이다. 공개된 기술이라도 저작권과 사용 조건은 남아 있고, 기업은 제품 안에 무엇이 들어갔는지 지속적으로 추적해야 한다.

open-source

에코백스, 1,134만원짜리 오픈소스 가정용 로봇 ‘빠졔’ 출시

중국 청소 로봇 기업 에코백스가 첫 오픈소스 로봇 ‘빠졔’를 판매하기 시작했다. 개발자가 로봇의 동작, 조작, 환경 인식 기능을 기반으로 임바디드 인텔리전스 애플리케이션을 만들고 상용화할 수 있게 하겠다는 전략이다.