203 lines
4.7 KiB
TeX
203 lines
4.7 KiB
TeX
\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}
|