66回答

0收藏

QEMU/KVM源码解析与应用 PDF 电子书 X0159

电子书 电子书 5961 人阅读 | 66 人回复 | 2024-02-16

Java电子书:QEMU/KVM源码解析与应用  PDF 电子书 Java吧 java8.com
+ R. }! R1 g0 W' @0 x2 P$ w6 O$ N$ f
4 ]' t/ B8 Z* a' \" [. X作者:李强出版社:机械工业出版社出版时间:2021年01月
* a$ r* R/ j. v3 A+ D" d6 G) C( O5 ^
编号:166-Java吧资源免费-X0159【Java吧 java8.com】
  b7 n0 ^) D  Z( t4 u3 z7 q* u
& l+ T6 ?8 G4 I8 H" ]3 w; w

+ I$ H/ V. z- o

$ y# C+ u$ a- \  z# K  B9 }$ d1 x8 v目录:0 M1 o6 I# U0 {$ h5 y( E- l& Z0 S
第1章 QEMU与KVM概述1, o* _3 r9 b+ B7 Z
1.1 虚拟化简介1
" D8 B' c8 X) P8 U% _8 \1.1.1 虚拟化思想16 u2 \5 C3 K$ I
1.1.2 虚拟机简介2
% A( c1 {. p- ~9 q1.1.3 系统虚拟化的历史35 v6 j2 Q5 w9 z
1.2 QEMU与KVM架构介绍4
- `7 s, z+ z- I9 N7 F5 h7 j  s. D1.2.1 QEMU与KVM历史4
7 l4 P" e  K4 D9 o1.2.2 QEMU与KVM架构50 i5 J' u3 Q- Y6 i3 _, M7 r
1.3 KVM API使用实例8" z* |+ C; o1 {; Q+ J5 z/ K
第2章 QEMU基本组件12! D8 |; c+ Z1 [, h. H
2.1 QEMU事件循环机制12/ Y9 m+ T3 ?6 r" Q* r0 r
2.1.1 glib事件循环机制12# H9 L, ~1 Q3 K- D6 u, l, D
2.1.2 QEMU中的事件循环机制132 {9 V. P# b$ z% ~$ p+ t3 W
2.1.3 QEMU自定义事件源17+ r8 G% }4 ?$ d0 t
2.1.4 QEMU事件处理过程215 z) @+ I- T! S! z" N) O: E
2.1.5 QEMU主循环监听的fd解析23: Y2 p! ]) _9 ^/ Y" J9 f
2.2 QEMU线程模型259 Z. A2 r4 G0 ^2 y
2.2.1 QEMU线程模型简介25& k+ I6 L. a/ T( R9 x# T) n/ g
2.2.2 QEMU线程介绍26
3 k8 d8 X3 ]) D; D+ e: r& y2.3 QEMU参数解析27
7 Y5 D, k- p. o9 F; v2.4 QOM介绍32
8 G& O2 q9 ?$ q; ^+ a2.4.1 类型的注册33
. `' K2 r( d9 Z& G5 ~5 A9 ^+ O2.4.2 类型的初始化36
0 A% C9 c. x/ e( ]  R0 z( X2.4.3 类型的层次结构39# w, }% }& c1 D4 D0 N
2.4.4 对象的构造与初始化42' o+ g6 d( q- K! ~
2.4.5 属性44% r8 R2 n9 M/ y" `9 ]) L
2.5 hmp与qmp介绍52
3 {6 A# |2 F- E6 R2.5.1 hmp与qmp526 x+ i, }1 U  Q+ B4 R
2.5.2 qmp的使用53
' f7 |" i7 }7 b$ U+ d2.5.3 qmp源码分析541 k; W$ K" G4 e8 o
2.5.4 qmp命令添加56. S) F3 \. b1 m
第3章 主板与固件模拟58
, U& R$ t& i& {3.1 Intel 440FX主板简介589 j% F* O9 D6 p5 D& Y# M6 K( |
3.1.1 i440fx与piix3介绍58
) a, v9 B0 m$ d3.1.2 QEMU模拟主板架构59, ?) d* D& Y. y1 Q: a/ @( `
3.2 QEMU的主板模拟与初始化61
( ^2 p- @; V: W6 ]& l3.2.1 虚拟机初始化61: J. _- t* w1 Q0 I
3.2.2 i440fx初始化64
! m% E$ J: L; a2 U  P8 @4 Y% C( J3.2.3 中断和其他设备的初始化66
: Q8 M4 O! d( Y, j* A2 P2 z3.3 fw_cfg设备介绍67( Z5 z1 x, c. `- ^/ T# k2 ~6 K
3.3.1 fw_cfg设备的初始化67  E8 R3 x* w. ]1 |3 Q* W) A
3.3.2 向fw_cfg设备添加数据69
' E3 W$ @' e1 F; i$ ^( d  O* q0 `3.3.3 添加用户自定义数据74% E7 ~$ A( H/ y7 N% j! ]* ~
3.3.4 数据的读取75
' ^! C# i1 Y" k: y# n' s. A2 Q% i3.4 SeaBIOS分析79
8 W  n4 a! D* U3 O. [- Y; M5 |$ w+ w1 D3.4.1 SeaBIOS简介790 N8 j3 j, P$ O3 O3 I, l
3.4.2 QEMU加载SeaBIOS80: j" `! x4 N, B- p2 m
3.4.3 SeaBIOS源码结构845 w+ R$ P+ I1 P) U
3.4.4 SeaBIOS的编译与调试91
5 j5 h& {2 ~$ V: l第4章 CPU虚拟化93& Q/ O  {% K, O. A( Y& w- O; V
4.1 CPU虚拟化介绍93
- `+ X. P, w# K, Q5 g4.1.1 CPU虚拟化简介93# `% s* F& U0 N  l( d
4.1.2 VMX架构简介93. n5 `% P. j3 p! s3 S0 {1 c! i
4.1.3 VMCS介绍94: F6 {2 q' N: _% W9 {. H  B9 S9 W% ]
4.2 KVM模块初始化介绍97' S5 U& q/ I7 g5 J4 f# E
4.2.1 KVM源码组织97
+ b, d& W, s  W- E) ~4.2.2 KVM模块初始化98
9 y9 [0 P! ?9 V0 E* }: b4.3 虚拟机的创建105: ~, U. \; w) l% B" F0 V9 q
4.3.1 QEMU侧虚拟机的创建105
0 X: O# L& D: v6 s; n! H" _4.3.2 KVM侧虚拟机的创建107+ H7 v5 P* x: s
4.4 QEMU CPU的创建110: _( M: j* H+ C' H! H& E6 [
4.4.1 CPU模型定义110& ~; d: x  S' _1 u6 v) o/ _- z+ ?
4.4.2 CPU对象的初始化113
6 W1 x, d9 N  w" Q: H4.4.3 CPU的创建1200 i. g  m% g9 V; q; R
4.5 KVM CPU的创建122
4 a+ Z# m" n" p! C4.5.1 KVM创建VCPU流程122, C; _( l* o- R: X5 u) a" S- L
4.5.2 QEMU与KVM之间的共享
  n" s9 P2 v. o数据1268 i* K3 Y' n2 L( q( ~
4.5.3 VCPU CPUID构造128; s- X& l% u% A0 q. B. A: Z& h$ g
4.6 VCPU的运行133
+ ^' B) @5 [8 \8 @  N4.7 VCPU的调度144* }5 s* A5 l& ?; l  b8 ~
第5章 内存虚拟化149
+ |9 [# d( X: B1 z2 S5.1 内存虚拟化简介1498 M+ }; ~' Y4 [$ O
5.2 QEMU内存初始化150
" ?, L1 L* i! x+ e4 B# O5.2.1 基本结构150/ x- g0 I% U2 G
5.2.2 QEMU虚拟机内存初始化154% N7 ^# X2 c4 d# K! s8 a9 U3 N
5.2.3 分配虚拟机RAM过程157
' {. s. v9 _1 M1 i5 T5.3 内存布局的提交161
: n' D3 L7 P( ]  [5.3.1 内存更改通知161' p& N& N) h  |* g) C2 G. Y5 e
5.3.2 虚拟机内存平坦化过程1649 n' z$ T6 j7 A" ?/ u3 Q5 T
5.3.3 向KVM注册内存1699 ^) q+ e2 E( n6 ]6 E7 n
5.4 内存的分派174) T! C. |1 K$ ?1 j8 f, M  D
5.4.1 内存分派表的构建174
3 ]; l' q+ X2 c8 _# B! C5.4.2 页表简化1827 I" n5 @; H! ?! X. L
5.4.3 地址分派184/ K. q  a) s$ \! q1 \  G$ g
5.5 KVM内存虚拟化186
' z0 h5 ?4 d8 F; i$ ]  R; F" r5.5.1 虚拟机MMU初始化1868 l! T, n! a! k" W
5.5.2 虚拟机物理地址的设置1895 y$ U' {3 Y" Z0 u" C& S
5.5.3 EPT页表的构建193
6 z) M& C2 `# Z5.6 MMIO机制200
0 N, H- Q0 z- M  U5.6.1 虚拟设备MMIO实现原理200
, w  p- u. E4 {/ N( n) }: b5.6.2 coalesced MMIO203- o% X' V+ `: |  g7 p6 y5 n0 l5 X
5.7 虚拟机脏页跟踪205
) z* F+ D0 J, I1 q5 K: {第6章 中断虚拟化210
) ~2 j' N( r+ U6.1 中断机制简介210
0 M* G' v! l7 @( w6.1.1 中断分发方式210
- |& g' n9 g5 s- n6.1.2 中断线与中断向量211, H( F+ {( w' ]3 B( l& {' Y) \! z
6.2 中断模拟211
- |$ D3 e$ B& h6.2.1 虚拟化环境下的中断注入212
4 O# u( m: P0 g5 l( c/ s3 `6.2.2 PIC中断模拟214! I  D- N2 h7 X: Z! n) t! v& z
6.2.3 I/O APIC中断模拟225
) d, O! r* ^- f6 g- m6 n2 U( F6.2.4 MSI中断模拟234$ ?0 Y$ L4 P( A( e
6.3 APIC虚拟化236- x4 N. e4 C' s$ P; a0 {
6.3.1 APICv简介236! ?# R( @0 R' o# W( d
6.3.2 APICv源码分析238
* w7 h& X6 z& X2 b- j0 L第7章 设备虚拟化245
. _+ O% H$ J8 A7.1 设备虚拟化简介245
8 n" U- Y! k# N, m$ O+ i7.1.1 总线数据类型245
. U6 M" i/ S. A$ s7.1.2 总线的创建248
  J( o2 Y6 }9 H7.1.3 设备数据类型249# l( I( P! T& z0 v1 I+ h3 Y
7.1.4 设备的创建251
# G2 i6 ^0 @, N7 l* e7.1.5 设备的树形结构252
! ^# R7 L1 M. g& K7.2 PCI设备模拟2584 ^# Z6 K  }* C
7.2.1 PCI设备简介258
% z$ R4 H0 @* P& i! t& o7.2.2 PCI设备的模拟260
3 C2 R" }0 W( K( C7 ^9 e+ U) ?7.2.3 PCI设备中断模拟270* }/ e( p4 D1 K6 h/ n
7.3 设备模拟后端2746 ]" P( R, y8 x, e0 t' {/ x# v; W
7.3.1 网卡模拟介绍275
' w* ~1 A7 y  Q7.3.2 网卡参数解析277' h+ f, b: C  {; y
7.3.3 前端网卡设备的创建286# i9 f# `  H- t( F" W: b' }5 O
7.3.4 虚拟机网卡发包流程294/ H# @: a. ~. e! ?/ v# A) ?
7.3.5 虚拟机网卡接收数据包2973 F! o: n- i$ y+ w% _
7.4 virtio设备模拟2986 R: I' F& f# o* \& v
7.4.1 virtio简介298
/ e& D7 M0 S/ ?" I# o7.4.2 virtio设备的初始化300' ]6 h# d* b; ?( G- P2 e
7.4.3 virtio驱动的加载314( l0 @5 R4 {9 `' H
7.4.4 virtio驱动的初始化320
5 w& e* f* ?6 h+ ~7.4.5 virtio设备与驱动的通信330
0 I: X3 R2 y2 ?( ?" _/ f7.5 ioeventfd和irqfd347
7 N# m' M; ]* m2 E5 B7.5.1 eventfd原理347) w  |6 |* F6 H0 p  l- B! a  k
7.5.2 ioeventfd351
$ |2 s  e3 d* \5 W! R0 G7.5.3 irqfd358
, |6 |: W# F% Y9 s$ E6 o) T) t7.6 vhost net简介362
& N8 M1 P5 N0 ~" D7.6.1 vhost net介绍362
% T0 z+ _7 P5 |. ~7.6.2 vhost的初始化3630 d0 p' u0 c* _/ y7 S6 @  F
7.6.3 vhost net网络模块367
2 J( r; y' i5 e" A7.6.4 vhost net的启动376
4 L# ?: ]3 `6 `9 s! k, P9 |: O7.6.5 vhost net的收发包378
8 S4 M& y# v2 S9 L6 D, O& t7.7 设备直通与VFIO3801 R5 M( B7 z' ?2 W7 x" V4 a2 i) S
7.7.1 VFIO简介380 java8.com" a( A/ O7 Z6 X3 t) n5 q
7.7.2 VFIO相关内核模块分析387
' {4 T) U" S; P* k: e7.7.3 VFIO与设备直通404
* ~0 U7 U. ?' `# t第8章 虚拟化杂项425
5 R" z1 Z  A: p0 r( ?, _! \8.1 QEMU Guest Agent425
1 h5 w' X( v- H# g, g, U. E8.1.1 QEMU Guest Agent的使用4250 K( E* ]& ^- O( J+ p1 ?: V# I
8.1.2 qga源码分析426
. [) I0 ?; I8 ]$ k* s7 ~8.1.3 qga的QEMU侧源码解析431
( z7 U6 O" _6 I* |6 J: n8 Y0 U1 w8.2 QEMU虚拟机热迁移439, j9 l9 L& [" Z1 \4 W
8.2.1 热迁移的用法与基本原理439- |  n& \; Y' y
8.2.2 热迁移流程分析441# C6 f6 J" @8 i' }, i/ b6 J
8.2.3 热迁移中的脏页同步454
% u: ^4 o; ?. {9 c( L: J& D, I* k, {8.2.4 热迁移中的相关参数控制459
: M, H% v' u- b! c3 v* z9 }3 Z8.3 QEMU及虚拟化安全460
4 ?# U* F! O, V4 |6 ?7 R3 o! N9 A; Y4 L) N8.3.1 QEMU软件安全460: ]  }6 I3 |. ^, @9 V( z: Y
8.3.2 QEMU安全思考466
& T* t5 C4 |2 s! ~5 n) p) H* b8.4 容器与虚拟化466
/ x1 V& m( J. q- f* c* h8.4.1 Docker容器4672 r) W8 _* u; c9 C
8.4.2 gVisor467- U) R! J5 a3 f/ z
8.4.3 nemu468
- D. K' L% ]6 |& ^. V& k8.4.4 crosvm、Firecracker与
2 \- g! A7 M0 x' Y7 g) C( Ucloud-hypervisor468# Y' Z8 D1 {' }3 C$ g$ {3 g9 K
附录 重要术语4707 Q. y! F9 w3 a& ~. b2 w: V

4 B  h8 S7 Z6 c6 w, s& v8 P
百度云盘下载地址(完全免费-绝无套路):
游客,如果您要查看本帖隐藏内容请回复
% R: ^5 K" O  j5 Z

. z/ S$ ?2 D* a# A- r2 h0 h, J9 Y0 r$ s4 m+ ^6 G4 R
. U4 X* n$ ^; C2 C
. C5 c$ c8 P* |0 a, I% P

+ ?5 ]. |0 Z: z& P2 H/ u

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
分享到:

回答|共 66 个

天空星

发表于 2024-2-16 09:30:29 | 显示全部楼层

资源很新 好好好

富顺县美宜尔家具厂

发表于 2024-2-16 10:11:13 | 显示全部楼层

以后学java 就靠java吧了

古今悠谈

发表于 2024-2-16 10:52:44 | 显示全部楼层

良心网站,力挺

照片是妹妹维馨

发表于 2024-2-16 11:33:13 | 显示全部楼层

太爽了  干货很多!!!

当时没有稳起的月亮

发表于 2024-2-16 12:14:56 | 显示全部楼层

免费资源 真的无套路

佰财聚来

发表于 2024-2-16 12:56:07 | 显示全部楼层

学习java,就选java吧了

灥多多

发表于 2024-2-16 13:38:14 | 显示全部楼层

真心不错 收下下

上官键

发表于 2024-2-16 14:19:38 | 显示全部楼层

路过,收下了,不错的论坛

两袖兜风

发表于 2024-2-16 14:59:42 | 显示全部楼层

太爽了  干货很多!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则