MirageOS 4.0-ın buraxılışı, hipervizorun üstündə tətbiqləri işə salmaq üçün platformadır

Bir il yarım inkişaf etdikdən sonra MirageOS 4.0 layihəsinin buraxılışı nəşr olundu ki, bu da tək bir proqram üçün əməliyyat sistemləri yaratmağa imkan verir, bu proqramda proqramlar olmadan işləyə bilən özünü təmin edən "unikernel" kimi çatdırılır. əməliyyat sistemlərinin, ayrıca OS nüvəsinin və istənilən təbəqələrin istifadəsi. Proqram inkişaf dili OCaml-dır. Layihə kodu pulsuz ISC lisenziyası altında paylanır.

Əməliyyat sisteminə doğma olan bütün aşağı səviyyəli funksionallıq proqrama əlavə edilmiş kitabxana kimi həyata keçirilir. Tətbiq istənilən ƏS-də hazırlana bilər və sonra POSIX-də bir proses kimi mobil platformalarda birbaşa Xen, KVM, BHyve və VMM (OpenBSD) hipervizorlarının üstündə işləyə bilən ixtisaslaşmış nüvəyə (unikernel konsepsiyası) tərtib edilə bilər. uyğun mühitdə və ya Amazon Elastic Compute Cloud və Google Compute Engine bulud mühitlərində.

Yaradılan mühitdə artıq heç nə yoxdur və sürücülər və sistem təbəqələri olmadan birbaşa hipervizorla qarşılıqlı əlaqədə olur, bu da əlavə xərclərin əhəmiyyətli dərəcədə azaldılmasına və təhlükəsizliyin artırılmasına imkan verir. MirageOS ilə işləmək üç mərhələdən ibarətdir: ətraf mühitdə istifadə olunan OPAM paketlərinin müəyyən edilməsi ilə konfiqurasiyanın hazırlanması, ətraf mühitin qurulması və ətraf mühitin işə salınması. Hipervizorların üstündə işləmək üçün iş vaxtı Solo5 nüvəsi əsasında qurulur.

Tətbiqlərin və kitabxanaların yüksək səviyyəli OCaml dilində formalaşmasına baxmayaraq, yaranan mühitlər kifayət qədər yaxşı performans və minimal ölçü nümayiş etdirir (məsələn, DNS serveri cəmi 200 KB tutur). Mühitlərin saxlanması da sadələşdirilmişdir, çünki proqramı yeniləmək və ya konfiqurasiyanı dəyişdirmək lazımdırsa, yeni bir mühit yaratmaq və işə salmaq kifayətdir. Bir neçə yüzlərlə OCaml kitabxanası şəbəkə əməliyyatlarını (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN və s.) yerinə yetirmək, yaddaşlarla işləmək və məlumatların paralel işlənməsini təmin etmək üçün dəstəklənir.

Əsas təkmilləşdirmələr:

  • Layihələrin və unikernelin tərtibi prosesi dəyişdirildi. Əvvəllər istifadə olunan ocamlbuild qurma sisteminin əvəzinə dune alətlər dəsti və yerli depolar (monorepo) istifadə olunur. Belə repozitoriyaların yaradılması üçün paket idarəçiliyini binadan mənbədən ayırmağa imkan verən yeni opam-monorepo yardım proqramı əlavə edilmişdir. Opam-monorepo yardım proqramı layihə ilə əlaqəli asılılıqlar üçün kilid faylları yaratmaq, asılılıq kodunu yükləmək və çıxarmaq və dune qurma sistemindən istifadə etmək üçün mühiti qurmaq işlərini görür. Quraşdırma özü dune alətlər dəsti tərəfindən həyata keçirilir.
  • Təkrarlana bilən tikinti prosesi təmin edilir. Kilid fayllarının istifadəsi asılılıq versiyalarına bağlanmanı təmin edir və eyni kodla istənilən vaxt qurma prosesini tamamilə təkrarlamağa imkan verir.
  • Yeni çarpaz kompilyasiya prosesi həyata keçirildi və bütün dəstəklənən hədəf platformalar üçün digər şeylərlə yanaşı, C bağlamaları olan asılılıqlar və kitabxanalar əlavə etməyə ehtiyac olmadan çarpaz tərtib edilən bir ümumi qurma mühitindən çarpaz kompilyasiya etmək mümkündür. bu bağlamalar əsas paketə. Çarpaz kompilyasiya dune qurma sistemi tərəfindən təmin edilən iş yerlərindən istifadə etməklə təşkil edilir.
  • Yeni hədəf platformalar üçün dəstək əlavə edildi, məsələn, Raspberry Pi 4 lövhələrində işləmək üçün müstəqil proqramlar yaratmaq üçün eksperimental imkan təmin edildi.
  • Unikernel formasında tikinti proqramlarını sadələşdirmək üçün MirageOS hissələrinin OCaml inkişafı ilə bağlı ekosistemlərə inteqrasiyası üçün işlər görülüb. Bir çox MirageOS paketləri dune qurma sisteminə köçürüldü. Opam-monorepo yardım proqramı opam paket meneceri ilə quraşdırmaq üçün mövcuddur və dune build sistemindən istifadə edən layihələrdə istifadə edilə bilər. Dune-da asılılıqların qurulması ilə bağlı problemləri həll edən yamaqları saxlamaq üçün dune-universe/opam-overlays və dune-universe/mirage-opam-overlays iki repozitoriya yaradılmışdır ki, bunlar mirage CLI yardım proqramından istifadə edərkən defolt olaraq aktivləşdirilir.
  • MirageOS-un C və Rust kitabxanaları ilə sadələşdirilmiş inteqrasiyası.
  • Libc olmadan (libc-siz) etmək üçün yeni OCaml işləmə müddəti təklif edilmişdir.
  • Standart inteqrasiya edilmiş inkişaf mühitləri ilə inteqrasiya üçün Merlin xidmətindən istifadə etmək imkanı təmin edilmişdir.

Mənbə: opennet.ru

Добавить комментарий