TA的每日心情 | 开心 4 小时前 |
---|
签到天数: 271 天 [LV.8]以坛为家I
管理员
- 积分
- 9389
|
Java电子书:QEMU/KVM源码解析与应用 PDF 电子书 Java吧 java8.com
7 p' @+ s8 }1 ]% v
5 e; E) c" V# R0 w作者:李强出版社:机械工业出版社出版时间:2021年01月
0 D( b8 D/ e/ U( C# o+ A/ r! e( ^6 }. ^8 v) J
编号:166-Java吧资源免费-X0159【Java吧 java8.com】( c) [ Y8 s7 e4 q
6 S, y( _3 O' \- E8 V9 C
: e/ H, N( E( \
+ I$ V/ m9 B' N4 p' g) @- o- q目录:+ Z# L9 r( X! X/ o4 @$ [* S
第1章 QEMU与KVM概述1' o0 Y* ?4 f0 P" D* \
1.1 虚拟化简介1. a4 b1 C5 s5 ^: m y
1.1.1 虚拟化思想1
0 A2 d: R+ L }1.1.2 虚拟机简介2
, E5 t. q: H0 l( x" c9 s1.1.3 系统虚拟化的历史3
' Z0 J7 Y8 |8 C) G1.2 QEMU与KVM架构介绍4/ ^# [8 `% n' Z+ N) i' H( ?
1.2.1 QEMU与KVM历史4& }8 ^$ k0 W) E4 e. n. O& r
1.2.2 QEMU与KVM架构5
4 X' d0 ] M+ g# v$ u1.3 KVM API使用实例8
- R/ Q5 G9 b# _3 |- E! @4 X. a0 b6 A第2章 QEMU基本组件12' e+ w" H$ ^6 S7 X: F% ` I
2.1 QEMU事件循环机制12
/ j' O+ }3 H% p, Y+ f4 U, Q5 N2.1.1 glib事件循环机制12
7 f+ h0 Z# `9 Y- {2.1.2 QEMU中的事件循环机制13
c/ A6 o6 w) u/ Q0 c2 E$ K3 x2.1.3 QEMU自定义事件源17
0 Y/ U" Q/ c4 h' V$ f M2.1.4 QEMU事件处理过程219 Z# D: {9 e3 k$ E" O! ]
2.1.5 QEMU主循环监听的fd解析23, x4 x3 k3 l4 o7 g9 }
2.2 QEMU线程模型25/ i0 E, J! d% s6 H Q
2.2.1 QEMU线程模型简介25
6 x) |& g: ^* S5 L3 O' E. T2.2.2 QEMU线程介绍26
* T9 @6 h+ D v; {, F3 u6 f% \2.3 QEMU参数解析27
- a: P6 u; S8 e6 e: y- n) Q2.4 QOM介绍32
$ a p* P% \4 C# {1 I# \2.4.1 类型的注册33
" ?( O3 ^1 k# z) J" ~* P" N' I; r2.4.2 类型的初始化36- K; M9 x% W- ]
2.4.3 类型的层次结构39
7 ?( n$ q+ |3 L) a4 x$ z9 ?- T2.4.4 对象的构造与初始化42
8 ~; [9 e9 `9 ?9 ]2.4.5 属性44
2 L y# C% [( h" s0 X# d3 `2.5 hmp与qmp介绍52
: X+ R* \/ s/ G5 i C, V2.5.1 hmp与qmp52) K9 w* r* V5 W/ U, a+ x! X
2.5.2 qmp的使用53! j2 c- d* `* y. G% R: U! X, @
2.5.3 qmp源码分析540 Z3 d5 j8 B$ g
2.5.4 qmp命令添加56
: C4 c; Q7 a) a2 |- ?" h+ U, E3 H( s2 W第3章 主板与固件模拟58
% j- k- P( n* h" v3.1 Intel 440FX主板简介58
4 ^4 n4 q6 R1 I! x; v) o7 P0 Y3.1.1 i440fx与piix3介绍58
9 L5 A3 V0 W6 k* y2 b3.1.2 QEMU模拟主板架构59
* W, q8 z( o" W- T2 A3.2 QEMU的主板模拟与初始化61% P8 h! D& x2 n) R
3.2.1 虚拟机初始化61
, A- S- \" Z; \3.2.2 i440fx初始化64
- }' F: N: ^% E) \- l1 h3.2.3 中断和其他设备的初始化66- |4 h7 g8 i9 v
3.3 fw_cfg设备介绍67
# P# W5 A) _) n0 e+ _3.3.1 fw_cfg设备的初始化670 _3 k' c! q0 S- h3 H/ m9 [, b7 r2 G
3.3.2 向fw_cfg设备添加数据69/ N" z9 Y5 w: W# h0 j) s" b
3.3.3 添加用户自定义数据74
2 b" p2 c! D: O2 L" I3.3.4 数据的读取75
4 c" i) E- v! u8 \8 E3 ]- b3.4 SeaBIOS分析791 E9 E# t# g2 N
3.4.1 SeaBIOS简介795 H2 w2 [6 k( |; z+ c2 a
3.4.2 QEMU加载SeaBIOS80
. ?7 q4 W- S, r8 z# x: H3.4.3 SeaBIOS源码结构841 y6 C1 a" ?: Z+ _
3.4.4 SeaBIOS的编译与调试91
( H0 Z) W7 y) ~# D. U1 y( h( t第4章 CPU虚拟化932 V# I+ ^2 h6 r
4.1 CPU虚拟化介绍93; A' y2 N; x, O2 B" G* { D2 V
4.1.1 CPU虚拟化简介93
( T( S3 @/ z, _- H9 ~+ M0 O8 J4.1.2 VMX架构简介93
3 q$ g) {% k" _% x* _: [4.1.3 VMCS介绍94
- P2 Z. t" b- K$ }( }& N: `* K4.2 KVM模块初始化介绍976 r$ ~3 R6 I6 L
4.2.1 KVM源码组织97
# ~$ Y. O& Y% @% n, q0 ?8 q4.2.2 KVM模块初始化98
" m& ]* f, U! ]% A. M4 X4.3 虚拟机的创建105* X5 P" X9 f7 d' v, i
4.3.1 QEMU侧虚拟机的创建105
, Z+ ~ M# L5 k6 |2 z. _* _% y4.3.2 KVM侧虚拟机的创建107
# v+ _1 N' V0 N9 ?8 b) j' }4.4 QEMU CPU的创建110
/ j! n" H J5 S2 `( e( x4.4.1 CPU模型定义110
! o+ ^4 p n5 K4.4.2 CPU对象的初始化1134 }% K3 S) ]: @
4.4.3 CPU的创建1208 l4 p9 M4 v% E! p
4.5 KVM CPU的创建122! M7 x; G; F. n1 Q( m6 D% Z& ?4 x
4.5.1 KVM创建VCPU流程122( L$ Z' T* ^$ n, P0 c1 o
4.5.2 QEMU与KVM之间的共享$ r% v% `7 U4 J
数据126
; `# y. M6 F o. @' y4.5.3 VCPU CPUID构造128, B) Z8 k8 m9 f1 Q- o
4.6 VCPU的运行133
, e& h' @- x* R$ }; Z2 u5 H4.7 VCPU的调度144
8 X* }- a) C4 y第5章 内存虚拟化149$ w/ b7 f9 y3 k- X
5.1 内存虚拟化简介149 h8 {8 @; b* D! P2 N9 n* e0 R( N- }0 W! o
5.2 QEMU内存初始化150, L) O V: \* ]) y+ X: |
5.2.1 基本结构1508 H/ f' v m/ f1 Y7 V& z0 L
5.2.2 QEMU虚拟机内存初始化1549 a* m# U0 a) O3 U6 }. \9 z9 |
5.2.3 分配虚拟机RAM过程157
1 p9 m _6 t& b( u5.3 内存布局的提交161% Y1 k( F* n9 v
5.3.1 内存更改通知161
! h A# [; E* f$ _4 N# r+ T0 c$ \5.3.2 虚拟机内存平坦化过程164
: \2 a% ?+ d0 z6 M5.3.3 向KVM注册内存169
" P, O9 ~/ D e5 z. i8 ?( W5.4 内存的分派1749 U5 r% J+ j) a4 D) k0 _* I
5.4.1 内存分派表的构建174% C1 g/ G7 [8 w1 |
5.4.2 页表简化182
F4 S: P( D; A3 H, S6 Z5.4.3 地址分派184* {5 k) v' E i- _( G/ \8 C
5.5 KVM内存虚拟化186
* I6 ^, {2 v1 T+ C) V5.5.1 虚拟机MMU初始化1861 }/ b+ m' C! v# K( F' v
5.5.2 虚拟机物理地址的设置189; L) n' F2 `& x
5.5.3 EPT页表的构建1935 L! I* ?; q8 L5 d, _9 f
5.6 MMIO机制200
1 o5 H' \# L9 f# K" w: C% |5.6.1 虚拟设备MMIO实现原理200
" [$ ?1 N' S/ d8 e( ?# J5.6.2 coalesced MMIO203
5 @) v! ~' g& y5.7 虚拟机脏页跟踪2055 e6 |/ q9 Q$ J; u
第6章 中断虚拟化210
r4 \$ Q* M" k; e# H9 g6.1 中断机制简介2109 P/ x9 {& i2 m& @$ q! u
6.1.1 中断分发方式210
) q3 l1 J" L8 g9 x6.1.2 中断线与中断向量2116 m$ @7 D9 G2 X& i, w6 @4 e
6.2 中断模拟211
& V* |" T) ?" ]3 |6.2.1 虚拟化环境下的中断注入212. V! r- [) E: ~% d8 _7 N$ ?' T; {% w5 Z
6.2.2 PIC中断模拟2146 z- R( l) t0 b/ l7 [! N" l5 A
6.2.3 I/O APIC中断模拟2251 a3 a7 L+ c6 @) `3 A; n" p$ [
6.2.4 MSI中断模拟234
9 W: O( ^; C4 N( T. |- G1 V9 b7 X6.3 APIC虚拟化236
( o* o8 _! I% n& |* h) `4 b6.3.1 APICv简介2364 R& q- o" i9 j- t, r: r- i
6.3.2 APICv源码分析238
" H: h+ f- g1 a$ u( `/ T, v第7章 设备虚拟化245
) K0 T; R3 F' q3 S3 L( q1 F$ t x7.1 设备虚拟化简介245% O( f1 p* w& s* E9 R8 k: \
7.1.1 总线数据类型245
; {8 o$ {9 O+ ?0 k+ s h! _7.1.2 总线的创建248/ y3 g5 O5 A$ j: h( }+ D
7.1.3 设备数据类型249
7 Z5 b0 Z9 }( G% c# Q0 Y7.1.4 设备的创建251
' H: L4 S9 N: l% G' M, J( j7.1.5 设备的树形结构2525 |- C3 X- a5 A* R% x2 |! e
7.2 PCI设备模拟258% A7 e& J0 N+ | j
7.2.1 PCI设备简介258" f3 f2 k/ l" Y K8 V* Z
7.2.2 PCI设备的模拟260
$ a5 v2 w3 C4 L& Q* r) b7.2.3 PCI设备中断模拟270
* \5 q3 ^7 Q. B& r5 C+ q7.3 设备模拟后端274
: ?# v& L- M# v7.3.1 网卡模拟介绍2750 m y5 S+ `7 G0 l% x+ e- ^
7.3.2 网卡参数解析277
! j4 }# ^0 U3 M' z Y0 A. V: S. [% y7.3.3 前端网卡设备的创建286
& g* q! i0 X! }+ G, Z. H+ c8 H7.3.4 虚拟机网卡发包流程294
6 l' ?4 E. Z# f& O: n7.3.5 虚拟机网卡接收数据包297
" {5 C0 e4 _2 ^& `& Y2 q+ I7.4 virtio设备模拟2980 L4 b0 q, w' f" u( \
7.4.1 virtio简介298
& a: f" A3 |" r9 t" ^7.4.2 virtio设备的初始化300
# P) l. q3 T, y7.4.3 virtio驱动的加载314
% g4 Y, H" _$ H* a7.4.4 virtio驱动的初始化320
$ P6 L8 Y& P% E7 \) e7.4.5 virtio设备与驱动的通信330
: e0 w6 e& g, |. v* [4 O a' V' x7.5 ioeventfd和irqfd347. V5 e; B! m+ c
7.5.1 eventfd原理347, y, i2 N- C1 O
7.5.2 ioeventfd351" |. Z7 z) d$ W/ j S
7.5.3 irqfd3580 S$ Y2 }! @4 z2 [, Z* ~
7.6 vhost net简介362" ^- w* i! ~4 g& e. x/ ^( a
7.6.1 vhost net介绍3624 v/ }6 N5 v2 q; s) [4 d2 w1 u
7.6.2 vhost的初始化363' ?. a$ G; e( J" [- |
7.6.3 vhost net网络模块367) a p/ ]* n5 E( |' Q
7.6.4 vhost net的启动3765 k k+ A1 E% F3 |
7.6.5 vhost net的收发包378
l) d& o1 [6 W" ^7.7 设备直通与VFIO380
, Q/ \/ v# J: W% W" R) r; \7.7.1 VFIO简介380 java8.com
) S; o4 M5 M9 q+ V$ M6 O0 q! u7.7.2 VFIO相关内核模块分析387
9 w. ?1 o& z; `" U: u8 J7.7.3 VFIO与设备直通4047 i3 \8 c1 \% m, V9 I0 _2 W
第8章 虚拟化杂项425
$ H% V( p0 g! L m8.1 QEMU Guest Agent425
- W1 `1 i7 B- H( x% Y2 O8.1.1 QEMU Guest Agent的使用425) f/ y( V1 s, p; d
8.1.2 qga源码分析426
4 P5 M0 y4 E) u4 S5 {4 f8.1.3 qga的QEMU侧源码解析431, o4 C! T; E; B: e5 _. y
8.2 QEMU虚拟机热迁移4391 y# d3 N; k( R9 x6 ?2 W
8.2.1 热迁移的用法与基本原理4390 B2 \( v( l& {' o( v" P
8.2.2 热迁移流程分析441
4 u- V6 N! w2 m, T3 u+ O8.2.3 热迁移中的脏页同步454% A1 o$ g% n$ e1 Z. b
8.2.4 热迁移中的相关参数控制459) t+ E- R$ B+ c: q; ]8 j& Z/ g
8.3 QEMU及虚拟化安全460
" o1 D8 u# Q4 o$ O# I* @8.3.1 QEMU软件安全460; s7 D1 f4 e2 U C! P* j8 ?' k
8.3.2 QEMU安全思考466
' a) ^# ?/ r4 H {8.4 容器与虚拟化466$ v% I" J) Y$ G' x
8.4.1 Docker容器4675 O: K) I W: v; y
8.4.2 gVisor467
H8 P9 e! L8 ~& o3 R8.4.3 nemu468
, U) U0 x- c! R1 t% R' }5 Q8.4.4 crosvm、Firecracker与0 \# v* a$ _& I+ p' l# {8 D$ i
cloud-hypervisor468) u% G2 S$ _: X" I
附录 重要术语4707 E& s4 K6 ` Z) U( m8 ]: g: G ~; y
! R: c" w; B5 X& r+ P/ V% V* m# E 百度云盘下载地址(完全免费-绝无套路):
& \0 q1 F/ F# |- a% |: c3 @ H+ W
G8 ]- n) a6 Q* b1 P8 z
, [5 L: a5 z& u/ R+ v7 @) M1 l8 `2 S7 \
# f" Q: L) Z& Y/ f
) w) M8 ~7 O* L+ ]2 o
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|