Michael Hill
mdhillca@gmail.com 2012
Baptiste Mille-Mathias
baptistem@gnome.org 2012
Federico Bruni
fede@inventati.org 2015-2021

# Quale tecnologia è impiegata da Boxes?

Boxes uses qemu-kvm, libvirt-glib and spice-gtk to allow users to easily manage virtual machines.

# QEMU con KVM

QEMU è un emulatore e un virtualizzatore. Come emulatore, può eseguire sistemi operativi e programmi fatti per una certa macchina (per esempio una scheda ARM) su una macchina diversa (per esempio il proprio PC). Come virtualizzatore, QEMU raggiunge una performance quasi nativa eseguendo il codice del guest direttamente nella CPU dell'host tramite KVM.

KVM (Kernel-based Virtual Machine) è un modulo del kernel Linux che permette a un programma in spazio utente di usare le funzionalità di virtualizzazione hardware di vari processori.

# libvirt

libvirt is a toolkit for manipulating (creating, deleting and modifying) and monitoring virtual machines.

libvirt-glib permette di accedere a libvirt attraverso un'API di alto livello orientata agli oggetti e adatta alle applicazioni basate su glib.

# SPICE

SPICE, Simple Protocol for Independent Computing Environments, è un sistema per accedere e controllare i computer desktop remoti collegati in rete.

Il server SPICE è una libreria che gira dentro il binario di QEMU. Le sue principali funzioni sono l'autenticazione delle connessioni del client, l'inoltro dell'output video del sistema operativo guest al client e l'inoltro dell'input utente (mouse e tastiera) dal client al guest.

spice-gtk è il client SPICE che fornisce una vista nel sistema operativo guest.