ゼロからのハイパーバイザ自作入門

ゼロからのハイパーバイザ自作入門

無料で読める本

本書では、64-bit ARM (ARMv8/AArch64) アーキテクチャを前提としたハイパーバイザの仕組みをできるだけ分かりやすく解説し、実際にラズベリーパイ4やQEMUで動作するハイパーバイザ (Type1) を自作する方法を解説しています。 ソースコード: https://github.com/HidenoriMatsubayashi/evisor ⬛︎ 注意 本書はまだ作成中(現在5章を作成中)ですが、モチベーション維持のために公開している状態です(章立てなど今後変わる可能性ありです)。内容は随時更新していますので、気になる方はウォッチやコメント等をお願いします。 ⬛︎ 学べること ・ハイパーバイザとその仕組みと原理 ・64-bit ARM (ARMv8/AArch64) アーキテクチャの仮想化支援機構 ・自作ハイパーバイザの作り方 ⬛︎ コミュニティ 質問や間違い指摘など本書に関わる内容であれば自由にコメントOK https://zenn.dev/hidenori3/scraps/0cf5b683b0839e ⬛︎ 価格 本書は無料にしていますが、役に立った!という方は「バッジを贈って応援」や「いいねボタンをポチッ」してくれたら嬉しいです ⬛︎ その他 ・間違った内容があればコメントください。修正します ・追加して欲しい内容などリクエストはコメントをお願いします ・本書のカバー画像は生成AIで作成

Chapters
Chapter 01

Chapter1: 概要

Chapter 02

 ハイパーバイザとは

Chapter 03

 ハイパーバイザの種類

Chapter 04

 完全仮想化と準仮想化

Chapter 05

 ハイパーバイザによる CPU コアの割り当て

Chapter 06

 ハイパーバイザの基本的な仕組み

Chapter 07

Chapter2: ハードウェアによる仮想化支援機構

Chapter 08

 CPUの動作モード

Chapter 09

 ハイパーバイザコール命令

Chapter 10

 CPU タイマ仮想化概要

Chapter 11

 Arm Generic Timer の仮想化の仕組み

Chapter 12

 メモリ仮想化の概要

Chapter 13

 割り込みの仮想化

Chapter 14

 その他のハードウェア仮想化

Chapter 15

Chapter3: 開発環境の構築

Chapter 16

 Host PCのOS/CPU要件

Chapter 17

 ツールチェーンのインストール

Chapter 18

 QEMU インストール

Chapter 19

 Raspberry Pi の準備

Chapter 20

 実際にハイパーバイザを動かしてみる

Chapter 21

 ソースコードのツリー構造

Chapter 22

Chapter4: 起動処理の実装

Chapter 23

 コンピュータの基本的な構成

Chapter 24

 システム起動の流れ

Chapter 25

 QEMU の起動とメモリマップの仕様

Chapter 26

 Raspberry Pi4 の起動とメモリマップの仕様

Chapter 27

 リンカスクリプトの基本

Chapter 28

 リンカスクリプトの実装

Chapter 29

 スタートアップルーチンの実装

Chapter 30

 printf 関数の実装

Chapter 31

 シリアル出力ドライバの実装

Chapter 32

 作成中: CMake ビルドスクリプトの構築

Chapter 33

 ハイパーバイザのメイン関数の実装

Chapter 34

Chapter5: メモリ管理の実装

Chapter 35

Chapter6: 割り込み制御の実装

Chapter 36

ChapterX: ゲストOS用メモリ管理の実装

Chapter 37

 MMU Stage2 メモリ仮想化

Chapter 38

ChapterX: タスク管理とスケジューラの実装

Chapter 39

ChapterX: 参考文献

Community
Author
Hidenori@低レイヤ
Topics
¥0今すぐ読む
公開
本文更新
文章量
72,766
価格
0