TA的每日心情 | 开心 1 小时前 |
---|
签到天数: 385 天 [LV.9]以坛为家II
管理员
- 积分
- 12700
|
Java电子书:深度探索Linux系统虚拟化:原理与实现 PDF 电子书 Java吧 java8.com
* ~' g/ M( u4 v3 O& I# \; G, j% N2 R6 p+ M" D6 x. ?
作者:王柏生 谢广军出版社:机械工业出版社出版时间:2020年10月
0 A) Z- D% @; S+ ?( T* a0 o' `1 W6 T# h) j4 ^* j- n
编号:166-Java吧资源免费-X0148【Java吧 java8.com】
" |* h7 T" n7 o- Y- j6 K3 B: R+ O8 b
' i5 ~8 r# x8 h
6 B! A" t# F; {1 {4 H7 d, G目录:: X$ K k7 Z/ e4 x5 @$ C
第1章 CPU虚拟化 1, Y6 D) Y1 x4 J y
1.1 x86架构CPU虚拟化 1
) A% |, Q/ \" |! e1.1.1 陷入和模拟模型 25 F9 i2 f* B+ V8 ?
1.1.2 x86架构虚拟化的障碍 2
4 _9 E( b& m; N1.1.3 VMX 3+ H& ~. x) a# |, A: W) q9 V# t
1.1.4 VCPU生命周期 58 W& ]6 S2 c. a8 [8 ]
1.2 虚拟机切入和退出 8/ k H7 D% \. z1 o
1.2.1 GCC内联汇编 8
. n: l7 _5 Z4 M9 U+ M1.2.2 虚拟机切入和退出及相关的上下文保存 104 c" v# |; r' q/ p
1.3 陷入和模拟 15* E) |2 a% {# l' t4 i( W& R0 \$ F
1.3.1 访问外设 15) Y( f: h! l9 G" L6 i2 l
1.3.2 特殊指令 22: X, l. f+ I1 T) q1 C
1.3.3 访问具有副作用的寄存器 27
. M; s8 n; z0 {& h4 _5 d1.4 对称多处理器虚拟化 28 |6 Q! B7 B0 x. A7 z
1.4.1 MP Table 28
& {$ G) I4 c. y8 Q! g1.4.2 处理器启动过程 33
* t' P( Y! O/ Q- q" H1.5 一个简单KVM用户空间实例 41! \: s+ D' W* p+ _
1.5.1 创建虚拟机实例 437 x: f/ k: g0 ]! S
1.5.2 创建内存 43$ Y3 a/ R0 Z' e8 Z, x
1.5.3 创建处理器 44
4 t \9 s2 ?3 U' Z1.5.4 Guest 467 g* Y4 x) e' b) p" ^8 J5 j- N/ q; A$ `
1.5.5 加载Guest镜像到内存 47
7 i3 l; Z( ^% B' { U1.5.6 运行虚拟机 47- `1 g) I. n5 Y" K7 U
第2章 内存虚拟化 49
' p1 e' I: H( Z7 {1 _2.1 内存寻址 493 @% S8 {9 S3 [4 F3 @
2.1.1 段式寻址 50
/ u- r. H7 d. L5 U/ L# |2.1.2 平坦内存模型 502 [% h5 r b2 @3 e, ^/ ~9 s
2.1.3 页式寻址 540 D! w; i x0 r1 i2 o- t* s3 t
2.1.4 页式寻址实例 55/ C5 t9 e9 E4 z9 g$ z; U' s
2.2 VMM为Guest准备物理内存 61! c: J+ T/ Q2 F, R$ y
2.2.1 内核是如何获取内存的 620 x) l( K6 }) y/ c/ p$ |
2.2.2 建立内存段信息 64
6 u9 T3 d: b, e8 a* A- Z, @2.2.3 准备中断0x15的处理函数以及设置IVT 65
4 }9 W: g0 n& V P4 T6 r( o2.2.4 中断0x15的处理函数实现 68
) s8 |/ x( k1 G/ U2.2.5 虚拟内存条 693 f1 u4 W* M, n1 Z+ J
2.3 实模式Guest的寻址 72* }0 o5 X( M- W) O
2.3.1 设置CPU运行于Virtual-8086模式 74
1 ?. H1 Y2 V; o2 n5 G6 r2.3.2 设置Guest模式下的cr3寄存器 75+ r( t+ W- i! p0 S7 n' y
2.3.3 虚拟MMU的上下文 75
# w8 [5 V7 Y" V0 Z) Q+ n2.3.4 缺页异常处理 770 t+ X9 ~$ }, Z) R+ g9 w
2.4 保护模式Guest的寻址 819 d4 J: e, W, }, O6 x% z
2.4.1 偷梁换柱cr3 83
; d# \- q( W( q9 _( @0 L/ t2.4.2 影子页表缺页异常处理 86( r/ [+ G7 j6 J& w, L3 ?
2.5 EPT 92
% c4 H- k$ Z0 n, b" v2.5.1 设置EPT页表 93
; k/ B4 F- I0 K6 f, i2 q5 D' R0 v5 H" n2.5.2 EPT异常处理 95
6 H( e9 V, w" ]2 G" `0 o* ?; A# F0 O2.5.3 EPT支持下的地址翻译过程 97+ q" q, F3 @; F
第3章 中断虚拟化 99
6 v1 }; o9 \) @; V1 g3.1 虚拟中断 99
$ m! I7 D% H2 [1 ]3.2 PIC虚拟化 1024 @/ U+ ~" y. D) e7 \. i. o& V
3.2.1 可编程中断控制器8259A 103% C3 s, C! H- q3 b6 R8 F8 ]6 g
3.2.2 虚拟设备向PIC发送中断请求 106
( z2 j! r: J) W# H2 Z, Y3.2.3 记录中断到IRR 107
( A$ m/ J; v4 t0 E1 Q3 } k! e+ k3.2.4 设置待处理中断标识 108
; Y6 p u8 d" f" T$ g% v2 g$ ?4 [( F3.2.5 中断评估 110
7 |6 |8 i. U" T+ g# q3.2.6 中断ACK 112) |+ A: j$ B, R# l, g+ u! V7 R6 X
3.2.7 关于EOI的处理 1132 D% ?3 V; g% y$ e$ z ~
3.2.8 中断注入 114
3 O) H% ?+ \, F' i3.3 APIC虚拟化 116+ J8 {0 t! d6 M& g w
3.3.1 外设中断过程 118
/ }; t% y X$ h% j3.3.2 核间中断过程 123; S9 V! k v( ~+ N$ z& s
3.3.3 IRQ routing 1251 I; q- V4 s- N0 X' n
3.4 MSI(X)虚拟化 128 @/ [. c" f: x% `
3.4.1 MSI(X)Capability数据结构 129
+ o5 M4 Y$ H+ g5 k. k3.4.2 建立IRQ routing表项 131% I J8 G$ l# V e4 P
3.4.3 MSI设备中断过程 1321 X7 Q" |7 k1 x& u
3.5 硬件虚拟化支持 1341 u0 s0 V9 D' W/ Y3 Q6 F
3.5.1 虚拟中断寄存器页面(virtual-APIC page) 134, n* ]% Y) k t& Q# D$ y( b
3.5.2 Guest模式下的中断评估逻辑 136* x; l' T7 t! j" c9 W8 m
3.5.3 posted-interrupt processing 139- G' b# |! a" b, B+ G8 f% Y
第4章 设备虚拟化 142
, W7 Z7 p/ w; i! f, K7 b4.1 设备虚拟化模型演进 142& ^3 u4 H/ I! x5 ~, c2 l0 a, @
4.2 PCI配置空间及其模拟 144; P) B& e: B; e1 S4 Y6 p/ \( A5 }
4.3 设备透传 1524 v6 V# m8 }9 e- P5 w
4.3.1 虚拟配置空间 153: c# H' \& r3 Y2 w* F- S
4.3.2 DMA重映射 157. n+ z' ?7 b6 o( d$ c0 d
4.3.3 中断重映射 160
/ V+ R1 @! u, b/ S4.4 完全虚拟化 166
4 F7 K. h- m+ U% w4.4.1 Guest发送数据 167
: b: T2 r9 U: [& G" v4.4.2 Guest接收数据 173
6 k& f! Q: A) ]第5章 Virtio虚拟化 182
2 v$ z( g0 i" }4 p( d: b5.1 I/O栈 182
) U5 t8 J: H- L1 v, G3 \5.1.1 文件系统 182. V& J( t7 R: A& d. N
5.1.2 通用块层 190' X( S: ?' C D, _
5.1.3 块设备驱动 194$ \2 [8 N; @: v5 M3 B; r
5.1.4 page cache 196
% v( y, b7 {8 d) u4 h1 P5.1.5 bio 201 ?2 X9 p7 H0 E" S% K6 o
5.1.6 I/O调度器 202- | Q ^7 u7 R; M2 ?
5.2 Virtio协议 204
: d$ L1 c# S0 `6 m- L4 D9 t5.2.1 描述符表 205- {: f* z, V0 i( Q" B- x- I% S5 a
5.2.2 可用描述符区域 207) L: ^: F3 c \( N
5.2.3 已用描述符区域 208
1 y# a' h( e3 o5.2.4 Virtio设备的PCI配置空间 2097 Z: @( x- y( V) D" c5 Y
5.3 初始化Virtqueue 210& \% j! X% r4 Y* `9 R4 p, n
5.4 驱动根据I/O请求组织描述符链 216, W* T. [' |) [6 Q+ j
5.5 驱动通知设备处理请求 221
; W$ _4 k9 F g3 _( E+ j5.6 设备处理I/O请求 222- J' r% G1 q- { N+ \
5.7 驱动侧回收I/O请求 2265 ^9 ]3 Z( Z" w7 ^2 Z4 K6 [( j
5.8 设备异步处理I/O 229# p$ Z5 L! B( {4 M3 {. R
5.9 轻量虚拟机退出 231
/ C% ^: B l: g3 g& X9 X) ~5.9.1 创建eventfd 232! Y8 I% U6 I8 d6 V C& k
5.9.2 kvmtool监听eventfd 235
3 u) O& x! [. v: H1 g5.9.3 VM exit处理函数唤醒I/O任务 236
3 V: O' u/ I2 e4 a0 Q0 u第6章 网络虚拟化 2398 f5 e% P/ w5 t$ {' @, V
6.1 基于Overlay的虚拟网络方案 239# f# G$ l' D6 E
6.1.1 计算节点 240) _# q' H1 C5 y3 ~# B- g
6.1.2 网络节点 247 java8.com
. z. o. z+ ]6 m6.1.3 Open vSwitch 251
4 C& `5 ^" c% c4 i6.2 虚拟机访问外部主机 255
$ y7 O, w0 q9 q/ e8 ~4 F( V* {" Y6.2.1 数据包在计算节点Linux网桥中的处理 256/ k6 V' M" s- f9 B
6.2.2 数据包在计算节点的Open vSwitch中的处理 257
- E r, ~ ]; Q6.2.3 数据包在网络节点的Open vSwitch中的处理 265; p0 ` X; D" \
6.3 外部主机访问虚拟机 2726 Q. A% e- g* T# U
6.3.1 数据包在网关中的处理过程 273- A8 M1 D9 t# e% E2 \! f* m
6.3.2 数据包在网络节点的Open vSwitch中的处理 274
) f9 k7 S3 D1 v6.3.3 数据包在计算节点的Open vSwitch中的处理 279 u! f5 O1 }, k- d
6.3.4 数据包在Linux网桥中的处理 283
0 a: `4 l# Q. H8 g6 i; p* ~ # V; U9 a' `7 r; t3 h
/ z0 o, K2 G+ |7 N
百度云盘下载地址(完全免费-绝无套路):
~- D' ]3 s- [; `9 F B2 q
: j) Y$ g7 ` {0 Y5 V/ F2 q& a4 `# j+ g" ?
" O1 o% X" p) v5 |2 I% w* L$ X
" d+ W+ k3 ]8 I6 J. U |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|