FTL: A new operating system for clouds
FTL: A new operating system for clouds
FTL:面向云端的新型操作系统
What’s FTL? You can build your own OS as a library. This userspace OS design makes it easy to add features, debug, upgrade the OS safely, as if writing applications. 什么是 FTL?你可以将操作系统构建为一个库。这种用户态操作系统(userspace OS)的设计使得添加功能、调试以及安全地升级操作系统变得像编写应用程序一样简单。
FTL kernel isolates containers (userspace OS instances) better than existing monolithic kernels, with a hypervisor-like interface based on a lightweight hardware-based isolation (user mode). You don’t need bare-metal machines. FTL 内核通过基于轻量级硬件隔离(用户模式)的类虚拟机管理程序(hypervisor)接口,比现有的单体内核更好地隔离了容器(用户态操作系统实例)。你不再需要裸机服务器。
FTL is compatible with Linux binaries. For example, the Rust-based HTTP server serving this website is a Linux application running on FTL. You can also run Unikernel-like specialized applications without POSIX abstractions. FTL 兼容 Linux 二进制文件。例如,为本网站提供服务的基于 Rust 的 HTTP 服务器就是一个运行在 FTL 上的 Linux 应用程序。你也可以在没有 POSIX 抽象的情况下运行类似 Unikernel 的专用应用程序。
How it works: Each container runs a userspace OS. It is a shared library which implements most of OS concepts such as Linux process, VFS, and TCP/IP. FTL kernel provides a minimal interface to implement Linux system calls in userspace, just like a hypervisor. FTL combines the best of microkernels (flexible & secure) and monolithic kernels (performant & simple). 工作原理:每个容器运行一个用户态操作系统。它是一个共享库,实现了大多数操作系统概念,如 Linux 进程、VFS 和 TCP/IP。FTL 内核提供了一个最小化的接口,用于在用户态实现 Linux 系统调用,就像虚拟机管理程序一样。FTL 结合了微内核(灵活且安全)和单体内核(高性能且简单)的优点。
Our goal is to make lightweight containers as secure as VMs, and unlock new OS-level abilities in applications, without sacrificing performance: 我们的目标是在不牺牲性能的前提下,使轻量级容器像虚拟机(VM)一样安全,并为应用程序解锁新的操作系统级能力:
FTL Linux Linux
┌────────────────────────────────┐ ┌────────────────────────────────┐
│┏━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━┓│ │┏━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━┓│
│┃ ┃ ┃ ┃│ │┃ ┃ ┃ ┃│
│┃ Linux ┃ ┃ Linux ┃│ │┃ Linux ┃ ┃ Linux ┃│
│┃ Process ┃ ┃ Process ┃│ │┃ Process ┃ ┃ Process ┃│
│┃ ┃ ┃ ┃│ │┃ ┃ ┃ ┃│
│┃╌╌╌╌╌ Linux system calls ╌╌╌╌╌┃│ │┗━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━┛│
│┗━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━┛│ └────────────────────────────────┘
│┃ ┃│ ╌╌╌╌╌╌╌ Linux's interface ╌╌╌╌╌╌╌
│┃ Userspace OS ┃│ ╔════════════════════════════════╗
│┃ (Process, VFS, TCP, ...) ┃│ ║ ║
│┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛│ ║ Linux Kernel ║
└────────────────────────────────┘ ║ ║
╌╌╌╌╌╌╌ minimal interface ╌╌╌╌╌╌╌╌ ║ process, fork/exec, memory, ║
╔════════════════════════════════╗ ║ signals, TCP/IP, /proc, ║
║ FTL Kernel ║ ║ /dev, drivers ... ║
║ vCPU, memory, drivers, ... ║ ╚════════════════════════════════╝
╚════════════════════════════════╝
Userspace OS design also enables you to extend most of Linux kernel features without kernel/eBPF programming. You can add printfs, apply security updates, and add new features quickly and safely. In FTL, OS is just a library. Read more. 用户态操作系统的设计还使你无需进行内核/eBPF 编程即可扩展大多数 Linux 内核功能。你可以快速且安全地添加 printf 调试、应用安全更新以及添加新功能。在 FTL 中,操作系统仅仅是一个库。阅读更多。
Roadmap / 路线图
- September 2026: Run a simple Linux HTTP server on FTL (released in v0.0.1 ✅)
- 2026年9月: 在 FTL 上运行简单的 Linux HTTP 服务器(已在 v0.0.1 发布 ✅)
- October 2026: Async Rust apps support - Linux threads, epoll, … (released in v0.1.0 ✅)
- 2026年10月: 支持异步 Rust 应用 - Linux 线程、epoll 等(已在 v0.1.0 发布 ✅)
- November 2026: Filesystem
- 2026年11月: 文件系统
- December 2026: Node.js / Go support
- 2026年12月: 支持 Node.js / Go
- January 2027: SMP, container images, 64-bit Arm support
- 2027年1月: SMP(对称多处理)、容器镜像、64位 Arm 支持