0
1년간 OS를 밑바닥부터 만든 개발자 — 부트로더에서 Doom 포팅까지
open-source
요약
기사 전체 정리
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 개발 해보고 싶다"는 막연한 생각을 실제로 실행에 옮긴 좋은 사례임
핵심 포인트
인사이트
관련 기사
open-source
RK3588 GPU 안에 숨어있는 Cortex-M7 MCU를 뜯어보고 Rust/gdb/MicroPython까지 올려본 이야기
open-source
오픈소스가 전부를 줬고, 줄 것이 남지 않을 때까지 — Requests 창시자의 고백
open-source
IBM Z/LinuxONE 오픈소스 2월 리포트 — Cassandra부터 Terraform까지 27개 검증
open-source
2026년인데 아직도 VNC + 프로프라이어터리 EDA — 반도체 업계의 도구 현실
open-source
GrobPaint: MS Paint와 Paint.NET 사이를 노리는 가벼운 이미지 에디터
댓글
댓글
댓글을 불러오는 중...