Versione di MirageOS 3.6, piattaforma per l'esecuzione di applicazioni sopra un hypervisor

Si è tenuto rilascio del progetto MirageOS 3.6, che consente di formare sistemi operativi monolitici, in cui l'applicazione è fornita come un "unikernel" autosufficiente, capace di funzionare senza l'uso di sistemi operativi, un kernel separato e strati intermedi. Per lo sviluppo delle applicazioni si utilizza il linguaggio OCaml. Il codice del progetto è distribuito è sotto licenza ISC.

Tutta la funzionalità a basso livello tipica di un sistema operativo è implementata sotto forma di libreria, collegata all'applicazione. L'applicazione può essere sviluppata su qualsiasi sistema operativo, quindi compilata in un kernel specializzato (concetto di unikernel), che può essere eseguito direttamente sopra hypervisor come Xen, KVM, BHyve e VMM (OpenBSD), su piattaforme mobili, come processo in un ambiente compatibile POSIX o in ambienti cloud come Amazon Elastic Compute Cloud e Google Compute Engine.

L'ambiente generato non contiene nulla di superfluo e interagisce direttamente con l'hypervisor senza driver e strati di sistema, il che consente una sostanziale riduzione delle spese generali e un aumento della sicurezza. Lavorare con MirageOS si riduce a tre fasi: preparazione della configurazione definendo i pacchetti OPAM utilizzati nell'ambiente OPAM-pacchetti, costruzione dell'ambiente e avvio dell'ambiente. Il runtime per garantire il funzionamento su Xen si basa su un kernel semplificato Mini-OS, mentre per altri hypervisor e sistemi basati su kernel Solo5.

Nonostante le applicazioni e le librerie siano realizzate in un linguaggio di alto livello come OCaml, gli ambienti finali mostrano prestazioni abbastanza buone e una dimensione minima (ad esempio, un server DNS occupa solo 200 KB). La gestione degli ambienti è semplificata, poiché nel caso di necessità di aggiornamento del programma o modifica della configurazione, è sufficiente creare e avviare un nuovo ambiente. Sono supportate diverse decine di librerie in linguaggio OCaml per eseguire operazioni di rete (DNS, SSH, OpenFlow, HTTP, XMPP, ecc.), lavorare con archiviazione e garantire l'elaborazione parallela dei dati.

Le principali modifiche nella nuova versione riguardano il supporto delle nuove funzionalità offerte nell'ambiente Solo5 0.6.0 (ambiente sandbox per l'esecuzione di unikernel):

  • È stata aggiunta la possibilità di eseguire unikernel MirageOS in un ambiente isolato spt («processo isolato tender»), fornito dall'arsenale Solo5. Nell'utilizzo del backend spt, il kernel di MirageOS viene avviato in processi utente Linux, ai quali si applica una minima isolazione basata su seccomp-BPF;
  • È stata implementata la supporto manifesto delle applicazioni dal progetto Solo5, che consente di definire più adattatori di rete e dispositivi di archiviazione collegati al unikernel, con isolamento basato sui backend hvt, spt e muen (l'uso per i backend genode e virtio è attualmente limitato a un dispositivo);
  • Rafforzata la protezione dei backend basati su Solo5 (hvt, spt), ad esempio, è stata garantita la compilazione in modalità SSP (Stack Smashing Protection).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster