Boxes で使用されている技術とは何ですか?
qemu-kvm、libvirt-glib、spice-gtk を使用して、ユーザーが簡単に仮想マシンを管理できるようにしています。
KVM を用いた QEMU
QEMU はマシンエミュレータ兼仮想化ソフトです。エミュレータとしては、あるアーキテクチャ向けに作られた OS やプログラムを別のマシン上で動作させることができます(例: ARM ボード向けを PC 上で動かす)。仮想化機能としては、KVM を使ってゲストコードをホストの CPU 上で直接実行し、ほぼネイティブに近い性能を実現します。
KVM(Kernel-based Virtual Machine)は、ユーザ空間のプログラムが各種プロセッサのハードウェア仮想化機能を利用できるようにする Linux カーネルモジュールです。
libvirt
libvirt は仮想マシンの作成、削除、変更、および監視を行うためのツールキットです。
libvirt-glib は libvirt をラップし、glib ベースのアプリケーションに適した高レベルのオブジェクト指向 API を提供します。
SPICE
SPICE(Simple Protocol for Independent Computing Environments)は、ネットワーク越しにリモートデスクトップへアクセスし制御するためのプロトコルです。
SPICE サーバーは QEMU バイナリ内で動作するライブラリで、主にクライアント接続の認証、ゲストOSのグラフィック出力をクライアントに中継すること、クライアントからゲストへのユーザー入力(マウスやキーボード)の中継を担います。
spice-gtk はゲストOSへの表示を提供する SPICE クライアントです。