無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

書籍をつつく23−仮想化技術Xen-概念と内部構造。OS実装者には必須でしょう。

さっき、仮想マシンについての書籍を紹介していたら、急にこの本のことを思い出したピヨ♪この本はコンパイラというよりもOSだと思うんだけど、思い出したから紹介しておくピヨね♪
仮想化技術Xen-概念と内部構造
ああ、もうたまらん。欲しいぃー。はぁはぁ・・・とっとにかく目次を紹介するピヨね♪


【目次】
日本語版に寄せて
監訳者序文
序文
はじめに
本書の概要と構成
表記上の規約
教科書としての利用
謝辞

第1部 Xen仮想マシン
第1章 仮想化の現状
1.1 仮想化とは何か
1.1.1 CPUの仮想化
1.1.2 I/Oの仮想化
1.2 仮想化はなぜ必要か
1.3 最初の仮想マシン
1.4 x86の問題
1.5 いくつかの解決方法
1.5.1 バイナリリライティング
1.5.2 準仮想化
1.5.3 ハードウェア支援による仮想化
1.6 Xenの哲学
1.6.1 ポリシーとメカニズムの分離
1.6.2 小さいことこそ善
1.7 Xenのアーキテクチャ
1.7.1 ハイパーバイザ、OS、アプリケーション
1.7.2 Domain 0の役割
1.7.3 非特権ドメイン
1.7.4 HVMドメイン
1.7.5 Xenの構成
第2章 Xen仮想アーキテクチャの概要
2.1 準仮想化ゲストとしてのブート
2.2 特権リングによる動作制限
2.3 特権命令のハイパーコールへの置換
2.4 Xenイベントモデルの概要
2.5 共有メモリとの通信
2.6 スプリットデバイスドライバモデル
2.7 VMのライフサイクル
2.8 練習問題:最も単純なXen対応カーネル
2.8.1 ゲストのエントリーポイント
2.8.2 実行の準備
第3章 共有情報ページの理解
3.1 ブート時情報の取り出し
3.2 共有情報ページ
3.3 Xenにおける時間管理
3.4 練習問題:gettimeofday()の実装
第4章 グラントテーブルの使用
4.1 メモリの共有
4.1.1 ページフレームのマッピング
4.1.2 ドメイン間のデータ移転
4.2 デバイスI/Oリング
4.3 パーミッションの付与と取り消し
4.4 練習問題:許可されたページのマッピング
4.5 練習問題:VM間におけるメモリの共有
第5章 Xenメモリ管理の理解
5.1 x86におけるメモリ管理
5.2 疑似物理メモリモデル
5.3 32ビット版x86におけるセグメント化
5.4 Xenによるメモリ支援の使用
5.5 バルーンドライバによるメモリ使用の制御
5.6 その他のメモリ関連オペレーション
5.7 ページテーブルの更新
5.7.1 新規VMインスタンスの作成
5.7.2 ページフォールトの取り扱い
5.7.3 サスペンド、再開、移行
5.8 練習問題:共有情報ページのマッピング

第2部 デバイスI/O
第6章 デバイスドライバの理解
6.1 スプリットドライバモデル
6.2 Domain…0からのドライバの移動
6.3 共有メモリに基づくリングバッファの理解
6.3.1 Xenにおける実装の検討
6.3.2 メモリバリアによるオペレーションの順序付け
6.4 XenBusによるデバイスの接続
6.5 イベント通知の処理
6.6 XenStoreを通じた設定
6.7 練習問題:コンソールデバイス
第7章 イベントチャネルの使用
7.1 イベントと割り込み
7.2 トラップの処理
7.3 イベントの種類
7.4 イベントの要求
7.5 イベントチャネルのVCPUへのバインド
7.6 バインドしたチャネルでのオペレーション
7.7 チャネルステータスの取得
7.8 イベントのマスキング
7.9 イベントとスケジューリング
7.10 練習問題:完全なコンソールドライバ
第8章 XenStoreの仕組み
8.1 XenStoreのインターフェイス
8.2 XenStoreの操作
8.3 XenStoreデバイス
8.4 キーの読み取りと書き込み
8.4.1 ユーザー空間からの使用方法
8.4.2 カーネルからの使用
8.5 その他のオペレーション
第9章 コアデバイスのサポート
9.1 仮想ブロックデバイスドライバ
9.1.1 ブロックデバイスのセットアップ
9.1.2 データ転送
9.2 Xenにおけるネットワーキングの使用
9.2.1 仮想ネットワークインターフェイスドライバ
9.2.2 仮想インターフェイスのセットアップ
9.2.3 送信と受信
9.2.4 NetChannel2
第10章 Xenの他のデバイス
10.1 CDのサポート
10.2 仮想フレームバッファ
10.3 TPMドライバ
10.4 ネイティブハードウェア
10.4.1 PCIのサポート
10.4.2 USBデバイス
10.5 新規デバイスタイプの追加
10.5.1 デバイスのアドバタイズ
10.5.2 リングバッファのセットアップ
10.5.3 注意事項
10.5.4 デバイスへのアクセス
10.5.5 バックエンドの設計

第3部 Xenの内部構造
第11章 Xen API
11.1 XML-RPC
11.1.1 XML-RPCのデータ型
11.1.2 リモートプロシージャコール
11.2 Xenのインターフェイス階層構造
11.3 Xen APIのクラス
11.3.1 Cのバインディング
11.4 xendの機能
11.5 xmのコマンドライン
11.6 Xen CIMプロバイダ
11.7 練習問題:実行されているVMの列挙
11.8 まとめ
第12章 仮想マシンのスケジューリング
12.1 スケジューラインターフェイスの概要
12.2 過去のスケジューラ
12.2.1 SEDF
12.2.2 クレジットスケジューラ
12.3 スケジューラAPIの使用
12.3.1 スケジューラの実行
12.3.2 Domain 0とのやり取り
12.4 練習問題:新しいスケジューラの追加
12.5 まとめ
第13章 HVMのサポート
13.1 未修正オペレーティングシステムの実行
13.2 IntelのVT-xとAMDのSVM
13.3 HVMのデバイスサポート
13.4 ハイブリッド仮想化
13.5 エミュレート版BIOS
13.6 デバイスモデルとレガシーI/Oエミュレーション
13.7 準仮想化I/O
13.8 XenにおけるHVMのサポート
第14章 今後の方向性
14.1 リアルから仮想へ、そして回帰
14.2 エミュレーションと仮想化
14.3 移植の努力
14.4 デスクトップ
14.5 電源管理
14.6 Domain 0の問題
14.7 スタブドメイン
14.8 新しいデバイス
14.9 特殊なアーキテクチャ
14.10 展望

第4部 付録
付録A 準仮想化ゲスト移植の要点
A.1 ドメインビルダ
A.2 ブート環境
A.3 仮想IDTのセットアップ
A.4 ページテーブルの管理
A.5 ドライバ
A.6 Domain 0の責任
A.7 効率
A.8 まとめ
付録B 現在の利用可能な仮想化環境
B.1 Xen
B.1.1 Xenの提供状況
B.1.2 Xenの普及状況
B.1.3 XenとWindows
B.2 VMware
B.2.1 VMware Server
B.2.2 VMware ESX Server
B.3 Hyper-V
B.3.1 Hyper-VとXenの共通点
B.3.2 Xenとの互換性
B.4 BitVisor
B.4.1 セキュリティを重視


どう?目次を見て興奮しない?ボクは実はまだこの書籍を手に入れていないんだ。だから、収入が遭ったらすぐさま買おうと思っている。
という事で、ここから先はボクの想像だから注意してね♪
この書籍はOS仮想化技術を扱ったものだと思うピヨ。Xenがそうなんだからこれについては多分間違えていないと思う。この書籍のチャームポイントは、Xenの実装を解説している唯一の本だという事に尽きると思う。かなりのハッカーでないと、Xenのソースコードを読んで全てを理解できないだろう。それにたとえハッカーだとしても、こういった書籍があれば便利だと思うピヨね。
そこから考えるに、この書籍の使い道は、OS研究仮想化技術の研究だと思う。それから、システム管理者にも役立つかもしれない。昨今は仮想化技術が進んでいるから、マルチOSを実現する際にXenという選択肢は十分ありえると思う。そのような人達が内部構造を知れば、トラブルの対応にも役立つと思うピヨ♪
他にも理屈を色々つけられると思うけど、正直言ってボクが買いたいの一言に尽きるピヨね♪理屈よりも買いたいと感じた人は買っちゃえ♪この手の書籍としては安いほうだしね♪これでXenの内部構造が分かれば、アセンブラを実装して、その上で高級言語を実装し、その言語を使ってOSを実装して、自分で実装した仮想マシンの上で走らせてテストする事が可能になるかもしれない。ああ、夢が広がる・・・
別窓 | 書籍レビュー | コメント:0 | トラックバック:0 | ∧top | under∨
<<中の人の徒然草93 | 無差別に技術をついばむ鳥 | 書籍をつつく22−Java仮想マシン仕様 第2版。仮想マシンの最高峰!>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |