FTL, 클라우드를 위한 새로운 운영체제
1 hour ago
1
- FTL은 운영체제를 사용자 공간의 라이브러리로 구현해, 애플리케이션을 작성하듯 기능 추가, 디버깅, 안전한 업그레이드를 할 수 있게 함
- 각 컨테이너는 사용자 공간 OS를 실행하며, FTL 커널은 Linux 시스템 호출을 사용자 공간에서 구현하는 데 필요한 최소 인터페이스를 제공함
- 사용자 모드의 하드웨어 기반 격리와 하이퍼바이저형 인터페이스로 기존 모놀리식 커널보다 컨테이너를 더 강하게 격리하며, 베어메탈 머신은 필요하지 않음
- Linux 바이너리와 호환되며, POSIX 추상화 없이 유니커널 형태의 특화 애플리케이션도 실행할 수 있음
- 마이크로커널의 유연성과 보안, 모놀리식 커널의 성능과 단순함을 결합해, 성능 희생 없이 경량 컨테이너를 VM만큼 안전하게 만드는 것을 목표로 함
사용자 공간 라이브러리로 구현하는 OS
- 사용자 공간 OS는 각 컨테이너에서 실행되는 공유 라이브러리로, Linux 프로세스, VFS, TCP/IP 등 대부분의 OS 개념을 구현함
- FTL 커널은 vCPU, 메모리, 드라이버 등을 담당하며, 하이퍼바이저처럼 최소 인터페이스를 제공함
- Linux가 프로세스, fork/exec, 메모리, 시그널, TCP/IP, /proc, /dev, 드라이버 등을 커널에서 처리하는 구조와 대비됨
- 커널/eBPF 프로그래밍 없이 Linux 커널의 기능 대부분을 확장할 수 있음
- printf를 추가해 디버깅하고, 보안 업데이트와 새 기능을 빠르고 안전하게 적용할 수 있음
- 운영체제를 라이브러리로 다루면서 애플리케이션에 새로운 OS 수준 기능을 제공하는 것이 목표임
- Linux 호환성의 실제 사례로, FTL 웹사이트를 제공하는 Rust 기반 HTTP 서버가 Linux 애플리케이션으로 FTL 위에서 실행 중임
- 프로젝트 코드와 설계 소개를 공개함
릴리스 현황과 로드맵
- 2026년 9월 로드맵의 간단한 Linux HTTP 서버 실행은 v0.0.1에서 릴리스됨
- 2026년 10월 로드맵의 비동기 Rust 앱 지원은 v0.1.0에서 릴리스됐으며, Linux 스레드와 epoll 등을 지원함
- 2026년 11월에는 파일시스템, 12월에는 Node.js / Go 지원을 계획함
- 2027년 1월에는 SMP, 컨테이너 이미지, 64비트 Arm 지원을 계획함
-
Homepage
-
개발자
- FTL, 클라우드를 위한 새로운 운영체제