summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules3
-rw-r--r--2020-09-08.md398
-rw-r--r--Makefile38
-rw-r--r--beamer-template.tex518
-rw-r--r--bibliography.bib61
m---------lua-filters0
-rw-r--r--res/Bletchley Park Bombe.jpgbin0 -> 620239 bytes
-rw-r--r--res/Human Computer.jpgbin0 -> 3181522 bytes
-rw-r--r--res/IBM 704 mainframe.jpgbin0 -> 3488808 bytes
-rw-r--r--res/IBM 709 mainframe.jpgbin0 -> 64090 bytes
-rw-r--r--res/IBM 716 line printer.jpgbin0 -> 55486 bytes
-rw-r--r--res/Katherine Johnson at NASA.jpgbin0 -> 3081756 bytes
-rw-r--r--res/Ken Thompson and Dennis Ritchie at PDP-11.jpgbin0 -> 2073643 bytes
-rw-r--r--res/OS-structure.pdfbin0 -> 11274 bytes
-rw-r--r--res/OS-structure.svg876
-rw-r--r--res/boot.pngbin0 -> 1745698 bytes
17 files changed, 1895 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..84c048a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
/build/
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..815f0c0
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
1[submodule "lua-filters"]
2 path = lua-filters
3 url = https://github.com/pandoc/lua-filters.git
diff --git a/2020-09-08.md b/2020-09-08.md
new file mode 100644
index 0000000..fa96eaa
--- /dev/null
+++ b/2020-09-08.md
@@ -0,0 +1,398 @@
1---
2title: WTF is Linux
3author: Rémi Nicole <remi.nicole@smile.fr>
4date: 2020-09-08
5slide-level: 2
6aspectratio: 169
7
8theme: metropolis
9colortheme: owl
10beameroption: "show notes on second screen=right"
11
12toc: true
13highlightstyle: breezedark
14lang: en-US
15
16bibliography: ../bibliography.bib
17---
18
19# The Project
20
21## Building a Linux system manually
22
23- This is the Course (You are Here)
24- Using just normal commands
25
26::: notes
27
28Hello
29
30:::
31
32## Building a Linux system automatically
33
34- Practical Work
35- Buildroot
36
37
38## Why
39
40- Linux is everywhere in embedded software
41- Linux is everywhere in the server space
42
43
44# History
45
46## 17th century to 1970s
47
48:::: columns
49
50::: column
51![Human computer at NACA [@wikimedia:human_computer]](../res/Human Computer.jpg){ height=80% }
52:::
53::: column
54![Katherine Johnson working as a Human computer at NASA [@wikimedia:katherine_johnson_human_computer]](../res/Katherine Johnson at NASA.jpg){ height=80% }
55:::
56
57::::
58
59::: notes
60
61- NACA: National Advisory Committee for Aeronautics
62- "Computer" referred to the person that did mathematical computation
63 / verification
64- Verify trajectories for putting men into Earth orbit
65- Katherine Johnson on the right
66- You can watch the movie "Hidden Figures"
67
68:::
69
70## 1930s-1940s
71
72![Bletchley Park Bombe [@wikimedia:bletchley_park_bombe]](../res/Bletchley Park Bombe.jpg){ width=45% height=80% }
73
74::: notes
75
76- You can watch the movie "The Imitation Game"
77
78:::
79
80## 1950s
81
82::: columns
83
84:::: column
85![IBM 704 Mainframe [@wikimedia:ibm_704_mainframe]](../res/IBM 704 mainframe.jpg){ height=80% }
86::::
87
88:::: column
89![IBM 709 Mainframe [@ibm:ibm_709_mainframe]](../res/IBM 709 mainframe.jpg){ height=80% }
90::::
91
92:::
93
94::: notes
95
96- There are lights and switches
97- Back in the day, there were used to inspect and modify memory / registries or
98 see the executed instructions
99- Already two influential programming languages existed:
100 - FORTRAN (formula translation)
101 - Lisp
102- We can see:
103 - The Operator's Console
104 - The Central Processing Unit (CPU)
105 - The Punch card reader
106 - The Magnetic Tape Unit (for long term storage)
107- Very few "professional programmers"
108
109:::
110
111## 1950s---The line printer
112
113![IBM 716 Line Printer [@ibm:ibm_716_line_printer]](../res/IBM 716 line printer.jpg){ height=80% }
114
115::: notes
116
117- Really shaped the terminal as we know today
118
119:::
120
121## 1969
122
123:::: columns
124
125::: column
126
127Things were pricey:
128
129- Disk 180MB -> 32,000$
130- Commercial compiler -> 100,000$
131:::
132
133::: column
134![Boot [@needpix:boot]](../res/boot.png){ height=80% }
135:::
136
137::::
138
139::: notes
140
141- You could buy a very nice house for 32,000$
142
143:::
144
145
146## 1970s---UNIX {.allowframebreaks}
147
148![Ken Thompson (sitting) and Dennis Ritchie working together at a PDP-11 [@wikimedia:ken_thompson_dennis_ritchie]](../res/Ken Thompson and Dennis Ritchie at PDP-11.jpg){ height=67% }
149
150::: notes
151
152- He is actually coding using the teletypewriter
153
154:::
155
156\framebreak
157
158- Smaller, for one person[@fosdem:fifty_years_of_unix]
159- They actually used their own operating system
160- Invented C a bit later (1972)
161- Definitely not "free", barely "open":
162 160,000 $ per CPU
163
164Berkeley university made BSD out of it (was called Berkeley UNIX)
165
166::: notes
167
168- Targeted at big companies
169
170:::
171
172\framebreak
173
174- Same OS, different computers
175- Compiler took care of the difference in architecture.
176
177::: notes
178
179- Big advantages when compared to other solutions
180- This made UNIX popular, and by extension the C programming language too
181
182:::
183
184\framebreak
185
186Invented over the years by contributions:
187
188- shell (command interpreter)
189- pipes and filters in shell commands
190- Network file system (NFS)
191- Client/Server Windowing System
192- etc.
193
194## 1980s---GNU (Richard Stallman)
195
1961983:
197: GNU project annouced
198
1991985:
200: Created the Free Software Foundation (helps funding)
201
2021989:
203: Created GNU General Public License (GPL)
204
205Created:
206
207- Text editor (Emacs)
208- Compiler suite
209- Lots of utilities
210
211People could use these tools in different operating system
212
213::: notes
214
215- Frustrated by his printer
216- Internet was widely used in academia
217
218:::
219
220## 1990s---POSIX
221
222- Lots of different "UNIX-like" operating system existed
223- There was no proper definition of what "UNIX-like" meant
224
225## 1991--The Linux kernel (Linus Torvalds)
226
227- Just for fun
228- Needed a license
229
230::: notes
231
232- Got an Intel i386 processor for Christmas
233- Wasn't happy with the OS (he wanted page-based memory)
234- Started writing a kernel, just for fun
235- He was 21 years old
236- The current situation made it possible:
237 - Powerful "cheap" computers
238 - "Faster" internet where you could find information about operating system
239 and hardware architecture
240
241:::
242
243## 1994--Windows NT
244
245Bleurgh
246
247::: notes
248
249- Made the "personal computer" popular
250- Based on a shitty technology from IBM called DOS
251
252:::
253
254## 1990s--Linux gaining popularity
255
256- Free
257- More choice for architecture
258- Real TCP/IP stack
259
260
261::: notes
262
263- Wow, you want to connect to the internet?!
264
265:::
266
267# Command-line primer
268
269## Most commands
270
271```console
272Copies the file "file_1.txt" into "file_2.txt"
273user@host:~$ cp file_1.txt file_2.txt
274 ^^ ^^^^^^^^^^ ^^^^^^^^^^
275 | | |
276 | '-------------'- arguments
277 |
278 '---------------------- command name (verb)
279```
280
281## The prompt
282
283```console
284 ,------ username you are logged in as
285 |
286 | ,---- directory you are in,
287 | | '~' means your user directory
288vvvv v
289user@host:~$
290 ^^^^ ^
291 | |
292 | '--- '$' if you are a normal user,
293 | '#' if you are the root user
294 |
295 '--- name of the machine you are on
296```
297
298## POSIX & GNU conventions
299
300```console
301 ,-------------- long option / flag
302 |
303 | ,-- short option / flag
304 | |
305 vvvvvvvvvvvvvvvvvvvvv vv
306$ git commit --message="My commit" -S src/main.cpp
307 ^^^ ^^^^^^ ^^^^^^^^^^^^
308 | | |
309 | '----------------------------- subcommand or argument
310 |
311 '---------------------------------- command name
312```
313
314# The kernel
315
316## Role
317
318Well, it depends on the kernel
319
320::: notes
321
322Some kernel are very small, some
323
324:::
325
326---
327
328![Monolithic kernel vs Microkernel](../res/OS-structure.pdf){ height=80% }
329
330## The Linux kernel
331
332- Monolithic kernel:
333 - Drivers are in the kernel
334 - File-systems (ext4, fat32, etc.) are in the kernel
335 - Lots of other things
336
337
338## Communicating with the Linux kernel
339
340- System calls
341
342::: notes
343
344- They look like functions in C code, but that's a lie, it's a hardware feature
345 using interrupts
346
347- That's it
348- Kinda
349- We can't have one system call for everything
350 - Different system calls for different types of hardware
351
352:::
353
354. . .
355
356- Everything is a file
357
358::: notes
359
360- We have special files and special file-systems
361 - They look like files, but that's a lie
362 - Reading / Writing to it does *not* read / write to storage
363 - Instead it's like calling a function of the kernel
364- Example with `/proc/cpuinfo`
365
366:::
367
368## Compiling a kernel
369
370Let's do it
371
372## Linux boot process
373
374
375```
376Boot loader
377 |
378 | loads
379 v
380Linux kernel
381 |
382 | launches
383 v
384init (first user process)
385 |
386 | does whatever it wants
387 v
388 ?????
389```
390
391::: notes
392
393- We're not going to talk about the boot loader
394- Example with `htop`
395
396:::
397
398# References
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..17a8d13
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,38 @@
1.PHONY: all clean
2
3MARKDOWN_FILES := $(wildcard *.md)
4TEX_FILES := $(patsubst %.md,build/%.tex,$(MARKDOWN_FILES))
5PDF_FILES := $(patsubst %.md,build/%.pdf,$(MARKDOWN_FILES))
6
7.SECONDARY: $(TEX_FILES)
8
9all: $(PDF_FILES)
10
11clean:
12 $(RM) -r build
13
14build:
15 mkdir -p build
16
17lua-filters/minted/minted.lua:
18 git submodule update --init
19
20build/%.tex: %.md build beamer-template.tex lua-filters/minted/minted.lua
21 pandoc "$<" \
22 --from markdown \
23 --to beamer \
24 --template ./beamer-template.tex \
25 --lua-filter ./lua-filters/minted/minted.lua \
26 --biblatex \
27 -so "$@"
28
29build/%.pdf: build/%.tex bibliography.bib
30 cd build; latexmk \
31 -xelatex \
32 -interaction=nonstopmode \
33 -shell-escape \
34 -8bit \
35 -file-line-error \
36 -output-directory=./build \
37 "$*.tex"
38 cp build/build/$*.pdf build
diff --git a/beamer-template.tex b/beamer-template.tex
new file mode 100644
index 0000000..c866cdc
--- /dev/null
+++ b/beamer-template.tex
@@ -0,0 +1,518 @@
1% Options for packages loaded elsewhere
2\PassOptionsToPackage{unicode$for(hyperrefoptions)$,$hyperrefoptions$$endfor$}{hyperref}
3\PassOptionsToPackage{hyphens}{url}
4$if(colorlinks)$
5\PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor}
6$endif$
7$if(dir)$
8$if(latex-dir-rtl)$
9\PassOptionsToPackage{RTLdocument}{bidi}
10$endif$
11$endif$
12$if(CJKmainfont)$
13\PassOptionsToPackage{space}{xeCJK}
14$endif$
15%
16\documentclass[
17$if(fontsize)$
18 $fontsize$,
19$endif$
20$if(lang)$
21 $babel-lang$,
22$endif$
23$if(papersize)$
24 $papersize$paper,
25$endif$
26$if(beamer)$
27 ignorenonframetext,
28$if(handout)$
29 handout,
30$endif$
31$if(aspectratio)$
32 aspectratio=$aspectratio$,
33$endif$
34$endif$
35$for(classoption)$
36 $classoption$$sep$,
37$endfor$
38]{$documentclass$}
39$if(beamer)$
40$if(background-image)$
41\usebackgroundtemplate{%
42 \includegraphics[width=\paperwidth]{$background-image$}%
43}
44$endif$
45\usepackage{pgfpages}
46\setbeamertemplate{caption}[numbered]
47\setbeamertemplate{caption label separator}{: }
48\setbeamercolor{caption name}{fg=normal text.fg}
49\beamertemplatenavigationsymbols$if(navigation)$$navigation$$else$empty$endif$
50$for(beameroption)$
51\setbeameroption{$beameroption$}
52$endfor$
53% Prevent slide breaks in the middle of a paragraph
54\widowpenalties 1 10000
55\raggedbottom
56$if(section-titles)$
57\setbeamertemplate{part page}{
58 \centering
59 \begin{beamercolorbox}[sep=16pt,center]{part title}
60 \usebeamerfont{part title}\insertpart\par
61 \end{beamercolorbox}
62}
63\setbeamertemplate{section page}{
64 \centering
65 \begin{beamercolorbox}[sep=12pt,center]{part title}
66 \usebeamerfont{section title}\insertsection\par
67 \end{beamercolorbox}
68}
69\setbeamertemplate{subsection page}{
70 \centering
71 \begin{beamercolorbox}[sep=8pt,center]{part title}
72 \usebeamerfont{subsection title}\insertsubsection\par
73 \end{beamercolorbox}
74}
75\AtBeginPart{
76 \frame{\partpage}
77}
78\AtBeginSection{
79 \ifbibliography
80 \else
81 \frame{\sectionpage}
82 \fi
83}
84\AtBeginSubsection{
85 \frame{\subsectionpage}
86}
87$endif$
88$endif$
89$if(beamerarticle)$
90\usepackage{beamerarticle} % needs to be loaded first
91$endif$
92$if(fontfamily)$
93\usepackage[$for(fontfamilyoptions)$$fontfamilyoptions$$sep$,$endfor$]{$fontfamily$}
94$else$
95\usepackage{lmodern}
96$endif$
97$if(linestretch)$
98\usepackage{setspace}
99$endif$
100\usepackage{amssymb,amsmath}
101\usepackage{ifxetex,ifluatex}
102\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
103 \usepackage[$if(fontenc)$$fontenc$$else$T1$endif$]{fontenc}
104 \usepackage[utf8]{inputenc}
105 \usepackage{textcomp} % provide euro and other symbols
106\else % if luatex or xetex
107$if(mathspec)$
108 \ifxetex
109 \usepackage{mathspec}
110 \else
111 \usepackage{unicode-math}
112 \fi
113$else$
114 \usepackage{unicode-math}
115$endif$
116 \defaultfontfeatures{Scale=MatchLowercase}
117 \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
118$if(mainfont)$
119 \setmainfont[$for(mainfontoptions)$$mainfontoptions$$sep$,$endfor$]{$mainfont$}
120$endif$
121$if(sansfont)$
122 \setsansfont[$for(sansfontoptions)$$sansfontoptions$$sep$,$endfor$]{$sansfont$}
123$endif$
124$if(monofont)$
125 \setmonofont[$for(monofontoptions)$$monofontoptions$$sep$,$endfor$]{$monofont$}
126$endif$
127$for(fontfamilies)$
128 \newfontfamily{$fontfamilies.name$}[$for(fontfamilies.options)$$fontfamilies.options$$sep$,$endfor$]{$fontfamilies.font$}
129$endfor$
130$if(mathfont)$
131$if(mathspec)$
132 \ifxetex
133 \setmathfont(Digits,Latin,Greek)[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
134 \else
135 \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
136 \fi
137$else$
138 \setmathfont[$for(mathfontoptions)$$mathfontoptions$$sep$,$endfor$]{$mathfont$}
139$endif$
140$endif$
141$if(CJKmainfont)$
142 \ifxetex
143 \usepackage{xeCJK}
144 \setCJKmainfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
145 \fi
146$endif$
147$if(luatexjapresetoptions)$
148 \ifluatex
149 \usepackage[$for(luatexjapresetoptions)$$luatexjapresetoptions$$sep$,$endfor$]{luatexja-preset}
150 \fi
151$endif$
152$if(CJKmainfont)$
153 \ifluatex
154 \usepackage[$for(luatexjafontspecoptions)$$luatexjafontspecoptions$$sep$,$endfor$]{luatexja-fontspec}
155 \setmainjfont[$for(CJKoptions)$$CJKoptions$$sep$,$endfor$]{$CJKmainfont$}
156 \fi
157$endif$
158\fi
159$if(beamer)$
160$if(theme)$
161\usetheme[$for(themeoptions)$$themeoptions$$sep$,$endfor$]{$theme$}
162$endif$
163$if(colortheme)$
164\usecolortheme{$colortheme$}
165$endif$
166$if(fonttheme)$
167\usefonttheme{$fonttheme$}
168$endif$
169$if(mainfont)$
170\usefonttheme{serif} % use mainfont rather than sansfont for slide text
171$endif$
172$if(innertheme)$
173\useinnertheme{$innertheme$}
174$endif$
175$if(outertheme)$
176\useoutertheme{$outertheme$}
177$endif$
178$endif$
179% Use upquote if available, for straight quotes in verbatim environments
180\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
181\IfFileExists{microtype.sty}{% use microtype if available
182 \usepackage[$for(microtypeoptions)$$microtypeoptions$$sep$,$endfor$]{microtype}
183 \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
184}{}
185$if(indent)$
186$else$
187\makeatletter
188\@ifundefined{KOMAClassName}{% if non-KOMA class
189 \IfFileExists{parskip.sty}{%
190 \usepackage{parskip}
191 }{% else
192 \setlength{\parindent}{0pt}
193 \setlength{\parskip}{6pt plus 2pt minus 1pt}}
194}{% if KOMA class
195 \KOMAoptions{parskip=half}}
196\makeatother
197$endif$
198$if(verbatim-in-note)$
199\usepackage{fancyvrb}
200$endif$
201\usepackage{xcolor}
202\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
203\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
204\hypersetup{
205$if(title-meta)$
206 pdftitle={$title-meta$},
207$endif$
208$if(author-meta)$
209 pdfauthor={$author-meta$},
210$endif$
211$if(lang)$
212 pdflang={$lang$},
213$endif$
214$if(subject)$
215 pdfsubject={$subject$},
216$endif$
217$if(keywords)$
218 pdfkeywords={$for(keywords)$$keywords$$sep$, $endfor$},
219$endif$
220$if(colorlinks)$
221 colorlinks=true,
222 linkcolor=$if(linkcolor)$$linkcolor$$else$Maroon$endif$,
223 filecolor=$if(filecolor)$$filecolor$$else$Maroon$endif$,
224 citecolor=$if(citecolor)$$citecolor$$else$Blue$endif$,
225 urlcolor=$if(urlcolor)$$urlcolor$$else$Blue$endif$,
226$else$
227 hidelinks,
228$endif$
229 pdfcreator={LaTeX via pandoc}}
230\urlstyle{same} % disable monospaced font for URLs
231$if(verbatim-in-note)$
232\VerbatimFootnotes % allow verbatim text in footnotes
233$endif$
234$if(geometry)$
235$if(beamer)$
236\geometry{$for(geometry)$$geometry$$sep$,$endfor$}
237$else$
238\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
239$endif$
240$endif$
241$if(beamer)$
242\newif\ifbibliography
243$endif$
244$if(listings)$
245\usepackage{listings}
246\newcommand{\passthrough}[1]{#1}
247\lstset{defaultdialect=[5.3]Lua}
248\lstset{defaultdialect=[x86masm]Assembler}
249$endif$
250$if(lhs)$
251\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
252$endif$
253$if(highlighting-macros)$
254$highlighting-macros$
255$endif$
256$if(tables)$
257\usepackage{longtable,booktabs}
258$if(beamer)$
259\usepackage{caption}
260% Make caption package work with longtable
261\makeatletter
262\def\fnum@table{\tablename~\thetable}
263\makeatother
264$else$
265% Correct order of tables after \paragraph or \subparagraph
266\usepackage{etoolbox}
267\makeatletter
268\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
269\makeatother
270% Allow footnotes in longtable head/foot
271\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
272\makesavenoteenv{longtable}
273$endif$
274$endif$
275$if(graphics)$
276\usepackage{graphicx}
277\makeatletter
278\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
279\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
280\makeatother
281% Scale images if necessary, so that they will not overflow the page
282% margins by default, and it is still possible to overwrite the defaults
283% using explicit options in \includegraphics[width, height, ...]{}
284\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
285% Set default figure placement to htbp
286\makeatletter
287\def\fps@figure{htbp}
288\makeatother
289$endif$
290$if(links-as-notes)$
291% Make links footnotes instead of hotlinks:
292\DeclareRobustCommand{\href}[2]{#2\footnote{\url{#1}}}
293$endif$
294$if(strikeout)$
295\usepackage[normalem]{ulem}
296% Avoid problems with \sout in headers with hyperref
297\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
298$endif$
299\setlength{\emergencystretch}{3em} % prevent overfull lines
300\providecommand{\tightlist}{%
301 \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
302$if(numbersections)$
303\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$5$endif$}
304$else$
305\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
306$endif$
307$if(beamer)$
308$else$
309$if(block-headings)$
310% Make \paragraph and \subparagraph free-standing
311\ifx\paragraph\undefined\else
312 \let\oldparagraph\paragraph
313 \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}}
314\fi
315\ifx\subparagraph\undefined\else
316 \let\oldsubparagraph\subparagraph
317 \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}}
318\fi
319$endif$
320$endif$
321$if(pagestyle)$
322\pagestyle{$pagestyle$}
323$endif$
324
325\usepackage{csquotes}
326\usepackage{dirtree}
327\setbeamercolor{section in toc}{
328use=normal text,
329fg=normal text.fg
330}
331\setbeamercolor{subsection in toc}{
332use=normal text,
333fg=normal text.fg
334}
335
336\usepackage{fvextra}
337
338\usepackage[outputdir=build]{minted}
339\usemintedstyle{dracula}
340\definecolor{mybg}{rgb}{0.207843, 0.219608, 0.27451}
341\setminted{bgcolor=mybg,tabsize=4,breaklines}
342
343\setmonofont[ItalicFont={Latin Modern Mono 10 Italic}]{Fira Code}
344
345$for(header-includes)$
346$header-includes$
347$endfor$
348$if(lang)$
349\ifxetex
350 % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic)
351 \usepackage{polyglossia}
352 \setmainlanguage[$polyglossia-lang.options$]{$polyglossia-lang.name$}
353$for(polyglossia-otherlangs)$
354 \setotherlanguage[$polyglossia-otherlangs.options$]{$polyglossia-otherlangs.name$}
355$endfor$
356\else
357 \usepackage[shorthands=off,$for(babel-otherlangs)$$babel-otherlangs$,$endfor$main=$babel-lang$]{babel}
358$if(babel-newcommands)$
359 $babel-newcommands$
360$endif$
361\fi
362$endif$
363$if(dir)$
364\ifxetex
365 % Load bidi as late as possible as it modifies e.g. graphicx
366 \usepackage{bidi}
367\fi
368\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
369 \TeXXeTstate=1
370 \newcommand{\RL}[1]{\beginR #1\endR}
371 \newcommand{\LR}[1]{\beginL #1\endL}
372 \newenvironment{RTL}{\beginR}{\endR}
373 \newenvironment{LTR}{\beginL}{\endL}
374\fi
375$endif$
376$if(natbib)$
377\usepackage[$natbiboptions$]{natbib}
378\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
379$endif$
380$if(biblatex)$
381\usepackage[$if(biblio-style)$style=$biblio-style$,$endif$$for(biblatexoptions)$$biblatexoptions$$sep$,$endfor$]{biblatex}
382$for(bibliography)$
383\addbibresource{$bibliography$}
384$endfor$
385$endif$
386$if(csl-refs)$
387\newlength{\cslhangindent}
388\setlength{\cslhangindent}{1.5em}
389\newenvironment{cslreferences}%
390 {$if(csl-hanging-indent)$\setlength{\parindent}{0pt}%
391 \everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}%
392 {\par}
393$endif$
394
395$if(title)$
396\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
397$endif$
398$if(subtitle)$
399$if(beamer)$
400$else$
401\usepackage{etoolbox}
402\makeatletter
403\providecommand{\subtitle}[1]{% add subtitle to \maketitle
404 \apptocmd{\@title}{\par {\large #1 \par}}{}{}
405}
406\makeatother
407$endif$
408\subtitle{$subtitle$}
409$endif$
410\author{$for(author)$$author$$sep$ \and $endfor$}
411\date{$date$}
412$if(beamer)$
413$if(institute)$
414\institute{$for(institute)$$institute$$sep$ \and $endfor$}
415$endif$
416$if(titlegraphic)$
417\titlegraphic{\includegraphics{$titlegraphic$}}
418$endif$
419$if(logo)$
420\logo{\includegraphics{$logo$}}
421$endif$
422$endif$
423
424\begin{document}
425$if(has-frontmatter)$
426\frontmatter
427$endif$
428$if(title)$
429$if(beamer)$
430\frame{\titlepage}
431$else$
432\maketitle
433$endif$
434$if(abstract)$
435\begin{abstract}
436$abstract$
437\end{abstract}
438$endif$
439$endif$
440
441$for(include-before)$
442$include-before$
443
444$endfor$
445$if(toc)$
446$if(toc-title)$
447\renewcommand*\contentsname{$toc-title$}
448$endif$
449$if(beamer)$
450\begin{frame}[allowframebreaks]
451$if(toc-title)$
452 \frametitle{$toc-title$}
453$endif$
454 \tableofcontents[hideallsubsections]
455\end{frame}
456$else$
457{
458$if(colorlinks)$
459\hypersetup{linkcolor=$if(toccolor)$$toccolor$$else$$endif$}
460$endif$
461\setcounter{tocdepth}{$toc-depth$}
462\tableofcontents
463}
464$endif$
465$endif$
466$if(lot)$
467\listoftables
468$endif$
469$if(lof)$
470\listoffigures
471$endif$
472$if(linestretch)$
473\setstretch{$linestretch$}
474$endif$
475$if(has-frontmatter)$
476\mainmatter
477$endif$
478$body$
479
480$if(has-frontmatter)$
481\backmatter
482$endif$
483$if(natbib)$
484$if(bibliography)$
485$if(biblio-title)$
486$if(has-chapters)$
487\renewcommand\bibname{$biblio-title$}
488$else$
489\renewcommand\refname{$biblio-title$}
490$endif$
491$endif$
492$if(beamer)$
493\begin{frame}[allowframebreaks]{$biblio-title$}
494 \bibliographytrue
495$endif$
496 \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$}
497$if(beamer)$
498\end{frame}
499$endif$
500
501$endif$
502$endif$
503$if(biblatex)$
504$if(beamer)$
505\begin{frame}[allowframebreaks]{$biblio-title$}
506 \bibliographytrue
507 \printbibliography[heading=none]
508\end{frame}
509$else$
510\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$
511$endif$
512
513$endif$
514$for(include-after)$
515$include-after$
516
517$endfor$
518\end{document}
diff --git a/bibliography.bib b/bibliography.bib
new file mode 100644
index 0000000..1560d34
--- /dev/null
+++ b/bibliography.bib
@@ -0,0 +1,61 @@
1@misc{ wikimedia:human_computer,
2 author = "{NASA}",
3 title = "X-4 program with what Langley engineers called {"Female Computer"} support personnel.",
4 year = "1952",
5 url = "https://commons.wikimedia.org/wiki/File:X-4_with_Female_Computer_(9467782468).jpg",
6}
7
8@misc{ wikimedia:katherine_johnson_human_computer,
9 author = "{NASA}",
10 title = "X-4 program with what Langley engineers called {"Female Computer"} support personnel.",
11 year = "1952",
12 url = "https://commons.wikimedia.org/wiki/File:X-4_with_Female_Computer_(9467782468).jpg",
13}
14
15@misc{ wikimedia:ibm_704_mainframe,
16 author = "{NASA}",
17 title = "IBM 704 computer at NACA",
18 year = "1957",
19 url = "https://commons.wikimedia.org/w/index.php?curid=6455009",
20}
21
22@misc{ ibm:ibm_709_mainframe,
23 author = "{IBM}",
24 title = "IBM 709 computer",
25 year = "1957",
26 url = "https://www.ibm.com/ibm/history/ibm100/us/en/icons/ibm700series/transform/",
27}
28
29@misc{ wikimedia:bletchley_park_bombe,
30 title = "Wartime picture of a Bletchley Park Bombe",
31 year = "1945",
32 url = "https://commons.wikimedia.org/wiki/File:Wartime_picture_of_a_Bletchley_Park_Bombe.jpg",
33}
34
35@misc{ wikimedia:ken_thompson_dennis_ritchie,
36 author = "Peter Hamer",
37 title = "Ken Thompson (sitting) and Dennis Ritchie working together at a PDP-11",
38 year = "circa 1970",
39 url = "https://commons.wikimedia.org/wiki/File:Ken_Thompson_(sitting)_and_Dennis_Ritchie_at_PDP-11_(2876612463).jpg",
40}
41
42@misc{ ibm:ibm_716_line_printer,
43 author = "{IBM}",
44 title = "IBM 716 Line Printer",
45 year = "1957",
46 url = "https://www.ibm.com/ibm/history/exhibits/701/701_1415bx16.html",
47}
48
49@misc{ fosdem:fifty_years_of_unix,
50 author = "Jon 'maddog' Hall",
51 title = "Fifty years of Unix and Linux advances",
52 year = "2019",
53 url = "https://archive.fosdem.org/2019/schedule/event/keynote_fifty_years_unix/",
54}
55
56@misc{ needpix:boot,
57 author = "{anaterate (pixabay.com)}",
58 title = "Boots Shoe Hiking Free Photo",
59 url = "https://www.needpix.com/photo/1276416/boots-shoe-hiking-broken-leather-footwear-obsolete-dirty-vintage",
60}
61
diff --git a/lua-filters b/lua-filters
new file mode 160000
Subproject 2f3dd16904f08a7d97ef7f9b6f1d9f4ea6a9ca9
diff --git a/res/Bletchley Park Bombe.jpg b/res/Bletchley Park Bombe.jpg
new file mode 100644
index 0000000..2a7c4c4
--- /dev/null
+++ b/res/Bletchley Park Bombe.jpg
Binary files differ
diff --git a/res/Human Computer.jpg b/res/Human Computer.jpg
new file mode 100644
index 0000000..e58d479
--- /dev/null
+++ b/res/Human Computer.jpg
Binary files differ
diff --git a/res/IBM 704 mainframe.jpg b/res/IBM 704 mainframe.jpg
new file mode 100644
index 0000000..3c0c119
--- /dev/null
+++ b/res/IBM 704 mainframe.jpg
Binary files differ
diff --git a/res/IBM 709 mainframe.jpg b/res/IBM 709 mainframe.jpg
new file mode 100644
index 0000000..f63c398
--- /dev/null
+++ b/res/IBM 709 mainframe.jpg
Binary files differ
diff --git a/res/IBM 716 line printer.jpg b/res/IBM 716 line printer.jpg
new file mode 100644
index 0000000..11c3e16
--- /dev/null
+++ b/res/IBM 716 line printer.jpg
Binary files differ
diff --git a/res/Katherine Johnson at NASA.jpg b/res/Katherine Johnson at NASA.jpg
new file mode 100644
index 0000000..df91fdb
--- /dev/null
+++ b/res/Katherine Johnson at NASA.jpg
Binary files differ
diff --git a/res/Ken Thompson and Dennis Ritchie at PDP-11.jpg b/res/Ken Thompson and Dennis Ritchie at PDP-11.jpg
new file mode 100644
index 0000000..bcf2c9e
--- /dev/null
+++ b/res/Ken Thompson and Dennis Ritchie at PDP-11.jpg
Binary files differ
diff --git a/res/OS-structure.pdf b/res/OS-structure.pdf
new file mode 100644
index 0000000..34d64ff
--- /dev/null
+++ b/res/OS-structure.pdf
Binary files differ
diff --git a/res/OS-structure.svg b/res/OS-structure.svg
new file mode 100644
index 0000000..6aff781
--- /dev/null
+++ b/res/OS-structure.svg
@@ -0,0 +1,876 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3 xmlns:dc="http://purl.org/dc/elements/1.1/"
4 xmlns:cc="http://creativecommons.org/ns#"
5 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6 xmlns:svg="http://www.w3.org/2000/svg"
7 xmlns="http://www.w3.org/2000/svg"
8 version="1.0"
9 id="svg2"
10 height="400"
11 width="750">
12 <defs
13 id="defs4">
14 <marker
15 style="overflow: visible;"
16 id="Arrow2Lstart"
17 refX="0"
18 refY="0"
19 orient="auto">
20 <path
21 transform="matrix(1.1, 0, 0, 1.1, 1.1, 0)"
22 d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
23 style="font-size: 12px; fill-rule: evenodd; stroke-width: 0.625; stroke-linejoin: round;"
24 id="path3289" />
25 </marker>
26 <marker
27 style="overflow: visible;"
28 id="Arrow2Lend"
29 refX="0"
30 refY="0"
31 orient="auto">
32 <path
33 transform="matrix(-1.1, 0, 0, -1.1, -1.1, 0)"
34 d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
35 style="font-size: 12px; fill-rule: evenodd; stroke-width: 0.625; stroke-linejoin: round;"
36 id="path3280" />
37 </marker>
38 <filter
39 id="filter576"
40 style="color-interpolation-filters:sRGB;">
41 <feColorMatrix
42 id="feColorMatrix572"
43 result="color1"
44 values="180"
45 type="hueRotate" />
46 <feColorMatrix
47 id="feColorMatrix574"
48 result="color2"
49 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
50 </filter>
51 <filter
52 id="filter582"
53 style="color-interpolation-filters:sRGB;">
54 <feColorMatrix
55 id="feColorMatrix578"
56 result="color1"
57 values="180"
58 type="hueRotate" />
59 <feColorMatrix
60 id="feColorMatrix580"
61 result="color2"
62 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
63 </filter>
64 <filter
65 id="filter588"
66 style="color-interpolation-filters:sRGB;">
67 <feColorMatrix
68 id="feColorMatrix584"
69 result="color1"
70 values="180"
71 type="hueRotate" />
72 <feColorMatrix
73 id="feColorMatrix586"
74 result="color2"
75 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
76 </filter>
77 <filter
78 id="filter594"
79 style="color-interpolation-filters:sRGB;">
80 <feColorMatrix
81 id="feColorMatrix590"
82 result="color1"
83 values="180"
84 type="hueRotate" />
85 <feColorMatrix
86 id="feColorMatrix592"
87 result="color2"
88 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
89 </filter>
90 <filter
91 id="filter600"
92 style="color-interpolation-filters:sRGB;">
93 <feColorMatrix
94 id="feColorMatrix596"
95 result="color1"
96 values="180"
97 type="hueRotate" />
98 <feColorMatrix
99 id="feColorMatrix598"
100 result="color2"
101 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
102 </filter>
103 <filter
104 id="filter606"
105 style="color-interpolation-filters:sRGB;">
106 <feColorMatrix
107 id="feColorMatrix602"
108 result="color1"
109 values="180"
110 type="hueRotate" />
111 <feColorMatrix
112 id="feColorMatrix604"
113 result="color2"
114 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
115 </filter>
116 <filter
117 id="filter612"
118 style="color-interpolation-filters:sRGB;">
119 <feColorMatrix
120 id="feColorMatrix608"
121 result="color1"
122 values="180"
123 type="hueRotate" />
124 <feColorMatrix
125 id="feColorMatrix610"
126 result="color2"
127 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
128 </filter>
129 <filter
130 id="filter618"
131 style="color-interpolation-filters:sRGB;">
132 <feColorMatrix
133 id="feColorMatrix614"
134 result="color1"
135 values="180"
136 type="hueRotate" />
137 <feColorMatrix
138 id="feColorMatrix616"
139 result="color2"
140 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
141 </filter>
142 <filter
143 id="filter624"
144 style="color-interpolation-filters:sRGB;">
145 <feColorMatrix
146 id="feColorMatrix620"
147 result="color1"
148 values="180"
149 type="hueRotate" />
150 <feColorMatrix
151 id="feColorMatrix622"
152 result="color2"
153 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
154 </filter>
155 <filter
156 id="filter630"
157 style="color-interpolation-filters:sRGB;">
158 <feColorMatrix
159 id="feColorMatrix626"
160 result="color1"
161 values="180"
162 type="hueRotate" />
163 <feColorMatrix
164 id="feColorMatrix628"
165 result="color2"
166 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
167 </filter>
168 <filter
169 id="filter636"
170 style="color-interpolation-filters:sRGB;">
171 <feColorMatrix
172 id="feColorMatrix632"
173 result="color1"
174 values="180"
175 type="hueRotate" />
176 <feColorMatrix
177 id="feColorMatrix634"
178 result="color2"
179 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
180 </filter>
181 <filter
182 id="filter642"
183 style="color-interpolation-filters:sRGB;">
184 <feColorMatrix
185 id="feColorMatrix638"
186 result="color1"
187 values="180"
188 type="hueRotate" />
189 <feColorMatrix
190 id="feColorMatrix640"
191 result="color2"
192 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
193 </filter>
194 <filter
195 id="filter648"
196 style="color-interpolation-filters:sRGB;">
197 <feColorMatrix
198 id="feColorMatrix644"
199 result="color1"
200 values="180"
201 type="hueRotate" />
202 <feColorMatrix
203 id="feColorMatrix646"
204 result="color2"
205 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
206 </filter>
207 <filter
208 id="filter654"
209 style="color-interpolation-filters:sRGB;">
210 <feColorMatrix
211 id="feColorMatrix650"
212 result="color1"
213 values="180"
214 type="hueRotate" />
215 <feColorMatrix
216 id="feColorMatrix652"
217 result="color2"
218 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
219 </filter>
220 <filter
221 id="filter660"
222 style="color-interpolation-filters:sRGB;">
223 <feColorMatrix
224 id="feColorMatrix656"
225 result="color1"
226 values="180"
227 type="hueRotate" />
228 <feColorMatrix
229 id="feColorMatrix658"
230 result="color2"
231 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
232 </filter>
233 <filter
234 id="filter666"
235 style="color-interpolation-filters:sRGB;">
236 <feColorMatrix
237 id="feColorMatrix662"
238 result="color1"
239 values="180"
240 type="hueRotate" />
241 <feColorMatrix
242 id="feColorMatrix664"
243 result="color2"
244 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
245 </filter>
246 <filter
247 id="filter672"
248 style="color-interpolation-filters:sRGB;">
249 <feColorMatrix
250 id="feColorMatrix668"
251 result="color1"
252 values="180"
253 type="hueRotate" />
254 <feColorMatrix
255 id="feColorMatrix670"
256 result="color2"
257 values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 -0.21 -0.72 -0.07 2 0 " />
258 </filter>
259 </defs>
260 <metadata
261 id="metadata7">
262 <rdf:RDF>
263 <cc:Work
264 rdf:about="">
265 <dc:format>image/svg+xml</dc:format>
266 <dc:type
267 rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
268 <dc:title></dc:title>
269 </cc:Work>
270 </rdf:RDF>
271 </metadata>
272 <g
273 transform="translate(0.798097, 82.1464)"
274 style="display: inline;"
275 id="layer2">
276 <rect
277 y="16.93577"
278 x="118.71684"
279 height="62"
280 width="95"
281 id="rect2453"
282 style="fill:rgb(233, 185, 110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0pt;stroke-opacity:1;filter:url(#filter672)" />
283 <g
284 style="filter:url(#filter666)"
285 transform="translate(-393.283, 17.5822)"
286 id="g3207">
287 <g
288 id="g3185"
289 transform="translate(392.75, -1.5)">
290 <rect
291 y="65.5"
292 x="30"
293 height="177.5"
294 width="273.5"
295 id="rect3173"
296 style="opacity: 1; fill: rgb(114, 159, 207); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;" />
297 <path
298 id="path3175"
299 d="M 33.5,108 L 299.5,108"
300 style="fill: none; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" />
301 <path
302 id="path3181"
303 d="M 32.5,153 L 298.5,153"
304 style="fill: none; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; display: inline;" />
305 <path
306 id="path3183"
307 d="M 32.5,198.5 L 298.5,198.5"
308 style="fill: none; fill-rule: evenodd; stroke: rgb(0, 0, 0); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; display: inline;" />
309 </g>
310 <switch
311 id="switch226"
312 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
313 <text
314 systemLanguage="bs"
315 xml:space="preserve"
316 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
317 x="548.109"
318 y="92.5"
319 id="text3191-bs"><tspan
320 id="tspan3193-bs"
321 x="548.109"
322 y="92.5">Virutelni datotečni sistem</tspan></text>
323 <text
324 xml:space="preserve"
325 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
326 x="548.109"
327 y="92.5"
328 id="text3191"><tspan
329 id="tspan3193"
330 x="548.109"
331 y="92.5">VFS</tspan></text>
332 </switch>
333 <switch
334 id="switch232"
335 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
336 <text
337 systemLanguage="bs"
338 xml:space="preserve"
339 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
340 x="517.649"
341 y="132.667"
342 id="text3195-bs"><tspan
343 id="tspan3197-bs"
344 x="517.649"
345 y="132.667">IPC, Datotečni sistem</tspan></text>
346 <text
347 xml:space="preserve"
348 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
349 x="517.649"
350 y="132.667"
351 id="text3195"><tspan
352 id="tspan3197"
353 x="517.649"
354 y="132.667">IPC, File System</tspan></text>
355 </switch>
356 <switch
357 id="switch238"
358 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
359 <text
360 systemLanguage="bs"
361 xml:space="preserve"
362 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
363 x="489.826"
364 y="179.333"
365 id="text3199-bs"><tspan
366 id="tspan3201-bs"
367 x="489.826"
368 y="179.333">Planer, Virtualna memorija</tspan></text>
369 <text
370 xml:space="preserve"
371 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
372 x="489.826"
373 y="179.333"
374 id="text3199"><tspan
375 id="tspan3201"
376 x="489.826"
377 y="179.333">Scheduler, Virtual Memory</tspan></text>
378 </switch>
379 <switch
380 id="switch244"
381 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
382 <text
383 systemLanguage="bs"
384 xml:space="preserve"
385 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
386 x="482.47"
387 y="224"
388 id="text3203-bs"><tspan
389 id="tspan3205-bs"
390 x="482.47"
391 y="224">Upravljački programi</tspan></text>
392 <text
393 xml:space="preserve"
394 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
395 x="482.47"
396 y="224"
397 id="text3203"><tspan
398 id="tspan3205"
399 x="482.47"
400 y="224">Device Drivers, Dispatcher, ...</tspan></text>
401 </switch>
402 </g>
403 <g
404 style="filter:url(#filter660)"
405 transform="translate(230.217, 95.5822)"
406 id="g3261">
407 <rect
408 style="opacity: 1; fill: rgb(114, 159, 207); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"
409 id="rect3255"
410 width="275"
411 height="41.5"
412 x="216.5"
413 y="121.75" />
414 <switch
415 id="switch252"
416 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
417 <text
418 systemLanguage="bs"
419 xml:space="preserve"
420 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
421 x="253.277"
422 y="149.605"
423 id="text3257-bs"><tspan
424 id="tspan3259-bs"
425 x="253.277"
426 y="149.605">Osnovni IPC, Virtualna memorija...</tspan></text>
427 <text
428 xml:space="preserve"
429 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
430 x="253.277"
431 y="149.605"
432 id="text3257"><tspan
433 id="tspan3259"
434 x="253.277"
435 y="149.605">Basic IPC, Virtual Memory, Scheduling</tspan></text>
436 </switch>
437 </g>
438 <g
439 style="filter:url(#filter654)"
440 transform="translate(24.8629, 16.0822)"
441 id="g4629">
442 <g
443 id="g4595"
444 transform="translate(-3.20343, 0.187125)">
445 <rect
446 y="132.74895"
447 x="529.39563"
448 height="65.5"
449 width="53.841358"
450 id="rect4581"
451 style="opacity: 1; fill: rgb(138, 226, 52); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1; display: inline;" />
452 <switch
453 id="switch262"
454 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
455 <text
456 systemLanguage="bs"
457 id="text4583-bs"
458 y="156.307"
459 x="555.432"
460 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
461 xml:space="preserve"><tspan
462 y="156.307"
463 x="555.432"
464 id="tspan4585-bs">UNIX</tspan><tspan
465 id="tspan4587-bs"
466 y="171.307"
467 x="555.432">Server</tspan></text>
468 <text
469 id="text4583"
470 y="156.307"
471 x="555.432"
472 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
473 xml:space="preserve"><tspan
474 y="156.307"
475 x="555.432"
476 id="tspan4585">UNIX</tspan><tspan
477 id="tspan4587"
478 y="171.307"
479 x="555.432">Server</tspan></text>
480 </switch>
481 </g>
482 <g
483 id="g4609"
484 transform="translate(-3.32843, 1.37824)">
485 <rect
486 y="131.55783"
487 x="583.3631"
488 height="66.114487"
489 width="53.740116"
490 id="rect4601"
491 style="opacity: 1; fill: rgb(211, 215, 207); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;" />
492 <switch
493 id="switch272"
494 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
495 <text
496 systemLanguage="bs"
497 id="text4603-bs"
498 y="155.599"
499 x="608.819"
500 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
501 xml:space="preserve"><tspan
502 y="155.599"
503 x="608.819"
504 id="tspan4605-bs">Uprav.</tspan><tspan
505 id="tspan4607-bs"
506 y="170.599"
507 x="608.819">program</tspan></text>
508 <text
509 id="text4603"
510 y="155.599"
511 x="608.819"
512 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
513 xml:space="preserve"><tspan
514 y="155.599"
515 x="608.819"
516 id="tspan4605">Device</tspan><tspan
517 id="tspan4607"
518 y="170.599"
519 x="608.819">Driver</tspan></text>
520 </switch>
521 </g>
522 <g
523 id="g4623"
524 transform="translate(-3.45343, 1.37824)">
525 <rect
526 y="131.55783"
527 x="637.10321"
528 height="65.407379"
529 width="53.386562"
530 id="rect4615"
531 style="opacity: 1; fill: rgb(114, 159, 207); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;" />
532 <switch
533 id="switch282"
534 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
535 <text
536 systemLanguage="bs"
537 id="text4617-bs"
538 y="154.892"
539 x="663.266"
540 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
541 xml:space="preserve"><tspan
542 y="154.892"
543 x="663.266"
544 id="tspan4619-bs">Server</tspan><tspan
545 id="tspan4621-bs"
546 y="169.892"
547 x="663.266">datoteka</tspan></text>
548 <text
549 id="text4617"
550 y="154.892"
551 x="663.266"
552 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
553 xml:space="preserve"><tspan
554 y="154.892"
555 x="663.266"
556 id="tspan4619">File</tspan><tspan
557 id="tspan4621"
558 y="169.892"
559 x="663.266">Server</tspan></text>
560 </switch>
561 </g>
562 <g
563 id="g4589"
564 transform="translate(-2.82843, 0.436075)">
565 <rect
566 y="132.5"
567 x="434.5"
568 height="65.5"
569 width="94.5"
570 id="rect4573"
571 style="opacity: 1; fill: rgb(233, 185, 110); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;" />
572 <switch
573 id="switch292"
574 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
575 <text
576 systemLanguage="bs"
577 id="text4575-bs"
578 y="156.5"
579 x="482"
580 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
581 xml:space="preserve"><tspan
582 y="156.5"
583 x="482"
584 id="tspan4577-bs">Aplikacijski</tspan><tspan
585 id="tspan4579-bs"
586 y="171.5"
587 x="482">IPC</tspan></text>
588 <text
589 id="text4575"
590 y="156.5"
591 x="482"
592 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
593 xml:space="preserve"><tspan
594 y="156.5"
595 x="482"
596 id="tspan4577">Application</tspan><tspan
597 id="tspan4579"
598 y="171.5"
599 x="482">IPC</tspan></text>
600 </switch>
601 </g>
602 </g>
603 <path
604 id="path2395"
605 d="M 21.409772,80.464901 L 307.7488,80.464901 L 443.15975,215.87585 L 727.02391,215.87585"
606 style="fill:none;fill-rule:evenodd;stroke:rgb(239, 41, 41);stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter648)" />
607 <g
608 style="filter:url(#filter642)"
609 id="g2593">
610 <path
611 id="path3254"
612 d="M 165.6875,62.375 L 165.6875,94.375 L 166.6875,94.375 L 166.6875,62.375 L 165.6875,62.375 z"
613 style="fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" />
614 <path
615 id="path2599"
616 style="font-size: 12px; fill-rule: evenodd; stroke-width: 0.625; stroke-linejoin: round;"
617 d="M 170.63633,83.684663 L 166.21683,95.703128 L 161.79734,83.684663 C 164.40661,85.604711 167.97654,85.593648 170.63633,83.684663 z" />
618 </g>
619 <path
620 id="path2391"
621 d="M 194.16345,66.582217 L 230.16345,52.582217"
622 style="fill:none;fill-rule:evenodd;stroke:rgb(0, 0, 0);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter636)" />
623 <switch
624 id="switch305"
625 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;text-anchor:start;fill:rgb(0, 0, 0);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;filter:url(#filter630)">
626 <text
627 systemLanguage="bs"
628 id="text2393-bs"
629 y="48.0822"
630 x="228.163"
631 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
632 xml:space="preserve"><tspan
633 y="48.0822"
634 x="228.163"
635 id="tspan2395-bs">Sistemski pozivi</tspan></text>
636 <text
637 id="text2393"
638 y="48.0822"
639 x="228.163"
640 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
641 xml:space="preserve"><tspan
642 y="48.0822"
643 x="228.163"
644 id="tspan2395">System Call</tspan></text>
645 </switch>
646 <switch
647 id="switch311"
648 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;text-anchor:start;fill:rgb(0, 0, 0);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;filter:url(#filter624)">
649 <text
650 systemLanguage="bs"
651 id="text2391-bs"
652 y="40.0822"
653 x="137.263"
654 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
655 xml:space="preserve"><tspan
656 y="40.0822"
657 x="137.263"
658 id="tspan2393-bs">Aplikacija</tspan></text>
659 <text
660 id="text2391"
661 y="40.0822"
662 x="137.263"
663 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
664 xml:space="preserve"><tspan
665 y="40.0822"
666 x="137.263"
667 id="tspan2393">Application</tspan></text>
668 </switch>
669 <g
670 style="filter:url(#filter618)"
671 transform="translate(-187.783, 139.119)"
672 id="g3230">
673 <rect
674 style="opacity: 1; fill: rgb(46, 52, 54); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"
675 id="rect3224"
676 width="274.35742"
677 height="40.305088"
678 x="216.82129"
679 y="122.34746" />
680 <switch
681 id="switch318"
682 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(238, 238, 236); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
683 <text
684 systemLanguage="bs"
685 xml:space="preserve"
686 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(238, 238, 236); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
687 x="327.721"
688 y="146.725"
689 id="text3226-bs"><tspan
690 id="tspan3228-bs"
691 x="327.721"
692 y="146.725">Hardver</tspan></text>
693 <text
694 xml:space="preserve"
695 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(238, 238, 236); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
696 x="327.721"
697 y="146.725"
698 id="text3226"><tspan
699 id="tspan3228"
700 x="327.721"
701 y="146.725">Hardware</tspan></text>
702 </switch>
703 </g>
704 <g
705 transform="translate(230.217, 139.119)"
706 id="g3235"
707 style="display:inline;filter:url(#filter612)">
708 <rect
709 style="opacity: 1; fill: rgb(46, 52, 54); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"
710 id="rect3237"
711 width="274.35742"
712 height="40.305088"
713 x="216.82129"
714 y="122.34746" />
715 <switch
716 id="switch326"
717 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(238, 238, 236); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;">
718 <text
719 systemLanguage="bs"
720 xml:space="preserve"
721 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(238, 238, 236); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
722 x="327.721"
723 y="146.725"
724 id="text3239-bs"><tspan
725 id="tspan3241-bs"
726 x="327.721"
727 y="146.725">Hardver</tspan></text>
728 <text
729 xml:space="preserve"
730 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(238, 238, 236); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
731 x="327.721"
732 y="146.725"
733 id="text3239"><tspan
734 id="tspan3241"
735 x="327.721"
736 y="146.725">Hardware</tspan></text>
737 </switch>
738 </g>
739 <path
740 id="path3222"
741 d="M 21.365355,260.08222 L 727.03845,260.08222"
742 style="fill:none;fill-rule:evenodd;stroke:rgb(239, 41, 41);stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter606)" />
743 <switch
744 id="switch336"
745 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;text-anchor:start;fill:rgb(239, 41, 41);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;filter:url(#filter600)">
746 <text
747 systemLanguage="bs"
748 id="text3243-bs"
749 y="84.0822"
750 x="355.496"
751 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(239, 41, 41); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
752 xml:space="preserve"><tspan
753 y="84.0822"
754 x="355.496"
755 id="tspan3245-bs">korisnički</tspan><tspan
756 id="tspan3247-bs"
757 y="99.0822"
758 x="355.496">mod</tspan></text>
759 <text
760 id="text3243"
761 y="84.0822"
762 x="355.496"
763 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(239, 41, 41); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
764 xml:space="preserve"><tspan
765 y="84.0822"
766 x="355.496"
767 id="tspan3245">user</tspan><tspan
768 id="tspan3247"
769 y="99.0822"
770 x="355.496">mode</tspan></text>
771 </switch>
772 <switch
773 id="switch344"
774 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;text-anchor:start;fill:rgb(239, 41, 41);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;filter:url(#filter594)">
775 <text
776 systemLanguage="bs"
777 id="text3249-bs"
778 y="213.582"
779 x="354.333"
780 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(239, 41, 41); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
781 xml:space="preserve"><tspan
782 y="213.582"
783 x="354.333"
784 id="tspan3251-bs">kernel </tspan><tspan
785 id="tspan3253-bs"
786 y="228.582"
787 x="354.333">mod</tspan></text>
788 <text
789 id="text3249"
790 y="213.582"
791 x="354.333"
792 style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: start; line-height: 125%; text-anchor: start; fill: rgb(239, 41, 41); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
793 xml:space="preserve"><tspan
794 y="213.582"
795 x="354.333"
796 id="tspan3251">kernel</tspan><tspan
797 id="tspan3253"
798 y="228.582"
799 x="354.333">mode</tspan></text>
800 </switch>
801 <g
802 style="filter:url(#filter588)"
803 id="g2601">
804 <path
805 id="path3266"
806 d="M 479.5,194.09375 L 479.5,225.59375 L 479.5,226.09375 L 480,226.09375 L 688.5,226.09375 L 689,226.09375 L 689,225.59375 L 689,196.09375 L 688,196.09375 L 688,225.09375 L 480.5,225.09375 L 480.5,194.09375 L 479.5,194.09375 z"
807 style="fill: rgb(0, 0, 0); fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;" />
808 <path
809 id="path2607"
810 style="font-size: 12px; fill-rule: evenodd; stroke-width: 0.625; stroke-linejoin: round;"
811 d="M 475.54734,204.77267 L 479.96684,192.7542 L 484.38633,204.77267 C 481.77706,202.85262 478.20713,202.86368 475.54734,204.77267 z" />
812 <path
813 id="path2609"
814 style="font-size: 12px; fill-rule: evenodd; stroke-width: 0.625; stroke-linejoin: round;"
815 d="M 684.04734,206.77267 L 688.46684,194.7542 L 692.88633,206.77267 C 690.27706,204.85262 686.70713,204.86368 684.04734,206.77267 z" />
816 </g>
817 <switch
818 id="switch356"
819 style="font-size:19.4158px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;text-anchor:middle;fill:rgb(0, 0, 0);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Sans;filter:url(#filter582)">
820 <text
821 systemLanguage="bs"
822 id="text4651-bs"
823 y="-52.166"
824 x="164.244"
825 style="font-size: 19.4158px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
826 xml:space="preserve"><tspan
827 y="-52.166"
828 x="164.244"
829 id="tspan4653-bs">Sistem baziran</tspan><tspan
830 id="tspan2453-bs"
831 y="-27.8962"
832 x="164.244">na monolitnom kernelu</tspan></text>
833 <text
834 id="text4651"
835 y="-52.166"
836 x="164.244"
837 style="font-size: 19.4158px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; font-family: Sans;"
838 xml:space="preserve"><tspan
839 y="-52.166"
840 x="164.244"
841 id="tspan4653">Monolithic Kernel</tspan><tspan
842 id="tspan2453"
843 y="-27.8962"
844 x="164.244">based Operating System</tspan></text>
845 </switch>
846 <switch
847 id="switch364"
848 style="font-size:19.4158px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;text-anchor:middle;fill:rgb(0, 0, 0);fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;font-family:Sans;filter:url(#filter576)">
849 <text
850 systemLanguage="bs"
851 id="text2449-bs"
852 y="-52.166"
853 x="588.717"
854 style="font-size: 19.4158px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; display: inline; font-family: Sans;"
855 xml:space="preserve"><tspan
856 y="-52.166"
857 x="588.717"
858 id="tspan2451-bs">Sistem baziran </tspan><tspan
859 id="tspan2455-bs"
860 y="-27.8962"
861 x="588.717">na mikrokernelu</tspan></text>
862 <text
863 id="text2449"
864 y="-52.166"
865 x="588.717"
866 style="font-size: 19.4158px; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; text-align: center; line-height: 125%; text-anchor: middle; fill: rgb(0, 0, 0); fill-opacity: 1; stroke: none; stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1; display: inline; font-family: Sans;"
867 xml:space="preserve"><tspan
868 y="-52.166"
869 x="588.717"
870 id="tspan2451">Microkernel</tspan><tspan
871 id="tspan2455"
872 y="-27.8962"
873 x="588.717">based Operating System</tspan></text>
874 </switch>
875 </g>
876</svg>
diff --git a/res/boot.png b/res/boot.png
new file mode 100644
index 0000000..752aa2f
--- /dev/null
+++ b/res/boot.png
Binary files differ