Skip to content

Commit

Permalink
DD
Browse files Browse the repository at this point in the history
  • Loading branch information
li-guoliang committed May 14, 2021
1 parent 26520a8 commit a8bff4d
Show file tree
Hide file tree
Showing 97 changed files with 2,251 additions and 0 deletions.
Binary file modified .DS_Store
Binary file not shown.
Binary file modified lecture18/.DS_Store
Binary file not shown.
Binary file added lecture22/.DS_Store
Binary file not shown.
Binary file added lecture22/fig23/aios.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/cloudos.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/cpu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/cpugpu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/cs.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/db2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/docker.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/formal.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/formal2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/gpu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/nama.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/numa.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/nvm.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/nvm2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/os-security.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/os.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/os2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/os3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma0.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma3.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma4.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added lecture22/fig23/rdma5.jpg
Binary file added lecture22/fig23/sgx.jpeg
Binary file added lecture22/fig23/smp.jpg
Binary file added lecture22/fig23/smp2.jpg
Binary file added lecture22/fig23/tee.jpeg
Binary file added lecture22/fig23/time.jpg
Binary file added lecture22/fig23/time.png
Binary file added lecture22/fig23/未命名.png
932 changes: 932 additions & 0 deletions lecture22/slide-23.tex

Large diffs are not rendered by default.

Binary file added lecture23/.DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions lecture23/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pdf
14 changes: 14 additions & 0 deletions lecture23/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
SOURCE = $(wildcard *.tex)
PDF = $(patsubst %.tex,%.pdf,$(SOURCE))

%.pdf:%.tex
xelatex $<

.PHONY:all clean cleanall
all:$(PDF)

cleanall:
rm -f *.pdf *.out *.toc *.aux *.log *.nav *.gz *.snm *.vrb *.bak *.org ~*

clean:
rm -f *.out *.toc *.aux *.log *.nav *.gz *.snm *.vrb
Binary file added lecture23/figs/device-interface.png
Binary file added lecture23/figs/exec-syscall-in-vmm.png
Binary file added lecture23/figs/exec-syscall.png
Binary file added lecture23/figs/gpt-ept-spt.png
Binary file added lecture23/figs/os-do-work.png
Binary file added lecture23/figs/os-position.png
Binary file added lecture23/figs/os-tlbmiss.png
Binary file added lecture23/figs/rv-arm-1.png
Binary file added lecture23/figs/rv-arm-2.png
Binary file added lecture23/figs/rv-kvm-linux.png
Binary file added lecture23/figs/shadow-page-table.png
Binary file added lecture23/figs/sriov.png
Binary file added lecture23/figs/vm-layer.png
Binary file added lecture23/figs/vm-taxonomy.png
Binary file added lecture23/figs/vmm-address-space.png
Binary file added lecture23/figs/vmm-do-work.png
Binary file added lecture23/figs/vmm-io-paravirt.png
Binary file added lecture23/figs/vmm-io-soft-emulation.png
Binary file added lecture23/figs/vmm-overview.png
Binary file added lecture23/figs/vmm-tlbmiss.png
Binary file added lecture23/figs/vmx-overview.png
Binary file added lecture23/figs/vt-d-direct.png
Binary file added lecture23/figs/vt-d-overview.png
Binary file added lecture23/figs/vt-x-ept.png
Binary file added lecture23/figs/vt-x-mem.png
Binary file added lecture23/figs/vt-x.png
324 changes: 324 additions & 0 deletions lecture23/slide-03-01.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,324 @@
\input{../preamble}

%----------------------------------------------------------------------------------------
% TITLE PAGE
%----------------------------------------------------------------------------------------

\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
\subtitle{第一节:Overview }
\author{陈渝} % Your name
\institute[清华大学] % Your institution as it will appear on the bottom of every slide, may be shorthand to save space
{
清华大学计算机系 \\ % Your institution for the title page
\medskip
\textit{[email protected]} % Your email address
}
\date{\today} % Date, can be changed to a custom date


\begin{document}

\begin{frame}
\titlepage % Print the title page as the first slide
\end{frame}

%\begin{frame}
%\frametitle{提纲} % Table of contents slide, comment this block out to remove it
%\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
%\end{frame}
%
%%----------------------------------------------------------------------------------------
%% PRESENTATION SLIDES
%%----------------------------------------------------------------------------------------
%
%%------------------------------------------------
%\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
%%------------------------------------------------
%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction}



\begin{columns}

\begin{column}{.4\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.6\textwidth}


\begin{block}{What is Virtualization}
Virtualization is a term that refers to the abstraction of computer resources [wikipedia]
\end{block}

\begin{block}{Wisdom}
All computer problems can be solved with another layer of redirection [Donald E. Knuth (高德纳), Stanford University]
\end{block}

\end{column}


\end{columns}


\end{frame}

%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- taxonomy}



\begin{columns}

\begin{column}{.3\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.7\textwidth}

% \Large
% OS Structure
% \begin{itemize}
% \item Simple kernel
%% \item Monolithic kernel
%% \item Micro kernel
%% \item Exokernel
%% \item VMM, etc...
% \end{itemize}

\includegraphics[width=1.\textwidth]{vm-taxonomy}

\tiny
from James E.Smith, IEEE computer Society2005
\end{column}


\end{columns}


\end{frame}

%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- different layer of virtualization}



\begin{columns}

\begin{column}{.3\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.5\textwidth}

% \Large
% OS Structure
% \begin{itemize}
% \item Simple kernel
%% \item Monolithic kernel
%% \item Micro kernel
%% \item Exokernel
%% \item VMM, etc...
% \end{itemize}

\includegraphics[width=1.\textwidth]{vm-layer}


\end{column}


\end{columns}


\end{frame}


%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- VMM}



\begin{columns}

\begin{column}{.5\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.5\textwidth}

\begin{block}{Virtual Machine Monitor, VMM}
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]
\end{block}

% \begin{block}{Virtual Machine Monitor, VMM}
% 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”.]
% \end{block}
\end{column}


\end{columns}


\end{frame}

%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- VMM}



\begin{columns}

\begin{column}{.5\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.5\textwidth}

% \begin{block}{Virtual Machine Monitor, VMM}
% 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]
% \end{block}

\begin{block}{Virtual Machine Monitor, VMM}
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”]
\end{block}
\end{column}


\end{columns}


\end{frame}


%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- Why VMM?}



\begin{columns}

\begin{column}{.5\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.5\textwidth}

Before there were data centers...
\begin{itemize}
\item Many early commercial computers were mainframes
\item powerful computation, highly reliable, extensive I/O capabilities
\item for computing/data-intensive apps

\end{itemize}
IBM System/360 hardware and CP/CMS system software: Virtualizable Architecture
\end{column}


\end{columns}

\end{frame}


%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- Why VMM?}



\begin{columns}

\begin{column}{.5\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.5\textwidth}

Now there were data centers...
\begin{itemize}
\item Many computers were servers connected in the world.
\item powerful computation, highly reliable, extensive I/O capabilities
\item for computing/data-intensive apps


\end{itemize}
x86/ARM and Linux/KVM, vmware, xen, etc. system software: Virtualizable Architecture
\end{column}


\end{columns}

\end{frame}


%-------------------------------------------------
\begin{frame}[plain]
\frametitle{Introduction -- Essential characteristics of VMM}



\begin{columns}

\begin{column}{.5\textwidth}

\includegraphics[width=1.\textwidth]{vmm-overview}

\end{column}

\begin{column}{.5\textwidth}

\begin{itemize}
\item Equivalence: Essentially identical virtual platform, except
\begin{itemize}
\item Differences caused by the availability of system resources. e.g. memory size

\end{itemize} \pause

\item Isolation, or resource control
\begin{itemize}
\item VMM is in complete control of system resources

\end{itemize} \pause

\item Efficiency
\begin{itemize}
\item At worst only minor decreases in speed
\item speed $>>$ emulators, software interpreters (simulators)

\end{itemize}

\end{itemize}

\end{column}


\end{columns}


\end{frame}


%-------------------------------------------------


\end{document}
Loading

0 comments on commit a8bff4d

Please sign in to comment.