概要
- FTL は、ユーザ空間で動作する OSライブラリ 型の新しいOS設計
- Linuxバイナリ互換性 と 高い分離性 を両立
- 軽量・安全なコンテナ と 高性能 を両立するカーネル設計
- アプリ感覚でOS機能追加・デバッグ が可能
- RustやNode.js 等、幅広いアプリケーション対応予定
FTLとは何か
- FTL は、ユーザ空間で動作する OSをライブラリとして構築 できる新しいオペレーティングシステム
- ユーザ空間OS設計により、 機能追加・デバッグ・アップグレード をアプリケーション開発のような感覚で実現
- FTLカーネルは、 既存のモノリシックカーネルよりも優れた分離性 を提供
- 軽量な ハードウェアベースの分離 (ユーザモード)を活用
- ハイパーバイザーのようなインターフェースを持つ
- ベアメタルマシン不要、仮想環境やクラウド上で動作可能
- Linuxバイナリ互換性 を実現し、既存のLinuxアプリケーションをそのまま実行可能
- 例:Rust製HTTPサーバがFTL上で稼働
FTLの特徴と設計
- 各コンテナは、 ユーザ空間OS(共有ライブラリ) として動作
- Linuxプロセス、VFS、TCP/IPなどの主要OS機能を実装
- FTLカーネルは、 最小限のインターフェース でLinuxシステムコールをユーザ空間で実装可能に
- ハイパーバイザーのような役割
- マイクロカーネルの柔軟性・安全性 と モノリシックカーネルの性能・シンプルさ を両立
- Unikernel的な特化アプリケーション もPOSIX抽象化なしで実行可能
セキュリティ・拡張性
- FTLの目標は、 軽量コンテナをVM並みに安全 にし、アプリケーションに新しいOSレベルの能力を提供
- OSが単なる ライブラリ であるため、 カーネルやeBPFの知識がなくても拡張 可能
- printfs追加、セキュリティアップデート、新機能追加が容易かつ安全
ロードマップ
- 2026年9月: Linux HTTPサーバのFTL上稼働(v0.0.1リリース済)
- 2026年10月: Async Rustアプリサポート(Linuxスレッド、epoll等)(v0.1.0リリース済)
- 2026年11月: ファイルシステム対応
- 2026年12月: Node.js/Goサポート
- 2027年1月: SMP、コンテナイメージ、64bit Armサポート
参考リンク
FTL は、クラウドや次世代アプリケーション向けに新たなOS設計の可能性を切り開くプロジェクト
FTL v0.1.0がリリースされたよ!非同期Rustサポート(マルチスレッドのTokioランタイム)や、Linux互換レイヤーの欠けてた部分がたくさん追加されたみたい。 (私のプロジェクトじゃないけど)