Liberazione di MirageOS 4.0, una piattaforma per eseguisce applicazioni sopra un ipervisore

Dopu à un annu è mezu di sviluppu, hè statu publicatu a liberazione di u prughjettu MirageOS 4.0, chì permette di creà sistemi operativi per una sola applicazione, in quale l'applicazione hè furnita cum'è un "unikernel" autosufficiente chì pò eseguisce senza. l'usu di sistemi operativi, un kernel OS separatu è qualsiasi strati. A lingua di sviluppu di l'applicazione hè OCaml. U codice di u prughjettu hè distribuitu sottu una licenza ISC libera.

Tutte e funziunalità di bassu livellu nativu di u sistema operatore sò implementate cum'è una biblioteca attaccata à l'applicazione. Una applicazione pò esse sviluppata nantu à qualsiasi OS è poi cumpilata in un kernel specializatu (u cuncettu unikernel) chì pò eseguisce direttamente nantu à ipervisori Xen, KVM, BHyve è VMM (OpenBSD), in piattaforme mobili, cum'è un prucessu in un POSIX- ambiente cumpletu, o in ambienti nuvola Amazon Elastic Compute Cloud è Google Compute Engine.

L'ambiente generatu ùn cuntene nunda di superfluu è interagisce direttamente cù l'ipervisore senza cunduttori è strati di sistema, chì permette di ottene una riduzione significativa di i costi generali è aumentà a sicurità. U travagliu cù MirageOS vene in trè tappe: a preparazione di a cunfigurazione cù a determinazione di i pacchetti OPAM utilizati in l'ambiente, a custruzzione di l'ambiente è a lanciazione di l'ambiente. U runtime per furnisce u travagliu nantu à ipervisori hè custruitu nantu à a basa di u kernel Solo5.

Malgradu u fattu chì l'applicazioni è e biblioteche sò furmati in a lingua d'altu livellu OCaml, l'ambienti resultanti dimustranu un rendimentu abbastanza bonu è una dimensione minima (per esempiu, u servore DNS piglia solu 200 KB). U mantenimentu di l'ambienti hè ancu simplificatu, postu chì se avete bisognu di aghjurnà u prugramma o cambià a cunfigurazione, hè abbastanza per creà è eseguisce un novu ambiente. Diversi cintunari di biblioteche OCaml sò supportati per eseguisce operazioni di rete (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, etc.), travaglià cù l'almacenamiento è furnisce un prucessu di dati paralleli.

Migliuramenti chjave:

  • Cambiatu u prucessu di compilazione di prughjetti è unikernel. Invece di u sistema di custruzzione ocamlbuild utilizatu prima, sò usati u toolkit dune è i repositori lucali (monorepo). Per creà tali repositori, hè stata aghjunta una nova utilità opam-monorepo, chì hà permessu di separà a gestione di pacchetti da a custruzione da a fonte. L'utilità opam-monorepo faci u travagliu di creà lockfiles per i dependenzii di u prugettu, scaricamentu è estrazione di codice di dependenza, è cunfigurà l'ambiente per utilizà u sistema di costruzione di dune. A custruzzione stessu hè fatta da u toolkit duna.
  • Un prucessu di creazione ripetibile hè furnitu. L'usu di i schedarii di serratura furnisce ubligatoriu à e versioni di dependenza è vi permette di ripetiri cumplettamente u prucessu di custruzzione in ogni mumentu cù u listessu codice.
  • Un novu prucessu di compilazione incruciata hè statu implementatu è hè pussibule cumpilà incruciate per tutte e piattaforme di destinazione supportate da un ambiente di custruzzione cumuni, in quale, frà altre cose, dipendenze è biblioteche cù associazioni C sò cumpilate incruciate senza bisognu di aghjunghje. sti ligami à u pacchettu principale. A compilazione incruciata hè urganizata utilizendu i spazii di travagliu furniti da u sistema di costruzione di dune.
  • U supportu per e novi piattaforme di destinazione hè statu aghjuntu, per esempiu, una capacità sperimentale per custruisce applicazioni autonome per u travagliu nantu à i tavulini Raspberry Pi 4 hè stata furnita.
  • U travagliu hè statu fattu per integrà e parti di MirageOS in l'ecosistema ligati à u sviluppu OCaml per simplificà l'applicazioni di custruzzione in forma di unikernel. Parechji pacchetti MirageOS sò stati portati à u sistema di custruzzione di dune. L'utilità opam-monorepo hè dispunibule per a stallazione cù u gestore di pacchetti opam è pò esse aduprata in prughjetti chì utilizanu u sistema di costruzione di dune. Per mantene patchs chì risolve i prublemi cù a custruzzione di dipendenze in dune, sò stati creati dui repository dune-universe/opam-overlays è dune-universe/mirage-opam-overlays, chì sò attivati ​​per automaticamente quandu utilizanu l'utilità mirage CLI.
  • Integrazione simplificata di MirageOS cù biblioteche C è Rust.
  • Un novu runtime OCaml hè statu prupostu per fà senza libc (libc-free).
  • Fornitu a capacità di utilizà u serviziu Merlin per integrazione cù ambienti di sviluppu integratu standard.

Source: opennet.ru

Add a comment