Michael Hill
mdhillca@gmail.com 2012
Baptiste Mille-Mathias
baptistem@gnome.org 2012
Sebastian Rasmussen
sebras@gmail.com 2016, 2017
Anders Jonsson
anders.jonsson@norsjovallen.se 2018

# Vilken teknologi används av Boxes?

Boxes använder qemu-kvm, libvirt-glib och spice-gtk för att enkelt möjliggöra för användare att hantera virtuella maskiner och ansluta till fjärrmaskiner.

# QEMU med KVM

QEMU är en maskinemulator och virtualiserare. Som maskinemulator kan det köra operativsystem och program gjorda för en maskin (t.ex. en ARM-bräda) på en annan maskin (t.ex. din egen PC). Som en virtualiserare uppnår QEMU nära nog originalprestanda genom att exekvera gästkoden direkt på värd-CPU:n via KVM.

KVM (Kärnbaserad Virtuell Maskin) är en Linux-kärnmodul som låter ett program i användarrymden använda hårdvarufunktioner för virtualisering av diverse processorer.

# libvirt

libvirt är en verktygslåda för säker manipulering (skapande, borttagning och modifiering) samt övervakning av virtuella maskiner på fjärrvärdar.

libvirt-glib omsveper libvirt för att tillhandahålla ett objektorienterat högnivå-API lämpligt för glib-baserade program.

# SPICE

SPICE, Simple Protocol for Independent Computing Environments (enkelt protokoll för oberoende databehandlingsmiljöer), är ett system för att ge åtkomst till och kontrollera fjärrskrivbord över ett nätverk.

SPICE-servern är ett bibliotek som kör inuti QEMU-binären. Det är i huvudsak ansvarigt för autentisering av klientanslutningar, att reläa grafikutmatning för gästoperativsystemet till klienten samt reläa användarindata (mus och tangentbord) från klienten till gästen.

spice-gtk är SPICE-klienten som tillhandahåller en vy in i gästoperativsystemet.

# VNC

VNC, Virtual Network Computing (virtuell databehandling över nätverk), endast använt för fjärrvisning, är ett välkänt protokoll men ganska begränsat och långsamt.