تصور کنید به جای کلنجار رفتن با پیچیدگیهای هسته سیستمعامل، بتوانید قابلیتهای سیستمی را مثل یک کتابخانه ساده در کدتان فراخوانی کنید و تغییر دهید. این دقیقاً همان چیزی است که FTL برای محیطهای ابری تعریف کرده است.
به نقل از مستندات پروژه ftl-os.org، ایده مرکزی این معماری تبدیل سیستمعامل از یک هسته یکپارچه (monolithic kernel) به یک کتابخانه مشترک است. این تغییر به توسعهدهندگان اجازه میدهد ویژگیهای سیستمعامل را درست مانند یک اپلیکیشن معمولی دیباگ کرده یا ارتقا دهند. این رویکرد در واقع تکامل یافتهی تلاشهایی برای سادهسازی زیرساختهاست، مشابه آنچه در چارچوب Cloud in a Bottle برای تبدیل سیستمهای لینوکس به ابر شخصی مشاهده کردیم.
زیرساختهای ابری فعلی ما را بین سرعت کانتینرها و امنیت ماشینهای مجازی (VM) مجبور به انتخاب میکنند. همانطور که در بحثهای گذشته ما دربارهی امنیت مدلهای بازمتن و ایزولاسیون دادهها دیدیم، ایجاد تعادل بین این دو همیشه یک چالش بوده است. FTL با استفاده از یک رابط شبیه به هایپروایزر و ایزولاسیون سختافزاری سبک، این شکاف را پر میکند تا امنیت سطح VM بدون نیاز به سختافزار Bare-metal حاصل شود. این مدل ایزولاسیون شباهتهای ساختاری زیادی با نحوه مدیریت وضعیت عاملهای هوش مصنوعی از طریق میکرو-ماشینهای مجازی دارد که بر کاهش سربار عملیاتی تمرکز میکنند.
معماری فنی
این سیستمعامل در فضای کاربر (userspace) — شبیه به یک دستیار که کارهای اداری را بیرون از دفتر اصلی مدیریت میکند تا مدیر ارشد درگیر نشود — درون هر کانتینر اجرا میشود. طبق اعلام تیم توسعه، این کتابخانه مفاهیم کلیدی زیر را پیادهسازی میکند:
- مدیریت فرآیندهای لینوکس
- سیستم فایل مجازی (VFS)
- شبکهسازی TCP/IP
هسته FTL (FTL Kernel) رابطی حداقلی برای اجرای فراخوانهای سیستمی لینوکس در فضای کاربر فراهم میکند. به دلیل سازگاری با باینریهای لینوکس، سرور HTTP این پروژه که با زبان Rust نوشته شده، به عنوان یک برنامه استاندارد لینوکس روی FTL اجرا میشود. همچنین این سیستم از برنامههای تخصصی که کاملاً از انتزاعهای POSIX عبور میکنند (مشابه Unikernels) پشتیبانی میکند.
این چرخش به این معناست که توسعهدهندگان دیگر نیازی به برنامهنویسی پیچیده eBPF یا تغییرات خطرناک در سطح هسته ندارند. شما میتوانید مستقیماً دستورات چاپ (printf) را برای دیباگ اضافه کنید یا بهروزرسانیهای امنیتی را روی کتابخانه اعمال کنید.
نقشه راه توسعه
بر اساس گزارشهای پروژه، نسخه v0.1.0 در ۳ اکتبر ۲۰۲۶ منتشر شد که پشتیبانی از برنامههای async Rust، تردهای لینوکس و epoll را اضافه کرد. برنامه تیم برای نوامبر ۲۰۲۶ اضافه کردن پشتیبانی از سیستم فایل و برای دسامبر ۲۰۲۶ پشتیبانی از Node.js و Go است. هدف نهایی برای ژانویه ۲۰۲۷، پیادهسازی SMP، ایمیجهای کانتینری و پشتیبانی از معماری ۶۴ بیتی Arm است.
برای توسعهدهندگان، این یعنی پایان دوران «جعبه سیاه» بودن هسته. وقتی سیستمعامل تبدیل به یک کتابخانه شود، مرز بین برنامه و سیستم از بین میرود و زمان لازم برای وصلههای امنیتی در مقیاسهای بزرگ ابری به شدت کاهش مییابد.
گام بعدی شما
- اگر از زبان Rust استفاده میکنید، نسخه v0.1.0 را برای تست ایزولاسیون در فضای کاربر بررسی کنید.
- مستندات ftl-os.org را برای درک تفاوت پیادهسازی VFS در فضای کاربر دنبال کنید.
- منتظر انتشار پشتیبانی از Go و Node.js در دسامبر ۲۰۲۶ باشید تا برنامههای موجود خود را تست کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ برای درک لایههای ایزولاسیون سختافزاری، به تحلیل ما درباره تراشههای نسل جدید مراجعه کنید.




گفتگو