\documentclass[pdf,utf8]{beamer} \mode %\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}