Skip to content

Commit a8bff4d

Browse files
committed
DD
1 parent 26520a8 commit a8bff4d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+2251
-0
lines changed

.DS_Store

14 KB
Binary file not shown.

lecture18/.DS_Store

0 Bytes
Binary file not shown.

lecture22/.DS_Store

10 KB
Binary file not shown.

lecture22/fig23/aios.jpg

61.5 KB

lecture22/fig23/cloudos.jpg

495 KB

lecture22/fig23/cpu.jpg

59.7 KB

lecture22/fig23/cpugpu.jpg

36.2 KB

lecture22/fig23/cs.jpg

54.5 KB

lecture22/fig23/db2.jpg

31.5 KB

lecture22/fig23/docker.jpg

86.7 KB

lecture22/fig23/formal.jpg

314 KB

lecture22/fig23/formal2.jpg

399 KB

lecture22/fig23/gpu.jpg

48 KB

lecture22/fig23/nama.jpg

23.8 KB

lecture22/fig23/numa.jpg

18.1 KB

lecture22/fig23/nvm.jpg

20.4 KB

lecture22/fig23/nvm2.jpg

23.8 KB

lecture22/fig23/os-security.jpg

187 KB

lecture22/fig23/os.jpg

27.4 KB

lecture22/fig23/os2.jpg

31.5 KB

lecture22/fig23/os3.jpg

19.8 KB

lecture22/fig23/rdma0.jpg

15.4 KB

lecture22/fig23/rdma1.jpg

24.3 KB

lecture22/fig23/rdma2.jpg

24.3 KB

lecture22/fig23/rdma2.png

190 KB

lecture22/fig23/rdma3.jpg

20.1 KB

lecture22/fig23/rdma3.png

76.9 KB

lecture22/fig23/rdma4.jpg

15.2 KB

lecture22/fig23/rdma5.jpg

48.6 KB

lecture22/fig23/sgx.jpeg

40.3 KB

lecture22/fig23/smp.jpg

14.6 KB

lecture22/fig23/smp2.jpg

159 KB

lecture22/fig23/tee.jpeg

48.4 KB

lecture22/fig23/time.jpg

21.8 KB

lecture22/fig23/time.png

149 KB

lecture22/fig23/未命名.png

117 KB

lecture22/slide-23.tex

Lines changed: 932 additions & 0 deletions
Large diffs are not rendered by default.

lecture23/.DS_Store

8 KB
Binary file not shown.

lecture23/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.pdf

lecture23/Makefile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
SOURCE = $(wildcard *.tex)
2+
PDF = $(patsubst %.tex,%.pdf,$(SOURCE))
3+
4+
%.pdf:%.tex
5+
xelatex $<
6+
7+
.PHONY:all clean cleanall
8+
all:$(PDF)
9+
10+
cleanall:
11+
rm -f *.pdf *.out *.toc *.aux *.log *.nav *.gz *.snm *.vrb *.bak *.org ~*
12+
13+
clean:
14+
rm -f *.out *.toc *.aux *.log *.nav *.gz *.snm *.vrb

lecture23/figs/device-interface.png

46.3 KB
111 KB

lecture23/figs/exec-syscall.png

105 KB

lecture23/figs/gpt-ept-spt.png

59.7 KB

lecture23/figs/os-do-work.png

44.2 KB

lecture23/figs/os-position.png

146 KB

lecture23/figs/os-tlbmiss.png

145 KB

lecture23/figs/rv-arm-1.png

281 KB

lecture23/figs/rv-arm-2.png

248 KB

lecture23/figs/rv-kvm-linux.png

125 KB

lecture23/figs/shadow-page-table.png

47.6 KB

lecture23/figs/sriov.png

132 KB

lecture23/figs/vm-layer.png

27.8 KB

lecture23/figs/vm-taxonomy.png

122 KB

lecture23/figs/vmm-address-space.png

97.8 KB

lecture23/figs/vmm-do-work.png

66 KB

lecture23/figs/vmm-io-paravirt.png

46.8 KB
39.3 KB

lecture23/figs/vmm-overview.png

46.1 KB

lecture23/figs/vmm-tlbmiss.png

175 KB

lecture23/figs/vmx-overview.png

34.1 KB

lecture23/figs/vt-d-direct.png

40.8 KB

lecture23/figs/vt-d-overview.png

136 KB

lecture23/figs/vt-x-ept.png

46.7 KB

lecture23/figs/vt-x-mem.png

46.5 KB

lecture23/figs/vt-x.png

68.2 KB

lecture23/slide-03-01.tex

Lines changed: 324 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,324 @@
1+
\input{../preamble}
2+
3+
%----------------------------------------------------------------------------------------
4+
% TITLE PAGE
5+
%----------------------------------------------------------------------------------------
6+
7+
\title[第3讲]{第3讲 :Virtual Machine Monitor} % The short title appears at the bottom of every slide, the full title is only on the title page
8+
\subtitle{第一节:Overview }
9+
\author{陈渝} % Your name
10+
\institute[清华大学] % Your institution as it will appear on the bottom of every slide, may be shorthand to save space
11+
{
12+
清华大学计算机系 \\ % Your institution for the title page
13+
\medskip
14+
\textit{yuchen@tsinghua.edu.cn} % Your email address
15+
}
16+
\date{\today} % Date, can be changed to a custom date
17+
18+
19+
\begin{document}
20+
21+
\begin{frame}
22+
\titlepage % Print the title page as the first slide
23+
\end{frame}
24+
25+
%\begin{frame}
26+
%\frametitle{提纲} % Table of contents slide, comment this block out to remove it
27+
%\tableofcontents % Throughout your presentation, if you choose to use \section{} and \subsection{} commands, these will automatically be printed on this slide as an overview of your presentation
28+
%\end{frame}
29+
%
30+
%%----------------------------------------------------------------------------------------
31+
%% PRESENTATION SLIDES
32+
%%----------------------------------------------------------------------------------------
33+
%
34+
%%------------------------------------------------
35+
%\section{第一节:课程概述} % Sections can be created in order to organize your presentation into discrete blocks, all sections and subsections are automatically printed in the table of contents as an overview of the talk
36+
%%------------------------------------------------
37+
%-------------------------------------------------
38+
\begin{frame}[plain]
39+
\frametitle{Introduction}
40+
41+
42+
43+
\begin{columns}
44+
45+
\begin{column}{.4\textwidth}
46+
47+
\includegraphics[width=1.\textwidth]{vmm-overview}
48+
49+
\end{column}
50+
51+
\begin{column}{.6\textwidth}
52+
53+
54+
\begin{block}{What is Virtualization}
55+
Virtualization is a term that refers to the abstraction of computer resources [wikipedia]
56+
\end{block}
57+
58+
\begin{block}{Wisdom}
59+
All computer problems can be solved with another layer of redirection [Donald E. Knuth (高德纳), Stanford University]
60+
\end{block}
61+
62+
\end{column}
63+
64+
65+
\end{columns}
66+
67+
68+
\end{frame}
69+
70+
%-------------------------------------------------
71+
\begin{frame}[plain]
72+
\frametitle{Introduction -- taxonomy}
73+
74+
75+
76+
\begin{columns}
77+
78+
\begin{column}{.3\textwidth}
79+
80+
\includegraphics[width=1.\textwidth]{vmm-overview}
81+
82+
\end{column}
83+
84+
\begin{column}{.7\textwidth}
85+
86+
% \Large
87+
% OS Structure
88+
% \begin{itemize}
89+
% \item Simple kernel
90+
%% \item Monolithic kernel
91+
%% \item Micro kernel
92+
%% \item Exokernel
93+
%% \item VMM, etc...
94+
% \end{itemize}
95+
96+
\includegraphics[width=1.\textwidth]{vm-taxonomy}
97+
98+
\tiny
99+
from James E.Smith, IEEE computer Society2005
100+
\end{column}
101+
102+
103+
\end{columns}
104+
105+
106+
\end{frame}
107+
108+
%-------------------------------------------------
109+
\begin{frame}[plain]
110+
\frametitle{Introduction -- different layer of virtualization}
111+
112+
113+
114+
\begin{columns}
115+
116+
\begin{column}{.3\textwidth}
117+
118+
\includegraphics[width=1.\textwidth]{vmm-overview}
119+
120+
\end{column}
121+
122+
\begin{column}{.5\textwidth}
123+
124+
% \Large
125+
% OS Structure
126+
% \begin{itemize}
127+
% \item Simple kernel
128+
%% \item Monolithic kernel
129+
%% \item Micro kernel
130+
%% \item Exokernel
131+
%% \item VMM, etc...
132+
% \end{itemize}
133+
134+
\includegraphics[width=1.\textwidth]{vm-layer}
135+
136+
137+
\end{column}
138+
139+
140+
\end{columns}
141+
142+
143+
\end{frame}
144+
145+
146+
%-------------------------------------------------
147+
\begin{frame}[plain]
148+
\frametitle{Introduction -- VMM}
149+
150+
151+
152+
\begin{columns}
153+
154+
\begin{column}{.5\textwidth}
155+
156+
\includegraphics[width=1.\textwidth]{vmm-overview}
157+
158+
\end{column}
159+
160+
\begin{column}{.5\textwidth}
161+
162+
\begin{block}{Virtual Machine Monitor, VMM}
163+
VMM transforms the single machine interface into the illusion of many. Each of these interfaces (virtual machines) is an efficient replica of the original computer system, complete with all of the processor instructions [Robert P. Goldberg, 1974]
164+
\end{block}
165+
166+
% \begin{block}{Virtual Machine Monitor, VMM}
167+
% A virtual machine is implemented by adding software to an execution platform to give it the appearance of a different platform, or for that matter, to give the appearance of multiple platforms. [. E. Smith and Ravi Nair, “An Overview of Virtual Machine Architectures”.]
168+
% \end{block}
169+
\end{column}
170+
171+
172+
\end{columns}
173+
174+
175+
\end{frame}
176+
177+
%-------------------------------------------------
178+
\begin{frame}[plain]
179+
\frametitle{Introduction -- VMM}
180+
181+
182+
183+
\begin{columns}
184+
185+
\begin{column}{.5\textwidth}
186+
187+
\includegraphics[width=1.\textwidth]{vmm-overview}
188+
189+
\end{column}
190+
191+
\begin{column}{.5\textwidth}
192+
193+
% \begin{block}{Virtual Machine Monitor, VMM}
194+
% VMM transforms the single machine interface into the illusion of many. Each of these interfaces (virtual machines) is an efficient replica of the original computer system, complete with all of the processor instructions [Robert P. Goldberg, 1974]
195+
% \end{block}
196+
197+
\begin{block}{Virtual Machine Monitor, VMM}
198+
A virtual machine is implemented by adding software to an execution platform to give it the appearance of a different platform, or for that matter, to give the appearance of multiple platforms. [J.E. Smith, “An Overview of Virtual Machine Architectures”]
199+
\end{block}
200+
\end{column}
201+
202+
203+
\end{columns}
204+
205+
206+
\end{frame}
207+
208+
209+
%-------------------------------------------------
210+
\begin{frame}[plain]
211+
\frametitle{Introduction -- Why VMM?}
212+
213+
214+
215+
\begin{columns}
216+
217+
\begin{column}{.5\textwidth}
218+
219+
\includegraphics[width=1.\textwidth]{vmm-overview}
220+
221+
\end{column}
222+
223+
\begin{column}{.5\textwidth}
224+
225+
Before there were data centers...
226+
\begin{itemize}
227+
\item Many early commercial computers were mainframes
228+
\item powerful computation, highly reliable, extensive I/O capabilities
229+
\item for computing/data-intensive apps
230+
231+
\end{itemize}
232+
IBM System/360 hardware and CP/CMS system software: Virtualizable Architecture
233+
\end{column}
234+
235+
236+
\end{columns}
237+
238+
\end{frame}
239+
240+
241+
%-------------------------------------------------
242+
\begin{frame}[plain]
243+
\frametitle{Introduction -- Why VMM?}
244+
245+
246+
247+
\begin{columns}
248+
249+
\begin{column}{.5\textwidth}
250+
251+
\includegraphics[width=1.\textwidth]{vmm-overview}
252+
253+
\end{column}
254+
255+
\begin{column}{.5\textwidth}
256+
257+
Now there were data centers...
258+
\begin{itemize}
259+
\item Many computers were servers connected in the world.
260+
\item powerful computation, highly reliable, extensive I/O capabilities
261+
\item for computing/data-intensive apps
262+
263+
264+
\end{itemize}
265+
x86/ARM and Linux/KVM, vmware, xen, etc. system software: Virtualizable Architecture
266+
\end{column}
267+
268+
269+
\end{columns}
270+
271+
\end{frame}
272+
273+
274+
%-------------------------------------------------
275+
\begin{frame}[plain]
276+
\frametitle{Introduction -- Essential characteristics of VMM}
277+
278+
279+
280+
\begin{columns}
281+
282+
\begin{column}{.5\textwidth}
283+
284+
\includegraphics[width=1.\textwidth]{vmm-overview}
285+
286+
\end{column}
287+
288+
\begin{column}{.5\textwidth}
289+
290+
\begin{itemize}
291+
\item Equivalence: Essentially identical virtual platform, except
292+
\begin{itemize}
293+
\item Differences caused by the availability of system resources. e.g. memory size
294+
295+
\end{itemize} \pause
296+
297+
\item Isolation, or resource control
298+
\begin{itemize}
299+
\item VMM is in complete control of system resources
300+
301+
\end{itemize} \pause
302+
303+
\item Efficiency
304+
\begin{itemize}
305+
\item At worst only minor decreases in speed
306+
\item speed $>>$ emulators, software interpreters (simulators)
307+
308+
\end{itemize}
309+
310+
\end{itemize}
311+
312+
\end{column}
313+
314+
315+
\end{columns}
316+
317+
318+
\end{frame}
319+
320+
321+
%-------------------------------------------------
322+
323+
324+
\end{document}

0 commit comments

Comments
 (0)