Themenabend slides

This commit is contained in:
Emery Hemingway 2019-04-25 16:40:22 +02:00
parent 2fe6e9257a
commit c6cf8d76f2
18 changed files with 280 additions and 18 deletions

View File

@ -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

View File

@ -1,20 +1,19 @@
<index>
<index name="Emulators and game engines">
<pkg path="_/pkg/dosbox" info="Experimental Libretro port of DOSBox"/>
<pkg path="_/pkg/fceumm" info="NES"/>
<pkg path="_/pkg/gambatte" info="GB"/>
<pkg path="_/pkg/mgba" info="GBA"/>
<pkg path="_/pkg/nxengine" info="Cave Story engine without game data"/>
<pkg path="_/pkg/snes9x" info="SNES"/>
<pkg path="_/pkg/advanced_tests" info="Libretro tests"/>
<pkg path="_/pkg/dosbox" info="Experimental Libretro port of DOSBox"/>
<index name="Tests">
<pkg path="_/pkg/240pee-NES" info="NES tests"/>
<pkg path="_/pkg/240pSuite-SNES" info="SNES tests"/>
<pkg path="_/pkg/simple_tests" info="A test core written in C"/>
<pkg path="_/pkg/advanced_tests" info="An advanced test core written in C"/>
<pkg path="_/pkg/button_test" info="Libretro joypad button test"/>
<pkg path="_/pkg/cruzes" info="An unfinished Picross game"/>
<pkg path="_/pkg/simple_tests" info="A test core written in C"/>
<pkg path="_/pkg/topbench_dosbox-libretro" info="The Oldskool PC Benchmark running in DOSBox"/>
<pkg path="_/pkg/topbench_dosbox-svn" info="The Oldskool PC Benchmark running in DOSBox"/>
</index>
@ -39,11 +38,19 @@
</index>
<index name="VMMs">
<index name="Alpine">
<pkg path="_/pkg/installer-alpine_seoul_nova" info="Alpine Linux as a Seoul VMM guest installer with 8GiB disk"/>
<pkg path="_/pkg/alpine_seoul_nova" info="Alpine Linux as a Seoul VMM guest"/>
<pkg path="genodelabs/pkg/vbox5-nova-sculpt/2019-03-18" info="VBox5 for running Linux"/>
<index name="Installers">
<pkg path="_/pkg/fetch_alpine_x86_64" info="Fetch Alpine Linux virt ISO"/>
<pkg path="_/pkg/fetch_nixos_x86_64" info="Fetch NixOS minimal ISO"/>
<pkg path="_/pkg/fetch_ubuntu_x86_64" info="Fetch Ubuntu netboot installer ISO"/>
</index>
<index name="Experimental">
<index name="Alpine">
<pkg path="_/pkg/installer-alpine_seoul_nova" info="Alpine Linux as a Seoul VMM guest installer with 8GiB disk"/>
<pkg path="_/pkg/alpine_seoul_nova" info="Alpine Linux as a Seoul VMM guest"/>
</index>
<pkg path="_/pkg/vbox5-nova" info="Vbox with routable block devices"/>
</index>
<pkg path="_/pkg/vbox5-nova" info="Vbox with routable block devices"/>
</index>
<index name="Operating system demos">
@ -54,6 +61,16 @@
</index>
<index name="Utilities">
<index name="Network">
<pkg path="_/pkg/nic_bridge" info="Ethernet bridge"/>
<pkg path="_/pkg/nic_bridge_logged" info="Logged ethernet bridge"/>
<pkg path="_/pkg/nic_bus" info="Switched ethernet bus"/>
<pkg path="_/pkg/ninep" info="9P server"/>
<pkg path="_/pkg/ssh_client" info="SSH client"/>
<pkg path="_/pkg/test-lwip_node" info="Standalone lwIP IPv6 node"/>
<pkg path="_/pkg/test-lwip_node" info="Standalone lwIP IPv6 node"/>
</index>
<!-- <pkg path="ehmry/pkg/flif_capture/2019-03-22" info="Screen capture utility"/> -->
<pkg path="_/pkg/backdrop" info="Nitpicker backdrop"/>
<pkg path="_/pkg/block_shred" info="Fill a block device with psuedo-random noise"/>
@ -62,21 +79,12 @@
<pkg path="ehmry/pkg/grafx2/2019-03-19" info="Bitmap paint program (ported by cnuke)"/>
<pkg path="ehmry/pkg/jitter_sponge/2019-03-31" info="Entropy source"/>
<pkg path="ehmry/pkg/noux-build-x86/2019-03-20" info="Noux build environment"/>
<pkg path="_/pkg/ninep" info="9P server"/>
<pkg path="_/pkg/test-lwip_node" info="Standalone lwIP IPv6 node"/>
<pkg path="_/pkg/ssh_client" info="SSH client"/>
</index>
<index name="Network">
<pkg path="_/pkg/nic_bus" info="Switched ethernet bus"/>
<pkg path="_/pkg/nic_bridge" info="Ethernet bridge"/>
<pkg path="_/pkg/nic_bridge_logged" info="Logged ethernet bridge"/>
<pkg path="_/pkg/test-lwip_node" info="Standalone lwIP IPv6 node"/>
</index>
<index name="Experimental">
<pkg path="_/pkg/4do"/>
<pkg path="_/pkg/blobs_service"/>
<pkg path="ehmry/pkg/avplay/2019-04-24"/>
<pkg path="_/pkg/blob_service"/>
<pkg path="_/pkg/bluemsx"/>
<pkg path="_/pkg/ifm1"/>
<pkg path="_/pkg/ifm2"/>
@ -85,6 +93,7 @@
<pkg path="_/pkg/mu"/>
<pkg path="_/pkg/musicbrainz_playlist_generator"/>
<pkg path="_/pkg/testgl"/>
<pkg path="_/pkg/themenabend_slides"/>
</index>
<pkg path="_/pkg/chroot" info="Automatic file-system session partitioner"/>

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

22
themenabend/Tupfile Normal file
View File

@ -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)

BIN
themenabend/agpl-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

BIN
themenabend/genode_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
themenabend/redstar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

28
themenabend/runtime Normal file
View File

@ -0,0 +1,28 @@
<runtime ram="64M" caps="2000" binary="pdf_view">
<requires> <nitpicker/> </requires>
<content>
<rom label="freetype.lib.so"/>
<rom label="jbig2dec.lib.so"/>
<rom label="jpeg.lib.so"/>
<rom label="libc.lib.so"/>
<rom label="libm.lib.so"/>
<rom label="libpng.lib.so"/>
<rom label="mupdf.lib.so"/>
<rom label="openjpeg.lib.so"/>
<rom label="pdf_view"/>
<rom label="slides.pdf"/>
<rom label="vfs.lib.so"/>
<rom label="zlib.lib.so"/>
</content>
<config>
<vfs>
<rom name="slides.pdf"/>
<dir name="dev"> <log/> </dir>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</runtime>

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB

202
themenabend/slides.tex Normal file
View File

@ -0,0 +1,202 @@
\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+ worlds 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}

BIN
themenabend/solo5_tcb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
themenabend/starfire.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
themenabend/usb_armory.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB