HN 日本語サマリー

← 一覧へ戻る
プログラミング

FTL: クラウドのための新しいオペレーティングシステム

FTL: A new operating system for clouds (ftl-os.org)

50 pointsby romac19 コメント

要約

FTLは、ライブラリとしてOSを構築できる新しいユーザー空間OS設計です。コンテナ間の分離を強化し、VM並みのセキュリティとパフォーマンスを両立させることを目指しています。Linuxバイナリとの互換性もあり、既存のアプリケーションをFTL上で安全に実行できます。

全文翻訳

FTLとは?ライブラリとして独自のOSを構築できます。このユーザー空間OS設計により、アプリケーションを書くように、OSの機能追加、デバッグ、安全なアップグレードが容易になります。FTLカーネルは、軽量なハードウェアベースの分離(ユーザーモード)に基づくハイパーバイザーライクなインターフェースにより、既存のモノリシックカーネルよりもコンテナ(ユーザー空間OSインスタンス)を効果的に分離します。ベアメタルマシンは不要です。FTLはLinuxバイナリと互換性があります。例えば、このウェブサイトを提供しているRustベースのHTTPサーバーは、FTL上で実行されているLinuxアプリケーションです。POSIX抽象化なしで、Unikernelライクな特殊化されたアプリケーションを実行することも可能です。 仕組み 各コンテナはユーザー空間OSを実行します。これは、Linuxプロセス、VFS、TCP/IPなどのほとんどのOS概念を実装する共有ライブラリです。FTLカーネルは、ハイパーバイザーのように、ユーザー空間でLinuxシステムコールを実装するための最小限のインターフェースを提供します。FTLは、マイクロカーネル(柔軟性とセキュリティ)とモノリシックカーネル(パフォーマンスとシンプルさ)の利点を組み合わせています。私たちの目標は、パフォーマンスを犠牲にすることなく、軽量なコンテナをVMと同等のセキュリティにし、アプリケーションにおける新しいOSレベルの能力を解き放つことです。 FTL Linux ┌────────────────────────────────┐ │┏━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━┓│ │┃ Linux ┃ ┃ Linux ┃│ │┃ Process ┃ ┃ Process ┃│ │┃ ┃ ┃ ┃│ │┃╌╌╌╌╌ Linux system calls ╌╌╌╌╌┃│ │┗━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━┛│ └────────────────────────────────┘ │┃ ┃│ └────────────────────────────────┘ │┃ Userspace OS ┃│ │┃ (Process, VFS, TCP, ...) ┃│ │┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛│ ╌╌╌╌╌╌╌ Linux's interface ╌╌╌╌╌╌╌ ╔════════════════════════════════╗ ║ ║ ║ Linux Kernel ║ ║ process, fork/exec, memory, ║ ║ signals, TCP/IP, /proc, ║ ║ /dev, drivers ... ║ ╚════════════════════════════════╝ ╔════════════════════════════════╗ ║ FTL Kernel ║ ║ vCPU, memory, drivers, ... ║ ╚════════════════════════════════╝ ユーザー空間OS設計により、カーネル/eBPFプログラミングなしでほとんどのLinuxカーネル機能を拡張することも可能です。print文の追加、セキュリティアップデートの適用、新機能の迅速かつ安全な追加ができます。FTLでは、OSは単なるライブラリです。詳細はこちらをご覧ください。 ロードマップ 2026年9月: FTL上でシンプルなLinux HTTPサーバーを実行(v0.0.1でリリース済み ✅) 2026年10月: Async Rustアプリ対応 - Linuxスレッド、epollなど(v0.1.0でリリース済み ✅) 2026年11月: ファイルシステム 2026年12月: Node.js / Go対応 2027年1月: SMP、コンテナイメージ、64ビットArm対応 リンク GitHubリポジトリ Introducing FTL: A new operating system for clouds (ブログ記事)