Michael Hill
mdhillca@gmail.com 2012
Baptiste Mille-Mathias
baptistem@gnome.org 2012
ねこがくれ
info@mail.nekogakure.jp 2025

# 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 クライアントです。