Learning
토픽 85 / 85·특수 목적 운영체제

Unikernel

Unikernel

애플리케이션과 필요한 OS 기능만 단일 주소 공간에 정적 링크하여 가상 머신 위에서 직접 실행되는 특화된 경량 운영체제 이미지

목적: 경량화, 빠른 부팅, 작은 공격 표면, 특화 최적화

특징: 단일 주소 공간, 라이브러리 OS, 불변 인프라, 하이퍼바이저 직접 실행

구조

  • 애플리케이션 코드
  • 필요한 OS 라이브러리(네트워크 스택, 파일시스템 등)
  • 하이퍼바이저 인터페이스
  • 단일 실행 이미지로 컴파일

Library OS 개념: OS 기능을 라이브러리로 제공, 필요한 것만 링크

대표 프로젝트

  • MirageOS: OCaml 기반, Xen 타깃
  • IncludeOS: C++ 기반, 범용
  • Unikraft: 모듈형, 고성능
  • OSv: JVM/동적 언어 지원

장점

  • 초경량(수 MB), 초고속 부팅(수십 ms)
  • 작은 공격 표면(필요 코드만)
  • 리소스 효율, 특화 최적화

단점: 디버깅 어려움, 기존 도구 사용 불가, 동적 기능 제한, 생태계 미성숙

vs 컨테이너: Unikernel(VM위/격리강함/초경량) vs 컨테이너(OS공유/편리/Unikernel 대비 무거움)

적용사례: 마이크로서비스, 엣지 컴퓨팅, IoT, 네트워크 기능 가상화

비교: Unikernel(특화/경량) vs 컨테이너(범용/공유OS) vs VM(완전격리/무거움)

연관: 컨테이너, 가상화, 하이퍼바이저, 마이크로서비스, 서버리스