TA的每日心情 | 开心 6 小时前 |
---|
签到天数: 247 天 [LV.8]以坛为家I
管理员
- 积分
- 8695
|
Java电子书:深度探索Linux系统虚拟化:原理与实现 PDF 电子书 Java吧 java8.com
( H/ n, g: k2 y1 J# h7 a- h7 R' b* \( U
作者:王柏生 谢广军出版社:机械工业出版社出版时间:2020年10月 $ `0 p; W% c" |. e7 A9 H
) _+ \, O0 I& W编号:166-Java吧资源免费-X0148【Java吧 java8.com】
3 l6 {2 u3 j t+ _; X7 x$ A+ j, t; \1 z4 c6 I ?
& [5 B0 L" V$ A' @* Y8 T
8 o; ]( ?* J4 X2 ~* T# I2 P目录:
& j; x0 P) L4 p3 S第1章 CPU虚拟化 1
! y1 `4 i" C/ ~: ~1.1 x86架构CPU虚拟化 14 A# o3 I' n' ^# y" k
1.1.1 陷入和模拟模型 22 V* a( P, Y* m: ~8 ?' g/ a8 V
1.1.2 x86架构虚拟化的障碍 2
8 o- K* w" Q" m1.1.3 VMX 3
% E* c# ]& |/ A" _& M! W0 {1.1.4 VCPU生命周期 55 {" c5 P& P9 G, q3 k% U
1.2 虚拟机切入和退出 8
$ Q7 Z3 S' N* q1.2.1 GCC内联汇编 83 g7 V0 W4 N& g9 i) V4 W
1.2.2 虚拟机切入和退出及相关的上下文保存 10! d a% ~+ J [$ P
1.3 陷入和模拟 152 g+ {: w2 @& z$ d
1.3.1 访问外设 153 B, a) l" Y0 J+ z0 F
1.3.2 特殊指令 22
, N) W0 \7 d( o# H6 R7 p1.3.3 访问具有副作用的寄存器 27
# @, A6 T& o0 _4 @: ]1.4 对称多处理器虚拟化 280 `2 W8 |" B: o0 n
1.4.1 MP Table 288 b& }/ E% G2 Y" P* }+ t
1.4.2 处理器启动过程 33
$ S8 n6 ?9 o/ [0 y6 r3 Q: @, F1.5 一个简单KVM用户空间实例 41
( @5 w! W9 \( X7 c+ x1.5.1 创建虚拟机实例 43. b3 m( j, }& S' z/ J3 O
1.5.2 创建内存 43
3 N' Q5 R. O; Z1 q p0 d1.5.3 创建处理器 44
R+ ^% J5 B$ \: H r$ ?1.5.4 Guest 460 h# o& q% }2 x( _* Z4 V' O- K7 O. @% w
1.5.5 加载Guest镜像到内存 47$ i, w: F- J4 R
1.5.6 运行虚拟机 47
! L m& z- w: t0 s! T- _5 L第2章 内存虚拟化 49
y& b6 \8 L l" K( z- R- f2.1 内存寻址 49( d! }! w8 A# ?% T& e6 C
2.1.1 段式寻址 50) [) Y% `9 |/ P
2.1.2 平坦内存模型 509 V+ H7 g+ m0 A
2.1.3 页式寻址 541 m/ i3 t# R7 W4 S
2.1.4 页式寻址实例 55
% i5 z% `. i5 Y. A5 }5 e2.2 VMM为Guest准备物理内存 619 Q U) Y& M2 I( \. ^# p8 `
2.2.1 内核是如何获取内存的 62
d, D" h1 d, g. t: x2.2.2 建立内存段信息 64
- t1 _' @4 v9 |- M; V' H; |7 E2.2.3 准备中断0x15的处理函数以及设置IVT 65
% i1 `8 g1 K& Q- Q. _2.2.4 中断0x15的处理函数实现 68
( N# x/ ^( V" h! c2 I" {2.2.5 虚拟内存条 69
& L/ N" T7 b+ `8 t2.3 实模式Guest的寻址 72
, W J0 u% K5 v4 X7 J8 K: ^, |2.3.1 设置CPU运行于Virtual-8086模式 74
) }4 t0 ]' j4 ~: E6 g" Y2.3.2 设置Guest模式下的cr3寄存器 75
( r' l G# o' B& B5 A9 A2.3.3 虚拟MMU的上下文 75
. ~( W, W3 r5 M2.3.4 缺页异常处理 77; R& O( {8 [. p8 d4 K
2.4 保护模式Guest的寻址 81
1 M% N8 R7 c* s; G3 ~( w* S2.4.1 偷梁换柱cr3 834 l9 C2 `; K; _; f/ }% h8 @& l6 m
2.4.2 影子页表缺页异常处理 86$ R: [- Q( ^, P0 l* z/ E3 I. ~
2.5 EPT 92
! J; s3 u) }- P; w( `1 t8 f* R2.5.1 设置EPT页表 93% s9 r. ~6 ?! R, T
2.5.2 EPT异常处理 95: a4 |$ X+ Z% c7 ?8 i$ j
2.5.3 EPT支持下的地址翻译过程 97- U# P$ \4 J# V
第3章 中断虚拟化 99/ i' T1 s: I: s, n' a7 _# H
3.1 虚拟中断 99
0 A* q% x e, @& T# D6 ~/ `$ g* `3.2 PIC虚拟化 102# y ? g3 }7 @, Q6 f
3.2.1 可编程中断控制器8259A 103: |; U$ G7 T4 P) y i
3.2.2 虚拟设备向PIC发送中断请求 106
, t- J3 g; x5 n# B! t- i3.2.3 记录中断到IRR 107
: X. V1 U v# k1 [2 b2 B: t( ~- d& O3.2.4 设置待处理中断标识 108
: k* @# p X& { n, e: I+ \3.2.5 中断评估 1102 c" c) x9 t' U/ {# |) x9 l! {
3.2.6 中断ACK 1128 H7 l7 `8 a: T& Q3 Q
3.2.7 关于EOI的处理 113. |, @4 t0 a# N0 O
3.2.8 中断注入 114+ s/ v \* {2 T6 N
3.3 APIC虚拟化 116" A+ @3 }2 {# d; t4 [3 g* @7 i- i
3.3.1 外设中断过程 118
) k1 E. Z* n+ X2 P3.3.2 核间中断过程 1237 _* ?0 {. x- H) H
3.3.3 IRQ routing 125& E: l4 O. d& v5 Z( q3 W$ h
3.4 MSI(X)虚拟化 1280 e3 [. s$ X! C3 g
3.4.1 MSI(X)Capability数据结构 129
6 K$ e* ]4 s6 V: s0 V3.4.2 建立IRQ routing表项 131: J. v" d: D3 E1 F% ~
3.4.3 MSI设备中断过程 1323 S7 S X' w( t2 C) L g
3.5 硬件虚拟化支持 134+ B. P' J7 E( _" P; o
3.5.1 虚拟中断寄存器页面(virtual-APIC page) 134
5 t2 e4 |# C @, Q3.5.2 Guest模式下的中断评估逻辑 136, a- S& K9 X1 @, q$ h8 Q, D7 m4 y
3.5.3 posted-interrupt processing 139* d* ?. Q9 N% } n7 T2 y
第4章 设备虚拟化 142- n- b6 y2 A0 J5 B4 W$ y
4.1 设备虚拟化模型演进 142
5 o8 [2 ^7 X2 L, g* \1 G4.2 PCI配置空间及其模拟 144
# R' f- ~) X2 B* d. i4.3 设备透传 152
/ C( [# w! n* i: W+ w# h4.3.1 虚拟配置空间 1538 Z7 `6 C. }! S; H
4.3.2 DMA重映射 1575 ?4 C' Y2 K& ] r3 F
4.3.3 中断重映射 160
( R$ f' Z% |/ j3 ^4.4 完全虚拟化 166
L1 m) }( m/ _1 `- r4.4.1 Guest发送数据 167
: V9 z6 J! @" D) `$ X3 t$ o4.4.2 Guest接收数据 173- h0 x8 P. G' L9 ` o" f6 q
第5章 Virtio虚拟化 182
/ r. V0 u1 T* l5.1 I/O栈 1825 u0 W* i3 G: E5 R
5.1.1 文件系统 182# h$ u S. n/ k. r
5.1.2 通用块层 190
. R5 c$ K) ]' k2 {6 s: y4 H5.1.3 块设备驱动 194
2 P; _- e, \5 d" r5.1.4 page cache 1966 i# S ]8 _; w
5.1.5 bio 201/ O9 M% k) {$ b' Z( h6 B7 B
5.1.6 I/O调度器 202
' f u% f% H2 T. c5.2 Virtio协议 204
6 w. y3 R! w; J. F9 b! s5.2.1 描述符表 205: t; d4 u+ a3 K* h, {% R4 y
5.2.2 可用描述符区域 2079 ~2 y3 ?6 E3 o
5.2.3 已用描述符区域 208
) ]+ k" w8 Q8 C5 [ z5.2.4 Virtio设备的PCI配置空间 2091 z# @- t! h0 V! r$ i5 A; S
5.3 初始化Virtqueue 210
3 A" r7 k, d, j: \5.4 驱动根据I/O请求组织描述符链 216* D/ a& T) m' Y* ]% }: F$ G2 V9 }
5.5 驱动通知设备处理请求 221. w2 r( D# u8 \# |) X* \9 u
5.6 设备处理I/O请求 2222 d5 h' B# |" _. k2 C h
5.7 驱动侧回收I/O请求 226
* I: S- O Q7 E# m$ W. b7 k8 [0 f" S5.8 设备异步处理I/O 229 l' {; [* I; Y z4 }
5.9 轻量虚拟机退出 231
5 v& ^& N8 C3 t+ z2 q$ {2 X5.9.1 创建eventfd 232
/ T2 v3 u5 V3 s. v" l' \& K4 z5.9.2 kvmtool监听eventfd 235/ i* w5 `2 s5 N" V6 y( N
5.9.3 VM exit处理函数唤醒I/O任务 2368 [* M* v' G7 w: s% C& r' @
第6章 网络虚拟化 239$ \6 G* I7 e5 u/ r* ]
6.1 基于Overlay的虚拟网络方案 239
1 [ l/ _0 H& A t7 b" P$ R( P0 e6.1.1 计算节点 240# `+ a# p a" Q/ S7 O/ \
6.1.2 网络节点 247 java8.com4 E. r, r* s0 {4 Q* t
6.1.3 Open vSwitch 2513 ^/ z7 J& H+ U5 n
6.2 虚拟机访问外部主机 2557 \9 C Z4 H, z5 R4 z6 M+ L" Z
6.2.1 数据包在计算节点Linux网桥中的处理 256
# Y$ k" o$ i9 b6.2.2 数据包在计算节点的Open vSwitch中的处理 257
) }3 F+ o* m0 j2 L. ?* h6.2.3 数据包在网络节点的Open vSwitch中的处理 265+ p' Z. c( ?2 I
6.3 外部主机访问虚拟机 272. n1 m: w' d, Z' g4 f, w! g
6.3.1 数据包在网关中的处理过程 273, }! Q( R: L* l& x4 L1 ~
6.3.2 数据包在网络节点的Open vSwitch中的处理 274+ F9 N: P. X& y7 o' w
6.3.3 数据包在计算节点的Open vSwitch中的处理 279
4 V) u6 P; e3 Y; X: B# |6.3.4 数据包在Linux网桥中的处理 283) [- E3 m! K6 d2 |5 w$ _
+ D6 B u2 f/ }: n0 d
2 d1 J" p+ H. T/ k; z2 D
百度云盘下载地址(完全免费-绝无套路):
1 a# z3 U$ S8 \# X1 A
2 G! C, O- y' V, `/ q- j2 w) V2 W& x. }
$ }% U0 U: E( z5 Z
8 X# T- s, L: v+ e- u( ~) n6 {2 P |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|