انتشار MirageOS 3.6، پلتفرمی برای اجرای برنامه‌ها در بالای Hypervisor

صورت گرفت انتشار پروژه سیستم عامل Mirage 3.6، که به شما امکان می دهد برای یک برنامه سیستم عامل ایجاد کنید، که در آن برنامه به عنوان یک "unikernel" مستقل ارائه می شود که می تواند بدون استفاده از سیستم عامل ها، هسته سیستم عامل مجزا و هر لایه ای اجرا شود. زبان Ocaml برای توسعه برنامه ها استفاده می شود. کد پروژه توزیع شده توسط تحت مجوز رایگان ISC.

تمام عملکردهای سطح پایین ذاتی سیستم عامل در قالب یک کتابخانه که به برنامه متصل است پیاده سازی می شود. برنامه را می توان در هر سیستم عاملی توسعه داد، پس از آن در یک هسته تخصصی (مفهوم تک هسته ای)، که می تواند مستقیماً در بالای هایپروایزرهای Xen، KVM، BHyve و VMM (OpenBSD)، در بالای پلتفرم های تلفن همراه، به عنوان یک فرآیند در یک محیط سازگار با POSIX یا در محیط های ابری Amazon Elastic Compute Cloud و Google Compute Engine اجرا شود.

محیط تولید شده حاوی هیچ چیز اضافی نیست و به طور مستقیم با هایپروایزر بدون درایور یا لایه های سیستم تعامل دارد، که امکان کاهش قابل توجه هزینه های سربار و افزایش امنیت را فراهم می کند. کار با MirageOS به سه مرحله خلاصه می شود: آماده سازی پیکربندی با شناسایی موارد استفاده شده در محیط بسته های OPAM، محیط زیست و راه اندازی محیط زیست. زمان اجرا برای اجرا در بالای Xen بر اساس یک هسته حذف شده است سیستم عامل کوچکو برای سایر هایپروایزرها و سیستم های مبتنی بر هسته سولو 5.

علیرغم این واقعیت که برنامه ها و کتابخانه ها به زبان OCaml سطح بالا ایجاد می شوند، محیط های حاصل عملکرد نسبتاً خوب و حداقل اندازه را نشان می دهند (به عنوان مثال، سرور DNS تنها 200 کیلوبایت اشغال می کند). نگهداری از محیط ها نیز ساده شده است، زیرا در صورت نیاز به به روز رسانی برنامه یا تغییر پیکربندی، ایجاد و راه اندازی یک محیط جدید کافی است. پشتیبانی چندین ده کتابخانه در زبان OCaml برای انجام عملیات شبکه (DNS، SSH، OpenFlow، HTTP، XMPP، و غیره)، کار با ذخیره سازی و ارائه پردازش موازی داده ها.

تغییرات اصلی در نسخه جدید مربوط به ارائه پشتیبانی از ویژگی های جدید ارائه شده در جعبه ابزار است Solo5 0.6.0 (محیط sandbox برای اجرای unikernel):

  • قابلیت اجرای unikernel MirageOS در محیط ایزوله اضافه شده است spt ("مناقصه فرآیند جعبه شنی") ارائه شده توسط جعبه ابزار سولو 5. هنگام استفاده از spt backend، هسته های MirageOS در فرآیندهای کاربر لینوکس اجرا می شوند که حداقل انزوا بر اساس seccomp-BPF اعمال می شود.
  • پشتیبانی اجرا شد مانیفست برنامه از پروژه Solo5، که به شما امکان می دهد چندین آداپتور شبکه و دستگاه های ذخیره سازی متصل به یک هسته را به صورت مجزا بر اساس پشتیبان های hvt، spt و muen تعریف کنید (استفاده برای بک اند ژنود و virtio در حال حاضر به یک دستگاه محدود شده است).
  • حفاظت از backend های مبتنی بر Solo5 (hvt, spt) تقویت شده است، به عنوان مثال ساخت در حالت SSP (Stack Smashing Protection) ارائه شده است.

منبع: opennet.ru

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