TA的每日心情 | 开心 29 分钟前 |
---|
签到天数: 235 天 [LV.7]常住居民III
管理员
- 积分
- 8328
|
Java电子书:QEMU/KVM源码解析与应用 PDF 电子书 Java吧 java8.com! y6 \! L9 C4 o/ e- z
8 ?& _8 x0 b" F8 T# b3 b作者:李强出版社:机械工业出版社出版时间:2021年01月
1 H! Z/ I; J. T" `: U$ o, f0 l a6 Q( a; v6 \0 v$ S0 g
编号:166-Java吧资源免费-X0159【Java吧 java8.com】 x5 U2 @% I7 a; Q7 h: L
1 q; G$ M0 w9 U8 Y' s% \- B
0 [* p; I' [: y" H( {0 r5 t+ q2 e, I5 B$ `, V
目录:
, \2 _- M+ m. R! u$ ]第1章 QEMU与KVM概述1
4 ~$ b2 s# j4 m+ x; _1 b1.1 虚拟化简介1, @/ ~* @# z3 C7 q
1.1.1 虚拟化思想1
: c/ a4 K3 r8 W3 H: S6 O1 E1.1.2 虚拟机简介2) D5 W! a* p" A; W+ v, K/ s
1.1.3 系统虚拟化的历史3
1 \& ~# x$ I) r j; G1.2 QEMU与KVM架构介绍4
u& h6 T: E* r( E% D1.2.1 QEMU与KVM历史4; P$ _7 ^. W7 q% O8 O
1.2.2 QEMU与KVM架构52 s+ M2 N* w3 I6 b/ H5 d; g0 z
1.3 KVM API使用实例8
E- u o" W% b/ N) b. {% y+ k第2章 QEMU基本组件12- F5 R1 O2 v0 n; R3 q4 N
2.1 QEMU事件循环机制12
& M% l, {/ Z7 @, u. w+ k' W2.1.1 glib事件循环机制12
: ]: X E% L$ N) O2.1.2 QEMU中的事件循环机制130 F' f7 M5 p5 }( Z7 p9 z, I4 @
2.1.3 QEMU自定义事件源17$ ?: g7 C& `# Q
2.1.4 QEMU事件处理过程21
0 ?! g" Z/ w, A2 m( r2.1.5 QEMU主循环监听的fd解析23
0 M J' I' x/ T/ J4 J+ q7 q2.2 QEMU线程模型25
+ p' N5 S# u. f3 v% k. H- h Z9 ~: _2.2.1 QEMU线程模型简介256 _* x* M4 ^) f+ k2 g6 _
2.2.2 QEMU线程介绍26
5 w% J: Z* F- T$ e. g1 k7 A5 ~2.3 QEMU参数解析27
8 ?: s. {/ z- Z2.4 QOM介绍326 Q& ?+ l: E! B# u- `) r0 M7 i, J
2.4.1 类型的注册33
) P, O- `$ f+ ?. A4 b5 o9 ^2.4.2 类型的初始化36
+ S, n' `) r9 }. P r% m2.4.3 类型的层次结构39% n5 z. t r% e% I
2.4.4 对象的构造与初始化42
5 S. v& _$ v9 T, z! `+ q2.4.5 属性44
* R9 j% ]" F- I; g' D: v9 s2.5 hmp与qmp介绍52
: W; \7 K, B+ K2.5.1 hmp与qmp526 w+ B. O N& \
2.5.2 qmp的使用53
0 s7 _* y6 E5 ]8 s2.5.3 qmp源码分析54; n `8 C/ B! C' _
2.5.4 qmp命令添加56
! Q' h0 \% r- A9 q( b: I第3章 主板与固件模拟58
9 {& D# E3 n2 J' Y' t8 w3.1 Intel 440FX主板简介58! [/ w7 E7 o! q5 \' M
3.1.1 i440fx与piix3介绍58
: ?6 F& e/ ?/ u0 z7 e% N" g3.1.2 QEMU模拟主板架构59; s( w: \* W, @
3.2 QEMU的主板模拟与初始化613 b& W. n: P4 d X% p3 W
3.2.1 虚拟机初始化61
" I* _2 I8 R+ Z# o+ |% Y3.2.2 i440fx初始化64! s) A% B& p& C
3.2.3 中断和其他设备的初始化66
+ ^* Z0 k! J- n* y) \; x+ ?3.3 fw_cfg设备介绍67, d) U( ^$ G; K" z/ p8 w1 p
3.3.1 fw_cfg设备的初始化67
4 i0 J( E$ A' R3.3.2 向fw_cfg设备添加数据69) F0 u8 `2 \' y ^+ Y, V6 h
3.3.3 添加用户自定义数据74: q/ q( F1 M/ q# i! H/ Z8 H
3.3.4 数据的读取75& @, h2 n! K1 v9 h
3.4 SeaBIOS分析797 ^1 k, O6 I8 @- w- E6 q% {
3.4.1 SeaBIOS简介79
+ Y' }" H0 A4 |) g3.4.2 QEMU加载SeaBIOS80
4 }7 m% [6 j; _, P, q i3.4.3 SeaBIOS源码结构84- f" W, k0 Y" _) Y4 [, [
3.4.4 SeaBIOS的编译与调试91( X% I9 ~. x ? a
第4章 CPU虚拟化93' P6 g% z0 f# B2 b8 P% e! y
4.1 CPU虚拟化介绍93
, m* Z: D* q$ K0 _6 a7 m. ]4.1.1 CPU虚拟化简介937 w+ Y8 }9 J9 C& W# w4 }
4.1.2 VMX架构简介93
; F; N& u# q: N2 L+ r4.1.3 VMCS介绍94
1 U$ F# M' X" s. m4.2 KVM模块初始化介绍97, | P' W. l& r: L
4.2.1 KVM源码组织97
% I( @" W# M" {4.2.2 KVM模块初始化98' G6 V2 K9 W( Z" M7 q& L
4.3 虚拟机的创建105
; g" s% h8 P( B7 u" F4.3.1 QEMU侧虚拟机的创建105" s" P: ^) A+ ?" x0 P
4.3.2 KVM侧虚拟机的创建107
) v' a# ^1 I/ g. c0 H/ W2 M4.4 QEMU CPU的创建110
$ u# a2 q) }6 `8 t5 J( S4.4.1 CPU模型定义110
4 j+ l7 i" y" k" e. N4.4.2 CPU对象的初始化1132 |; _3 C* L' ?/ g8 i% f: u _! F
4.4.3 CPU的创建120
; M( P' X! [0 d5 |, I, E4.5 KVM CPU的创建122: H; z5 J7 E& Y! j s
4.5.1 KVM创建VCPU流程122
' q" V0 m$ q7 ~: [! Z! n* n4.5.2 QEMU与KVM之间的共享3 ?0 u2 ]$ D% n$ x. k, m
数据1265 J I( X- V" d% y
4.5.3 VCPU CPUID构造128
. J/ ]# D, y0 @4 \% z9 m, g4.6 VCPU的运行133! H. V, J8 N1 u; c
4.7 VCPU的调度144$ l( P- [. @' j; q+ d. N: Z* |% c
第5章 内存虚拟化149
$ h" c [9 I8 A+ W5.1 内存虚拟化简介149
' T( p1 e: V- a( ]& i! Z5.2 QEMU内存初始化150
' d. y& J ^1 l* t) V5.2.1 基本结构150" H& [( R7 Q, b! [# ]9 k
5.2.2 QEMU虚拟机内存初始化154
0 C5 c, j4 L, S; f5.2.3 分配虚拟机RAM过程157) g% q/ q, ^, p, D
5.3 内存布局的提交161 K( r8 H9 n. ?2 L6 A
5.3.1 内存更改通知161
$ A8 q8 ~7 [' n4 M; k0 \4 \- K5.3.2 虚拟机内存平坦化过程164
- O2 a- E. c) z! @$ {5.3.3 向KVM注册内存169
( W' N% l0 t- L; n2 q+ k* U. e5.4 内存的分派174
/ i& }2 f( W% k$ w- N/ u1 B) d3 X+ A5.4.1 内存分派表的构建174
1 T- \- M5 z2 A1 t5 K7 Y# |5.4.2 页表简化182
9 C i3 R% V- _' H' ^4 w5.4.3 地址分派184
) Z: ?9 ^6 g' E5 S: V- L+ U/ B# n5.5 KVM内存虚拟化186
. Z/ x: \3 Q0 U: v5 a u. ~6 M5.5.1 虚拟机MMU初始化1868 c$ I/ ^9 Z. d7 s: r+ B# Z2 l
5.5.2 虚拟机物理地址的设置189! n9 D/ B {; E' [& w! f
5.5.3 EPT页表的构建193
( I- i' D9 K: {! V+ k5.6 MMIO机制2001 R$ U( ^; O- f) t
5.6.1 虚拟设备MMIO实现原理200% r' _7 Q$ P3 j1 G* d, B( Z
5.6.2 coalesced MMIO203
% z, b# n" {/ Z" y7 w$ a0 D0 T5.7 虚拟机脏页跟踪205
, z$ e. V; N2 D$ _4 C0 l2 g第6章 中断虚拟化210
( d3 G n3 s9 ]" m: D w) O* I. n6.1 中断机制简介210
# D0 J! o& t+ j6.1.1 中断分发方式210
. e6 m7 k! k1 i4 _6.1.2 中断线与中断向量2111 ` Y% R9 B* h/ a
6.2 中断模拟211! w C) ?. Q2 [5 x7 |3 L- K
6.2.1 虚拟化环境下的中断注入212( q) {% C. `8 j; N- k; I- ^
6.2.2 PIC中断模拟2140 n6 z1 v( @) v) O
6.2.3 I/O APIC中断模拟225
: A4 N) J W! O- r7 m: H7 k% Z2 O5 J) i6.2.4 MSI中断模拟234
$ A0 P; O g. n2 G% K6.3 APIC虚拟化236$ _. }1 j0 ^/ o w" u
6.3.1 APICv简介236
& g1 W! q2 Q L$ Y) k6.3.2 APICv源码分析2387 C1 J, ^7 W: V3 N" ~! a( A6 Q
第7章 设备虚拟化245
, O" t8 O ]8 M7 J W7 x7.1 设备虚拟化简介245/ }3 t4 t3 g0 {: b. d. R& y
7.1.1 总线数据类型2452 a% M. a' s6 R& s0 o
7.1.2 总线的创建248 _9 t6 K7 N6 x' x3 O
7.1.3 设备数据类型249. H% c7 B* i9 B; q5 x* M
7.1.4 设备的创建2512 U' Q D$ |- I$ ~; t3 f
7.1.5 设备的树形结构252 D' J3 D2 c7 `+ Q( e X8 x
7.2 PCI设备模拟258
2 I$ @4 ]$ T3 U( A% E& C7.2.1 PCI设备简介2585 y8 F3 v( q4 v n* c& Q
7.2.2 PCI设备的模拟260* |( [" \' E! d4 }
7.2.3 PCI设备中断模拟2702 ^% @5 `9 H1 g: p* T2 H, I' t+ y
7.3 设备模拟后端274
5 P0 F. K: j: {; A# l7.3.1 网卡模拟介绍2754 r3 G* Z' U' l3 G9 G
7.3.2 网卡参数解析277* a v; @3 v: p, [6 h
7.3.3 前端网卡设备的创建286
- e$ P: T5 P" k9 [/ }0 u2 x+ @, m7.3.4 虚拟机网卡发包流程2941 [! w8 [" B; Y' a- ~
7.3.5 虚拟机网卡接收数据包297+ b5 R2 T2 j3 _2 a7 y
7.4 virtio设备模拟298$ ^9 k, O8 @( d$ X" _
7.4.1 virtio简介298$ T' b( o! m! W" ^* B
7.4.2 virtio设备的初始化300
7 U% V) ~' B% {( w; W3 U+ v" D7.4.3 virtio驱动的加载314
$ y& e/ K+ E- W6 G7.4.4 virtio驱动的初始化3205 v1 R0 J2 l; p1 a
7.4.5 virtio设备与驱动的通信3308 x$ _% q! R8 F
7.5 ioeventfd和irqfd347; ]! F4 g U. S% q7 H/ i: m: n
7.5.1 eventfd原理347. ^4 }; i4 R# w. d
7.5.2 ioeventfd351. w9 \, A/ B$ |+ k+ G
7.5.3 irqfd3584 E' b& {4 |3 d5 ?' [7 l; L
7.6 vhost net简介362
( J; j c e/ B% R+ _4 P3 P. P7.6.1 vhost net介绍362
$ u1 K9 P6 z* m) c) k7.6.2 vhost的初始化3635 _/ @, c" f, R1 O8 I$ A, e' I0 D
7.6.3 vhost net网络模块367& i& C6 P8 q4 g: x) W
7.6.4 vhost net的启动376
+ Q+ S8 V$ F, w7.6.5 vhost net的收发包3786 p$ H8 h0 c6 s' G
7.7 设备直通与VFIO380/ o6 a7 o1 J+ r* U. v) z) A6 C, J
7.7.1 VFIO简介380 java8.com: X' z' C: R9 @7 T
7.7.2 VFIO相关内核模块分析387! f: y% E! F$ g$ r- K1 P, U* O1 {
7.7.3 VFIO与设备直通404
( g) F, w1 ^( g5 w2 Q第8章 虚拟化杂项4255 }2 M4 I0 `% j. i( v3 _( _
8.1 QEMU Guest Agent425
! R' m, `7 y7 _" ]7 v$ O% D8.1.1 QEMU Guest Agent的使用425: H- `- H# c5 j
8.1.2 qga源码分析4265 x, C9 t! M; @3 H5 n
8.1.3 qga的QEMU侧源码解析4316 P3 A1 c1 K4 m5 G- P: L0 S; y
8.2 QEMU虚拟机热迁移439" }3 Y% g: } y2 b/ y
8.2.1 热迁移的用法与基本原理4396 ]3 G) k$ l* I- H1 e. `
8.2.2 热迁移流程分析441
8 z$ p6 L U& X+ Q3 I; ^8.2.3 热迁移中的脏页同步4541 s; L& x) h2 O( ~- \* {6 w, g4 V" A" |+ i
8.2.4 热迁移中的相关参数控制459
1 s" O2 E: D5 p9 {" m. E! u8.3 QEMU及虚拟化安全460
2 A2 D3 \/ i/ B! F, e2 F) |& ~( t8.3.1 QEMU软件安全460
. n- ]) U7 S* L+ _1 j5 O6 J8.3.2 QEMU安全思考466
0 l+ L+ b$ A3 t" S c8.4 容器与虚拟化466( p% c4 W7 D' m7 i6 u+ B: X2 z! v
8.4.1 Docker容器467$ H; L) y e6 S
8.4.2 gVisor467
4 ~6 L) {& U, J% D( W5 J8.4.3 nemu468
; c, E0 N! g, j- R+ ]1 T) `( a8.4.4 crosvm、Firecracker与( L, Q# p# @8 Z" L! Q: j7 s
cloud-hypervisor468
: U5 {, I \8 f) ^" S附录 重要术语470$ a0 r1 z* r9 C8 P* \
; M1 W& F* W! {2 Y+ S 百度云盘下载地址(完全免费-绝无套路):
7 X( D; E. T+ ?
- K3 i A7 x- b" y% _2 i) t9 K8 L; O* @* I0 _
% X! p0 @3 {( l0 t% H2 Z) `
; C. e+ J4 h% E3 Y( F5 P* f* G v) a5 Q2 E P# J
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|