TL;DR
- FTL은 각 컨테이너에서 사용자 공간 운영체제(userspace OS)를 실행하고 하드웨어 기반 격리를 활용해, 베어메탈 없이 경량 컨테이너를 가상 머신(VM) 수준으로 보호하는 클라우드용 운영체제임.
- 사용자 공간 운영체제는 프로세스, 가상 파일 시스템(VFS), TCP/IP 등 운영체제 기능을 공유 라이브러리로 구현하며, FTL 커널은 시스템 호출을 사용자 공간에서 구현하기 위한 최소 인터페이스를 제공함.
- FTL은 리눅스 바이너리와 호환되며, POSIX 추상화 없이 유니커널(Unikernel)과 유사한 특화 애플리케이션도 실행할 수 있음.
- 라이브러리 형태의 운영체제 설계로 커널이나 eBPF 프로그래밍 없이 리눅스 커널 기능을 확장하고, 디버깅과 보안 업데이트를 수행할 수 있음.
- 로드맵은 2026년 9월 HTTP 서버, 10월 비동기 러스트 애플리케이션 지원을 출시 완료했으며, 이후 파일 시스템, Node.js·Go, SMP·컨테이너 이미지·64비트 Arm 지원을 계획함.
FTL이란?
- 운영체제를 라이브러리로 직접 구축할 수 있는 사용자 공간 운영체제 설계로, 애플리케이션을 작성하듯 기능을 추가하고 디버깅하며 운영체제를 안전하게 업그레이드할 수 있음.
- FTL 커널은 경량 하드웨어 기반 격리인 사용자 모드(user mode)를 바탕으로 하이퍼바이저와 유사한 인터페이스를 제공하며, 기존 모놀리식 커널보다 컨테이너인 사용자 공간 운영체제 인스턴스를 더 강하게 격리함.
- 베어메탈 머신은 필요하지 않음.
- 리눅스 바이너리와 호환됨. 예를 들어 이 웹사이트를 제공하는 러스트(Rust) 기반 HTTP 서버는 FTL에서 실행되는 리눅스 애플리케이션임.
- POSIX 추상화 없이 유니커널과 유사한 특화 애플리케이션도 실행할 수 있음.
작동 방식
- 각 컨테이너는 사용자 공간 운영체제를 실행함. 사용자 공간 운영체제는 공유 라이브러리이며, 리눅스 프로세스, VFS, TCP/IP 등 운영체제 개념 대부분을 구현함.
- FTL 커널은 하이퍼바이저와 유사하게 리눅스 시스템 호출을 사용자 공간에서 구현하는 최소 인터페이스를 제공함.
- FTL은 마이크로커널의 유연성과 보안성, 모놀리식 커널의 성능과 단순성을 결합함.
- 목표는 경량 컨테이너를 가상 머신만큼 안전하게 만들고 성능 저하 없이 애플리케이션에 새로운 운영체제 수준 기능을 제공하는 것임.
- 사용자 공간 운영체제 설계에서는 커널이나 eBPF 프로그래밍 없이도 대부분의 리눅스 커널 기능을 확장할 수 있음.
- 출력문을 추가하고 보안 업데이트를 적용하며 새 기능을 빠르고 안전하게 추가할 수 있음. FTL에서 운영체제는 라이브러리임.
로드맵
- 2026년 9월: FTL에서 간단한 리눅스 HTTP 서버 실행 — v0.0.1에 출시 완료.
- 2026년 10월: 비동기 러스트 애플리케이션 지원 — 리눅스 스레드, epoll 등, v0.1.0에 출시 완료.
- 2026년 11월: 파일 시스템.
- 2026년 12월: Node.js 및 Go 지원.
- 2027년 1월: SMP, 컨테이너 이미지, 64비트 Arm 지원.
링크
- GitHub 저장소
- FTL 소개: 클라우드용 새 운영체제 — 블로그 게시물
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요