انتشار هایپروایزر Bareflank 3.0

هایپروایزر Bareflank 3.0 منتشر شد که ابزارهایی را برای توسعه سریع هایپروایزرهای تخصصی فراهم می کند. Bareflank به زبان C++ نوشته شده است و از C++ STL پشتیبانی می کند. معماری ماژولار Bareflank به شما این امکان را می دهد که به راحتی قابلیت های موجود هایپروایزر را گسترش دهید و نسخه های هایپروایزر خود را ایجاد کنید، هم بر روی سخت افزار (مانند Xen) و هم در یک محیط نرم افزاری موجود (مانند VirtualBox) اجرا می شوند. امکان اجرای سیستم عامل محیط میزبان در یک ماشین مجازی مجزا وجود دارد. کد پروژه تحت مجوز LGPL 2.1 توزیع شده است.

Bareflank از لینوکس، ویندوز و UEFI روی پردازنده های 64 بیتی اینتل و AMD پشتیبانی می کند. فناوری Intel VT-x برای به اشتراک گذاری سخت افزار منابع ماشین مجازی استفاده می شود. پشتیبانی از سیستم‌های macOS و BSD برای آینده و همچنین توانایی کار بر روی پلتفرم ARM64 برنامه‌ریزی شده است. علاوه بر این، این پروژه در حال توسعه درایور خود برای بارگذاری VMM (مدیر ماشین مجازی)، یک لودر ELF برای بارگذاری ماژول های VVM و یک برنامه bfm برای کنترل هایپروایزر از فضای کاربر است. ابزارهایی را برای نوشتن برنامه‌های افزودنی با استفاده از عناصر تعریف‌شده در مشخصات C++11/14، کتابخانه‌ای برای باز کردن پشته استثنا (باز کردن) و همچنین کتابخانه زمان اجرا خود برای پشتیبانی از استفاده از سازنده/ویرانگر و ثبت کنترل‌کننده‌های استثنا فراهم می‌کند.

بر اساس Bareflank، سیستم مجازی سازی Boxy در حال توسعه است که از سیستم های مهمان در حال اجرا پشتیبانی می کند و امکان استفاده از ماشین های مجازی سبک وزن با لینوکس و Unikernel را برای اجرای سرویس ها یا برنامه های تخصصی فراهم می کند. در قالب سرویس‌های ایزوله، می‌توانید هم وب سرویس‌های معمولی و هم برنامه‌هایی را اجرا کنید که دارای الزامات خاصی برای قابلیت اطمینان و امنیت هستند، به دور از تأثیر محیط میزبان (محیط میزبان در یک ماشین مجازی جداگانه ایزوله شده است). Bareflank همچنین پایه هایپروایزر MicroV است که برای اجرای ماشین های مجازی مینیمالیستی (ماشین مجازی تک برنامه ای) طراحی شده است، API KVM را پیاده سازی می کند و برای ایجاد سیستم های ماموریت حیاتی مناسب است.

نوآوری های اصلی Bareflank 3.0:

  • انتقال به استفاده از مفهوم میکروکرنل. پیش از این، هایپروایزر یک معماری یکپارچه داشت، که در آن، برای گسترش عملکرد، لازم بود از یک API ویژه برای ثبت تماس های برگشتی استفاده شود، که توسعه برنامه های افزودنی را به دلیل اتصال به زبان C++ و ساختار داخلی دشوار می کرد. معماری جدید مبتنی بر میکروکرنل شامل تقسیم هایپروایزر به اجزای هسته است که روی حلقه صفر حفاظتی اجرا می شوند و پسوندهایی که روی حلقه سه (فضای کاربر) اجرا می شوند. هر دو بخش در حالت ریشه VMX اجرا می شوند و هر چیز دیگری از جمله محیط میزبان در حالت غیر ریشه VMX اجرا می شود. برنامه‌های افزودنی فضای کاربر، عملکرد Virtual Machine Manager (VMM) را پیاده‌سازی می‌کنند و از طریق تماس‌های سیستمی که سازگار با عقب هستند، با هسته Hypervisor تعامل دارند. پسوندها را می توان در هر زبان برنامه نویسی از جمله Rust ایجاد کرد.
  • انتقالی به استفاده از کتابخانه BSL خودمان با پشتیبانی از Rust و C++ انجام شد که جایگزین کتابخانه‌های خارجی libc++ و newlib شد. با حذف وابستگی های خارجی، Bareflank پشتیبانی بومی کامپایل ویندوز را برای ساده سازی توسعه در آن پلتفرم فراهم می کند.
  • پشتیبانی از پردازنده های AMD اضافه شده است. علاوه بر این، توسعه Bareflank اکنون بر روی سیستمی با CPU AMD انجام می شود و تنها پس از آن به CPU اینتل منتقل می شود.
  • بوت لودر پشتیبانی از معماری ARMv8 را اضافه کرده است که انطباق هایپروایزر برای آن در یکی از نسخه های بعدی تکمیل خواهد شد.
  • انطباق تضمین شده با الزامات توسعه سیستم های حیاتی فرموله شده توسط سازمان های AUTOSAR و MISRA.

منبع: opennet.ru

اضافه کردن نظر