Date: Thu, 3 Oct 2013 10:17:08 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r256017 - in user/glebius/course: . 01.intro 01.intro/img Message-ID: <201310031017.r93AH8Ga079545@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Thu Oct 3 10:17:07 2013 New Revision: 256017 URL: http://svnweb.freebsd.org/changeset/base/256017 Log: Start the OS course with a lame lame introduction lection. Added: user/glebius/course/ user/glebius/course/01.intro/ user/glebius/course/01.intro/Makefile (contents, props changed) user/glebius/course/01.intro/img/ user/glebius/course/01.intro/img/FreeBSD_logo.png (contents, props changed) user/glebius/course/01.intro/img/apple.png (contents, props changed) user/glebius/course/01.intro/img/book_absolute.jpg (contents, props changed) user/glebius/course/01.intro/img/book_drivers.jpg (contents, props changed) user/glebius/course/01.intro/img/book_mcckusick.jpg (contents, props changed) user/glebius/course/01.intro/img/book_rootkits.jpg (contents, props changed) user/glebius/course/01.intro/img/book_unix.jpg (contents, props changed) user/glebius/course/01.intro/img/book_unp.jpg (contents, props changed) user/glebius/course/01.intro/img/emc.png (contents, props changed) user/glebius/course/01.intro/img/isilon.png (contents, props changed) user/glebius/course/01.intro/img/juniper.png (contents, props changed) user/glebius/course/01.intro/img/netapp.png (contents, props changed) user/glebius/course/01.intro/img/netflix.png (contents, props changed) user/glebius/course/01.intro/img/pie.png (contents, props changed) user/glebius/course/01.intro/img/rambler.png (contents, props changed) user/glebius/course/01.intro/img/yahoo.png (contents, props changed) user/glebius/course/01.intro/img/yandex.png (contents, props changed) user/glebius/course/01.intro/lection.tex Added: user/glebius/course/01.intro/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/glebius/course/01.intro/Makefile Thu Oct 3 10:17:07 2013 (r256017) @@ -0,0 +1,13 @@ +NAME?= lection + +TMP= $(NAME).aux $(NAME).log $(NAME).nav $(NAME).out $(NAME).snm \ + $(NAME).toc $(NAME).vrb + +.MAIN: $(NAME).pdf + +.SUFFIXES: .pdf .tex +.tex.pdf: + pdflatex -file-line-error -halt-on-error ${.IMPSRC} + +clean: + rm -f -- $(TMP) texput.log Added: user/glebius/course/01.intro/img/FreeBSD_logo.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/apple.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/book_absolute.jpg ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/book_drivers.jpg ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/book_mcckusick.jpg ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/book_rootkits.jpg ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/book_unix.jpg ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/book_unp.jpg ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/emc.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/isilon.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/juniper.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/netapp.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/netflix.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/pie.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/rambler.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/yahoo.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/img/yandex.png ============================================================================== Binary file. No diff available. Added: user/glebius/course/01.intro/lection.tex ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/glebius/course/01.intro/lection.tex Thu Oct 3 10:17:07 2013 (r256017) @@ -0,0 +1,334 @@ +\documentclass{beamer} + +\usepackage[utf8]{inputenc} +\usepackage[russian]{babel} +\usepackage{tikz} +\usepackage{adjustbox} +\usepackage{url} +\usepackage{array} + +\usetikzlibrary{positioning} + +\title{Design and Implementation\\ +\includegraphics[height=2cm]{img/FreeBSD_logo.png} +} +\author{ } + +\begin{document} + +\begin{frame} +\titlepage +\end{frame} + + + +\begin{frame} +\frametitle{Where did we come from?} +\begin{figure} +\begin{tikzpicture}[ + balloon/.style = { draw, minimum size=6mm, rounded corners=3mm, + very thick,draw=black!50, top color=white, + bottom color=black!20, font=\ttfamily, + align=center }, + abovestr/.style = { midway, sloped, above, scale=0.6 }] + + \node[name=freebsd, balloon]{FreeBSD 1, {\scriptsize 1993}}; + \node[name=net2, balloon, above right=1cm and -1.6cm of freebsd]{4.3BSD Net2}; + \node[name=bsd, balloon, left=of net2]{BSD}; + \node[name=unix, balloon, left=of bsd]{UNIX}; + \node[name=bsd386, balloon, right=of net2]{386/BSD}; + \node[name=dots, balloon, below=of freebsd]{\ldots}; + \node[name=freebsd10, balloon, below=2cm of dots]{ FreeBSD 10, + {\scriptsize 2013}}; + \node[name=others, balloon, below right=0.5cm and 1.5cm of freebsd, text width=1.5cm] + {NetBSD OpenBSD KAME}; + \node[name=solaris, balloon, below left=0.5cm and 1cm of freebsd, text width=2.5cm] + {OpenSolaris Illumos}; + + \draw [->] (unix) -- (bsd) node [abovestr] { 80-th }; + \draw [->] (bsd) -- (net2) node [abovestr] { 1991 }; + \draw [->] (net2) -- (bsd386) node [abovestr] { 1992 }; + \draw [->] (bsd386) -- (freebsd); + \draw [->] (freebsd) -- (dots); + \draw [->] (dots) -- (freebsd10) node [name=arr, pos=0.8] {}; + \draw [->] (others) -- (arr.center); + \draw [->] (solaris) -- (arr.center); +\end{tikzpicture} +\end{figure} +\end{frame} + + + +\begin{frame} +\frametitle{Where it runs?} +\begin{center} +\begin{tabular}{ c c c } +\includegraphics[width=3cm]{img/yahoo.png} & +\includegraphics[width=3cm]{img/yandex.png} & +\includegraphics[width=3cm]{img/rambler.png} \\ +\includegraphics[width=3cm]{img/juniper.png} & +\includegraphics[width=3cm]{img/isilon.png} & +\includegraphics[width=3cm]{img/netapp.png} \\ +\includegraphics[width=3cm]{img/emc.png} & +\includegraphics[width=3cm]{img/apple.png} & +\includegraphics[width=3cm]{img/netflix.png} \\ +\end{tabular} +\end{center} +\end{frame} + + + + +\begin{frame} +\frametitle{Where it runs?} +\begin{center} +\includegraphics[width=11cm]{img/pie.png} +\end{center} +\end{frame} + + + +\begin{frame} +\frametitle{FreeBSD developers} +\begin{figure} +\begin{tikzpicture}[ + foo/.style = { draw, circle }] + + \draw (0,0) circle[x radius=5.5cm, y radius=3.5cm]; + \draw (0,-2.5) node {contributors (thousands of 'em)}; + \draw (0,1) circle[x radius=4cm, y radius=2.5cm]; + \draw (0,-0.5) node {committers (\~{}400)}; + \draw (0,1) node[foo]{core (9)}; + \draw (-2,1) node[foo]{doceng}; + \draw (2,1) node[foo]{portmgr}; + \draw (-1,2) node[foo]{releng}; + \draw (1,2) node[foo]{secteam}; + \draw (-3.2,-1) node[foo]{vendors}; +\end{tikzpicture} +\end{figure} +\end{frame} + + + +\begin{frame} +\frametitle{Development workflow} +\begin{figure} +\begin{tikzpicture}[ + balloon/.style = { draw, minimum size=6mm, rounded corners=3mm, + very thick,draw=black!50, top color=white, + bottom color=black!20, font=\ttfamily, + align=center }, + abovestr/.style = { midway, sloped, above }] + + \draw (0,0) node[name=dots, balloon]{\ldots}; + \draw (1,0) node[name=br9]{}; + \draw [fill] (node cs:name=br9) circle[radius=0.1cm]; + \draw (3,0) node[name=br10]{}; + \draw [fill] (node cs:name=br10) circle[radius=0.1cm]; + \node[name=current, balloon, right=7cm of dots]{FreeBSD CURRENT}; + \draw [->] (dots) -- (current) node [name=head, abovestr] {head}; + + \node[name=st10, balloon, below left=1cm and 0.1 cm of current.center] + {FreeBSD 10-STABLE}; + \draw [->] (br10) .. controls +(down:1cm) and +(left:1cm) .. + node[above,sloped] {stable/10} (st10.west); + + \node[name=br90, below left=3cm and 0.5cm of br10.center]{}; + \draw [fill] (node cs:name=br90) circle[radius=0.1cm]; + \draw [->] (br9) .. controls +(down:2cm) and +(left:2cm) .. + node[below,sloped] {stable/9} (br90); + \node[name=br91, right=of br90]{}; + \draw [fill] (node cs:name=br91) circle[radius=0.1cm]; + \node[name=br92, right=of br91]{}; + \draw [fill] (node cs:name=br92) circle[radius=0.1cm]; + \node[name=st9, balloon, right=of br92] {FreeBSD 9-STABLE}; + \draw [->] (br90) -- (st9.west); + \node[name=r90, balloon, below right=1cm and 0 cm of br90]{9.0-RELEASE}; + \draw [->] (br90.center) -- (r90); + \node[name=r91, balloon, right=0.2cm of r90]{9.1-RELEASE}; + \draw [->] (br91) -- (r91); + \node[name=r92, balloon, right=0.2cm of r91]{9.2-RELEASE}; + \draw [->] (br92) -- (r92); +\end{tikzpicture} +\end{figure} +\end{frame} + + + +% OS #1 +\begin{frame} +\frametitle{What an OS actually is?} +\begin{figure} +\begin{tikzpicture}[font=\Large, node distance = 0.1 cm, + block/.style = { rectangle, draw=black, thick, fill=white, + inner xsep=0.5cm} ] + + \node [name=loader, block] { loader }; + \node [name=kernel, block, + minimum height=1.5cm, minimum width=11cm, below=of loader] { kernel }; + \node [name=drivers, block, text centered, + minimum height=1.3cm, right=2cm of kernel.center] + { drivers }; + \node [name=userland, block, minimum height=5cm, minimum width=11cm, + below=of kernel] {}; + \node [below=of kernel] { userland }; +\end{tikzpicture} +\end{figure} +\end{frame} + +% OS #2 +\begin{frame} +\frametitle{What an OS actually is?} +\begin{figure} +\begin{tikzpicture}[font=\Large, node distance = 0.1 cm, + block/.style = { rectangle, draw=black, thick, fill=white, + inner xsep=0.5cm} ] + + \node [name=loader, block] { loader }; + \node [name=kernel, block, + minimum height=1.5cm, minimum width=11cm, below=of loader] { kernel }; + \node [name=drivers, block, text centered, + minimum height=1.3cm, right=2cm of kernel.center] + { drivers }; + \node [name=userland, block, minimum height=5cm, minimum width=11cm, + below=of kernel] {}; + \node [below=of kernel] { userland }; + \node [name=sysutil, block, minimum height=1.5cm, minimum width=5cm, + above left=0.1cm and 0.1cm of userland.center] { system utilities }; +\end{tikzpicture} +\end{figure} +\end{frame} + +% OS #3 +\begin{frame} +\frametitle{What an OS actually is?} +\begin{figure} +\begin{tikzpicture}[font=\Large, node distance = 0.1 cm, + block/.style = { rectangle, draw=black, thick, fill=white, + inner xsep=0.5cm} ] + + \node [name=loader, block] { loader }; + \node [name=kernel, block, + minimum height=1.5cm, minimum width=11cm, below=of loader] { kernel }; + \node [name=drivers, block, text centered, + minimum height=1.3cm, right=2cm of kernel.center] + { drivers }; + \node [name=userland, block, minimum height=5cm, minimum width=11cm, + below=of kernel] {}; + \node [below=of kernel] { userland }; + \node [name=sysutil, block, minimum height=1.5cm, minimum width=5cm, + above left=0.1cm and 0.1cm of userland.center] { system utilities }; + \node [name=env, block, minimum height=1.5cm, minimum width=5cm, + above right=0.1cm and 0.1cm of userland.center] { POSIX environment }; +\end{tikzpicture} +\end{figure} +\end{frame} + +% OS #4 +\begin{frame} +\frametitle{What an OS actually is?} +\begin{figure} +\begin{tikzpicture}[font=\Large, node distance = 0.1 cm, + block/.style = { rectangle, draw=black, thick, fill=white, + inner xsep=0.5cm} ] + + \node [name=loader, block] { loader }; + \node [name=kernel, block, + minimum height=1.5cm, minimum width=11cm, below=of loader] { kernel }; + \node [name=drivers, block, text centered, + minimum height=1.3cm, right=2cm of kernel.center] + { drivers }; + \node [name=userland, block, minimum height=5cm, minimum width=11cm, + below=of kernel] {}; + \node [below=of kernel] { userland }; + \node [name=sysutil, block, minimum height=1.5cm, minimum width=5cm, + above left=0.1cm and 0.1cm of userland.center] { system utilities }; + \node [name=env, block, minimum height=1.5cm, minimum width=5cm, + above right=0.1cm and 0.1cm of userland.center] { POSIX environment }; + \node [name=gui, block, minimum height=1.5cm, minimum width=5cm, + below left=0.1cm and 0.1cm of userland.center] { GUI }; + \node [name=pkg, block, minimum height=1.5cm, minimum width=5cm, + below right=0.1cm and 0.1cm of userland.center] { packaging system }; +\end{tikzpicture} +\end{figure} +\end{frame} + +% OS #5 +\begin{frame} +\frametitle{What an OS actually is?} +\begin{figure} +\begin{tikzpicture}[font=\Large, node distance = 0.1 cm, + block/.style = { rectangle, draw=black, thick, fill=white, + inner xsep=0.5cm} ] + + \node [name=loader, block] { loader }; + \node [name=kernel, block, + minimum height=1.5cm, minimum width=11cm, below=of loader] { kernel }; + \node [name=drivers, block, text centered, + minimum height=1.3cm, right=2cm of kernel.center] + { drivers }; + \node [name=userland, block, minimum height=5cm, minimum width=11cm, + below=of kernel] {}; + \node [below=of kernel] { userland }; + \node [name=sysutil, block, minimum height=1.5cm, minimum width=5cm, + above left=0.1cm and 0.1cm of userland.center] { system utilities }; + \node [name=env, block, minimum height=1.5cm, minimum width=5cm, + above right=0.1cm and 0.1cm of userland.center] { POSIX environment }; + \node [name=pkg, block, minimum height=1.5cm, minimum width=2.5cm, + text width=2cm, text centered, + below left=0.1cm and 0.1cm of userland.center] { packaging system }; + \node [name=gui, block, minimum height=1.5cm, + left=of pkg] { GUI }; + \node [name=installer, block, minimum height=1.5cm, minimum width=2.5cm, + below right=0.1cm and 0.1cm of userland.center] { installer }; + \node [name=doc, block, minimum height=1.5cm, minimum width=2.5cm, + below right=0.1cm and 2.6cm of userland.center] { docs }; +\end{tikzpicture} +\end{figure} +\end{frame} + + + +\begin{frame} +\frametitle{Recommended literature} +\center\includegraphics[height=3cm]{img/book_mcckusick.jpg}\\ +The Design and Implementation of the FreeBSD Operating System, +\textit{Marshall Kirk McKusick, George V. Neville-Neil}, 2004 \\ +\end{frame} + +\begin{frame} +\frametitle{Recommended literature} +\begin{center} +\begin{tabular}{ p{3cm} p{6cm} } +\includegraphics[height=3cm]{img/book_unix.jpg} & +UNIX Network Programming, +\textit{W. Richard Stevens}, 2003 \\ +\includegraphics[height=3cm]{img/book_unp.jpg} & +Advanced Programming in the UNIX Environment, +\textit{W. Richard Stevens, Stephen A. Rago}, 2013 +\end{tabular} +\end{center} +\end{frame} + +\begin{frame} +\frametitle{Recommended literature} +\begin{center} +\begin{tabular}{ p{3cm} p{6cm} } +\includegraphics[height=3cm]{img/book_drivers.jpg} & +FreeBSD Device Drivers: A Guide for the Intrepid, +\textit{Kong, Joseph}, 2012 \\ +\includegraphics[height=3cm]{img/book_rootkits.jpg} & +Designing BSD Rootkits: An Introduction to Kernel Hacking, +\textit{Kong, Joseph}, 2009 \\ +\end{tabular} +\end{center} +\end{frame} + +\begin{frame} +\frametitle{Recommended literature} +\center\includegraphics[height=3cm]{img/book_absolute.jpg} +Absolute FreeBSD: The Complete Guide to FreeBSD, +\textit{Lucas, Michael W.}, 2009 \\ +\end{frame} + +\end{document}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310031017.r93AH8Ga079545>