diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | 2020-09-08.md | 398 | ||||
-rw-r--r-- | Makefile | 38 | ||||
-rw-r--r-- | beamer-template.tex | 518 | ||||
-rw-r--r-- | bibliography.bib | 61 | ||||
m--------- | lua-filters | 0 | ||||
-rw-r--r-- | res/Bletchley Park Bombe.jpg | bin | 0 -> 620239 bytes | |||
-rw-r--r-- | res/Human Computer.jpg | bin | 0 -> 3181522 bytes | |||
-rw-r--r-- | res/IBM 704 mainframe.jpg | bin | 0 -> 3488808 bytes | |||
-rw-r--r-- | res/IBM 709 mainframe.jpg | bin | 0 -> 64090 bytes | |||
-rw-r--r-- | res/IBM 716 line printer.jpg | bin | 0 -> 55486 bytes | |||
-rw-r--r-- | res/Katherine Johnson at NASA.jpg | bin | 0 -> 3081756 bytes | |||
-rw-r--r-- | res/Ken Thompson and Dennis Ritchie at PDP-11.jpg | bin | 0 -> 2073643 bytes | |||
-rw-r--r-- | res/OS-structure.pdf | bin | 0 -> 11274 bytes | |||
-rw-r--r-- | res/OS-structure.svg | 876 | ||||
-rw-r--r-- | res/boot.png | bin | 0 -> 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 | --- | ||
2 | title: WTF is Linux | ||
3 | author: Rémi Nicole <remi.nicole@smile.fr> | ||
4 | date: 2020-09-08 | ||
5 | slide-level: 2 | ||
6 | aspectratio: 169 | ||
7 | |||
8 | theme: metropolis | ||
9 | colortheme: owl | ||
10 | beameroption: "show notes on second screen=right" | ||
11 | |||
12 | toc: true | ||
13 | highlightstyle: breezedark | ||
14 | lang: en-US | ||
15 | |||
16 | bibliography: ../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 | |||
28 | Hello | ||
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 | |||
127 | Things 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 | |||
164 | Berkeley 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 | |||
186 | Invented 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 | |||
196 | 1983: | ||
197 | : GNU project annouced | ||
198 | |||
199 | 1985: | ||
200 | : Created the Free Software Foundation (helps funding) | ||
201 | |||
202 | 1989: | ||
203 | : Created GNU General Public License (GPL) | ||
204 | |||
205 | Created: | ||
206 | |||
207 | - Text editor (Emacs) | ||
208 | - Compiler suite | ||
209 | - Lots of utilities | ||
210 | |||
211 | People 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 | |||
245 | Bleurgh | ||
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 | ||
272 | Copies the file "file_1.txt" into "file_2.txt" | ||
273 | user@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 | ||
288 | vvvv v | ||
289 | user@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 | |||
318 | Well, it depends on the kernel | ||
319 | |||
320 | ::: notes | ||
321 | |||
322 | Some kernel are very small, some | ||
323 | |||
324 | ::: | ||
325 | |||
326 | --- | ||
327 | |||
328 | { 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 | |||
370 | Let's do it | ||
371 | |||
372 | ## Linux boot process | ||
373 | |||
374 | |||
375 | ``` | ||
376 | Boot loader | ||
377 | | | ||
378 | | loads | ||
379 | v | ||
380 | Linux kernel | ||
381 | | | ||
382 | | launches | ||
383 | v | ||
384 | init (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 | |||
3 | MARKDOWN_FILES := $(wildcard *.md) | ||
4 | TEX_FILES := $(patsubst %.md,build/%.tex,$(MARKDOWN_FILES)) | ||
5 | PDF_FILES := $(patsubst %.md,build/%.pdf,$(MARKDOWN_FILES)) | ||
6 | |||
7 | .SECONDARY: $(TEX_FILES) | ||
8 | |||
9 | all: $(PDF_FILES) | ||
10 | |||
11 | clean: | ||
12 | $(RM) -r build | ||
13 | |||
14 | build: | ||
15 | mkdir -p build | ||
16 | |||
17 | lua-filters/minted/minted.lua: | ||
18 | git submodule update --init | ||
19 | |||
20 | build/%.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 | |||
29 | build/%.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}{ | ||
328 | use=normal text, | ||
329 | fg=normal text.fg | ||
330 | } | ||
331 | \setbeamercolor{subsection in toc}{ | ||
332 | use=normal text, | ||
333 | fg=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 | |||