Что такое FTL?
- Можно создавать собственную ОС как библиотеку. Такой дизайн с ОС в пользовательском пространстве упрощает добавление функций, отладку и обновление системы — всё как при разработке обычных приложений.
- Ядро FTL изолирует контейнеры (экземпляры userspace OS) лучше, чем монолитные ядра, благодаря интерфейсу, похожему на гипервизор, построенному на облегчённой аппаратной изоляции (пользовательский режим). Не требуются bare-metal машины.
- FTL совместима с Linux-бинарниками. Например, Rust-сервер, обслуживающий этот сайт — это Linux-приложение, работающее на FTL. Можно также запускать специализированные приложения типа Unikernel без POSIX-абстракций.
Как это работает
Каждый контейнер выполняет userspace OS — общую библиотеку, которая реализует большинство концепций ОС: Linux-процессы, VFS, TCP/IP. Ядро FTL предоставляет минимальный интерфейс для реализации системных вызовов Linux в пользовательском пространстве, подобно гипервизору.
FTL объединяет лучшее из микроядер (гибкость и безопасность) и монолитных ядер (производительность и простота). Цель проекта — обеспечить контейнерам безопасность уровня VM и разблокировать новые возможности на уровне ОС в приложениях без потери производительности:
FTL Linux ┌────────────────────────────────┐ ┌────────────────────────────────┐ │┏━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━┓│ │┏━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━┓│ │┃ ┃ ┃ ┃│ │┃ ┃ ┃ ┃│ │┃ Linux ┃ ┃ Linux ┃│ │┃ Linux ┃ ┃ Linux ┃│ │┃ Process ┃ ┃ Process ┃│ │┃ Process ┃ ┃ Process ┃│ │┃ ┃ ┃ ┃│ │┃ ┃ ┃ ┃│ │┃╌╌╌╌╌ Linux system calls ╌╌╌╌╌┃│ │┗━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━┛│ │┃ ┃│ └────────────────────────────────┘ │┃ Userspace OS ┃│ ╌╌╌╌╌╌╌╌ Linux's interface ╌╌╌╌╌╌╌ │┃ (Process, VFS, TCP, ...) ┃│ ╔════════════════════════════════╗ │┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛│ ║ ║ └────────────────────────────────┘ ║ Linux Kernel ║ ╌╌╌╌╌╌╌ minimal interface ╌╌╌╌╌╌╌╌ ║ ║ ╔════════════════════════════════╗ ║ process, fork/exec, memory, ║ ║ FTL Kernel ║ ║ signals, TCP/IP, /proc, ║ ║ vCPU, memory, drivers, ... ║ ║ /dev, drivers ... ║ ╚════════════════════════════════╝ ╚════════════════════════════════╝
Дизайн userspace OS позволяет расширять большинство возможностей Linux-ядра без программирования в самом ядре или eBPF. Можно добавлять отладочный вывод, применять безопасность обновления и быстро добавлять новые функции. В FTL ОС — это просто библиотека. Подробнее.
Дорожная карта
- Сентябрь 2026: запуск простого Linux HTTP-сервера на FTL (выпущено в v0.0.1 ✅)
- Октябрь 2026: поддержка асинхронных Rust-приложений — Linux threads, epoll, ... (выпущено в v0.1.0 ✅)
- Ноябрь 2026: файловая система
- Декабрь 2026: поддержка Node.js / Go
- Январь 2027: SMP, образы контейнеров, поддержка 64-bit Arm