著者の一言

本書はハイパーバイザ(Hypervisor)を一から作成するための本です。具体的には、Arm社の64ビットアーキテクチャで動作するハイパーバイザを作成します。そして自作したハイパーバイザではLinuxが複数の仮想マシン上で独立して動くようになります。用語についての詳しい説明は本書の中で行います。

ハイパーバイザというとVirtualBoxやVMware Workstation Player、QEMU等を想像される人もいると思います。これらはType2ハイパーバイザと呼ばれ、ホストとなるOS(ホストOS)の上で新たにOS(ゲストOS)を動かすソフトウェアです。一方、本書で作成するハイパーバイザはType1ハイパーバイザと呼ばれ、ホストOSを用いずに物理マシンの上で直接動作してゲストOSを動かすものになります。

本書の前半では、最初に仮想化とは何かを説明した後に、ブートローダから起動してデバイスの初期化をし、仮想マシンを動作させるために必要な機能の実装等を行います。本書で作成するハイパーバイザは、先に述べたようにホストOSが存在しません。そのため、デバイスの操作やリソースの管理等は全て自力で行う必要があります。後半では仮想デバイスと呼ばれるゲストOSが操作するデバイスを実装してLinuxの起動を試みます。Linuxが要求するデバイスを仮想デバイスとして実装していき、仮想マシンが動くようにします。その後マルチコア対応を行い、それぞれのCPUコアで仮想マシンが動くようにします。

(⁠⁠はじめに」より)

森真誠(もりまなみ)

小学生時代からプログラミングに興味を持ち,OSからデスクトップアプリなど幅広いレイヤのプログラミングを趣味で行う。

大学生のときにAArch64向けの軽量ハイパーバイザ「MilvusVisor」の実装に従事。

また,セキュリティ・キャンプ全国大会での講師や世界的に権威あるカンファレンスの一つであるBlack Hat Eurpose 2024で機密仮想マシンに関する講演などを経験。