← 목록으로
지난 소식
FTL, 클라우드를 위한 새로운 운영체제
요약
- FTL은 프로세스, 파일시스템, TCP/IP 등 주요 OS 기능을 컨테이너별 사용자 공간 라이브러리로 구현하는 새로운 클라우드용 운영체제입니다.
- 운영체제를 애플리케이션처럼 수정 및 디버깅할 수 있어, 머신 재부팅 없이 컨테이너마다 서로 다른 OS 기능을 독립적으로 사용할 수 있는 환경을 제공합니다.
- 프로세스, 파일시스템, TCP/IP 같은 OS 기능을 컨테이너별 사용자 공간 라이브러리로 구현해, 운영체제를 애플리케이션처럼 수정하고 디버깅할 수 있게 하는 클라우드용 OS
- 컨테이너마다 서로 다른 OS 기능과 버전을 사용할 수 있으며, 머신 전체를 재부팅하지 않고 해당 컨테이너를 새 라이브러리로 다시 시작해 업데이트 가능
- 커널은 CPU·메모리·장치 관리와 최소 인터페이스에 집중하고, CPU의 사용자 모드 격리를 활용해 가벼운 컨테이너에 VM 수준의 격리 경계를 제공하는 것을 목표로 함
- Linux 바이너리를 수정 없이 실행하는 호환 계층을 제공하며, 자체 웹사이트도 FTL 위의 Rust HTTP 서버로 운영 중임. POSIX 계층을 생략한 특화 애플리케이션도 지원하는 구조
- 현재 v0.1.0에서 비동기 Rust 앱과 Linux 스레드·epoll을 지원하며, 파일시스템과 Node.js·Go, 컨테이너 이미지 지원 등을 순차적으로 개발할 계획임
사용자 공간 라이브러리로 구현하는 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 지원을 계획함
키워드
FTL클라우드사용자 공간 라이브러리컨테이너