\documentclass[pdf,utf8]{beamer}
\mode<presentation>

%\usetheme{Dresden}

\title{Genode Operating System Framework\\+\\Sculpt}

\begin{document}
 
\begin{frame}
	\titlepage
\end{frame}

\section{Motivation}

\subsection{History}

\begin{frame}
New operating systems?
\end{frame}

\begin{frame}
\begin{center}
	\includegraphics[width=.5\textwidth,height=.5\textheight,keepaspectratio]{utah2000-cover.png}
	\footnote{\url{http://doc.cat-v.org/bell_labs/utah2000/}}
\end{center}
\end{frame}

\begin{frame}
\begin{center}
	\includegraphics[width=\textwidth,height=.8\textheight,keepaspectratio]{utah2000-graph.png}
	(Symposium on Operating Systems Principles)\\
	\pause
	20 years, 20 years ago
\end{center}
\end{frame}

\begin{frame}
\begin{center}
	\includegraphics[width=\textwidth,height=.5\textheight,keepaspectratio]{usb_armory.jpg}
		\footnote{\url{http://inversepath.com/usbarmory.html}}
\end{center}
\pause
Computers run on 5 Volts\\
\pause
Light bulbs have IP addresses
\end{frame}

\begin{frame}{Firmware Operating Systems}
\begin{itemize}

	\pause
	\item MINIX

	\pause
	\item Apple Secure Enclave
		\footnote{\url{https://www.apple.com/hk/business/site/docs/iOS_Security_Guide.pdf}}

	\pause
	\item Huawei LiteOS
		\footnote{\url{https://liteos.github.io/en/}}

	\pause
	\item KasperskyOS
		\footnote{\url{https://os.kaspersky.com/}}

	\pause
	\item PikeOS
		\footnote{\url{https://www.sysgo.com/products/pikeos-hypervisor/}}

	\pause
	\item QNX
		\footnote{\url{https://blackberry.qnx.com/en}}

	\pause
	\item RIOT
		\footnote{\url{https://www.riot-os.org/}}
\end{itemize}
\pause
\center{All have a microkernel architecture and\\reasonable development costs}
\end{frame}

\begin{frame}{Microkernel Architecture}
\begin{center}
\includegraphics[width=\textwidth,keepaspectratio]{OS-structure.png}
\footnote{\url{https://commons.wikimedia.org/wiki/File:OS-structure.svg}}
\end{center}
\end{frame}

\begin{frame}
\center{Systems Software Research is\\Less Irrelevant}
\center{This is not the 90s}
\end{frame}

\subsection{Monoliths}

\begin{frame}{Why reject Monoliths?}
\begin{center}
	\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{2001_apes_monolith.jpg}
\end{center}
\end{frame}

\begin{frame}{Monoliths are big}
\begin{itemize}
\pause
\item 9FRONT 2,3 MLOC
\pause
\item FreeBSD 17,2 MLOC\footnote{\url{https://www.openhub.net/p/freebsd}} (src/sys - 5,8 MLOC)
\pause
\item GNU/Linux (Glibc)1,4 MLOC \footnote{\url{https://www.openhub.net/p/glibc}}/(Kernel)17,6 MLOC\footnote{\url{https://www.openhub.net/p/linux}}
\pause
\item Android - 14 MLOC\footnote{\url{https://www.openhub.net/p/android}}
\pause
\item Chrome - 25,3 MLOC\footnote{\url{https://www.openhub.net/p/chrome}}
\end{itemize}
\end{frame}

\begin{frame}{Monoliths are expensive}
	\includegraphics{The_Linux_Foundation_Logo.png}
\begin{quote}
16B USD\\Estimated development cost of the 100+ world’s leading projects hosted at The Linux Foundation
\footnote{\url{https://www.linuxfoundation.org/}}
\end{quote}
\pause
\\Schedule A membership fee - 500,000 USD annually
\footnote{\url{https://www.linuxfoundation.org/bylaws/}}
\pause
\\Personal donations accepted
\end{frame}

\begin{frame}{Monoliths are a business model}
\begin{center}
	\includegraphics[width=\textwidth,height=.8\textheight,keepaspectratio]{starfire.jpg}
		\footnote{\url{https://www.asktog.com/starfire/}}
\end{center}
\end{frame}

\begin{frame}{Monoliths are dangerous}
\begin{center}
	\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{redstar.png}
\end{center}
\end{frame}

\begin{frame}
We don't need monoliths
\end{frame}

\section{Genode}

\begin{frame}{The Genode Operating System Framework}
\includegraphics[height=.25\textheight,keepaspectratio]{genode_logo.png}\\
A toolkit for building operating systems\\
\pause
Abstract OS service APIs\\
\pause
Modular and reusable components\\
\pause
Usermode device drivers\\
\pause
Service multiplexers\\
\pause
Language runtimes\\
\pause
Virtual Machine Monitors\\
\pause
Reducing the complexity of the trusted computing base is a first class concern\\
\pause
\includegraphics[height=.20\textheight,keepaspectratio]{agpl-logo.png}\\
\end{frame}

\begin{frame}
Kernels
\begin{itemize}
\item NOVA - ~12,5 KLOC
\pause
\item Genode Core - ~25 KLOC
\pause
\item Genode Init - ~10 KLOC
\end{itemize}
\end{frame}

\begin{frame}
\begin{center}
	\includegraphics[height=.9\textheight,keepaspectratio]{solo5_tcb.png}
\end{center}
\end{frame}

\begin{frame}{Distributed Functionality, Distributed Policy}
\begin{center}
	\includegraphics[width=\textwidth,height=.8\textheight,keepaspectratio]{app_specific_tcb.pdf}
\end{center}
\end{frame}

\frame{Demo}

\begin{frame}{Sculpt}
\begin{center}
	\includegraphics[width=\textwidth,height=.8\textheight,keepaspectratio]{sculpt_overview.png}
\end{center}
\end{frame}

\end{document}
