Rilis MirageOS 4.0, platform kanggo mbukak aplikasi ing ndhuwur hypervisor

Sawise setahun lan setengah pembangunan, rilis proyek MirageOS 4.0 wis diterbitake, sing ngidini nggawe sistem operasi kanggo siji aplikasi, ing ngendi aplikasi kasebut dikirim minangka "unikernel" sing mandhiri, bisa mlaku tanpa panggunaan sistem operasi, kernel OS sing kapisah lan lapisan apa wae. Basa OCaml digunakake kanggo ngembangake aplikasi. Kode proyek disebarake miturut lisensi ISC gratis.

Kabeh fungsi tingkat rendah sing ana ing sistem operasi dileksanakake ing wangun perpustakaan sing dipasang ing aplikasi kasebut. Aplikasi kasebut bisa dikembangake ing OS apa wae, banjur dikompilasi dadi kernel khusus (konsep unikernel), sing bisa mlaku langsung ing ndhuwur hypervisor Xen, KVM, BHyve lan VMM (OpenBSD), ing ndhuwur platform seluler, ing wangun proses ing lingkungan sing cocog karo POSIX utawa ing lingkungan maya Amazon Elastic Compute Cloud lan Google Compute Engine.

Lingkungan kui ora ngemot apa-apa superfluous lan sesambungan langsung karo hypervisor tanpa pembalap utawa lapisan sistem, sing ngidini kanggo abang pinunjul ing biaya nduwur sirah lan tambah keamanan. Nggarap MirageOS dadi telung tahap: nyiapake konfigurasi kanthi nemtokake paket OPAM sing digunakake ing lingkungan, ngrakit lingkungan, lan ngluncurake lingkungan. Kanggo mesthekake operasi ing ndhuwur hypervisors, Runtime dibangun ing basis saka kernel Solo5.

Senadyan kasunyatan manawa aplikasi lan perpustakaan digawe ing basa OCaml tingkat dhuwur, lingkungan sing diasilake nuduhake kinerja sing cukup apik lan ukuran minimal (contone, server DNS mung njupuk 200 KB). Pangopènan lingkungan uga disederhanakaké, amarga yen perlu nganyari program utawa ngganti konfigurasi, cukup kanggo nggawe lan miwiti lingkungan anyar. Sawetara atus perpustakaan ing basa OCaml didhukung kanggo nindakake operasi jaringan (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, lsp), nggarap panyimpenan lan nyedhiyakake pangolahan data paralel.

dandan utama:

  • Proses kompilasi proyek lan unikernel wis diganti. Tinimbang sistem perakitan ocamlbuild sing sadurunge digunakake, toolkit dune lan repositori lokal (monorepo) digunakake. Kanggo nggawe repositori kasebut, sarana anyar, opam-monorepo, wis ditambahake, sing ndadekake bisa misahake manajemen paket saka bangunan saka kode sumber. Utilitas opam-monorepo bisa digunakake kayata nggawe file kunci kanggo dependensi sing gegandhengan karo proyek, ngemot lan ngekstrak kode dependensi, lan nyetel lingkungan kanggo nggunakake sistem mbangun dune. DΓ©wan nyata ditindakake kanthi toolkit dune.
  • Proses mbangun sing bisa diulang diwenehake. Nggunakake file kunci nyedhiyakake link menyang versi dependensi lan ngidini sampeyan mbaleni proses mbangun kanthi kode sing padha kapan wae.
  • Proses kompilasi silang anyar wis dileksanakake lan kemampuan kanggo kompilasi silang kanggo kabeh platform target sing didhukung saka siji lingkungan mbangun umum diwenehake, sing uga nglumpukake dependensi lan perpustakaan sing duwe ikatan C, tanpa perlu nambahake binding kasebut menyang paket utama. Kompilasi silang diatur nggunakake ruang kerja sing diwenehake dening sistem mbangun dune.
  • Dhukungan kanggo platform target anyar wis ditambahake, contone, kemampuan eksperimen kanggo mbangun aplikasi mandiri kanggo mlaku ing papan Raspberry Pi 4 wis diwenehake.
  • Pakaryan wis ditindakake kanggo nggabungake bagean MirageOS menyang ekosistem sing ana gandhengane karo pangembangan ing basa OCaml kanggo nyederhanakake pangumpulan aplikasi ing wangun unikernel. Akeh paket MirageOS wis ditransfer menyang sistem mbangun dune. Utilitas opam-monorepo kasedhiya kanggo instalasi nggunakake manajer paket opam lan bisa digunakake ing proyek sing nggunakake sistem mbangun dune. Kanggo njaga patch sing ngatasi masalah karo dependensi bangunan ing dune, rong gudang wis digawe: dune-universe / opam-overlays lan dune-universe / mirage-opam-overlays, sing diaktifake kanthi standar nalika nggunakake utilitas mirage CLI.
  • Integrasi MirageOS karo perpustakaan C lan Rust wis disederhanakake.
  • A runtime OCaml anyar wis ngajokaken sing ngijini sampeyan kanggo nindakake tanpa libc (libc-free).
  • Sampeyan bisa nggunakake layanan Merlin kanggo integrasi karo lingkungan pembangunan terpadu standar.

Source: opennet.ru

Add a comment