diff --git a/build-x86_64/tup.config b/build-x86_64/tup.config index 8aee048..06a3cf6 100644 --- a/build-x86_64/tup.config +++ b/build-x86_64/tup.config @@ -44,6 +44,7 @@ CONFIG_PUBLIC_SRC_SSH_CLIENT=ehmry/src/ssh_client/2019-04-08 CONFIG_PUBLIC_SRC_STDCXX=genodelabs/src/stdcxx/2019-02-25 CONFIG_PUBLIC_SRC_TERMINAL=ehmry/src/terminal/2019-04-05 CONFIG_PUBLIC_SRC_VBOX_NOVA=genodelabs/src/vbox5-nova/2019-03-17 +CONFIG_PUBLIC_SRC_VFS_AUDIT=ehmry/src/vfs_audit/2019-04-20 CONFIG_PUBLIC_SRC_VFS=genodelabs/src/vfs/2019-03-18 CONFIG_PUBLIC_SRC_VFS_JITTERENTROPY=ehmry/src/vfs_jitterentropy/2019-03-17 CONFIG_PUBLIC_SRC_VFS_LWIP=ehmry/src/vfs_lwip/2019-04-01 diff --git a/index.xml b/index.xml index 826c77d..8943ee8 100644 --- a/index.xml +++ b/index.xml @@ -1,20 +1,19 @@ + - - - + @@ -39,11 +38,19 @@ - - - + + + + + + + + + + + + - @@ -54,6 +61,16 @@ + + + + + + + + + + @@ -62,21 +79,12 @@ - - - - - - - - - - - + + @@ -85,6 +93,7 @@ + diff --git a/themenabend/2001_apes_monolith.jpg b/themenabend/2001_apes_monolith.jpg new file mode 100644 index 0000000..48bae8b Binary files /dev/null and b/themenabend/2001_apes_monolith.jpg differ diff --git a/themenabend/OS-structure.png b/themenabend/OS-structure.png new file mode 100644 index 0000000..407ed72 Binary files /dev/null and b/themenabend/OS-structure.png differ diff --git a/themenabend/The_Linux_Foundation_Logo.png b/themenabend/The_Linux_Foundation_Logo.png new file mode 100644 index 0000000..d753ad9 Binary files /dev/null and b/themenabend/The_Linux_Foundation_Logo.png differ diff --git a/themenabend/Tupfile b/themenabend/Tupfile new file mode 100644 index 0000000..0439677 --- /dev/null +++ b/themenabend/Tupfile @@ -0,0 +1,22 @@ +TARGET_NAME = themenabend_slides +include_rules + +: slides.tex |> pdflatex %f |> \ + %B.aux \ + %B.log \ + %B.nav \ + %B.out \ + %B.pdf \ + %B.snm \ + %B.toc \ + +: slides.pdf |> !collect_raw |> + +PKG_DEPENDS += \ + _/raw/$(TARGET_NAME) \ + @(PUBLIC_PKG_PDF_VIEW) \ + +: runtime |> !collect_pkg_runtime |> + +include $(RAW_RULES) +include $(PKG_RULES) diff --git a/themenabend/agpl-logo.png b/themenabend/agpl-logo.png new file mode 100644 index 0000000..93e527e Binary files /dev/null and b/themenabend/agpl-logo.png differ diff --git a/themenabend/app_specific_tcb.pdf b/themenabend/app_specific_tcb.pdf new file mode 100644 index 0000000..c669c70 Binary files /dev/null and b/themenabend/app_specific_tcb.pdf differ diff --git a/themenabend/genode_logo.png b/themenabend/genode_logo.png new file mode 100644 index 0000000..9cf21b4 Binary files /dev/null and b/themenabend/genode_logo.png differ diff --git a/themenabend/redstar.png b/themenabend/redstar.png new file mode 100644 index 0000000..25bd815 Binary files /dev/null and b/themenabend/redstar.png differ diff --git a/themenabend/runtime b/themenabend/runtime new file mode 100644 index 0000000..b215d95 --- /dev/null +++ b/themenabend/runtime @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themenabend/sculpt_overview.png b/themenabend/sculpt_overview.png new file mode 100644 index 0000000..e244350 Binary files /dev/null and b/themenabend/sculpt_overview.png differ diff --git a/themenabend/slides.tex b/themenabend/slides.tex new file mode 100644 index 0000000..7a3e2e3 --- /dev/null +++ b/themenabend/slides.tex @@ -0,0 +1,202 @@ +\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} diff --git a/themenabend/solo5_tcb.png b/themenabend/solo5_tcb.png new file mode 100644 index 0000000..064e114 Binary files /dev/null and b/themenabend/solo5_tcb.png differ diff --git a/themenabend/starfire.jpg b/themenabend/starfire.jpg new file mode 100644 index 0000000..0052226 Binary files /dev/null and b/themenabend/starfire.jpg differ diff --git a/themenabend/usb_armory.jpg b/themenabend/usb_armory.jpg new file mode 100644 index 0000000..608c677 Binary files /dev/null and b/themenabend/usb_armory.jpg differ diff --git a/themenabend/utah2000-cover.png b/themenabend/utah2000-cover.png new file mode 100644 index 0000000..90db98f Binary files /dev/null and b/themenabend/utah2000-cover.png differ diff --git a/themenabend/utah2000-graph.png b/themenabend/utah2000-graph.png new file mode 100644 index 0000000..01f61b6 Binary files /dev/null and b/themenabend/utah2000-graph.png differ