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

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

無料で読める本

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

Chapter4: ハイパーバイザの起動処理

Chapter 22

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

Chapter 23

 システム起動の流れ

Chapter 24

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

Chapter 25

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

Chapter 26

 リンカスクリプトの基本

Chapter 27

 作成中: リンカスクリプトを用意する

Chapter 28

 作成中: UART / シリアル出力のドライバを実装する

Chapter 29

 作成中: printfを実装する

Chapter 30

 作成中: ハイパーバイザのメイン関数を作成する

Chapter 31

Chapter5: ゲストOSを動かすカーネル機能の実装

Chapter 32

 作成中: 割り込み制御

Chapter 33

 作成中: メモリ管理

Chapter 34

 MMU Stage2 メモリ仮想化

Chapter 35

 作成中: タスク管理とスケジューラ

Chapter 36

ChapterX: 参考文献

Community
Author
Hidenori
Topics
¥0今すぐ読む
公開
本文更新
NEW
文章量
46,455
価格
0