Bareflank, un toolkit per lo sviluppo rapido di hypervisor specializzati

Barefank È scritto in C++ ed è compatibile con C++ STL. L'architettura modulare di Barefank consente di espandere facilmente le capacità dell'hypervisor esistente e creare le proprie versioni dell'hypervisor, sia in esecuzione su hardware (come Xen) che in un ambiente software esistente (come VirtualBox). È possibile eseguire il sistema operativo dell'ambiente host in una macchina virtuale separata. Il codice del progetto è distribuito sotto la licenza LGPL 2.1.

Informazioni su Barefank

Bareflank supporta Linux, Windows e UEFI su CPU Intel e AMD a 64 bit. La tecnologia Intel VT-x viene utilizzata per la condivisione hardware delle risorse della macchina virtuale. In futuro è prevista la compatibilità con i sistemi macOS e BSD, nonché la possibilità di lavorare su piattaforma ARM64.

Inoltre, il progetto sviluppa il proprio controller per caricare VMM (Gestore della macchina virtuale), un caricatore ELF caricare i moduli VVM e un'app bfm per gestire l'hypervisor dallo spazio utente.

Basato su Barefank, il Boxy è in fase di sviluppo un sistema di virtualizzazione, che supporta il lancio di sistemi guest y consente l'uso di macchine virtuali leggere con Linux e Unikernel per lanciare servizi o applicazioni specializzate.

Sotto forma di servizi isolati, può eseguire normali servizi Web e applicazioni che hanno requisiti di affidabilità speciali e sicurezza, senza l'influenza dell'ambiente host (l'ambiente host è isolato in una macchina virtuale separata). Bareflank è anche il cuore dell'hypervisor MicroV, progettato per eseguire macchine virtuali minimaliste (macchina virtuale a singola applicazione), implementando l'API KVM e adatto per la creazione di sistemi mission-critical.

Viene fornito un toolkit per la scrittura di estensioni. utilizzando elementi definiti nelle specifiche C++ 11/14, una libreria per svolgere lo stack di eccezioni (unwind), nonché una propria libreria di runtime per supportare l'uso di costruttori / distruttori e eccezioni del gestore di log.

Come l' principali novità della nuova versione di Bareflank 3.0 spiccano i seguenti:

  • Transizione al concetto di microkernel. In precedenza, l'hypervisor aveva un'architettura monolitica, dove per estendere le funzionalità, doveva utilizzare un'API speciale per registrare le chiamate di callback, il che rendeva difficile lo sviluppo delle estensioni a causa del legame al linguaggio C++ e all'interno del dispositivo.
  • La nuova architettura del microkernel separa l'hypervisor in componenti del kernel che girano sull'anello zero ed estensioni che girano sul terzo anello (spazio utente). Entrambe le parti vengono eseguite in modalità root VMX e tutto il resto, incluso l'ambiente host, in modalità VMX non root.
  • Le estensioni dello spazio utente implementano la funzionalità Virtual Machine Manager (VMM) e interagiscono con il kernel dell'hypervisor tramite chiamate di sistema compatibili con le versioni precedenti. Le estensioni possono essere create in qualsiasi linguaggio di programmazione, incluso l'utilizzo del linguaggio Rust, per il quale vengono forniti esempi di estensioni pronti all'uso.
  • È passato all'utilizzo della propria libreria BSL con supporto Rust e C++, sostituendo le librerie esterne libc++ e newlib. La rimozione delle dipendenze esterne ha consentito a Bareflank di implementare il supporto di build nativo su Windows per semplificare lo sviluppo su questa piattaforma.
  • Barefrank ora include il supporto per AMD. Inoltre, lo sviluppo di Barefrank ora avviene su un sistema con una CPU AMD e solo allora passa a una CPU Intel, assicurando che lo sviluppo per AMD sia preso sul serio.
  • Il caricatore ha aggiunto il supporto per l'architettura ARMv8, il cui adattamento dell'hypervisor sarà completato in una versione futura.
    Conformità ai requisiti di progettazione del sistema mission-critical AUTOSAR e MISRA.

Infine se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.