토픽 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(완전격리/무거움)
연관: 컨테이너, 가상화, 하이퍼바이저, 마이크로서비스, 서버리스