作って理解する仮想化技術―ハイパーバイザを実装しながら仕組みを学ぶ

個数:
  • ポイントキャンペーン

作って理解する仮想化技術―ハイパーバイザを実装しながら仕組みを学ぶ

  • ウェブストアに25冊在庫がございます。(2025年11月05日 14時35分現在)
    通常、ご注文翌日~2日後に出荷されます。
  • 出荷予定日とご注意事項
    ※上記を必ずご確認ください

    【ご注意事項】 ※必ずお読みください
    ◆在庫数は刻々と変動しており、ご注文手続き中に減ることもございます。
    ◆在庫数以上の数量をご注文の場合には、超過した分はお取り寄せとなり日数がかかります。入手できないこともございます。
    ◆事情により出荷が遅れる場合がございます。
    ◆お届け日のご指定は承っておりません。
    ◆「帯」はお付けできない場合がございます。
    ◆画像の表紙や帯等は実物とは異なる場合があります。
    ◆特に表記のない限り特典はありません。
    ◆別冊解答などの付属品はお付けできない場合がございます。
  • ●3Dセキュア導入とクレジットカードによるお支払いについて
    ●店舗受取サービス(送料無料)もご利用いただけます。
    ご注文ステップ「お届け先情報設定」にてお受け取り店をご指定ください。尚、受取店舗限定の特典はお付けできません。詳細はこちら
  • サイズ B5判/ページ数 336p/高さ 23cm
  • 商品コード 9784297150129
  • NDC分類 007.61
  • Cコード C3055

出版社内容情報

仮想化技術はいたるところで利用されています。クラウドサービスなどで、自由度の高いサーバ環境を即座に利用できるのは仮想化技術があってこそです。ソフトウェアで疑似的にマシンを再現したものを仮想マシンと呼び、仮想マシンを実現するソフトウェアをハイパーバイザと呼びます。

本書では、ハイパーバイザをステップアップ式に実装していくことで、ハイパーバイザによる仮想化技術がどのように実現されているのかを理解していきます。ハードウェアデバイスを操作する側、操作される側の両方の実装を行うことで、仮想化技術と密接に関係している低レイヤの技術を深く理解できます。


【目次】

第1章 仮想マシンとハイパーバイザ
 1.1 仮想マシンとはなんだろう
 1.2 ハイパーバイザの目的とメリット
 1.3 Type1ハイパーバイザとType2ハイパーバイザ
 1.4 仮想化支援機能とは
 1.5 Type1ハイパーバイザを開発する流れ
 1.6 開発環境の構築
 1.7 本書で使用する仕様書について

第2章 起動してメッセージを出せるようにする
 2.1 何もしないソフトウェアを起動しよう
 2.2 DTBを解析しよう
 2.3 文字を出そう

第3章 CPUの仮想化支援機能を使ってみる-メモリを仮想化する
 3.1 何もしない仮想化をしよう
 3.2 メモリ管理をしよう
 3.3 メモリの仮想化をしよう

第4章 割り込みの仕組みと仮想デバイスを作る
 4.1 割り込みのセットアップをしよう
 4.2 ページフォルトの原因を解析しよう
 4.3 仮想PL011デバイスを実装しよう

第5章 割り込みコントローラを制御し、デバイス割り込みを可能にする
 5.1 割り込みを制御するデバイスを初期化しよう
 5.2 PL011の割り込みを受け取ろう

第6章 ファイルの読み書きをできるようにする
 6.1 Virtio-Blkを制御しよう
 6.2 ファイルシステムを実装しよう

第7章 初めての仮想マシンを実装する
 7.1 VM構造体を実装しよう
 7.2 VMを起動してみよう

第8章 Linuxが動作するようにする
 8.1 GICv3の仮想化をしよう
 8.2 仮想タイマを提供しよう
 8.3 仮想PL011を改良しよう
 8.4 Virtio-Blkデバイスを実装しよう

第9章 複数のCPUコアを動作させる
 9.1 コアの起動をしよう
 9.2 ロック機構を実装しよう

第10章 コンソールとマルチ仮想マシンを実装する
 10.1 コンソールとコマンドを実装しよう
 10.2 マルチ仮想マシンを実現しよう

第11章 作成したハイパーバイザを発展させるには
 11.1 対応デバイスの追加
 11.2 独自の仮想デバイス
 11.3 スナップショット機能
 11.4 実機への移植
 11.5 マイグレーション機能
 11.6 デバイスパススルー機能
 11.7 Type2ハイパーバイザの実装
 11.8 Nested Virtualizationの実装<

内容説明

物理デバイスと仮想デバイスの両面から仮想マシンの中身に迫る。Rust言語を用い、ステップアップ方式で実装。ブートローダからの起動に始まり、複数の仮想マシンが動作するまでを解説。

目次

第1章 仮想マシンとハイパーバイザ
第2章 起動してメッセージを出せるようにする
第3章 CPUの仮想化支援機能を使ってみる~メモリを仮想化する
第4章 割り込みの仕組みと仮想デバイスを作る
第5章 割り込みコントローラを制御し、デバイス割り込みを可能にする
第6章 ファイルの読み書きをできるようにする
第7章 初めての仮想マシンを実装する
第8章 Linuxが動作するようにする
第9章 複数のCPUコアを動作させる
第10章 コンソールとマルチ仮想マシンを実装する
第11章 作成したハイパーバイザを発展させるには
第12章 仮想化技術を使いこなす

著者等紹介

森真誠[モリマナミ]
小学生時代からプログラミングに興味を持ち、OSからデスクトップアプリなど幅広いレイヤのプログラミングを趣味で行う。大学生のときにAArch64向けの軽量ハイパーバイザ「MilvusVisor」の実装に従事。また、セキュリティ・キャンプ全国大会での講師や世界的に権威あるカンファレンスの一つであるBlack Hat Eurpose 2024で機密仮想マシンに関する講演などを経験

品川高廣[シナガワタカヒロ]
東京大学大学院情報理工学系研究科 教授。オペレーティングシステムや仮想化技術、コンピュータセキュリティ等を専門とし、次世代の安全で高性能なシステム基盤の研究開発に取り組んでいる。国産ハイパーバイザ「BitVisor」のチーフアーキテクトとして設計を主導し、その成果を応用した製品「vThrii Seamless Provisioning」の開発にも貢献している。仮想化技術の研究成果により、令和2年度科学技術分野の文部科学大臣表彰「科学技術賞」を受賞した(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。

感想・レビュー

※以下の感想・レビューは、株式会社ドワンゴの提供する「読書メーター」によるものです。

walker

1
かなり飛ばし気味で読了。現時点で唯一のHV自作本。内容半分くらいはEL2で動くファームウェア的なものを作っているので、このあたりの知識がある人は少し退屈かもしれない。VT-xと比較するとArm系は割とコアの部分は簡単で、HVの入門アーキテクチャとしてはx86より適しているかもと思った。各仕様の説明時に、仕様書の参考ページを書いているのは良かった。想定読者は大分甘く設定されており、OS実装知識がある程度ないと相当な気合がない限り折れると思う。2025/10/06

外部のウェブサイトに移動します

よろしければ下記URLをクリックしてください。

https://bookmeter.com/books/22840426
  • ご注意事項

    ご注意
    リンク先のウェブサイトは、株式会社ドワンゴの提供する「読書メーター」のページで、紀伊國屋書店のウェブサイトではなく、紀伊國屋書店の管理下にはないものです。
    この告知で掲載しているウェブサイトのアドレスについては、当ページ作成時点のものです。ウェブサイトのアドレスについては廃止や変更されることがあります。
    最新のアドレスについては、お客様ご自身でご確認ください。
    リンク先のウェブサイトについては、「株式会社ドワンゴ」にご確認ください。

最近チェックした商品