Rilascio di MirageOS 3.6, una piattaforma per l'esecuzione di applicazioni sull'hypervisor

ha avuto luogo rilascio del progetto Mirage OS 3.6, che consente di creare sistemi operativi per una singola applicazione, in cui l'applicazione viene fornita come un "unikernel" autonomo che può essere eseguito senza l'uso di sistemi operativi, un kernel del sistema operativo separato e qualsiasi livello. Il linguaggio OCaml viene utilizzato per sviluppare applicazioni. Codice del progetto distribuito da sotto la licenza ISC gratuita.

Tutte le funzionalità di basso livello inerenti al sistema operativo sono implementate sotto forma di libreria allegata all'applicazione. L'applicazione può essere sviluppata in qualsiasi sistema operativo, dopodiché viene compilata in un kernel specializzato (il concept unkernel), che può essere eseguito direttamente sugli hypervisor Xen, KVM, BHyve e VMM (OpenBSD), su piattaforme mobili, come processo in un ambiente conforme a POSIX o negli ambienti cloud Amazon Elastic Compute Cloud e Google Compute Engine.

L'ambiente generato non contiene nulla di superfluo e interagisce direttamente con l'hypervisor senza driver o livelli di sistema, il che consente una significativa riduzione dei costi generali e una maggiore sicurezza. Lavorare con MirageOS si riduce a tre fasi: preparare la configurazione con identificare quelle utilizzate nell'ambiente Pacchetti OPAM, costruire l'ambiente e lanciare l'ambiente. Il runtime da eseguire su Xen si basa su un kernel ridotto al minimo Mini sistema operativoe per altri hypervisor e sistemi basati su kernel Solo5.

Nonostante il fatto che le applicazioni e le librerie siano create nel linguaggio OCaml di alto livello, gli ambienti risultanti dimostrano prestazioni abbastanza buone e dimensioni minime (ad esempio, il server DNS occupa solo 200 KB). Anche la manutenzione degli ambienti è semplificata, poiché se è necessario aggiornare il programma o modificare la configurazione, è sufficiente creare e lanciare un nuovo ambiente. Supportato diverse decine di biblioteche nel linguaggio OCaml per eseguire operazioni di rete (DNS, SSH, OpenFlow, HTTP, XMPP, ecc.), lavorare con l'archiviazione e fornire elaborazione parallela dei dati.

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

  • Aggiunta la possibilità di eseguire unikernel MirageOS in un ambiente isolato spt ("gara di gara in modalità sandbox") fornita dal toolkit Solo5. Quando si utilizza il backend spt, i kernel MirageOS vengono eseguiti nei processi utente Linux a cui viene applicato un isolamento minimo basato su seccomp-BPF;
  • Supporto implementato manifesto dell'applicazione dal progetto Solo5, che consente di definire più adattatori di rete e dispositivi di archiviazione collegati a un unikernel in isolamento basato su backend hvt, spt e muen (l'uso per i backend genode e virtio è attualmente limitato a un dispositivo);
  • La protezione dei backend basati su Solo5 (hvt, spt) è stata rafforzata, ad esempio è stata prevista la creazione in modalità SSP (Stack Smashing Protection).

Fonte: opennet.ru

Aggiungi un commento