TA的每日心情 | 开心 3 小时前 |
---|
签到天数: 41 天 [LV.5]常住居民I
管理员
- 积分
- 2842
|
Java电子书:深度探索Linux系统虚拟化:原理与实现 PDF 电子书 Java吧 java8.com
( R+ O3 ]7 ~- g4 w! K
9 V( { Z$ k3 Q作者:王柏生 谢广军出版社:机械工业出版社出版时间:2020年10月 - f# M, m- ]/ A* h
, i( k: z0 H: f i( R编号:166-Java吧资源免费-X0148【Java吧 java8.com】( p0 }6 i8 c+ G# G( {, U1 R: p
8 _4 ? X) X) q) \" O
& |2 y; H; t D: K/ w* q# y
5 j) ^1 w' z$ D' V4 l) h目录:
3 e4 D! ?7 ]7 P! y g第1章 CPU虚拟化 1$ c& O) l+ o: T y: d
1.1 x86架构CPU虚拟化 18 ~ i' S8 i6 I X% h! i
1.1.1 陷入和模拟模型 2
3 s' [ k7 ~7 |& H- Y# t- e1.1.2 x86架构虚拟化的障碍 2
% r& W2 K5 Z: }( D$ W6 g0 M3 D1.1.3 VMX 3
- c* H3 x! h! ` a: s1.1.4 VCPU生命周期 5% a* L, v, K7 j; m
1.2 虚拟机切入和退出 8
# i. u$ t+ c2 w5 Y, X1.2.1 GCC内联汇编 8
1 q4 l/ ~2 b1 T1.2.2 虚拟机切入和退出及相关的上下文保存 10
3 Z4 H+ D) s2 P8 f7 ^1.3 陷入和模拟 15
# u) C1 R" U% p1.3.1 访问外设 15
0 R0 `+ X1 S9 ?) N) }1 A+ r1.3.2 特殊指令 22
+ e9 @7 z+ E( t1.3.3 访问具有副作用的寄存器 27
# j. y6 U# ]" [2 D) l1.4 对称多处理器虚拟化 28; w5 K! u/ ^' M B$ ]8 |; a5 O
1.4.1 MP Table 28
, P5 F. [ v. v& e6 J8 m1.4.2 处理器启动过程 33. t$ M) ], F+ V% X2 h2 |, u, U
1.5 一个简单KVM用户空间实例 41
3 p( F% u1 g- A. n* S1.5.1 创建虚拟机实例 43- q$ \; L% I2 u" ~
1.5.2 创建内存 43( S H \6 Z# E q
1.5.3 创建处理器 44( a0 N2 N6 k/ d, N+ M
1.5.4 Guest 46
# V" e9 |& x/ i8 K( g$ `5 e' P1.5.5 加载Guest镜像到内存 47
. @# H4 H# F8 n0 L' o/ j0 e1.5.6 运行虚拟机 47
8 u( n+ J+ q9 \: F" @, P# M- g第2章 内存虚拟化 49: n" Q6 \ |+ k% W8 F
2.1 内存寻址 49
' M. \ p/ N7 N* _/ z2.1.1 段式寻址 50! f2 u- B8 f/ E' }: \
2.1.2 平坦内存模型 50
g5 c4 H; d# X5 u& |: [& z2.1.3 页式寻址 54" v0 f' Z( \ g4 L2 x$ m
2.1.4 页式寻址实例 55( [2 f2 s8 K' b- J0 C
2.2 VMM为Guest准备物理内存 61$ R8 j4 g! X, |- U) M; _
2.2.1 内核是如何获取内存的 62: _ Y7 O; q$ K" a$ t& E9 }
2.2.2 建立内存段信息 64
0 t' e" `- ]' _" [" m+ i3 s, I4 e2.2.3 准备中断0x15的处理函数以及设置IVT 65
' X2 O/ `6 q# E( U% ^5 i2.2.4 中断0x15的处理函数实现 68
. C9 L) v R0 n1 h3 G4 c2.2.5 虚拟内存条 691 q% [5 b; C5 H) l/ n& ]# S( Z
2.3 实模式Guest的寻址 72
" ~0 A- J5 O( G; [* p' J" S2.3.1 设置CPU运行于Virtual-8086模式 74
( e; L+ c+ I( F2.3.2 设置Guest模式下的cr3寄存器 758 S7 Z: Z& S5 [# v
2.3.3 虚拟MMU的上下文 75
- m1 n( P' i9 O4 g4 H2.3.4 缺页异常处理 77
2 m; n& m, W$ i2.4 保护模式Guest的寻址 815 v( V$ K# B- }, f; T
2.4.1 偷梁换柱cr3 83
4 b0 p3 p! o- T( }2.4.2 影子页表缺页异常处理 86+ `! f6 A6 @4 h
2.5 EPT 923 u) W+ E$ ~! D$ A( e
2.5.1 设置EPT页表 93& V/ m! k3 a0 s& s
2.5.2 EPT异常处理 95
# V1 p. O% h* C; L5 C2.5.3 EPT支持下的地址翻译过程 97: D! ^9 h1 g, `. S# \. ~8 |) v; A7 L
第3章 中断虚拟化 99
; C: H8 n) y7 K: S V; E, |3.1 虚拟中断 99
, j) e$ z( v& T3 q3.2 PIC虚拟化 102: G. r8 @* |& T4 l
3.2.1 可编程中断控制器8259A 103
) o- ~. {4 \" a. ?4 Q; `- h3 A3.2.2 虚拟设备向PIC发送中断请求 1066 ]& ^+ V/ k1 x$ C! ~7 c
3.2.3 记录中断到IRR 1077 B. a4 z! u3 z$ w" M; f4 {
3.2.4 设置待处理中断标识 108
, N. N! z7 E9 Q3 a* _3.2.5 中断评估 1104 K5 i5 X* T: K2 e& ]
3.2.6 中断ACK 112
# o" C9 J4 F9 k+ v/ A% v* h: ]3.2.7 关于EOI的处理 1133 s1 g* A8 n `' k& ]8 @
3.2.8 中断注入 114
( w, w3 M0 `+ u7 f3 P, k; C3.3 APIC虚拟化 116' m9 m" u: c) O9 s' A( V
3.3.1 外设中断过程 118 ~0 o5 b* ~: ]! Q+ v
3.3.2 核间中断过程 123: B. w O3 i: j: V! p. D5 L' i
3.3.3 IRQ routing 125; z& _) r% Z5 Z# Y0 ]4 D( _
3.4 MSI(X)虚拟化 1287 F& x# h" Q; j
3.4.1 MSI(X)Capability数据结构 129
0 ]7 G& P8 p6 f6 M3.4.2 建立IRQ routing表项 131
* E( l- ?- y0 ~3 j9 q4 C3.4.3 MSI设备中断过程 132
: F4 u# Z6 b; K3 A1 {7 m3.5 硬件虚拟化支持 134' q8 c$ T: v% C" j# _) K) v8 a1 O
3.5.1 虚拟中断寄存器页面(virtual-APIC page) 134
' }) C6 ~% R: j5 l, O* p& a) h3.5.2 Guest模式下的中断评估逻辑 136
5 m* S$ i5 N' V: E3.5.3 posted-interrupt processing 139
3 M9 d- \# o0 U2 O' @+ @第4章 设备虚拟化 1425 r' ^/ L& _- T- F, t
4.1 设备虚拟化模型演进 142+ r' Q& m% x2 Y: m* J; ]/ {
4.2 PCI配置空间及其模拟 144, s3 l3 N! i2 ~1 s4 d" o5 O
4.3 设备透传 1527 b. V9 E# J+ I7 _5 q
4.3.1 虚拟配置空间 153
0 A7 g7 i q Q2 V' ] P( Y" | J8 x: X! |4.3.2 DMA重映射 157
$ B5 i# D6 r5 S' |( Z* x* e/ j4.3.3 中断重映射 160) V( ]9 K, M; p$ ]) k
4.4 完全虚拟化 166
3 p2 ?6 m+ G/ q/ Z* M6 L4.4.1 Guest发送数据 167
; q9 ^# m2 d- ^4.4.2 Guest接收数据 173: q( o8 p- N3 U; o! C3 F( i
第5章 Virtio虚拟化 182' ?. ^+ H% `2 W7 M/ Y% ?+ U* t8 r
5.1 I/O栈 182% [ z4 [/ z. C) c# q% O
5.1.1 文件系统 182- q, J! K# V) w) t: ? e" E
5.1.2 通用块层 190" a% ?( M) w$ s6 H# l
5.1.3 块设备驱动 194. E# ^- L5 J* K5 k
5.1.4 page cache 196
6 T/ [2 o6 @3 N7 y3 J5.1.5 bio 201
/ y+ K4 n" W9 p& ?0 G0 N- Z, ?! o5.1.6 I/O调度器 2024 q/ R# T# @ `+ w7 C
5.2 Virtio协议 204
; _$ T+ a8 a) G8 P* k" G$ @7 l4 k5.2.1 描述符表 2059 M. O2 B% S$ v c/ M# A
5.2.2 可用描述符区域 207" X7 G1 l# A3 O+ A q/ j" a
5.2.3 已用描述符区域 208
! L6 N3 Q( {- V1 C3 z5.2.4 Virtio设备的PCI配置空间 2097 _ u. u/ h1 p' k3 r
5.3 初始化Virtqueue 2105 {, G" _. ]8 }" I; ~: c% Z
5.4 驱动根据I/O请求组织描述符链 216
1 P( B2 z" J0 ]0 }5.5 驱动通知设备处理请求 221
4 ^+ M' Q- O+ q! ~# j8 X& T- i5.6 设备处理I/O请求 222+ T+ l/ x: ^! V0 B& |; v4 c# d
5.7 驱动侧回收I/O请求 226
2 u m4 u$ C( k$ R$ z4 w5.8 设备异步处理I/O 2296 E4 g P7 v( ?2 }0 {& l
5.9 轻量虚拟机退出 2315 N. C7 A) d) \, p
5.9.1 创建eventfd 232
5 t# M# b1 r3 d" I* g) h+ j5.9.2 kvmtool监听eventfd 2357 s p) ]1 c% @0 i* b
5.9.3 VM exit处理函数唤醒I/O任务 2368 w5 ^' j; A( Z' M, B! y8 S4 K
第6章 网络虚拟化 239
7 f' k/ l4 U* c9 n8 C6.1 基于Overlay的虚拟网络方案 239
; p: J. t6 ]$ E" T' a0 t6.1.1 计算节点 2401 r q$ w0 E$ e# }' j
6.1.2 网络节点 247 java8.com' Y1 V6 i. I3 p: c3 ~
6.1.3 Open vSwitch 2516 {# F) c$ W X# W
6.2 虚拟机访问外部主机 255
9 J! z# G/ H6 j9 t* w; |3 j6.2.1 数据包在计算节点Linux网桥中的处理 256. q0 }9 E/ @2 H7 o u0 m
6.2.2 数据包在计算节点的Open vSwitch中的处理 257- `& Q# F% c0 ]* y- X8 U* T
6.2.3 数据包在网络节点的Open vSwitch中的处理 265
& f: `4 t3 m8 F$ ?6.3 外部主机访问虚拟机 272
5 b/ o3 S0 h/ I4 k6.3.1 数据包在网关中的处理过程 273
7 N, D- z+ C: T8 J6 U; @6.3.2 数据包在网络节点的Open vSwitch中的处理 274! J: L3 Y1 S3 x& D+ d
6.3.3 数据包在计算节点的Open vSwitch中的处理 279
+ ]$ O! ~* ^% `- l/ e/ s* i6 d; ^2 {6.3.4 数据包在Linux网桥中的处理 283' x. r- f5 |7 r% J' ?
% w) j0 v7 Q& n
$ F5 {' D/ A& Z0 z
百度云盘下载地址(完全免费-绝无套路):
" O& X% F' R' X
- t! v6 k% i/ {! e2 _
0 ]) ?! N. P$ e. g3 H+ c+ i
4 b, T: |( m8 a7 E* v" N+ [7 M9 t# O/ d7 o3 }& a% {& v- _
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|