├── .github
└── workflows
│ ├── compile.yml
│ └── pdfs.yml
├── .gitignore
├── LICENSE
├── Makefile
├── README.md
├── README.spellcheck
├── appendix.tex
├── common.tex
├── dev
├── check-examples.sh
├── check-label.sh
├── install-latex.sh
├── install-spellcheck.sh
└── release.sh
├── docs
├── class-assignments
│ ├── extra-feedback.txt
│ ├── labs-assignment-2018.txt
│ ├── labs-assignment-2019.txt
│ ├── labs-assignment-2020.txt
│ ├── labs-assignment-2021.txt
│ └── labs-assignment-2022.txt
├── cstyle.html
├── cstyle.ms.pdf
├── cstyle.pl
├── exams.html
├── index.html
├── questions-theory.html
├── sample_exams.html
├── syllabus.html
└── unix-access.html
├── file-api.tex
├── files.tex
├── history.tex
├── img
├── by-nc-sa-small.pdf
├── eps
│ ├── open_files1-eps-converted-to.pdf
│ ├── open_files1.eps
│ ├── x86-memory-proc-mem-layout-eps-converted-to.pdf
│ └── x86-memory-proc-mem-layout.eps
├── examples
│ └── circle.eps
├── groff
│ └── open_files1.roff
├── odg
│ └── x86-memory-proc-mem-layout.odg
├── tex
│ ├── access_rights-eps-converted-to.pdf
│ ├── access_rights.eps
│ ├── access_rights.pstex_t
│ ├── access_rights.tex
│ ├── assembler-eps-converted-to.pdf
│ ├── assembler.eps
│ ├── assembler.pstex_t
│ ├── classic_os.eps
│ ├── classic_os.pstex_t
│ ├── classic_os.tex
│ ├── compilation_process-eps-converted-to.pdf
│ ├── compilation_process.eps
│ ├── compilation_process.pstex_t
│ ├── compilation_process.tex
│ ├── compiler-eps-converted-to.pdf
│ ├── compiler.eps
│ ├── compiler.pstex_t
│ ├── compiler.tex
│ ├── deadlock-eps-converted-to.pdf
│ ├── deadlock.eps
│ ├── deadlock.pstex_t
│ ├── deadlock.tex
│ ├── environ-eps-converted-to.pdf
│ ├── environ.eps
│ ├── environ.pstex_t
│ ├── fork-eps-converted-to.pdf
│ ├── fork.eps
│ ├── fork.pstex_t
│ ├── fork.tex
│ ├── fork_wait-eps-converted-to.pdf
│ ├── fork_wait.eps
│ ├── fork_wait.pstex_t
│ ├── fork_wait.tex
│ ├── fstree-eps-converted-to.pdf
│ ├── fstree.eps
│ ├── fstree.pstex_t
│ ├── init.eps
│ ├── init.pstex_t
│ ├── links-eps-converted-to.pdf
│ ├── links.eps
│ ├── links.pstex_t
│ ├── links.tex
│ ├── login.eps
│ ├── login.pstex_t
│ ├── main-eps-converted-to.pdf
│ ├── main.eps
│ ├── main.pstex_t
│ ├── mem_kernel-eps-converted-to.pdf
│ ├── mem_kernel.eps
│ ├── mem_kernel.pstex_t
│ ├── mem_kernel.tex
│ ├── mem_user-eps-converted-to.pdf
│ ├── mem_user.eps
│ ├── mem_user.pstex_t
│ ├── mem_user.tex
│ ├── memory_segments.tex
│ ├── mount-eps-converted-to.pdf
│ ├── mount.eps
│ ├── mount.pstex_t
│ ├── nav_dir-eps-converted-to.pdf
│ ├── nav_dir.eps
│ ├── nav_dir.pstex_t
│ ├── open_files-eps-converted-to.pdf
│ ├── open_files.eps
│ ├── open_files.pstex_t
│ ├── open_files1.latex
│ ├── partitions-eps-converted-to.pdf
│ ├── partitions.eps
│ ├── partitions.pstex_t
│ ├── pipe-eps-converted-to.pdf
│ ├── pipe.eps
│ ├── pipe.pstex_t
│ ├── pipe.tex
│ ├── preprocesor-eps-converted-to.pdf
│ ├── preprocesor.eps
│ ├── preprocesor.pstex_t
│ ├── proc_states.tex
│ ├── process_states-eps-converted-to.pdf
│ ├── process_states.eps
│ ├── process_states.pstex_t
│ ├── pseudoterm.eps
│ ├── pseudoterm.pstex_t
│ ├── pseudoterm.tex
│ ├── s5-eps-converted-to.pdf
│ ├── s5.eps
│ ├── s5.pstex_t
│ ├── s5.tex
│ ├── segments-eps-converted-to.pdf
│ ├── segments.eps
│ ├── segments.pstex_t
│ ├── startx.eps
│ ├── startx.pstex_t
│ ├── structure-eps-converted-to.pdf
│ ├── structure.eps
│ ├── syscall_dist-eps-converted-to.pdf
│ ├── syscall_dist.eps
│ ├── syscall_dist.pstex_t
│ ├── syscall_dist.tex
│ ├── syscall_unx-eps-converted-to.pdf
│ ├── syscall_unx.eps
│ ├── syscall_unx.pstex_t
│ ├── syscall_unx.tex
│ ├── tcp_par-eps-converted-to.pdf
│ ├── tcp_par.eps
│ ├── tcp_par.pstex_t
│ ├── tcp_par.tex
│ ├── tcp_prefork-eps-converted-to.pdf
│ ├── tcp_prefork.eps
│ ├── tcp_prefork.pstex_t
│ ├── tcp_prefork.tex
│ ├── tcp_seq-eps-converted-to.pdf
│ ├── tcp_seq.eps
│ ├── tcp_seq.pstex_t
│ ├── tcp_seq.tex
│ ├── threads-eps-converted-to.pdf
│ ├── threads.eps
│ ├── threads.pstex_t
│ ├── udp-eps-converted-to.pdf
│ ├── udp.eps
│ ├── udp.pstex_t
│ ├── udp.tex
│ ├── unix_structure.pstex_t
│ ├── vfs-eps-converted-to.pdf
│ ├── vfs.eps
│ ├── vfs.pstex_t
│ ├── virt_mem-eps-converted-to.pdf
│ ├── virt_mem.eps
│ ├── virt_mem.pstex_t
│ ├── virt_mem.tex
│ ├── xdm.eps
│ ├── xdm.pstex_t
│ ├── xwin.eps
│ ├── xwin.pstex_t
│ └── xwin.tex
└── xfig
│ ├── assembler.fig
│ ├── classic_os.fig
│ ├── compilation_process.fig
│ ├── compiler.fig
│ ├── deadlock.fig
│ ├── environ.fig
│ ├── fork.fig
│ ├── fork_wait.fig
│ ├── fstree.fig
│ ├── init.fig
│ ├── links.fig
│ ├── login.fig
│ ├── main.fig
│ ├── mem_kernel.fig
│ ├── mem_user.fig
│ ├── mount.fig
│ ├── nav_dir.fig
│ ├── open_files.fig
│ ├── open_files1.fig
│ ├── partitions.fig
│ ├── pipe.fig
│ ├── prava.fig
│ ├── preprocesor.fig
│ ├── process_states.fig
│ ├── pseudoterm.fig
│ ├── s5.fig
│ ├── segments.fig
│ ├── slide_rect.fig
│ ├── startx.fig
│ ├── structure.fig
│ ├── syscall_dist.fig
│ ├── syscall_unx.fig
│ ├── tcp_par.fig
│ ├── tcp_prefork.fig
│ ├── tcp_seq.fig
│ ├── threads.fig
│ ├── udp.fig
│ ├── vfs.fig
│ ├── virt_mem.fig
│ ├── xdm.fig
│ └── xwin.fig
├── intro.tex
├── macros.m4
├── network.tex
├── other.tex
├── posters
├── matfyz-girl.jpg
├── matfyz-girl.pdf
├── unix-poster-AR-2018-2019.roff
├── unix-poster-AR-2019-2020.roff
├── unix-poster-AR-2020-2021.roff
├── unix-poster-AR-2021-2022.roff
├── unix-poster-AR-2022-2023.roff
├── unix-poster-AR-2023-2024.roff
└── unix-poster-AR-2024-2025.roff
├── proc.tex
├── signals.tex
├── spellfilter.sed
├── synchro.tex
├── sys-v-semaphores.tex
├── threads.tex
├── unix-linux-prog-in-c.tex
├── unix-linux-prog-in-c_slides-only.tex
├── unix_dict.txt
├── user-access.tex
├── xcomment.sty
└── xcomment.tex
/.github/workflows/compile.yml:
--------------------------------------------------------------------------------
1 | name: Compile sanity check
2 | on:
3 | push:
4 | branches:
5 | - master
6 | paths:
7 | - '**.tex'
8 | - '**.m4'
9 | - '**.sty'
10 | - Makefile
11 | - .github/workflows/compile.yml
12 | - 'img/**'
13 | - 'dev/**'
14 | jobs:
15 | build:
16 | runs-on: ubuntu-latest
17 | steps:
18 | - name: Update the system
19 | run: sudo apt-get -qq update
20 | - name: Checkout master branch
21 | uses: actions/checkout@v4
22 | with:
23 | path: master
24 | - name: Checkout src repo
25 | uses: actions/checkout@v4
26 | with:
27 | repository: devnull-cz/unix-linux-prog-in-c-src
28 | path: unix-linux-prog-in-c-src
29 | - name: Install pre-requisites for LaTeX
30 | working-directory: master
31 | run: ./dev/install-latex.sh
32 | - name: Install pre-requisites for spell check
33 | working-directory: master
34 | run: ./dev/install-spellcheck.sh
35 | - name: Check labels
36 | working-directory: master
37 | run: ./dev/check-label.sh
38 | - name: Run spellcheck
39 | working-directory: master
40 | run: make spellcheck
41 | - name: Compile
42 | working-directory: master
43 | run: make slides notes
44 | - name: Check example links
45 | working-directory: master
46 | run: ./dev/check-examples.sh
47 |
--------------------------------------------------------------------------------
/.github/workflows/pdfs.yml:
--------------------------------------------------------------------------------
1 | name: Create release with PDFs
2 | on:
3 | push:
4 | tags:
5 | - 'v*'
6 | jobs:
7 | build:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Update the system
11 | run: sudo apt-get -qq update
12 | - name: Checkout master branch
13 | uses: actions/checkout@v4
14 | with:
15 | path: master
16 | - name: Install pre-requisites for LaTeX
17 | working-directory: master
18 | run: ./dev/install-latex.sh
19 | - name: Compile first phase
20 | working-directory: master
21 | run: make slides notes
22 | - name: Compile second phase to get table of contents
23 | working-directory: master
24 | run: make slides notes
25 | - name: Create Release
26 | uses: softprops/action-gh-release@v1
27 | if: startsWith(github.ref, 'refs/tags/')
28 | with:
29 | prerelease: false
30 | draft: false
31 | files: |
32 | ./master/unix-linux-prog-in-c.pdf
33 | ./master/unix-linux-prog-in-c_slides-only.pdf
34 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.m4.tex
3 | *.aux
4 | *.log
5 | *.ps
6 | *.pdf
7 | *.eps
8 | *.tmp
9 | *.out
10 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | #
2 | # Unix programming in C
3 | #
4 | # (c) Martin Beran, Jan Pechanec, Vladimir Kotal
5 | #
6 | # - "make slides" creates lecture slides
7 | # - "make notes" creates slides with notes in the A4 format
8 | #
9 | # For correct links and PDF bookmarks it is necessary to run make twice.
10 | #
11 | # Do not edit m4 files, those are automatically created during the document
12 | # generation.
13 | #
14 | # The 'spellcheck' target requires the aspell program.
15 | #
16 |
17 | LATEX= pdflatex
18 | M4= m4
19 |
20 | SLIDE_TEX= unix-linux-prog-in-c_slides-only.tex
21 | NOTE_TEX= unix-linux-prog-in-c.tex
22 |
23 | SLIDE_PDF= $(SLIDE_TEX:tex=pdf)
24 | NOTE_PDF= $(NOTE_TEX:tex=pdf)
25 | SLIDE_NEW= $(SLIDE_PDF:pdf=pdf.new)
26 | NOTE_NEW= $(NOTE_PDF:pdf=pdf.new)
27 |
28 | TEX_FILES= common.tex \
29 | intro.tex \
30 | file-api.tex \
31 | user-access.tex \
32 | proc.tex \
33 | signals.tex \
34 | synchro.tex \
35 | network.tex \
36 | threads.tex \
37 | files.tex \
38 | other.tex \
39 | sys-v-semaphores.tex \
40 | history.tex \
41 | appendix.tex
42 |
43 | SLIDES= $(TEX_FILES) $(SLIDE_TEX)
44 | NOTES= $(TEX_FILES) $(NOTE_TEX)
45 |
46 | all: slides notes spellcheck
47 |
48 | slides: $(SLIDES)
49 | @for i in $(SLIDES); do \
50 | new=`echo $$i | sed -e 's/.tex/.m4.tex/g'`; \
51 | $(M4) -D NOSPELLCHECK $$i > $$new; \
52 | done
53 | $(LATEX) $(SLIDE_TEX:tex=m4.tex)
54 | mv $(SLIDE_TEX:tex=m4.pdf) $(SLIDE_PDF)
55 |
56 | notes: $(NOTES)
57 | @for i in $(NOTES); do \
58 | new=`echo $$i | sed -e 's/.tex/.m4.tex/g'`; \
59 | $(M4) -D NOSPELLCHECK $$i > $$new; \
60 | done
61 | $(LATEX) $(NOTE_TEX:tex=m4.tex)
62 | mv $(NOTE_TEX:tex=m4.pdf) $(NOTE_PDF)
63 |
64 | clean:
65 | -rm -f *.log *.aux *.m4.tex *.pdf *.m4.tmp *.out
66 |
67 | spellcheck:
68 | @rm -f /tmp/aspell.out
69 | @echo "test" | sed -E -f spellfilter.sed >/dev/null; \
70 | if [ $$? -ne 0 ]; then echo "sed failed"; exit 1; fi
71 | @for file in ${SLIDES}; do \
72 | echo "### Checking $$file"; \
73 | $(M4) $$file | sed -E -f spellfilter.sed | \
74 | aspell -t --personal=./unix_dict.txt list | \
75 | tee -a /tmp/aspell.out; \
76 | if [ $$? -ne 0 ]; then exit 1; fi; \
77 | done
78 | @if [ -s /tmp/aspell.out ]; then exit 1; fi
79 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://github.com/devnull-cz/unix-linux-prog-in-c/actions?query=workflow%3A%22Compile+sanity+check%22)
2 |
3 | This project contains source code for the material that is used to lecture
4 | "Unix/Linux Programming in C" (NSWI015) class at the Faculty of Mathematics and
5 | Physics, Charles University in Prague.
6 |
7 | To get the PDFs, go to [Releases](https://github.com/devnull-cz/unix-linux-prog-in-c/releases).
8 |
9 | The class home page is https://devnull-cz.github.io/unix-linux-prog-in-c/
10 |
11 | # Developer notes
12 |
13 | It is written in LaTeX. See the `Makefile` on how to build the PDF document.
14 |
15 | ## Trigger new release
16 |
17 | ```
18 | ./dev/release.sh v
19 | ```
20 |
--------------------------------------------------------------------------------
/README.spellcheck:
--------------------------------------------------------------------------------
1 |
2 | In the Makefile there is the 'spellcheck' target. This is meant pretty much for
3 | non-interactive runs (e.g. via Travis). For spell checking, aspell is used.
4 |
5 | The spell checking works by transforming the file via m4 (using macros.m4)
6 | and sed (using spellfilter.sed).
7 |
8 | The sed filters are not very smart, especially they cannot deal with multi line
9 | LateX commands. For those, wrap the lines inside the ifdef, like so:
10 |
11 | ifdef([[[NOSPELLCHECK]]], [[[
12 | \texttt{void \funnm{err}(int \emph{status},
13 | const char *\emph{fmt}, ...);}
14 | ]]])
15 |
16 | The [[[ and ]]] character sequences are left and right quotation marks,
17 | respectively (see macros.m4) not to interfere with LateX quotation.
18 |
19 | There is a personal dictionary in unix_dict.txt. Try not to add too much stuff
20 | there, especially names of functions, headers, varibles, constants etc. as these
21 | should be eradicated using either m4 or sed.
22 |
23 | Sometimes it is not obvious from the output from the 'spellcheck' makefile
24 | target where particular problem is. To do that it is necessary to enter
25 | interactive mode on file processed by m4/sed and then run aspell with the
26 | 'check' command (that requires file name as argument) in one terminal window and
27 | edit the original .tex file in another window. For example:
28 |
29 | $ m4 files.tex | sed -E -f spellfilter.sed > /tmp/p
30 | $ aspell -t --personal=./unix_dict.txt -c /tmp/p
31 |
32 |
--------------------------------------------------------------------------------
/appendix.tex:
--------------------------------------------------------------------------------
1 | \pagebreak
2 | \pdfbookmark[0]{Appendix}{appendix}
3 |
4 | \begin{slide}
5 | \sltitle{Contents}
6 | \slidecontents{9}
7 | \end{slide}
8 |
9 | \input{other.m4.tex}
10 | \input{files.m4.tex}
11 | \input{sys-v-semaphores.m4.tex}
12 | \input{history.m4.tex}
13 |
14 | \endinput
15 |
--------------------------------------------------------------------------------
/dev/check-examples.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Verify the \example{} are all valid links to the source repository.
4 | #
5 | # Assumes the source repository is checked about to the '../unix-linux-prog-in-c-src' directory
6 | # and also that the TeX documents were already processed by m4.
7 | #
8 | # Lastly, it assumes that the \example{} does not span multiple lines.
9 | #
10 |
11 | SRC_DIR="../unix-linux-prog-in-c-src"
12 |
13 | if [[ ! -d $SRC_DIR ]]; then
14 | echo "directory $SRC_DIR does not exist"
15 | exit 1
16 | fi
17 |
18 | ret=0
19 | for m4file in *.m4.tex; do
20 | echo "### $m4file"
21 | oldIFS=$IFS
22 | cat "$m4file" | grep -o '\\example{[[:alnum:]\/\._\-]\+}' |
23 | sort -u | sed -e 's/^\\example{//' -e 's/}$//' | while IFS='\n' read example; do
24 | if [[ ! -f $SRC_DIR/$example ]]; then
25 | echo "example $example is bad link"
26 | exit 1
27 | fi
28 | done
29 | if (( $? != 0 )); then
30 | ret=1
31 | fi
32 | IFS=$oldIFS
33 | done
34 | exit $ret
35 |
--------------------------------------------------------------------------------
/dev/check-label.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if grep '\\label{.*}' *.tex >/tmp/label-err.out; then
4 | echo "Some of the *.tex files contain the \\label command."
5 | echo "This is unwanted as this leads to invalid links in PDFs."
6 | echo "Use \\hlabel instead."
7 | echo ""
8 | cat /tmp/label-err.out
9 | exit 1
10 | fi
11 |
--------------------------------------------------------------------------------
/dev/install-latex.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sudo apt-get install -y --no-install-recommends \
4 | texlive-fonts-recommended \
5 | texlive-latex-extra \
6 | texlive-fonts-extra \
7 | dvipng \
8 | texlive-latex-recommended \
9 | texlive-pstricks
10 |
--------------------------------------------------------------------------------
/dev/install-spellcheck.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | sudo apt-get install -y --no-install-recommends \
4 | aspell \
5 | aspell-en
6 |
--------------------------------------------------------------------------------
/dev/release.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # Trigger new release creation on Github.
4 | #
5 |
6 | set -e
7 |
8 | if (( $# > 1 )); then
9 | echo "usage: `basename $0` [version]"
10 | exit 1
11 | fi
12 |
13 | # Get the latest version (needs curl + jq).
14 | if (( $# == 0 )); then
15 | curl -s https://api.github.com/repos/devnull-cz/unix-linux-prog-in-c/releases/latest | \
16 | jq .tag_name
17 | exit 0
18 | fi
19 |
20 | VERSION=$1
21 |
22 | if ! echo "$VERSION" | grep '^v[0-9]\+$' >/dev/null; then
23 | echo "version needs to be 'v'"
24 | exit 1
25 | fi
26 |
27 | ver=$( git tag -l "$VERSION" )
28 | if (( $? != 0 )); then
29 | echo "Cannot determine tag"
30 | exit 1
31 | fi
32 | if [[ $ver == $VERSION ]]; then
33 | echo "Tag $VERSION already exists"
34 | exit 1
35 | fi
36 |
37 | echo "Pulling"
38 | git pull --ff-only
39 | git tag "$VERSION"
40 | echo "Pushing"
41 | git push origin tag "$VERSION"
42 |
--------------------------------------------------------------------------------
/docs/cstyle.ms.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/docs/cstyle.ms.pdf
--------------------------------------------------------------------------------
/docs/syllabus.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Unix programming in C syllabus
5 |
17 |
18 |
19 |
20 | Unix programming in C syllabus
21 |
22 |
27 |
28 | 1. lecture
29 |
30 | lecture info
31 | UNIX intro
32 | standards
33 | books
34 | C
35 | utilities
36 | file name conventions
37 | compiler
38 |
39 |
40 |
41 |
42 | 2. lecture
43 |
44 | linker
45 | make
46 | dynamic linker
47 | API vers ABI
48 | debuggers
49 | header files
50 | main()
51 | environment variables
52 | command line arguments processing
53 | UNIX structure
54 | processes, threads, programs
55 |
56 |
57 |
58 |
59 | 3. lecture
60 |
61 | system calls
62 | library calls
63 | return values
64 | err API
65 | file API
66 |
67 |
68 |
69 |
70 | 4. lecture
71 |
72 | /etc/passwd, /etc/group
73 | access rights
74 | user/group identification
75 | set UID
76 | file access rights
77 |
78 |
79 |
80 |
81 | 5. lecture
82 |
83 | process and kernel memory
84 | virtual memory
85 | process states
86 | process groups
87 | job control
88 | sessions
89 | process identification
90 | scheduling
91 | fork()
92 | exec()
93 | ELF
94 | process exit
95 | pipes
96 | shared memory
97 | mmap()
98 |
99 |
100 |
101 |
102 | 6. lecture
103 |
104 | dynamic linker API
105 | signal handling
106 |
107 |
108 |
109 |
110 | 7. lecture
111 |
112 | process synchronization
113 | locking, mutual exclusion
114 | deadlock
115 | lock files
116 | fcntl
117 | System V IPC
118 | System V semaphores
119 |
120 |
121 |
122 |
123 | 8. lecture
124 |
125 | sockets API
126 | select/poll
127 |
128 |
129 |
130 |
131 | 9. lecture
132 |
133 | threads
134 | global variables for threads
135 | create/destroy thread
136 | fork and threads
137 | signals and threads
138 |
139 |
140 |
141 |
142 | 10. lecture
143 |
144 | thread synchronizaion
145 | reentrant functions
146 | non-portable threads API
147 |
148 |
149 |
150 |
151 | 11. lecture
152 |
153 |
154 | 12. lecture
155 |
156 |
157 | 13. lecture
158 | debugging
159 |
160 |
161 |
162 | Last change:
163 |
166 |
167 |
168 |
169 |
--------------------------------------------------------------------------------
/docs/unix-access.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Unix access
5 |
6 |
18 |
19 |
20 |
21 |
22 | Access to Unix machines at MFF UK
23 |
24 | You can remotely use some Linux machines in the
25 | labs of Malá
26 | Strana. Those are u-pl1.ms.mff.cuni.cz
to
27 | u-pl37
, as of writing this. Use the ssh
client
28 | shipped with your Unix/Linux/Mac installation to reach those machines, for
29 | example:
30 |
31 |
32 | $ ssh your-login@u-pl5.ms.mff.cuni.cz
33 |
34 |
35 | If you want a different system, you can install it into a virtual machine,
36 | for example VirtualBox, QEMU, or VMWare.
39 |
40 |
To access Unix machines from a Windows installation, you can use a widely
41 | used SSH client PuTTY. Windows 10
43 | is already shipped with OpenSSH as beta.
44 |
45 |
46 | Lasted changed:
47 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/img/by-nc-sa-small.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/by-nc-sa-small.pdf
--------------------------------------------------------------------------------
/img/eps/open_files1-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/eps/open_files1-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/eps/x86-memory-proc-mem-layout-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/eps/x86-memory-proc-mem-layout-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/examples/circle.eps:
--------------------------------------------------------------------------------
1 | %!PS-Adobe-3.0 EPSF-3.0
2 | %%BoundingBox: 64 673 137 746
3 | %%HiResBoundingBox: 64.250000 673.650000 136.400000 745.800000
4 | %...................................
5 | %%Creator: GPL Ghostscript 863 (epswrite)
6 | %%CreationDate: 2008/11/22 16:13:52
7 | %%DocumentData: Clean7Bit
8 | %%LanguageLevel: 2
9 | %%EndComments
10 | %%BeginProlog
11 | % This copyright applies to everything between here and the %%EndProlog:
12 | % Copyright (C) 2008 Artifex Software, Inc. All rights reserved.
13 | %%BeginResource: procset GS_epswrite_2_0_1001 1.001 0
14 | /GS_epswrite_2_0_1001 80 dict dup begin
15 | /PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch
16 | 4 index eq and{ pop pop pop}{ PageSize dup 1
17 | 5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec}
18 | { pop/setpagedevice where
19 | { pop 1 dict dup /PageSize PageSize put setpagedevice}
20 | { /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat
21 | setpage}if}ifelse}ifelse}ifelse} bind def
22 | /!{bind def}bind def/#{load def}!/N/counttomark #
23 | /rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}!
24 | /r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}!
25 | /w/setlinewidth #/J/setlinecap #
26 | /j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat #
27 | /m/moveto #/l/lineto #/c/rcurveto #
28 | /p{N 2 idiv{N -2 roll rlineto}repeat}!
29 | /P{N 0 gt{N -2 roll moveto p}if}!
30 | /h{p closepath}!/H{P closepath}!
31 | /lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}!
32 | /re{4 -2 roll m exch dup lx exch ly neg lx h}!
33 | /^{3 index neg 3 index neg}!
34 | /f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}!
35 | /q/gsave #/Q/grestore #/rf{re fill}!
36 | /Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}!
37 | /|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}!
38 | /|{exch string readstring |=}!
39 | /+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}!
40 | /@/currentfile #/${+ @ |}!
41 | /B{{2 copy string{readstring pop}aload pop 4 array astore cvx
42 | 3 1 roll}repeat pop pop true}!
43 | /Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}!
44 | /,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}!
45 | /Ic{exch Ix false 3 colorimage}!
46 | /F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>>
47 | /CCITTFaxDecode filter}!/FX{< xxx.eps
5 | .\"
6 | .sp .2i
7 | .PS
8 | { "Per-process File" "Descriptor Tables" }
9 | { move right 1.7i "System" "File Table" }
10 | { move right 3.4i "System" "Inode Table" }
11 | move down .3i
12 | box ht 0.2i wid .8i "Process A"
13 | FD1: box same
14 | FD2: box same
15 | box same
16 | box ht 0.5i wid .8i "." "." "."
17 | move .2i
18 | box ht 0.2i wid .8i "Process B"
19 | FD3: box same
20 | FD4: box same
21 | FD5: box same
22 | box ht 0.5i wid .8i "." "." "."
23 | move right 1.7i
24 | up
25 | box ht 0.4i wid .8i "..."
26 | RDWR: box same "Count 2" "RDWR"
27 | box same
28 | RDONLY: box same "Count 2" "RDONLY"
29 | box same
30 | box same
31 | WRONLY: box same "Count 1" "WRONLY"
32 | move right 1.7i
33 | down
34 | box same
35 | box same
36 | ETCGRP: box same "Count 1" "/etc/group"
37 | box same
38 | box same
39 | ETCPASSWD: box same "Count 4" "/etc/passwd"
40 | box same "..."
41 | arrow from right of FD1 to left of WRONLY
42 | arrow from right of FD2 to left of RDONLY
43 | arrow from right of FD3 to left of RDONLY
44 | arrow from right of FD4 to left of RDWR
45 | arrow from right of FD5 to left of RDWR
46 | arrow from right of RDWR to left of ETCPASSWD
47 | arrow from right of RDONLY to left of ETCPASSWD
48 | arrow from right of WRONLY to left of ETCGRP
49 | .PE
50 |
--------------------------------------------------------------------------------
/img/odg/x86-memory-proc-mem-layout.odg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/odg/x86-memory-proc-mem-layout.odg
--------------------------------------------------------------------------------
/img/tex/access_rights-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/access_rights-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/access_rights.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{prava.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4463,1155)(226,-466)
13 | \put(4096,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\stackrel{\mbox{ostatni (o)}}{\overbrace{\hphantom{\hspace{1cm}}}}$}%
14 | }}}
15 | \put(3196,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\stackrel{\mbox{skupina (g)}}{\overbrace{\hphantom{\hspace{1cm}}}}$}%
16 | }}}
17 | \put(2296,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\stackrel{\mbox{vlastnik (u)}}{\overbrace{\hphantom{\hspace{1cm}}}}$}%
18 | }}}
19 | \put(1711,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}4}%
20 | }}}
21 | \put(1891,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
22 | }}}
23 | \put(2071, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}1}%
24 | }}}
25 | \put(541, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}suid}%
26 | }}}
27 | \put(721,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sgid}%
28 | }}}
29 | \put(901,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sticky}%
30 | }}}
31 | \put(226,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}nejvyssi bit}%
32 | }}}
33 | \put(2341,-106){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}r}%
34 | }}}
35 | \put(2521,-286){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}w}%
36 | }}}
37 | \put(2701,-466){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}x}%
38 | }}}
39 | \end{picture}
40 |
--------------------------------------------------------------------------------
/img/tex/access_rights.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/access_rights}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4463,1155)(226,-466)
13 | \put(4096,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\stackrel{\mbox{others (o)}}{\overbrace{\hphantom{\hspace{1cm}}}}$}%
14 | }}}
15 | \put(3196,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\stackrel{\mbox{group (g)}}{\overbrace{\hphantom{\hspace{1cm}}}}$}%
16 | }}}
17 | \put(2296,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\stackrel{\mbox{owner (u)}}{\overbrace{\hphantom{\hspace{1cm}}}}$}%
18 | }}}
19 | \put(1711,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}4}%
20 | }}}
21 | \put(1891,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
22 | }}}
23 | \put(2071, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}1}%
24 | }}}
25 | \put(541, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}SUID}%
26 | }}}
27 | \put(721,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}SGID}%
28 | }}}
29 | \put(901,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sticky}%
30 | }}}
31 | \put(226,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}highest bit}%
32 | }}}
33 | \put(2341,-106){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}r}%
34 | }}}
35 | \put(2521,-286){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}w}%
36 | }}}
37 | \put(2701,-466){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}x}%
38 | }}}
39 | \end{picture}
40 |
--------------------------------------------------------------------------------
/img/tex/assembler-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/assembler-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/assembler.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/assembler}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4749,2112)(-11,-1513)
13 | \put(2671,-893){\rotatebox{90.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}assembler}%
14 | }}}}
15 | \put(3106,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}457f 464c 0101 0001}%
16 | }}}
17 | \put(3106,-376){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0000 0000 0000 0000}%
18 | }}}
19 | \put(3106,-556){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0001 0003 0001 0000}%
20 | }}}
21 | \put(3106,-736){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0000 0000 0000 0000}%
22 | }}}
23 | \put(3106,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}00ec 0000 0000 0000}%
24 | }}}
25 | \put(3106,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0034 0000 0000 0028}%
26 | }}}
27 | \put(856,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.s}%
28 | }}}
29 | \put( 91,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.globl main}%
30 | }}}
31 | \put( 91, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~.type main, @function}%
32 | }}}
33 | \put( 91,-121){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main:}%
34 | }}}
35 | \put( 91,-286){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~pushhl \%ebp}%
36 | }}}
37 | \put( 91,-451){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~movl \%esp, \%ebp}%
38 | }}}
39 | \put( 91,-616){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~pushl \$.LC0}%
40 | }}}
41 | \put( 91,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~call puts}%
42 | }}}
43 | \put( 91,-946){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~addl \$4, \%esp}%
44 | }}}
45 | \put( 91,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.L1:}%
46 | }}}
47 | \put( 91,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~leave}%
48 | }}}
49 | \put( 91,-1441){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~ret}%
50 | }}}
51 | \put(3691, 74){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.o}%
52 | }}}
53 | \end{picture}
54 |
--------------------------------------------------------------------------------
/img/tex/classic_os.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{classic_os.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(2904,2720)(979,-2143)
13 | \put(1831,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sprava procesoru}%
14 | }}}
15 | \put(1973,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}spravapameti}%
16 | }}}
17 | \put(1898,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sprava souboru}%
18 | }}}
19 | \put(1688,-241){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}rozhrani volani sluzeb}%
20 | }}}
21 | \put(1793,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sprava I/O zarizeni}%
22 | }}}
23 | \put(2168,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}aplikace}%
24 | }}}
25 | \put(2108,-1591){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}hardware}%
26 | }}}
27 | \end{picture}
28 |
--------------------------------------------------------------------------------
/img/tex/classic_os.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/classic_os.tex
--------------------------------------------------------------------------------
/img/tex/compilation_process-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/compilation_process-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/compiler-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/compiler-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/compiler.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{kompilator.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4704,2112)(-11,-1513)
13 | \put(2566,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.globl main}%
14 | }}}
15 | \put(2566, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~.type main, @function}%
16 | }}}
17 | \put(2566,-121){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main:}%
18 | }}}
19 | \put(2566,-286){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~pushhl \%ebp}%
20 | }}}
21 | \put(2566,-451){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~movl \%esp, \%ebp}%
22 | }}}
23 | \put(2566,-616){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~pushl \$.LC0}%
24 | }}}
25 | \put(2566,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~call puts}%
26 | }}}
27 | \put(2566,-946){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~addl \$4, \%esp}%
28 | }}}
29 | \put(2566,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.L1:}%
30 | }}}
31 | \put(2566,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~leave}%
32 | }}}
33 | \put(2566,-1441){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~ret}%
34 | }}}
35 | \put(2116,-916){\rotatebox{90.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kompilator}%
36 | }}}}
37 | \put(3331,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.s}%
38 | }}}
39 | \put(136, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int puts(char *s);}%
40 | }}}
41 | \put(136,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}extern int var\_{}a;}%
42 | }}}
43 | \put(136,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main()}%
44 | }}}
45 | \put(136,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
46 | }}}
47 | \put(136,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~puts("Ahoj");}%
48 | }}}
49 | \put(136,-1231){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
50 | }}}
51 | \put(586,344){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.i}%
52 | }}}
53 | \end{picture}
54 |
--------------------------------------------------------------------------------
/img/tex/compiler.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/compiler}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4704,2112)(-11,-1513)
13 | \put(2566,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.globl main}%
14 | }}}
15 | \put(2566, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~.type main, @function}%
16 | }}}
17 | \put(2566,-121){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main:}%
18 | }}}
19 | \put(2566,-286){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~pushhl \%ebp}%
20 | }}}
21 | \put(2566,-451){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~movl \%esp, \%ebp}%
22 | }}}
23 | \put(2566,-616){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~pushl \$.LC0}%
24 | }}}
25 | \put(2566,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~call puts}%
26 | }}}
27 | \put(2566,-946){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~addl \$4, \%esp}%
28 | }}}
29 | \put(2566,-1111){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.L1:}%
30 | }}}
31 | \put(2566,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~leave}%
32 | }}}
33 | \put(2566,-1441){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~~~ret}%
34 | }}}
35 | \put(2116,-916){\rotatebox{90.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}compiler}%
36 | }}}}
37 | \put(3331,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.s}%
38 | }}}
39 | \put(136, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int puts(char *s);}%
40 | }}}
41 | \put(136,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}extern int var\_{}a;}%
42 | }}}
43 | \put(136,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main()}%
44 | }}}
45 | \put(136,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
46 | }}}
47 | \put(136,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~puts("hello");}%
48 | }}}
49 | \put(136,-1231){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
50 | }}}
51 | \put(586,344){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.i}%
52 | }}}
53 | \end{picture}
54 |
--------------------------------------------------------------------------------
/img/tex/deadlock-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/deadlock-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/deadlock.eps:
--------------------------------------------------------------------------------
1 | %!PS-Adobe-2.0 EPSF-2.0
2 | %%Title: deadlock.pstex
3 | %%Creator: fig2dev Version 3.2 Patchlevel 3c
4 | %%CreationDate: Fri Aug 31 13:29:14 2001
5 | %%For: beran@omega.ms.mff.cuni.cz (Martin Beran)
6 | %%BoundingBox: 0 0 295 100
7 | %%Magnification: 1.0000
8 | %%EndComments
9 | /$F2psDict 200 dict def
10 | $F2psDict begin
11 | $F2psDict /mtrx matrix put
12 | /col-1 {0 setgray} bind def
13 | /col0 {0.000 0.000 0.000 srgb} bind def
14 | /col1 {0.000 0.000 1.000 srgb} bind def
15 | /col2 {0.000 1.000 0.000 srgb} bind def
16 | /col3 {0.000 1.000 1.000 srgb} bind def
17 | /col4 {1.000 0.000 0.000 srgb} bind def
18 | /col5 {1.000 0.000 1.000 srgb} bind def
19 | /col6 {1.000 1.000 0.000 srgb} bind def
20 | /col7 {1.000 1.000 1.000 srgb} bind def
21 | /col8 {0.000 0.000 0.560 srgb} bind def
22 | /col9 {0.000 0.000 0.690 srgb} bind def
23 | /col10 {0.000 0.000 0.820 srgb} bind def
24 | /col11 {0.530 0.810 1.000 srgb} bind def
25 | /col12 {0.000 0.560 0.000 srgb} bind def
26 | /col13 {0.000 0.690 0.000 srgb} bind def
27 | /col14 {0.000 0.820 0.000 srgb} bind def
28 | /col15 {0.000 0.560 0.560 srgb} bind def
29 | /col16 {0.000 0.690 0.690 srgb} bind def
30 | /col17 {0.000 0.820 0.820 srgb} bind def
31 | /col18 {0.560 0.000 0.000 srgb} bind def
32 | /col19 {0.690 0.000 0.000 srgb} bind def
33 | /col20 {0.820 0.000 0.000 srgb} bind def
34 | /col21 {0.560 0.000 0.560 srgb} bind def
35 | /col22 {0.690 0.000 0.690 srgb} bind def
36 | /col23 {0.820 0.000 0.820 srgb} bind def
37 | /col24 {0.500 0.190 0.000 srgb} bind def
38 | /col25 {0.630 0.250 0.000 srgb} bind def
39 | /col26 {0.750 0.380 0.000 srgb} bind def
40 | /col27 {1.000 0.500 0.500 srgb} bind def
41 | /col28 {1.000 0.630 0.630 srgb} bind def
42 | /col29 {1.000 0.750 0.750 srgb} bind def
43 | /col30 {1.000 0.880 0.880 srgb} bind def
44 | /col31 {1.000 0.840 0.000 srgb} bind def
45 |
46 | end
47 | save
48 | newpath 0 100 moveto 0 0 lineto 295 0 lineto 295 100 lineto closepath clip newpath
49 | -7.0 100.0 translate
50 | 1 -1 scale
51 |
52 | /cp {closepath} bind def
53 | /ef {eofill} bind def
54 | /gr {grestore} bind def
55 | /gs {gsave} bind def
56 | /sa {save} bind def
57 | /rs {restore} bind def
58 | /l {lineto} bind def
59 | /m {moveto} bind def
60 | /rm {rmoveto} bind def
61 | /n {newpath} bind def
62 | /s {stroke} bind def
63 | /sh {show} bind def
64 | /slc {setlinecap} bind def
65 | /slj {setlinejoin} bind def
66 | /slw {setlinewidth} bind def
67 | /srgb {setrgbcolor} bind def
68 | /rot {rotate} bind def
69 | /sc {scale} bind def
70 | /sd {setdash} bind def
71 | /ff {findfont} bind def
72 | /sf {setfont} bind def
73 | /scf {scalefont} bind def
74 | /sw {stringwidth} bind def
75 | /tr {translate} bind def
76 | /tnt {dup dup currentrgbcolor
77 | 4 -2 roll dup 1 exch sub 3 -1 roll mul add
78 | 4 -2 roll dup 1 exch sub 3 -1 roll mul add
79 | 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
80 | bind def
81 | /shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
82 | 4 -2 roll mul srgb} bind def
83 | /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
84 | /$F2psEnd {$F2psEnteredState restore end} def
85 |
86 | $F2psBegin
87 | %%Page: 1 1
88 | 10 setmiterlimit
89 | 0.06299 0.06299 sc
90 | %
91 | % Fig objects follow
92 | %
93 | % Polyline
94 | 7.500 slw
95 | n 135 225 m 2340 225 l 2340 1575 l 135 1575 l
96 | cp gs col-1 s gr
97 | % Polyline
98 | n 2565 225 m 4770 225 l 4770 1575 l 2565 1575 l
99 | cp gs col-1 s gr
100 | % Polyline
101 | n 135 900 m 4770 900 l 4770 1080 l 135 1080 l
102 | cp gs col7 0.75 shd ef gr gs col-1 s gr
103 | $F2psEnd
104 | rs
105 |
--------------------------------------------------------------------------------
/img/tex/deadlock.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{deadlock.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4659,1572)(124,-748)
13 | \put(181,704){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}p1}}}
14 | \put(189,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck1);}}}
15 | \put(1171,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* OK */}}}
16 | \put(1171,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* Ceka na p2 */}}}
17 | \put(189,149){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck2);}}}
18 | \put(189,-346){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}use(res1, res2);}}}
19 | \put(189,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck2);}}}
20 | \put(189,-676){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck1);}}}
21 | \put(2161,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}Deadlock}}}
22 | \put(2611,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck1);}}}
23 | \put(2611,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck2);}}}
24 | \put(3601,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* OK */}}}
25 | \put(3601,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* Ceka na p1 */}}}
26 | \put(2611,-346){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}use(res1, res2);}}}
27 | \put(2611,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck2);}}}
28 | \put(2611,-676){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck1);}}}
29 | \put(2611,704){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}p2}}}
30 | \end{picture}
31 |
--------------------------------------------------------------------------------
/img/tex/deadlock.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/deadlock}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4659,1572)(124,-748)
13 | \put(181,704){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}p1}}}
14 | \put(189,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck1);}}}
15 | \put(1171,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* OK */}}}
16 | \put(1171,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* waiting for p2 */}}}
17 | \put(189,149){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck2);}}}
18 | \put(189,-346){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}use(res1, res2);}}}
19 | \put(189,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck2);}}}
20 | \put(189,-676){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck1);}}}
21 | \put(2161,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}Deadlock}}}
22 | \put(2611,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck1);}}}
23 | \put(2611,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}lock(lck2);}}}
24 | \put(3601,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* OK */}}}
25 | \put(3601,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}/* waiting for p1 */}}}
26 | \put(2611,-346){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}use(res1, res2);}}}
27 | \put(2611,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck2);}}}
28 | \put(2611,-676){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}unlock(lck1);}}}
29 | \put(2611,704){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}p2}}}
30 | \end{picture}
31 |
--------------------------------------------------------------------------------
/img/tex/environ-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/environ-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/environ.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/environ}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4107,1149)(361,-1648)
13 | \put(3016,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$"$DISPLAY=:0$"$}%
14 | }}}
15 | \put(3016,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$"$LOGNAME=beran$"$}%
16 | }}}
17 | \put(3016,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$"$SHELL=/bin/bash$"$}%
18 | }}}
19 | \put(856,-1186){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}environ[1]}%
20 | }}}
21 | \put(856,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}environ[0]}%
22 | }}}
23 | \put(856,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}environ[2]}%
24 | }}}
25 | \put(856,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}environ[3]}%
26 | }}}
27 | \put(361,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}environ}%
28 | }}}
29 | \end{picture}
30 |
--------------------------------------------------------------------------------
/img/tex/fork-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/fork-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/fork.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{fork.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4705,2775)(33,-2008)
13 | \put(226,-1231){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sw2}%
14 | }}}
15 | \put(2701,-1231){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sw3}%
16 | }}}
17 | \put(181,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getpid()==1234, pid==2345}%
18 | }}}
19 | \put(1441,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getpid() == 1234}%
20 | }}}
21 | \put(2656,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getpid()==2345, pid==0}%
22 | }}}
23 | \put(2791,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}dite (novy proces)}%
24 | }}}
25 | \put(2071,-691){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}rodic (pokracuje)}%
26 | }}}
27 | \put(1486,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sw1}%
28 | }}}
29 | \end{picture}
30 |
--------------------------------------------------------------------------------
/img/tex/fork.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/fork}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4705,2775)(33,-2008)
13 | \put(226,-1575){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{8.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}
14 | \begin{minipage}{6.0cm}switch(pid = fork()) \{\\
15 | \mbox{}\ \ \ case -1: /* Error */\\
16 | \mbox{}\ \ \ case\ \ 0: /* Child\ */\\
17 | \mbox{}\ \ \ \emprg{default: /* Parent */}\\
18 | \}\end{minipage}}%
19 | }}}
20 | \put(2701,-1575){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{8.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}%
21 | \begin{minipage}{6.0cm}switch(pid = fork()) \{\\
22 | \mbox{}\ \ \ case -1: /* Error */\\
23 | \mbox{}\ \ \ \emprg{case\ \ 0: /* Child\ */}\\
24 | \mbox{}\ \ \ default: /* Parent */\\
25 | \}\end{minipage}}%
26 | }}}
27 | \put(181,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getpid()==1234, pid==2345}%
28 | }}}
29 | \put(1441,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getpid() == 1234}%
30 | }}}
31 | \put(2656,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getpid()==2345, pid==0}%
32 | }}}
33 | \put(2791,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}child (new process)}%
34 | }}}
35 | \put(2071,-691){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}parent (continues)}%
36 | }}}
37 | \put(1486,90){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{8.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}
38 | \begin{minipage}{4.5cm}switch(\emprg{pid = fork()}) \{\\
39 | \mbox{}\ \ \ case -1: /* Error */\\
40 | \mbox{}\ \ \ case\ \ 0: /* Child\ */\\
41 | \mbox{}\ \ \ default: /* Parent */\\
42 | \}\end{minipage}}%
43 | }}}
44 | \end{picture}
45 |
--------------------------------------------------------------------------------
/img/tex/fork_wait-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/fork_wait-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/fork_wait.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{fork_wait.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4839,2814)(-101,-2053)
13 | \put(1216,614){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int status;}%
14 | }}}
15 | \put(1216,449){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pid = \emprg{fork()}}%
16 | }}}
17 | \put(2116,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}dite}%
18 | }}}
19 | \put(1306,119){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}rodic}%
20 | }}}
21 | \put(2026,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int main(int argc, char *argv[])}%
22 | }}}
23 | \put(2026,-1456){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
24 | }}}
25 | \put(2026,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ ...}%
26 | }}}
27 | \put(2026,-1801){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \emprg{exit}(result);}%
28 | }}}
29 | \put(2026,-1966){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
30 | }}}
31 | \put(2026,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/bin/ls}%
32 | }}}
33 | \put(2026,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}else}%
34 | }}}
35 | \put(2026,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \emprg{execl}("/bin/ls",}%
36 | }}}
37 | \put(2026,-556){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \ \ \ \ \ \ "/bin/ls", "/", NULL);}%
38 | }}}
39 | \put(-44,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}if(pid > 0)}%
40 | }}}
41 | \put(-44,-1951){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \emprg{wait}(\&status);}%
42 | }}}
43 | \end{picture}
44 |
--------------------------------------------------------------------------------
/img/tex/fork_wait.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/fork_wait}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4839,2814)(-101,-2053)
13 | \put(1216,614){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int status;}%
14 | }}}
15 | \put(1216,449){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pid = \emprg{fork()}}%
16 | }}}
17 | \put(2116,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}child}%
18 | }}}
19 | \put(1306,119){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}parent}%
20 | }}}
21 | \put(2026,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int main(int argc, char *argv[])}%
22 | }}}
23 | \put(2026,-1456){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
24 | }}}
25 | \put(2026,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ ...}%
26 | }}}
27 | \put(2026,-1801){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \emprg{exit}(result);}%
28 | }}}
29 | \put(2026,-1966){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
30 | }}}
31 | \put(2026,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/bin/ls}%
32 | }}}
33 | \put(2026,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}else}%
34 | }}}
35 | \put(2026,-361){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \emprg{execl}("/bin/ls",}%
36 | }}}
37 | \put(2026,-556){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \ \ \ \ \ \ "ls", "/", NULL);}%
38 | }}}
39 | \put(-44,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}if(pid > 0)}%
40 | }}}
41 | \put(-44,-1951){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ \emprg{wait}(\&status);}%
42 | }}}
43 | \end{picture}
44 |
--------------------------------------------------------------------------------
/img/tex/fstree-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/fstree-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/fstree.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/fstree}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4029,2544)(79,-1873)
13 | \put(226,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}etc}%
14 | }}}
15 | \put(946,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}usr}%
16 | }}}
17 | \put(1846,-601){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}tty}%
18 | }}}
19 | \put(2296,-196){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}dev}%
20 | }}}
21 | \put(2341,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/}%
22 | }}}
23 | \put(3331,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}home}%
24 | }}}
25 | \end{picture}
26 |
--------------------------------------------------------------------------------
/img/tex/init.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{init.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4648,2623)(34,-1907)
13 | \put(3061,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/init.d/autofs}%
14 | }}}
15 | \put(3061,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}case \$1 in}%
16 | }}}
17 | \put(3061,-496){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emph{start})}%
18 | }}}
19 | \put(3061,-661){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ ... ;;}%
20 | }}}
21 | \put(3061,-826){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emph{stop})}%
22 | }}}
23 | \put(3061,-991){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ ... ;;}%
24 | }}}
25 | \put(3061,-1156){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emph{*})}%
26 | }}}
27 | \put(3061,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ echo "usage: " \bs}%
28 | }}}
29 | \put(3061,-1486){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ "\$0 (start|stop)"}%
30 | }}}
31 | \put(3061,-1651){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ ;;}%
32 | }}}
33 | \put(3061,-1816){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}esac}%
34 | }}}
35 | \put( 91,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}init 2}%
36 | }}}
37 | \put(361,-61){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2.d/K08autofs stop}%
38 | }}}
39 | \put(361,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2.d/K20nfs stop}%
40 | }}}
41 | \put(361,-601){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2.d/K89portmap stop}%
42 | }}}
43 | \put(361,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2.d/S10network start}%
44 | }}}
45 | \put(361,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2.d/S21random start}%
46 | }}}
47 | \put(361,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2.d/S30syslog start}%
48 | }}}
49 | \put( 91,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/rc2}%
50 | }}}
51 | \end{picture}
52 |
--------------------------------------------------------------------------------
/img/tex/links-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/links-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/links.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{linky.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4557,2022)(46,-1333)
13 | \put(721,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0}%
14 | }}}
15 | \put(2026,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}20}%
16 | }}}
17 | \put(3466,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}31}%
18 | }}}
19 | \put(3241,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}../etc/passwd}%
20 | }}}
21 | \put(631,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}password}%
22 | }}}
23 | \put(1486,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}20}%
24 | }}}
25 | \put(631,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
26 | }}}
27 | \put(2926,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}20}%
28 | }}}
29 | \put(2071,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}passwd}%
30 | }}}
31 | \put(2071,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
32 | }}}
33 | \put(4366,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}31}%
34 | }}}
35 | \put(3511,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}passwd}%
36 | }}}
37 | \put(3511,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
38 | }}}
39 | \put(1441,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
40 | }}}
41 | \put(2926,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
42 | }}}
43 | \put(1711,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}root:x:0:...}%
44 | }}}
45 | \put(811,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}hard link}%
46 | }}}
47 | \put(901,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/var}%
48 | }}}
49 | \put(2251,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}original}%
50 | }}}
51 | \put(2341,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc}%
52 | }}}
53 | \put(3466,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}symbolicky link}%
54 | }}}
55 | \put(3781,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr}%
56 | }}}
57 | \put( 46,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-nodes}%
58 | }}}
59 | \put( 46,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
60 | }}}
61 | \end{picture}
62 |
--------------------------------------------------------------------------------
/img/tex/links.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/links}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4557,2022)(46,-1333)
13 | \put(721,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0}%
14 | }}}
15 | \put(2026,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}20}%
16 | }}}
17 | \put(3466,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}31}%
18 | }}}
19 | \put(3241,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}../etc/passwd}%
20 | }}}
21 | \put(631,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}password}%
22 | }}}
23 | \put(1486,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}20}%
24 | }}}
25 | \put(631,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
26 | }}}
27 | \put(2926,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}20}%
28 | }}}
29 | \put(2071,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}passwd}%
30 | }}}
31 | \put(2071,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
32 | }}}
33 | \put(4366,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}31}%
34 | }}}
35 | \put(3511,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}passwd}%
36 | }}}
37 | \put(3511,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
38 | }}}
39 | \put(1441,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
40 | }}}
41 | \put(2926,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
42 | }}}
43 | \put(1711,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}root:x:0:...}%
44 | }}}
45 | \put(811,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}hard link}%
46 | }}}
47 | \put(901,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/var}%
48 | }}}
49 | \put(2251,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}original}%
50 | }}}
51 | \put(2341,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc}%
52 | }}}
53 | \put(3466,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}symbolic link}%
54 | }}}
55 | \put(3781,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr}%
56 | }}}
57 | \put( 46,-646){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-nodes}%
58 | }}}
59 | \put( 46,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
60 | }}}
61 | \end{picture}
62 |
--------------------------------------------------------------------------------
/img/tex/login.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{login.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4074,297)(124,107)
13 | \put(181,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}init}%
14 | }}}
15 | \put(721,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fork+exec}%
16 | }}}
17 | \put(1621,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}getty}%
18 | }}}
19 | \put(2251,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}exec}%
20 | }}}
21 | \put(2791,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}login}%
22 | }}}
23 | \put(3421,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}exec}%
24 | }}}
25 | \put(3961,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sh}%
26 | }}}
27 | \end{picture}
28 |
--------------------------------------------------------------------------------
/img/tex/main-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/main-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/main.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/main}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(3984,879)(79,-1783)
13 | \put(226,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}ls -l /}%
14 | }}}
15 | \put(1576,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}argv[0]}%
16 | }}}
17 | \put(1576,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}argv[1]}%
18 | }}}
19 | \put(1576,-1456){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}argv[2]}%
20 | }}}
21 | \put(1576,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}argv[3]}%
22 | }}}
23 | \put(3646,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$"$ls$"$}%
24 | }}}
25 | \put(3646,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$"$-l$"$}%
26 | }}}
27 | \put(136,-1456){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}argc}%
28 | }}}
29 | \put(136,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}argv}%
30 | }}}
31 | \put(3691,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$"$/$"$}%
32 | }}}
33 | \end{picture}
34 |
--------------------------------------------------------------------------------
/img/tex/mem_kernel-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/mem_kernel-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/mem_kernel.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{mem_kernel.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(2544,2499)(1339,-1873)
13 | \put(2281,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}text jadra}%
14 | }}}
15 | \put(2071,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data a bss jadra}%
16 | }}}
17 | \put(1681,-76){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}(tabulky, promenne, apod.)}%
18 | }}}
19 | \put(2138,-466){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}struktura user}%
20 | }}}
21 | \put(2041,-661){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}beziciho procesu}%
22 | }}}
23 | \put(1666,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}extern struct user u;}%
24 | }}}
25 | \put(2123,-1681){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}zasobnik jadra}%
26 | }}}
27 | \end{picture}
28 |
--------------------------------------------------------------------------------
/img/tex/mem_kernel.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/mem_kernel}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(2544,2499)(1339,-1873)
13 | \put(2281,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel text}%
14 | }}}
15 | \put(2071,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel data and bss}%
16 | }}}
17 | \put(1681,-76){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}(fd tables, variables, etc.)}%
18 | }}}
19 | \put(2138,-466){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\texttt{user} struct}%
20 | }}}
21 | \put(2041,-661){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}of running process}%
22 | }}}
23 | \put(1666,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}extern struct user u;}%
24 | }}}
25 | \put(2123,-1681){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel stack}%
26 | }}}
27 | \end{picture}
28 |
--------------------------------------------------------------------------------
/img/tex/mem_user-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/mem_user-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/mem_user.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{mem_user.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4545,2184)(181,-1423)
13 | \put(2011,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}oblast user}%
14 | }}}
15 | \put(2086,-1186){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}zasobnik}%
16 | }}}
17 | \put(2266,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bss}%
18 | }}}
19 | \put(2236,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
20 | }}}
21 | \put(2243,614){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}text}%
22 | }}}
23 | \put(181,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\parbox{2.8cm}{nelze adresovat\\uziv. programem}$\left\{\vphantom{X}\right.$}%
24 | }}}
25 | \put(4726,-286){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\left.\vphantom{\raisebox{-2.2cm}{\frame{\vspace*{4.4cm}}}}\right\}$\parbox{3cm}{adresovatelne\\uziv. programem}}%
26 | }}}
27 | \end{picture}
28 |
--------------------------------------------------------------------------------
/img/tex/mem_user.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/mem_user}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4545,2184)(181,-1423)
13 | \put(2011,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\texttt{user} area}%
14 | }}}
15 | \put(2086,-1186){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}stack}%
16 | }}}
17 | \put(2266,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bss}%
18 | }}}
19 | \put(2236,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
20 | }}}
21 | \put(2243,614){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}text}%
22 | }}}
23 | \put(181,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\parbox{2.8cm}{not addressable\\from userspace}$\left\{\vphantom{X}\right.$}%
24 | }}}
25 | \put(4726,-286){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\left.\vphantom{\raisebox{-2.2cm}{\frame{\vspace*{4.4cm}}}}\right\}$\parbox{3cm}{addressable\\by the program}}%
26 | }}}
27 | \end{picture}
28 |
--------------------------------------------------------------------------------
/img/tex/memory_segments.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/segments}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4467,2595)(79,-2053)
13 | \put(2791,344){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read only}%
14 | }}}
15 | \put(2881,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}shared}%
16 | }}}
17 | \put(181,-826){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}struct proc}%
18 | }}}
19 | \put(1171,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}struct as}%
20 | }}}
21 | \put(2071,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}a\_segs}%
22 | }}}
23 | \put(2971,-106){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}s\_prev}%
24 | }}}
25 | \put(2881,-556){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}private}%
26 | }}}
27 | \put(2791,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read/write}%
28 | }}}
29 | \put(2881,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}private}%
30 | }}}
31 | \put(2791,-1816){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read/write}%
32 | }}}
33 | \put(2881,-1996){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}shared}%
34 | }}}
35 | \put(2791,-376){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read/write}%
36 | }}}
37 | \put(3241,-106){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}s\_next}%
38 | }}}
39 | \put(3691,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}text}%
40 | }}}
41 | \put(3691,-466){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
42 | }}}
43 | \put(3691,-1186){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}stack}%
44 | }}}
45 | \put(3691,-1906){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}shared memory}%
46 | }}}
47 | \put(2206,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}s\_as}%
48 | }}}
49 | \put(4546,-1726){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0} }%
50 | }}}
51 | \end{picture}
52 |
--------------------------------------------------------------------------------
/img/tex/mount-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/mount-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/nav_dir-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/nav_dir-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/nav_dir.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/nav_dir}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4602,2856)(91,-2008)
13 | \put( 91,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
14 | }}}
15 | \put(541,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-node 2}%
16 | }}}
17 | \put(1981,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-node 37}%
18 | }}}
19 | \put(3421,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-node 71}%
20 | }}}
21 | \put(3511,-961){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}root:x:0:...}%
22 | }}}
23 | \put(1576,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
24 | }}}
25 | \put(1576,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
26 | }}}
27 | \put(1531,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}37}%
28 | }}}
29 | \put(631,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}etc}%
30 | }}}
31 | \put(2971,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}37}%
32 | }}}
33 | \put(3016,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
34 | }}}
35 | \put(2971,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}71}%
36 | }}}
37 | \put(2071,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}passwd}%
38 | }}}
39 | \put(2071,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}..}%
40 | }}}
41 | \put(631,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}..}%
42 | }}}
43 | \put(631,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.}%
44 | }}}
45 | \put(2071,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}.}%
46 | }}}
47 | \put( 91,704){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-nodes}%
48 | }}}
49 | \put(1988,704){\makebox(0,0)[lb]{\smash{\SetFigFont{12}{14.4}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/etc/passwd}%
50 | }}}
51 | \end{picture}
52 |
--------------------------------------------------------------------------------
/img/tex/open_files-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/open_files-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/partitions-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/partitions-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/partitions.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/partitions}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(3878,1207)(271,-1823)
13 | \put(271,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/}%
14 | }}}
15 | \put(4096,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr}%
16 | }}}
17 | \put(1396,-736){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/home}%
18 | }}}
19 | \put(653,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}disk 1}%
20 | }}}
21 | \put(2093,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}disk 2}%
22 | }}}
23 | \put(3173,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}disk 3}%
24 | }}}
25 | \end{picture}
26 |
--------------------------------------------------------------------------------
/img/tex/pipe-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/pipe-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/preprocesor-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/preprocesor-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/preprocesor.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/preprocesor}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4704,2562)(-11,-1828)
13 | \put(2348,-1066){\rotatebox{90.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}preprocessor}%
14 | }}}}
15 | \put( 91,614){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.c}%
16 | }}}
17 | \put( 91,389){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\#include $<$stdio.h$>$}%
18 | }}}
19 | \put( 91,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\#include $"$mydef.h$"$}%
20 | }}}
21 | \put( 91, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main()}%
22 | }}}
23 | \put( 91,-151){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
24 | }}}
25 | \put( 91,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
26 | }}}
27 | \put( 91,-826){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/include/stdio.h}%
28 | }}}
29 | \put( 91,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int puts(char *s);}%
30 | }}}
31 | \put( 91,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}mydef.h}%
32 | }}}
33 | \put( 91,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\#define MSG $"$hello$"$}%
34 | }}}
35 | \put( 91,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~puts(MSG);}%
36 | }}}
37 | \put(3151,-241){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}int puts(char *s);}%
38 | }}}
39 | \put(3151,-601){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}extern int var\_{}a;}%
40 | }}}
41 | \put(3151,-961){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main()}%
42 | }}}
43 | \put(3151,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
44 | }}}
45 | \put(3151,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}~~puts("hello");}%
46 | }}}
47 | \put(3151,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
48 | }}}
49 | \put(3601, 74){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}main.i}%
50 | }}}
51 | \put( 91,-1726){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}extern int var\_{}a;}%
52 | }}}
53 | \end{picture}
54 |
--------------------------------------------------------------------------------
/img/tex/process_states-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/process_states-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/pseudoterm.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{pseudoterm.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4524,1869)(34,-1063)
13 | \put( 91,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}mfd=\emprg{open}("/dev/ptmx", ...);}%
14 | }}}
15 | \put( 91,494){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sname=\emprg{ptsname}(mfd);}%
16 | }}}
17 | \put( 91,329){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emprg{grantpt}(mfd);}%
18 | }}}
19 | \put( 91,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emprg{unlockpt}(mfd);}%
20 | }}}
21 | \put( 91,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fork();}%
22 | }}}
23 | \put(2431,-331){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sfd=\emprg{open}(sname, ...);}%
24 | }}}
25 | \put(2431,-676){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}dup2(sfd,1); dup2(sfd,2);}%
26 | }}}
27 | \put(2431,-841){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(sfd);}%
28 | }}}
29 | \put(2431,-1006){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}execl("/bin/sh", ...);}%
30 | }}}
31 | \put(2431,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(mfd); dup2(sfd,0);}%
32 | }}}
33 | \put( 91,-376){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/* Emulace terminalu}%
34 | }}}
35 | \put( 91,-556){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0} na zarizeni mfd */}%
36 | }}}
37 | \end{picture}
38 |
--------------------------------------------------------------------------------
/img/tex/pseudoterm.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/pseudoterm.tex
--------------------------------------------------------------------------------
/img/tex/s5-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/s5-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/s5.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{s5.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4467,2832)(46,-2053)
13 | \put(3331,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0}%
14 | }}}
15 | \put(4141,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}9}%
16 | }}}
17 | \put(4366,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}12}%
18 | }}}
19 | \put(1336,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}superblok}%
20 | }}}
21 | \put(361, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}oblast i-uzlu (i-nodes)}%
22 | }}}
23 | \put(361,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}oblast datovych bloku}%
24 | }}}
25 | \put( 46,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}blok c.}%
26 | }}}
27 | \put( 91,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0}%
28 | }}}
29 | \put( 91,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}1}%
30 | }}}
31 | \put( 91, 74){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
32 | }}}
33 | \put(113,-91){\rotatebox{270.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
34 | }}}}
35 | \put(758,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}zavadeci blok (boot block)}%
36 | }}}
37 | \end{picture}
38 |
--------------------------------------------------------------------------------
/img/tex/s5.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/s5}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4467,2832)(46,-2053)
13 | \put(3331,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0}%
14 | }}}
15 | \put(4141,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}9}%
16 | }}}
17 | \put(4366,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}12}%
18 | }}}
19 | \put(1336,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}superblock}%
20 | }}}
21 | \put(361, 29){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}i-node area}%
22 | }}}
23 | \put(361,-781){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data block area}%
24 | }}}
25 | \put( 46,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}block number}%
26 | }}}
27 | \put( 91,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}0}%
28 | }}}
29 | \put( 91,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}1}%
30 | }}}
31 | \put( 91, 74){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}2}%
32 | }}}
33 | \put(113,-91){\rotatebox{270.0}{\makebox(0,0)[lb]{\smash{\SetFigFont{14}{16.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
34 | }}}}
35 | \put(758,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}boot block}%
36 | }}}
37 | \end{picture}
38 |
--------------------------------------------------------------------------------
/img/tex/segments-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/segments-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/segments.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{segmenty.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4467,2595)(79,-2053)
13 | \put(2791,344){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read only}%
14 | }}}
15 | \put(2881,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}shared}%
16 | }}}
17 | \put(181,-826){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}struct proc}%
18 | }}}
19 | \put(1171,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}struct as}%
20 | }}}
21 | \put(2071,434){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}a\_segs}%
22 | }}}
23 | \put(2971,-106){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}s\_prev}%
24 | }}}
25 | \put(2881,-556){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}private}%
26 | }}}
27 | \put(2791,-1096){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read/write}%
28 | }}}
29 | \put(2881,-1276){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}private}%
30 | }}}
31 | \put(2791,-1816){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read/write}%
32 | }}}
33 | \put(2881,-1996){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}shared}%
34 | }}}
35 | \put(2791,-376){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read/write}%
36 | }}}
37 | \put(3241,-106){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}s\_next}%
38 | }}}
39 | \put(3691,254){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}text}%
40 | }}}
41 | \put(3691,-466){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}data}%
42 | }}}
43 | \put(3691,-1186){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}zasobnik}%
44 | }}}
45 | \put(3691,-1906){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sdilena pamet}%
46 | }}}
47 | \put(2206,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}s\_as}%
48 | }}}
49 | \put(4546,-1726){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0} }%
50 | }}}
51 | \end{picture}
52 |
--------------------------------------------------------------------------------
/img/tex/startx.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{startx.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4524,2004)(-11,-1198)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}startx [clientargs] [-- serverargs]}%
14 | }}}
15 | \put( 91,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}xinit [[client [opts]] [-- [server] [display] [opts]]}%
16 | }}}
17 | \put(2926,-241){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\~{}/.xinitrc}%
18 | }}}
19 | \put( 91,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/lib/X11/xinit/xserverrc}%
20 | }}}
21 | \put(2521,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}twm}%
22 | }}}
23 | \put(3196,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}xterm}%
24 | }}}
25 | \put(4096,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}xman}%
26 | }}}
27 | \put(2521,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/lib/X11/xinit/xinitrc}%
28 | }}}
29 | \put(496,-1141){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/bin/X11/X}%
30 | }}}
31 | \put(1171,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
32 | }}}
33 | \put(3601,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{9}{10.8}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}klienti}%
34 | }}}
35 | \put(473,-241){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\~{}/.xserverrc}%
36 | }}}
37 | \end{picture}
38 |
--------------------------------------------------------------------------------
/img/tex/structure-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/structure-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/syscall_dist-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/syscall_dist-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/syscall_dist.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{syscall_dist.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4161,1104)(238,-253)
13 | \put(353,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}uzivatelsky}%
14 | }}}
15 | \put(488,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
16 | }}}
17 | \put(548,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jadro}%
18 | }}}
19 | \put(1568,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
20 | }}}
21 | \put(1433,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}uzivatelsky}%
22 | }}}
23 | \put(1628,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jadro}%
24 | }}}
25 | \put(2596,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jadro}%
26 | }}}
27 | \put(2551,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
28 | }}}
29 | \put(3226,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
30 | }}}
31 | \put(3271,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jadro}%
32 | }}}
33 | \put(3946,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jadro}%
34 | }}}
35 | \put(3901,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
36 | }}}
37 | \end{picture}
38 |
--------------------------------------------------------------------------------
/img/tex/syscall_dist.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/syscall_dist}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4161,1104)(238,-253)
13 | \put(353,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}user}%
14 | }}}
15 | \put(488,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
16 | }}}
17 | \put(548,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
18 | }}}
19 | \put(1568,547){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
20 | }}}
21 | \put(1433,682){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}user}%
22 | }}}
23 | \put(1628,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
24 | }}}
25 | \put(2596,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
26 | }}}
27 | \put(2551,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
28 | }}}
29 | \put(3226,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
30 | }}}
31 | \put(3271,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
32 | }}}
33 | \put(3946,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
34 | }}}
35 | \put(3901,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
36 | }}}
37 | \end{picture}
38 |
--------------------------------------------------------------------------------
/img/tex/syscall_unx-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/syscall_unx-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/syscall_unx.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{syscall_unx.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4344,834)(169,-73)
13 | \put(488,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
14 | }}}
15 | \put(2468,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
16 | }}}
17 | \put(1576,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}rozhrani volani jadra}%
18 | }}}
19 | \put(2168, 22){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}jadro}%
20 | }}}
21 | \put(3728,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}proces}%
22 | }}}
23 | \end{picture}
24 |
--------------------------------------------------------------------------------
/img/tex/syscall_unx.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/syscall_unx}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4344,834)(169,-73)
13 | \put(488,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
14 | }}}
15 | \put(2468,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
16 | }}}
17 | \put(1576,292){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel syscall API}%
18 | }}}
19 | \put(2168, 22){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}kernel}%
20 | }}}
21 | \put(3728,584){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process}%
22 | }}}
23 | \end{picture}
24 |
--------------------------------------------------------------------------------
/img/tex/tcp_par-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/tcp_par-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/tcp_par.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{tcp_par.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4097,2847)(52,-2098)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
14 | }}}
15 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}klient}%
16 | }}}
17 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sit}%
18 | }}}
19 | \put(406,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
20 | }}}
21 | \put(631,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
22 | }}}
23 | \put(541,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}listen(fd)}%
24 | }}}
25 | \put(271,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd2 = accept(fd)}%
26 | }}}
27 | \put(631,-1231){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fork()}%
28 | }}}
29 | \put(181,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd2)}%
30 | }}}
31 | \put(181,-1666){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}while(waitpid(}%
32 | }}}
33 | \put(181,-1831){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0} -1, stat,}%
34 | }}}
35 | \put(181,-1996){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0} WNOHANG)>0) ;}%
36 | }}}
37 | \put(3331,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
38 | }}}
39 | \put(3511,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
40 | }}}
41 | \put(3421,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}connect(fd)}%
42 | }}}
43 | \put(1883,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}syn}%
44 | }}}
45 | \put(1598,-1681){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read(fd2)}%
46 | }}}
47 | \put(1553,-1861){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd2)}%
48 | }}}
49 | \put(3106,-1771){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd);read(fd)}%
50 | }}}
51 | \put(1666,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}exit(0)}%
52 | }}}
53 | \end{picture}
54 |
--------------------------------------------------------------------------------
/img/tex/tcp_par.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/tcp_par}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4097,2847)(52,-2098)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
14 | }}}
15 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}client}%
16 | }}}
17 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}network}%
18 | }}}
19 | \put(406,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
20 | }}}
21 | \put(631,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
22 | }}}
23 | \put(541,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}listen(fd)}%
24 | }}}
25 | \put(271,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd2 = accept(fd)}%
26 | }}}
27 | \put(631,-1231){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fork()}%
28 | }}}
29 | \put(181,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd2)}%
30 | }}}
31 | \put(181,-1666){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}while(waitpid(}%
32 | }}}
33 | \put(181,-1831){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ -1, stat,}%
34 | }}}
35 | \put(181,-1996){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ WNOHANG)>0) ;}%
36 | }}}
37 | \put(3331,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
38 | }}}
39 | \put(3511,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
40 | }}}
41 | \put(3421,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}connect(fd)}%
42 | }}}
43 | \put(1883,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}child}%
44 | }}}
45 | \put(1598,-1681){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read(fd2)}%
46 | }}}
47 | \put(1553,-1861){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd2)}%
48 | }}}
49 | \put(3106,-1771){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd);read(fd)}%
50 | }}}
51 | \put(1666,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}exit(0)}%
52 | }}}
53 | \end{picture}
54 |
--------------------------------------------------------------------------------
/img/tex/tcp_prefork-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/tcp_prefork-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/tcp_prefork.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{tcp_prefork.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4070,2712)(79,-1963)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
14 | }}}
15 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}klient}%
16 | }}}
17 | \put(1463,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read(fd2)}%
18 | }}}
19 | \put(1418,-1726){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd2)}%
20 | }}}
21 | \put(1306,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd2=accept(fd)}%
22 | }}}
23 | \put(1441,-1906){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd2)}%
24 | }}}
25 | \put(676,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fork()}%
26 | }}}
27 | \put(496,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{20}{24.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
28 | }}}
29 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sit}%
30 | }}}
31 | \put(406,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
32 | }}}
33 | \put(631,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
34 | }}}
35 | \put(541,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}listen(fd)}%
36 | }}}
37 | \put(3331,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
38 | }}}
39 | \put(3421,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}connect(fd)}%
40 | }}}
41 | \put(3106,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd);read(fd)}%
42 | }}}
43 | \put(3511,-1906){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
44 | }}}
45 | \end{picture}
46 |
--------------------------------------------------------------------------------
/img/tex/tcp_prefork.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/tcp_prefork}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4070,2712)(79,-1963)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
14 | }}}
15 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}client}%
16 | }}}
17 | \put(1463,-1546){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read(fd2)}%
18 | }}}
19 | \put(1418,-1726){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd2)}%
20 | }}}
21 | \put(1306,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd2=accept(fd)}%
22 | }}}
23 | \put(1441,-1906){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd2)}%
24 | }}}
25 | \put(676,-1051){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fork()}%
26 | }}}
27 | \put(496,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{20}{24.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
28 | }}}
29 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}network}%
30 | }}}
31 | \put(406,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
32 | }}}
33 | \put(631,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
34 | }}}
35 | \put(541,-871){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}listen(fd)}%
36 | }}}
37 | \put(3331,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
38 | }}}
39 | \put(3421,-1366){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}connect(fd)}%
40 | }}}
41 | \put(3106,-1636){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd);read(fd)}%
42 | }}}
43 | \put(3511,-1906){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
44 | }}}
45 | \end{picture}
46 |
--------------------------------------------------------------------------------
/img/tex/tcp_seq-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/tcp_seq-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/tcp_seq.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{tcp_seq.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4157,2790)(-8,-2041)
13 | \put(406,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
14 | }}}
15 | \put(541,-1123){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}listen(fd)}%
16 | }}}
17 | \put(631,-817){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
18 | }}}
19 | \put(271,-1429){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd2 = accept(fd)}%
20 | }}}
21 | \put( 46,-1735){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read(fd2); write(fd2)}%
22 | }}}
23 | \put(541,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd2)}%
24 | }}}
25 | \put(3331,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
26 | }}}
27 | \put(3511,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
28 | }}}
29 | \put(3106,-1726){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd);read(fd)}%
30 | }}}
31 | \put(3421,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}connect(fd)}%
32 | }}}
33 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
34 | }}}
35 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}klient}%
36 | }}}
37 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sit}%
38 | }}}
39 | \end{picture}
40 |
--------------------------------------------------------------------------------
/img/tex/tcp_seq.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/tcp_seq}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4157,2790)(-8,-2041)
13 | \put(406,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
14 | }}}
15 | \put(541,-1123){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}listen(fd)}%
16 | }}}
17 | \put(631,-817){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
18 | }}}
19 | \put(271,-1429){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd2 = accept(fd)}%
20 | }}}
21 | \put( 46,-1735){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}read(fd2); write(fd2)}%
22 | }}}
23 | \put(541,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd2)}%
24 | }}}
25 | \put(3331,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
26 | }}}
27 | \put(3511,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
28 | }}}
29 | \put(3106,-1726){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}write(fd);read(fd)}%
30 | }}}
31 | \put(3421,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}connect(fd)}%
32 | }}}
33 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
34 | }}}
35 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}client}%
36 | }}}
37 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}network}%
38 | }}}
39 | \end{picture}
40 |
--------------------------------------------------------------------------------
/img/tex/threads-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/threads-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/threads.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/threads}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4524,2859)(34,-2053)
13 | \put( 91,-421){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}void *\emprg{do_a}(void *arg)}%
14 | }}}
15 | \put( 91,-586){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
16 | }}}
17 | \put( 91,-751){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ ...}%
18 | }}}
19 | \put( 91,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ return arg;}%
20 | }}}
21 | \put( 91,-1081){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
22 | }}}
23 | \put(2746,-421){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}void *\emprg{do_b}(void *arg)}%
24 | }}}
25 | \put(2746,-586){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\{}%
26 | }}}
27 | \put(2746,-751){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ ...}%
28 | }}}
29 | \put(2746,-916){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\ \ \ \ return arg;}%
30 | }}}
31 | \put(2746,-1081){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\}}%
32 | }}}
33 | \put(676,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pthread_t id_a, id_b;}%
34 | }}}
35 | \put(676,-1771){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emprg{pthread_join}(id_a, &res_a);}%
36 | }}}
37 | \put(676,-1951){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emprg{pthread_join}(id_b, &res_b);}%
38 | }}}
39 | \put(676,119){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emprg{pthread_create}(&id_b, NULL, do_b, "b");}%
40 | }}}
41 | \put(676,299){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\emprg{pthread_create}(&id_a, NULL, do_a, "a");}%
42 | }}}
43 | \put(676,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}void *res_a, *res_b;}%
44 | }}}
45 | \end{picture}
46 |
--------------------------------------------------------------------------------
/img/tex/udp-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/udp-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/udp.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{udp.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4030,2790)(119,-2041)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
14 | }}}
15 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}klient}%
16 | }}}
17 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sit}%
18 | }}}
19 | \put(338,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
20 | }}}
21 | \put(563,-817){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
22 | }}}
23 | \put(473,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sendto(fd)}%
24 | }}}
25 | \put(383,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}recvfrom(fd)}%
26 | }}}
27 | \put(3398,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
28 | }}}
29 | \put(3578,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
30 | }}}
31 | \put(3533,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sendto(fd)}%
32 | }}}
33 | \put(3443,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}recvfrom(fd)}%
34 | }}}
35 | \end{picture}
36 |
--------------------------------------------------------------------------------
/img/tex/udp.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/udp}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4030,2790)(119,-2041)
13 | \put(721,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}server}%
14 | }}}
15 | \put(3736,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}client}%
16 | }}}
17 | \put(2206,569){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}network}%
18 | }}}
19 | \put(338,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
20 | }}}
21 | \put(563,-817){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}bind(fd)}%
22 | }}}
23 | \put(473,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sendto(fd)}%
24 | }}}
25 | \put(383,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}recvfrom(fd)}%
26 | }}}
27 | \put(3398,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}fd = socket()}%
28 | }}}
29 | \put(3578,-2041){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}close(fd)}%
30 | }}}
31 | \put(3533,-1321){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sendto(fd)}%
32 | }}}
33 | \put(3443,-1501){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}recvfrom(fd)}%
34 | }}}
35 | \end{picture}
36 |
--------------------------------------------------------------------------------
/img/tex/vfs-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/vfs-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/virt_mem-eps-converted-to.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/virt_mem-eps-converted-to.pdf
--------------------------------------------------------------------------------
/img/tex/virt_mem.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{virt_mem.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(3624,2742)(259,-2053)
13 | \put(1621,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pamet}%
14 | }}}
15 | \put(1621,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}procesu 2}%
16 | }}}
17 | \put(2611,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pamet}%
18 | }}}
19 | \put(2611,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}procesu 3}%
20 | }}}
21 | \put(3601,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pamet}%
22 | }}}
23 | \put(3601,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}procesu 4}%
24 | }}}
25 | \put(631,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pamet}%
26 | }}}
27 | \put(631,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}procesu 1}%
28 | }}}
29 | \put(901,-1681){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}realna}%
30 | }}}
31 | \put(901,-1876){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}pamet}%
32 | }}}
33 | \end{picture}
34 |
--------------------------------------------------------------------------------
/img/tex/virt_mem.tex:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{img/tex/virt_mem}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(3624,2742)(259,-2053)
13 | \put(1621,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process 2}%
14 | }}}
15 | \put(1621,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}memory}%
16 | }}}
17 | \put(2611,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process 3}%
18 | }}}
19 | \put(2611,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}memory}%
20 | }}}
21 | \put(3601,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process 4}%
22 | }}}
23 | \put(3601,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}memory}%
24 | }}}
25 | \put(631,569){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}process 1}%
26 | }}}
27 | \put(631,374){\makebox(0,0)[b]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}memory}%
28 | }}}
29 | \put(901,-1681){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}physical}%
30 | }}}
31 | \put(901,-1876){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}memory}%
32 | }}}
33 | \end{picture}
34 |
--------------------------------------------------------------------------------
/img/tex/xdm.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{xdm.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4389,2274)(304,-1468)
13 | \put(3601,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}\~{}/.xsession}%
14 | }}}
15 | \put(1441,-1411){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/lib/X11/xdm/Xreset}%
16 | }}}
17 | \put(361,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}X server}%
18 | }}}
19 | \put(3286,-511){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}Xstartup}%
20 | }}}
21 | \put(2521,-961){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/lib/X11/xdm/Xsession}%
22 | }}}
23 | \put(1351,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}/usr/lib/X11/xdm/Xsetup}%
24 | }}}
25 | \put(2206,659){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}xdm}%
26 | }}}
27 | \put(2116,-241){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\ttdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}xlogin}%
28 | }}}
29 | \put(3961,209){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}login:}%
30 | }}}
31 | \put(3961, 14){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}password:}%
32 | }}}
33 | \end{picture}
34 |
--------------------------------------------------------------------------------
/img/tex/xwin.pstex_t:
--------------------------------------------------------------------------------
1 | \begin{picture}(0,0)%
2 | \includegraphics{xwin.pstex}%
3 | \end{picture}%
4 | \setlength{\unitlength}{4144sp}%
5 | %
6 | \begingroup\makeatletter\ifx\SetFigFont\undefined%
7 | \gdef\SetFigFont#1#2#3#4#5{%
8 | \reset@font\fontsize{#1}{#2pt}%
9 | \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
10 | \selectfont}%
11 | \fi\endgroup%
12 | \begin{picture}(4533,2761)(58,-2094)
13 | \put(1171,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}aplikace}%
14 | }}}
15 | \put(2071,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}aplikace}%
16 | }}}
17 | \put(3106,-16){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}manager}%
18 | }}}
19 | \put(3151,164){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}window}%
20 | }}}
21 | \put(271,479){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}aplikace}%
22 | }}}
23 | \put(2168,-691){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}toolkit}%
24 | }}}
25 | \put(2881,-1861){\makebox(0,0)[lb]{\smash{\SetFigFont{20}{24.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}...}%
26 | }}}
27 | \put(4591,-1861){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}X server}%
28 | }}}
29 | \put(4591,-1276){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}sit}%
30 | }}}
31 | \put(4591,-256){\makebox(0,0)[rb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}$\left.\vphantom{\frame{\vspace*{2cm}}}\right\}$ klienti}%
32 | }}}
33 | \put(2071,-106){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}emulator}%
34 | }}}
35 | \put(2026,-286){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}terminalu}%
36 | }}}
37 | \put(1853,-961){\makebox(0,0)[lb]{\smash{\SetFigFont{10}{12.0}{\sfdefault}{\mddefault}{\updefault}{\color[rgb]{0,0,0}Xlib}%
38 | }}}
39 | \end{picture}
40 |
--------------------------------------------------------------------------------
/img/tex/xwin.tex:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/img/tex/xwin.tex
--------------------------------------------------------------------------------
/img/xfig/assembler.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2475 450 2745 2340
11 | 2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
12 | 2745 2340 2745 450 2475 450 2475 2340 2745 2340
13 | 4 0 0 50 0 4 10 1.5708 2 120 675 2670 1732 assembler\001
14 | -6
15 | 6 3015 855 4815 2025
16 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
17 | 3015 855 4725 855 4725 2025 3015 2025 3015 855
18 | 4 0 0 50 0 5 10 0.0000 2 105 1710 3105 1035 457f 464c 0101 0001\001
19 | 4 0 0 50 0 5 10 0.0000 2 105 1710 3105 1215 0000 0000 0000 0000\001
20 | 4 0 0 50 0 5 10 0.0000 2 105 1710 3105 1395 0001 0003 0001 0000\001
21 | 4 0 0 50 0 5 10 0.0000 2 105 1710 3105 1575 0000 0000 0000 0000\001
22 | 4 0 0 50 0 5 10 0.0000 2 105 1710 3105 1755 00ec 0000 0000 0000\001
23 | 4 0 0 50 0 5 10 0.0000 2 105 1710 3105 1935 0034 0000 0000 0028\001
24 | -6
25 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
26 | 1 1 1.00 60.00 120.00
27 | 2205 1440 2475 1440
28 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
29 | 1 1 1.00 60.00 120.00
30 | 2745 1440 3015 1440
31 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
32 | 0 450 2205 450 2205 2340 0 2340 0 450
33 | 4 0 0 50 0 4 10 0.0000 2 120 435 855 360 main.s\001
34 | 4 0 0 50 0 5 10 0.0000 2 135 990 90 630 .globl main\001
35 | 4 0 0 50 0 5 10 0.0000 2 135 2250 90 810 ~~~~.type main, @function\001
36 | 4 0 0 50 0 5 10 0.0000 2 105 450 90 960 main:\001
37 | 4 0 0 50 0 5 10 0.0000 2 135 1440 90 1125 ~~~~pushhl \\%ebp\001
38 | 4 0 0 50 0 5 10 0.0000 2 135 1890 90 1290 ~~~~movl \\%esp, \\%ebp\001
39 | 4 0 0 50 0 5 10 0.0000 2 135 1440 90 1455 ~~~~pushl \\$.LC0\001
40 | 4 0 0 50 0 5 10 0.0000 2 135 1170 90 1620 ~~~~call puts\001
41 | 4 0 0 50 0 5 10 0.0000 2 135 1710 90 1785 ~~~~addl \\$4, \\%esp\001
42 | 4 0 0 50 0 5 10 0.0000 2 105 360 90 1950 .L1:\001
43 | 4 0 0 50 0 5 10 0.0000 2 105 810 90 2115 ~~~~leave\001
44 | 4 0 0 50 0 5 10 0.0000 2 105 630 90 2280 ~~~~ret\001
45 | 4 0 0 50 0 4 10 0.0000 2 120 450 3690 765 main.o\001
46 |
--------------------------------------------------------------------------------
/img/xfig/classic_os.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 1 2 0 1 0 7 50 0 -1 0.000 1 0.0000 2430 405 1350 135 1080 540 3780 270
11 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
12 | 990 720 3870 720
13 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
14 | 1080 900 3780 900 3780 2970 1080 2970 1080 900
15 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
16 | 1260 1170 3600 1170 3600 2880 1260 2880 1260 1170
17 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
18 | 1440 1440 3420 1440 3420 2790 1440 2790 1440 1440
19 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
20 | 1620 1710 3240 1710 3240 2700 1620 2700 1620 1710
21 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
22 | 1800 2610 3060 2610 3060 1980 1800 1980 1800 2610
23 | 2 1 0 1 0 7 50 0 15 4.000 0 0 -1 1 0 2
24 | 1 1 1.00 45.00 30.00
25 | 2160 540 2160 900
26 | 2 1 0 1 0 7 50 0 15 4.000 0 0 -1 1 0 2
27 | 1 1 1.00 45.00 30.00
28 | 2700 900 2700 540
29 | 2 2 0 1 0 7 51 0 15 0.000 0 0 -1 0 0 5
30 | 1980 2250 2880 2250 2880 2520 1980 2520 1980 2250
31 | 4 0 0 50 0 4 10 0.0000 2 120 1200 1830 2160 sprava procesoru\001
32 | 4 0 0 50 0 4 10 0.0000 2 150 915 1972 1890 spravapameti\001
33 | 4 0 0 50 0 4 10 0.0000 2 150 1065 1897 1350 sprava souboru\001
34 | 4 0 0 50 0 4 10 0.0000 2 120 1485 1687 1080 rozhrani volani sluzeb\001
35 | 4 0 0 50 0 4 10 0.0000 2 150 1275 1792 1620 sprava I/O zarizeni\001
36 | 4 0 0 50 0 4 10 0.0000 2 150 525 2167 450 aplikace\001
37 | 4 0 0 50 0 4 10 0.0000 2 120 645 2107 2430 hardware\001
38 |
--------------------------------------------------------------------------------
/img/xfig/compiler.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2475 450 4815 2340
11 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
12 | 2475 450 4680 450 4680 2340 2475 2340 2475 450
13 | 4 0 0 50 0 5 10 0.0000 2 135 990 2565 630 .globl main\001
14 | 4 0 0 50 0 5 10 0.0000 2 135 2250 2565 810 ~~~~.type main, @function\001
15 | 4 0 0 50 0 5 10 0.0000 2 105 450 2565 960 main:\001
16 | 4 0 0 50 0 5 10 0.0000 2 135 1440 2565 1125 ~~~~pushhl \\%ebp\001
17 | 4 0 0 50 0 5 10 0.0000 2 135 1890 2565 1290 ~~~~movl \\%esp, \\%ebp\001
18 | 4 0 0 50 0 5 10 0.0000 2 135 1440 2565 1455 ~~~~pushl \\$.LC0\001
19 | 4 0 0 50 0 5 10 0.0000 2 135 1170 2565 1620 ~~~~call puts\001
20 | 4 0 0 50 0 5 10 0.0000 2 135 1710 2565 1785 ~~~~addl \\$4, \\%esp\001
21 | 4 0 0 50 0 5 10 0.0000 2 105 360 2565 1950 .L1:\001
22 | 4 0 0 50 0 5 10 0.0000 2 105 810 2565 2115 ~~~~leave\001
23 | 4 0 0 50 0 5 10 0.0000 2 105 630 2565 2280 ~~~~ret\001
24 | -6
25 | 6 1935 450 2205 2340
26 | 2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
27 | 2205 2340 2205 450 1935 450 1935 2340 2205 2340
28 | 4 0 0 50 0 4 10 1.5708 2 150 720 2115 1755 kompilator\001
29 | -6
30 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
31 | 0 585 1665 585 1665 2160 0 2160 0 585
32 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
33 | 1 1 1.00 60.00 120.00
34 | 1665 1440 1935 1440
35 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
36 | 1 1 1.00 60.00 120.00
37 | 2205 1440 2475 1440
38 | 4 0 0 50 0 4 10 0.0000 2 120 435 3330 360 main.s\001
39 | 4 0 0 50 0 5 10 0.0000 2 135 1620 135 810 int puts(char *s);\001
40 | 4 0 0 50 0 5 10 0.0000 2 135 1800 135 1170 extern int var\\_{}a;\001
41 | 4 0 0 50 0 5 10 0.0000 2 135 540 135 1530 main()\001
42 | 4 0 0 50 0 5 10 0.0000 2 135 180 135 1710 \\{\001
43 | 4 0 0 50 0 5 10 0.0000 2 135 1350 135 1890 ~~puts("Ahoj");\001
44 | 4 0 0 50 0 5 10 0.0000 2 135 180 135 2070 \\}\001
45 | 4 0 0 50 0 4 10 0.0000 2 120 390 585 495 main.i\001
46 |
--------------------------------------------------------------------------------
/img/xfig/deadlock.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 -1 7 51 0 -1 0.000 0 0 -1 0 0 5
11 | 135 225 2340 225 2340 1575 135 1575 135 225
12 | 2 2 0 1 -1 7 51 0 -1 0.000 0 0 -1 0 0 5
13 | 2565 225 4770 225 4770 1575 2565 1575 2565 225
14 | 2 2 0 1 -1 7 50 0 15 0.000 0 0 -1 0 0 5
15 | 135 900 4770 900 4770 1080 135 1080 135 900
16 | 4 0 -1 50 0 4 10 0.0000 2 150 180 180 135 p1\001
17 | 4 0 -1 50 0 5 10 0.0000 2 135 990 188 360 lock(lck1);\001
18 | 4 0 -1 50 0 4 10 0.0000 2 120 525 1170 360 /* OK */\001
19 | 4 0 -1 50 0 4 10 0.0000 2 150 1080 1170 720 /* Ceka na p2 */\001
20 | 4 0 -1 50 0 5 10 0.0000 2 135 990 188 690 lock(lck2);\001
21 | 4 0 -1 50 0 5 10 0.0000 2 135 1440 188 1185 use(res1, res2);\001
22 | 4 0 -1 50 0 5 10 0.0000 2 135 1170 188 1350 unlock(lck2);\001
23 | 4 0 -1 50 0 5 10 0.0000 2 135 1170 188 1515 unlock(lck1);\001
24 | 4 0 -1 50 0 4 10 0.0000 2 120 630 2160 1035 Deadlock\001
25 | 4 0 -1 50 0 5 10 0.0000 2 135 990 2610 855 lock(lck1);\001
26 | 4 0 -1 50 0 5 10 0.0000 2 135 990 2610 540 lock(lck2);\001
27 | 4 0 -1 50 0 4 10 0.0000 2 120 525 3600 540 /* OK */\001
28 | 4 0 -1 50 0 4 10 0.0000 2 150 1080 3600 855 /* Ceka na p1 */\001
29 | 4 0 -1 50 0 5 10 0.0000 2 135 1440 2610 1185 use(res1, res2);\001
30 | 4 0 -1 50 0 5 10 0.0000 2 135 1170 2610 1350 unlock(lck2);\001
31 | 4 0 -1 50 0 5 10 0.0000 2 135 1170 2610 1515 unlock(lck1);\001
32 | 4 0 -1 50 0 4 10 0.0000 2 150 180 2610 135 p2\001
33 |
--------------------------------------------------------------------------------
/img/xfig/environ.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2970 1710 4545 2430
11 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
12 | 2970 1980 4050 1980 4050 2160 2970 2160 2970 1980
13 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
14 | 2970 2250 4275 2250 4275 2430 2970 2430 2970 2250
15 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
16 | 2970 1710 4455 1710 4455 1890 2970 1890 2970 1710
17 | 4 0 0 50 0 5 10 0.0000 2 105 1080 3015 2115 "DISPLAY=:0"\001
18 | 4 0 0 50 0 5 10 0.0000 2 105 1350 3015 2385 "LOGNAME=beran"\001
19 | 4 0 0 50 0 5 10 0.0000 2 120 1530 3015 1845 "SHELL=/bin/bash"\001
20 | -6
21 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
22 | 1800 1710 2250 1710 2250 1890 1800 1890 1800 1710
23 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
24 | 1800 1890 2250 1890 2250 2070 1800 2070 1800 1890
25 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
26 | 1800 2070 2250 2070 2250 2250 1800 2250 1800 2070
27 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
28 | 1800 2250 2250 2250 2250 2430 1800 2430 1800 2250
29 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
30 | 990 1350 1440 1350 1440 1530 990 1530 990 1350
31 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4
32 | 1 1 1.00 45.00 45.00
33 | 1215 1440 1215 1620 1800 1620 1800 1710
34 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
35 | 1 1 1.00 45.00 45.00
36 | 2025 1800 2970 1800
37 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4
38 | 1 1 1.00 45.00 45.00
39 | 2025 1980 2700 1980 2700 2070 2970 2070
40 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4
41 | 1 1 1.00 45.00 45.00
42 | 2025 2160 2610 2160 2610 2340 2970 2340
43 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 3
44 | 2025 2340 2520 2340 2520 2430
45 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
46 | 2430 2430 2610 2430
47 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
48 | 2475 2475 2565 2475
49 | 4 0 0 50 0 5 10 0.0000 2 135 900 855 2025 environ[1]\001
50 | 4 0 0 50 0 5 10 0.0000 2 135 900 855 1845 environ[0]\001
51 | 4 0 0 50 0 5 10 0.0000 2 135 900 855 2205 environ[2]\001
52 | 4 0 0 50 0 5 10 0.0000 2 135 900 855 2385 environ[3]\001
53 | 4 0 0 50 0 5 10 0.0000 2 105 630 360 1485 environ\001
54 |
--------------------------------------------------------------------------------
/img/xfig/fork.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 180 1935 2250 2835
11 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
12 | 180 1935 2250 1935 2250 2835 180 2835 180 1935
13 | 4 0 0 50 0 5 10 0.0000 2 105 270 225 2070 sw2\001
14 | -6
15 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
16 | 2655 1935 4725 1935 4725 2835 2655 2835 2655 1935
17 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
18 | 1 1 1.00 30.00 60.00
19 | 2430 1215 1980 1710
20 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
21 | 1 1 1.00 30.00 60.00
22 | 2430 1215 2880 1710
23 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
24 | 1440 270 3510 270 3510 1170 1440 1170 1440 270
25 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
26 | 1 1 1.00 60.00 120.00
27 | 45 2565 180 2565
28 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
29 | 1 1 1.00 60.00 120.00
30 | 2520 2430 2655 2430
31 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
32 | 1 1 1.00 60.00 120.00
33 | 1305 405 1440 405
34 | 4 0 0 50 0 5 10 0.0000 2 105 270 2700 2070 sw3\001
35 | 4 0 0 50 0 5 10 0.0000 2 135 2250 180 1845 getpid()==1234, pid==2345\001
36 | 4 0 0 50 0 5 10 0.0000 2 135 1440 1440 180 getpid() == 1234\001
37 | 4 0 0 50 0 5 10 0.0000 2 135 1980 2655 1845 getpid()==2345, pid==0\001
38 | 4 0 0 50 0 4 10 0.0000 2 150 1275 2790 1530 dite (novy proces)\001
39 | 4 2 0 50 0 4 10 0.0000 2 150 1155 2070 1530 rodic (pokracuje)\001
40 | 4 0 0 50 0 5 10 0.0000 2 105 270 1485 405 sw1\001
41 |
--------------------------------------------------------------------------------
/img/xfig/fork_wait.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
11 | 1170 90 2250 90 2250 450 1170 450 1170 90
12 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
13 | 1 1 1.00 30.00 60.00
14 | 1620 450 1170 900
15 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
16 | 1 1 1.00 30.00 60.00
17 | 1800 450 2160 900
18 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
19 | 1 1 1.00 30.00 60.00
20 | 3330 1485 3330 1980
21 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
22 | 1 1 1.00 30.00 60.00
23 | 2250 2610 1485 2745
24 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
25 | -90 900 1485 900 1485 2880 -90 2880 -90 900
26 | 2 2 0 1 0 7 51 0 15 0.000 0 0 -1 0 0 5
27 | 1980 1980 4725 1980 4725 2880 1980 2880 1980 1980
28 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
29 | 1980 900 4725 900 4725 1485 1980 1485 1980 900
30 | 4 0 0 50 0 5 10 0.0000 2 135 990 1215 225 int status;\001
31 | 4 0 0 50 0 5 10 0.0000 2 135 1800 1215 390 pid = \\emprg{fork()}\001
32 | 4 0 0 50 0 4 10 0.0000 2 120 255 2115 720 dite\001
33 | 4 2 0 50 0 4 10 0.0000 2 120 345 1305 720 rodic\001
34 | 4 0 0 50 0 5 10 0.0000 2 135 2880 2025 2115 int main(int argc, char *argv[])\001
35 | 4 0 0 50 0 5 10 0.0000 2 135 180 2025 2295 \\{\001
36 | 4 0 0 50 0 5 10 0.0000 2 120 990 2025 2475 \\ \\ \\ \\ ...\001
37 | 4 0 0 50 0 5 10 0.0000 2 135 2610 2025 2640 \\ \\ \\ \\ \\emprg{exit}(result);\001
38 | 4 0 0 50 0 5 10 0.0000 2 135 180 2025 2805 \\}\001
39 | 4 0 0 50 0 5 10 0.0000 2 120 630 2025 1890 /bin/ls\001
40 | 4 0 0 50 0 5 10 0.0000 2 105 360 2025 1035 else\001
41 | 4 0 0 50 0 5 10 0.0000 2 135 2880 2025 1200 \\ \\ \\ \\ \\emprg{execl}("/bin/ls",\001
42 | 4 0 0 50 0 5 10 0.0000 2 135 3780 2025 1395 \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ "/bin/ls", "/", NULL);\001
43 | 4 0 0 50 0 5 10 0.0000 2 135 990 -45 1035 if(pid > 0)\001
44 | 4 0 0 50 0 5 10 0.0000 2 135 2790 -45 2790 \\ \\ \\ \\ \\emprg{wait}(\\&status);\001
45 |
--------------------------------------------------------------------------------
/img/xfig/init.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
11 | 315 765 2475 765 2475 945 315 945 315 765
12 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
13 | 1 1 1.00 30.00 60.00
14 | 90 675 90 855 315 855
15 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
16 | 315 1305 2565 1305 2565 1485 315 1485 315 1305
17 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
18 | 315 1575 2655 1575 2655 1755 315 1755 315 1575
19 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
20 | 315 2115 2565 2115 2565 2295 315 2295 315 2115
21 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
22 | 1 1 1.00 30.00 60.00
23 | 90 855 90 1125 315 1125
24 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
25 | 1 1 1.00 30.00 60.00
26 | 90 1125 90 1395 315 1395
27 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
28 | 1 1 1.00 30.00 60.00
29 | 90 1395 90 1665 315 1665
30 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
31 | 1 1 1.00 30.00 60.00
32 | 90 1665 90 1935 315 1935
33 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
34 | 1 1 1.00 30.00 60.00
35 | 90 1935 90 2205 315 2205
36 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
37 | 1 1 1.00 30.00 60.00
38 | 2475 855 3015 855
39 | 2 2 0 0 0 7 50 0 15 0.000 0 0 -1 0 0 5
40 | 3015 1035 4680 1035 4680 2745 3015 2745 3015 1035
41 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
42 | 315 1035 2250 1035 2250 1215 315 1215 315 1035
43 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
44 | 45 135 675 135 675 315 45 315 45 135
45 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
46 | 45 495 810 495 810 675 45 675 45 495
47 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
48 | 1 1 1.00 30.00 60.00
49 | 360 315 360 495
50 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
51 | 315 1845 2565 1845 2565 2025 315 2025 315 1845
52 | 4 0 0 50 0 5 10 0.0000 2 120 1620 3060 900 /etc/init.d/autofs\001
53 | 4 0 0 50 0 5 10 0.0000 2 120 990 3060 1170 case \\$1 in\001
54 | 4 0 0 50 0 5 10 0.0000 2 135 1170 3060 1335 \\emph{start})\001
55 | 4 0 0 50 0 5 10 0.0000 2 135 900 3060 1500 \\ \\ ... ;;\001
56 | 4 0 0 50 0 5 10 0.0000 2 135 1080 3060 1665 \\emph{stop})\001
57 | 4 0 0 50 0 5 10 0.0000 2 135 900 3060 1830 \\ \\ ... ;;\001
58 | 4 0 0 50 0 5 10 0.0000 2 135 810 3060 1995 \\emph{*})\001
59 | 4 0 0 50 0 5 10 0.0000 2 135 1980 3060 2160 \\ \\ echo "usage: " \\bs\001
60 | 4 0 0 50 0 5 10 0.0000 2 135 1980 3060 2325 \\ \\ "\\$0 (start|stop)"\001
61 | 4 0 0 50 0 5 10 0.0000 2 135 540 3060 2490 \\ \\ ;;\001
62 | 4 0 0 50 0 5 10 0.0000 2 75 360 3060 2655 esac\001
63 | 4 0 0 50 0 5 10 0.0000 2 105 540 90 270 init 2\001
64 | 4 0 0 50 0 5 10 0.0000 2 135 2250 360 900 /etc/rc2.d/K08autofs stop\001
65 | 4 0 0 50 0 5 10 0.0000 2 135 1980 360 1170 /etc/rc2.d/K20nfs stop\001
66 | 4 0 0 50 0 5 10 0.0000 2 135 2340 360 1440 /etc/rc2.d/K89portmap stop\001
67 | 4 0 0 50 0 5 10 0.0000 2 120 2430 360 1710 /etc/rc2.d/S10network start\001
68 | 4 0 0 50 0 5 10 0.0000 2 120 2340 360 1980 /etc/rc2.d/S21random start\001
69 | 4 0 0 50 0 5 10 0.0000 2 135 2340 360 2250 /etc/rc2.d/S30syslog start\001
70 | 4 0 0 50 0 5 10 0.0000 2 120 720 90 630 /etc/rc2\001
71 |
--------------------------------------------------------------------------------
/img/xfig/login.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 135 495 3915 720
11 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
12 | 1 1 1.00 30.00 60.00
13 | 585 607 1575 607
14 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
15 | 1 1 1.00 30.00 60.00
16 | 2115 607 2745 607
17 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
18 | 1 1 1.00 30.00 60.00
19 | 3285 607 3915 607
20 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
21 | 135 495 585 495 585 720 135 720 135 495
22 | -6
23 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
24 | 1575 495 2115 495 2115 720 1575 720 1575 495
25 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
26 | 2745 495 3285 495 3285 720 2745 720 2745 495
27 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
28 | 3915 495 4185 495 4185 720 3915 720 3915 495
29 | 4 0 0 50 0 5 10 0.0000 2 105 360 180 630 init\001
30 | 4 0 0 50 0 5 10 0.0000 2 105 810 720 540 fork+exec\001
31 | 4 0 0 50 0 5 10 0.0000 2 135 450 1620 630 getty\001
32 | 4 0 0 50 0 5 10 0.0000 2 75 360 2250 540 exec\001
33 | 4 0 0 50 0 5 10 0.0000 2 135 450 2790 630 login\001
34 | 4 0 0 50 0 5 10 0.0000 2 75 360 3420 540 exec\001
35 | 4 0 0 50 0 5 10 0.0000 2 105 180 3960 630 sh\001
36 |
--------------------------------------------------------------------------------
/img/xfig/main.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2250 1800 2700 2520
11 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
12 | 2250 1800 2700 1800 2700 1980 2250 1980 2250 1800
13 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
14 | 2250 1980 2700 1980 2700 2160 2250 2160 2250 1980
15 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
16 | 2250 2160 2700 2160 2700 2340 2250 2340 2250 2160
17 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
18 | 2250 2340 2700 2340 2700 2520 2250 2520 2250 2340
19 | -6
20 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
21 | 3600 2070 4050 2070 4050 2250 3600 2250 3600 2070
22 | 2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
23 | 900 2025 900 1755 90 1755 90 2025 900 2025
24 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4
25 | 1 1 1.00 45.00 75.00
26 | 765 2430 1350 2430 1350 1800 2250 1800
27 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
28 | 1 1 1.00 45.00 75.00
29 | 2475 1890 3600 1890
30 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4
31 | 1 1 1.00 45.00 75.00
32 | 2475 2070 3150 2070 3150 2160 3600 2160
33 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 4
34 | 1 1 1.00 45.00 75.00
35 | 2475 2250 3060 2250 3060 2430 3600 2430
36 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 0 0 3
37 | 2475 2430 2970 2430 2970 2565
38 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
39 | 2880 2565 3060 2565
40 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 2
41 | 2925 2610 3015 2610
42 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
43 | 3600 1800 4050 1800 4050 1980 3600 1980 3600 1800
44 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
45 | 540 2160 990 2160 990 2340 540 2340 540 2160
46 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
47 | 540 2340 990 2340 990 2520 540 2520 540 2340
48 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
49 | 3600 2340 4050 2340 4050 2520 3600 2520 3600 2340
50 | 4 0 0 50 0 5 10 0.0000 0 105 90 720 2295 3\001
51 | 4 0 0 50 0 5 10 0.0000 2 120 630 225 1935 ls -l /\001
52 | 4 0 0 50 0 5 10 0.0000 2 135 630 1575 1935 argv[0]\001
53 | 4 0 0 50 0 5 10 0.0000 2 135 630 1575 2115 argv[1]\001
54 | 4 0 0 50 0 5 10 0.0000 2 135 630 1575 2295 argv[2]\001
55 | 4 0 0 50 0 5 10 0.0000 2 135 630 1575 2475 argv[3]\001
56 | 4 0 0 50 0 5 10 0.0000 2 105 360 3645 1935 "ls"\001
57 | 4 0 0 50 0 5 10 0.0000 2 105 360 3645 2205 "-l"\001
58 | 4 0 0 50 0 5 10 0.0000 2 105 360 135 2295 argc\001
59 | 4 0 0 50 0 5 10 0.0000 2 105 360 135 2475 argv\001
60 | 4 0 0 50 0 5 10 0.0000 2 120 270 3690 2475 "/"\001
61 |
--------------------------------------------------------------------------------
/img/xfig/mem_kernel.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
11 | 1620 2340 3600 2340
12 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
13 | 1350 225 3870 225 3870 540 1350 540 1350 225
14 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
15 | 1350 540 3870 540 3870 2700 1350 2700 1350 540
16 | 2 2 0 1 0 7 51 0 15 0.000 0 0 -1 0 0 5
17 | 1620 1080 3600 1080 3600 2610 1620 2610 1620 1080
18 | 4 0 0 50 0 4 10 0.0000 2 135 660 2280 405 text jadra\001
19 | 4 0 0 50 0 4 10 0.0000 2 135 1080 2070 720 data a bss jadra\001
20 | 4 0 0 50 0 4 10 0.0000 2 150 1860 1680 915 (tabulky, promenne, apod.)\001
21 | 4 0 0 50 0 4 10 0.0000 2 120 945 2137 1305 struktura user\001
22 | 4 0 0 50 0 4 10 0.0000 2 150 1140 2040 1500 beziciho procesu\001
23 | 4 0 0 50 0 5 10 0.0000 2 135 1890 1665 2250 extern struct user u;\001
24 | 4 0 0 50 0 4 10 0.0000 2 135 975 2122 2520 zasobnik jadra\001
25 |
--------------------------------------------------------------------------------
/img/xfig/mem_user.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
11 | 1530 90 3240 90 3240 270 1530 270 1530 90
12 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
13 | 1530 270 3240 270 3240 450 1530 450 1530 270
14 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
15 | 1530 1890 3240 1890 3240 2070 1530 2070 1530 1890
16 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
17 | 1530 2250 3240 2250 3240 2070 1530 2070 1530 2250
18 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
19 | 1530 450 3240 450 3240 630 1530 630 1530 450
20 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
21 | 1530 630 3240 630 3240 1890 1530 1890 1530 630
22 | 4 0 0 50 0 4 10 0.0000 2 120 750 2010 2205 oblast user\001
23 | 4 0 0 50 0 4 10 0.0000 2 120 600 2085 2025 zasobnik\001
24 | 4 0 0 50 0 4 10 0.0000 2 120 240 2265 585 bss\001
25 | 4 0 0 50 0 4 10 0.0000 2 120 300 2235 405 data\001
26 | 4 0 0 50 0 4 10 0.0000 2 120 285 2242 225 text\001
27 | 4 0 0 50 0 4 10 0.0000 2 150 5355 180 2205 \\parbox{2.8cm}{nelze adresovat\\\\uziv. programem}$\\left\\{\\vphantom{X}\\right.$\001
28 | 4 2 0 50 0 4 10 0.0000 2 150 7950 4725 1125 $\\left.\\vphantom{\\raisebox{-2.2cm}{\\frame{\\vspace*{4.4cm}}}}\\right\\}$\\parbox{3cm}{adresovatelne\\\\uziv. programem}\001
29 |
--------------------------------------------------------------------------------
/img/xfig/open_files1.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Inches
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2100 600 3000 3225
11 | 6 2175 600 2775 900
12 | 4 0 0 50 -1 4 9 0.0000 0 105 420 2179 741 count 1\001
13 | 4 0 0 50 -1 4 9 0.0000 0 90 540 2175 900 WRONLY\001
14 | -6
15 | 6 2175 1761 2700 2025
16 | 4 0 0 50 -1 4 9 0.0000 0 105 420 2179 1866 count 2\001
17 | 4 0 0 50 -1 4 9 0.0000 0 90 525 2175 2025 RDONLY\001
18 | -6
19 | 6 2175 2511 2599 2775
20 | 4 0 0 50 -1 4 9 0.0000 0 105 420 2179 2616 count 1\001
21 | 4 0 0 50 -1 4 9 0.0000 0 90 375 2175 2775 RDWR\001
22 | -6
23 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
24 | 2100 1350 3000 1350
25 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
26 | 2100 1725 3000 1725
27 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
28 | 2100 2100 3000 2100
29 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
30 | 2100 2475 3000 2475
31 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
32 | 2100 2850 3000 2850
33 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
34 | 2100 975 3000 975
35 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
36 | 2100 600 3000 600 3000 3225 2100 3225 2100 600
37 | -6
38 | 6 3675 2250 4500 2625
39 | 4 0 0 50 -1 4 11 0.0000 0 150 825 3675 2550 /etc/passwd\001
40 | 4 0 0 50 -1 4 11 0.0000 0 120 525 3675 2400 count 3\001
41 | -6
42 | 6 3675 1350 4425 1725
43 | 4 0 0 50 -1 4 11 0.0000 0 150 705 3675 1650 /etc/group\001
44 | 4 0 0 50 -1 4 11 0.0000 0 120 525 3675 1500 count 1\001
45 | -6
46 | 6 600 150 1650 525
47 | 4 0 0 50 -1 2 11 0.0000 0 105 510 600 300 user file\001
48 | 4 0 0 50 -1 2 11 0.0000 0 150 1050 600 450 descriptor table\001
49 | -6
50 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
51 | 1 1 1.00 60.00 120.00
52 | 1200 975 2100 750
53 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
54 | 1 1 1.00 60.00 120.00
55 | 1200 1125 2100 1875
56 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
57 | 1 1 1.00 60.00 120.00
58 | 1200 2625 2100 2700
59 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
60 | 1 1 1.00 60.00 120.00
61 | 1200 2475 2100 1950
62 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
63 | 1 1 1.00 60.00 120.00
64 | 3000 1950 3600 2325
65 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
66 | 1 1 1.00 60.00 120.00
67 | 3000 2647 3600 2475
68 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
69 | 1 1 1.00 60.00 120.00
70 | 3000 825 3600 1500
71 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
72 | 3600 1200 4950 1200
73 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
74 | 3600 1800 4950 1800
75 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
76 | 3600 2700 4950 2700
77 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
78 | 3600 613 4950 613 4950 3225 3600 3225 3600 613
79 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
80 | 3600 2175 4950 2175
81 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
82 | 600 1200 1200 1200
83 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
84 | 600 900 1200 900 1200 1725 600 1725 600 900
85 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
86 | 600 2538 1200 2538
87 | 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
88 | 600 2400 1200 2400 1200 3225 600 3225 600 2400
89 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
90 | 600 2700 1200 2700
91 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
92 | 600 2850 1200 2850
93 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
94 | 600 1050 1200 1050
95 | 2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
96 | 600 1350 1200 1350
97 | 4 0 0 50 -1 2 11 0.0000 0 105 570 2100 375 file table\001
98 | 4 0 0 50 -1 2 11 0.0000 0 105 750 3600 375 inode table\001
99 | 4 0 0 50 -1 2 11 0.0000 0 150 630 600 2325 process B\001
100 | 4 0 0 50 -1 2 11 0.0000 0 150 630 600 825 process A\001
101 |
--------------------------------------------------------------------------------
/img/xfig/partitions.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 450 2025 1260 2385
11 | 1 2 0 1 0 7 50 0 -1 0.000 1 0.0000 855 2196 405 162 450 2034 1260 2358
12 | 4 0 0 48 0 4 10 0.0000 2 120 405 652 2250 disk 1\001
13 | -6
14 | 6 1890 2025 2700 2385
15 | 1 2 0 1 0 7 50 0 20 0.000 1 0.0000 2295 2196 405 162 1890 2196 2700 2196
16 | 4 0 0 48 0 4 10 0.0000 2 120 405 2092 2250 disk 2\001
17 | -6
18 | 1 1 0 1 0 7 48 0 15 0.000 1 0.0000 855 1890 315 90 855 1890 1170 1800
19 | 1 2 0 1 0 7 49 0 4 0.000 1 0.0000 855 1890 405 162 450 1890 1260 1890
20 | 1 2 0 1 0 7 49 0 10 0.000 1 0.0000 2295 1872 405 162 1890 1872 2700 1872
21 | 1 2 0 1 0 7 49 0 10 0.000 1 0.0000 3375 1872 405 162 2970 1872 3780 1872
22 | 1 1 0 1 0 7 51 0 15 0.000 1 0.0000 2835 2070 1305 585 2835 2070 4140 2655
23 | 1 2 0 1 0 7 50 0 20 0.000 1 0.0000 3375 2196 405 162 2970 2034 3780 2358
24 | 2 1 0 1 0 7 50 0 20 0.000 0 0 -1 0 0 4
25 | 450 2196 450 1872 1260 1872 1260 2196
26 | 2 1 0 1 0 7 50 0 20 0.000 0 0 -1 0 0 4
27 | 1890 2196 1890 1872 2700 1872 2700 2196
28 | 2 1 0 1 0 7 50 0 20 0.000 0 0 -1 0 0 4
29 | 2970 2196 2970 1872 3780 1872 3780 2196
30 | 2 1 1 1 0 7 48 0 -1 4.000 0 0 -1 0 0 2
31 | 1575 1620 1215 1800
32 | 2 1 1 1 0 7 48 0 -1 4.000 0 0 -1 0 0 2
33 | 2880 1665 4005 1575
34 | 2 1 1 1 0 7 48 0 -1 4.000 0 0 -1 0 0 2
35 | 360 1620 855 1890
36 | 4 0 0 51 0 4 10 0.0000 2 120 45 270 1620 /\001
37 | 4 0 0 51 0 4 10 0.0000 2 120 255 4095 1620 /usr\001
38 | 4 0 0 48 0 4 10 0.0000 2 120 405 3172 2250 disk 3\001
39 | 4 0 0 51 0 4 10 0.0000 2 120 420 1395 1575 /home\001
40 |
--------------------------------------------------------------------------------
/img/xfig/pipe.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 1 1 0 1 0 7 50 0 15 0.000 1 0.0000 1800 2790 180 90 1800 2790 1980 2880
11 | 1 1 0 1 0 7 52 0 10 0.000 1 0.0000 2610 2790 180 90 2610 2790 2790 2880
12 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
13 | 45 1035 2295 1035 2295 2430 45 2430 45 1035
14 | 2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
15 | 4230 2925 4230 2655 3330 2655 3330 2925 4230 2925
16 | 2 2 0 0 0 7 52 0 10 0.000 0 0 -1 0 0 5
17 | 1800 2700 2610 2700 2610 2880 1800 2880 1800 2700
18 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
19 | 1800 2700 2610 2700
20 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2
21 | 1800 2880 2610 2880
22 | 2 1 1 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
23 | 1 1 2.00 60.00 120.00
24 | 1125 2790 1800 2790
25 | 2 1 1 2 0 7 50 0 -1 6.000 0 0 -1 1 0 2
26 | 1 1 2.00 60.00 120.00
27 | 2790 2790 3330 2790
28 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
29 | 1 1 1.00 30.00 60.00
30 | 2430 675 2160 1035
31 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
32 | 1 1 1.00 30.00 60.00
33 | 2430 675 2700 1035
34 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
35 | 1800 90 3105 90 3105 675 1800 675 1800 90
36 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
37 | 2565 1035 4680 1035 4680 2430 2565 2430 2565 1035
38 | 2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
39 | 1125 2925 1125 2655 360 2655 360 2925 1125 2925
40 | 2 1 0 2 4 4 50 0 0 6.000 0 0 -1 1 0 2
41 | 1 1 2.00 60.00 120.00
42 | 45 1710 180 1710
43 | 2 1 0 2 4 7 50 0 -1 6.000 0 0 -1 1 0 2
44 | 1 1 2.00 60.00 120.00
45 | 2565 1935 2700 1935
46 | 4 0 0 50 0 4 10 0.0000 2 120 345 90 180 shell:\001
47 | 4 0 0 50 0 5 8 0.0000 2 90 525 90 1170 case 0:\001
48 | 4 0 0 50 0 5 8 0.0000 2 120 1575 90 1365 \\ \\ \\emprg{close}(1);\001
49 | 4 0 0 50 0 5 8 0.0000 2 120 1875 90 1755 \\ \\ \\emprg{close}(pd[0]);\001
50 | 4 0 0 50 0 5 8 0.0000 2 120 1275 90 1950 \\ \\ close(pd[1]);\001
51 | 4 0 0 50 0 5 8 0.0000 2 120 2325 90 2145 \\ \\ execl("/bin/ls", "/bin/ls",\001
52 | 4 0 0 50 0 5 8 0.0000 2 120 2025 90 2340 \\ \\ \\ \\ \\ \\ \\ \\ "/", NULL);\001
53 | 4 0 0 50 0 4 10 0.0000 2 150 1260 3105 945 konzument (rodic)\001
54 | 4 0 0 50 0 4 10 0.0000 2 150 1125 675 945 producent (dite)\001
55 | 4 0 0 50 0 5 10 0.0000 2 135 450 1260 2610 pd[1]\001
56 | 4 0 0 50 0 5 10 0.0000 2 135 450 2700 2610 pd[0]\001
57 | 4 0 0 50 0 5 10 0.0000 2 120 810 3420 2835 /bin/more\001
58 | 4 0 0 50 0 5 8 0.0000 2 120 750 1845 225 int pd[2];\001
59 | 4 0 0 50 0 5 8 0.0000 2 105 1275 1845 615 switch(fork()) \\{\001
60 | 4 0 0 50 0 5 8 0.0000 2 90 600 2610 1170 default:\001
61 | 4 0 0 50 0 5 8 0.0000 2 120 1575 2610 1365 \\ \\ \\emprg{close}(0);\001
62 | 4 0 0 50 0 5 8 0.0000 2 120 1725 2610 1560 \\ \\ \\emprg{dup}(pd[0]);\001
63 | 4 0 0 50 0 5 8 0.0000 2 120 1275 2610 1755 \\ \\ close(pd[0]);\001
64 | 4 0 0 50 0 5 8 0.0000 2 120 1875 2610 1950 \\ \\ \\emprg{close}(pd[1]);\001
65 | 4 0 0 50 0 5 8 0.0000 2 120 1650 2610 2145 \\ \\ execl("/bin/more",\001
66 | 4 0 0 50 0 5 8 0.0000 2 120 2625 2610 2340 \\ \\ \\ \\ \\ \\ \\ \\ "/bin/more", NULL);\001
67 | 4 0 0 50 0 5 10 0.0000 2 120 630 450 2835 /bin/ls\001
68 | 4 0 0 50 0 5 10 0.0000 2 135 810 495 180 ls | more\001
69 | 4 0 0 50 0 5 8 0.0000 2 120 1275 1845 420 \\emprg{pipe}(pd);\001
70 | 4 0 0 50 0 5 8 0.0000 2 120 1725 90 1560 \\ \\ \\emprg{dup}(pd[1]);\001
71 |
--------------------------------------------------------------------------------
/img/xfig/prava.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 1710 315 2160 810
11 | 4 0 0 51 0 4 10 0.0000 2 120 90 1710 450 4\001
12 | 4 0 0 51 0 4 10 0.0000 2 120 90 1890 630 2\001
13 | 4 0 0 51 0 4 10 0.0000 2 120 90 2070 810 1\001
14 | -6
15 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 1035 405 45 45 1035 405 1080 405
16 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 1215 585 45 45 1215 585 1260 585
17 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 1395 765 45 45 1395 765 1440 765
18 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 2475 405 45 45 2475 405 2520 405
19 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 2655 585 45 45 2655 585 2700 585
20 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 2835 765 45 45 2835 765 2880 765
21 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 3375 405 45 45 3375 405 3420 405
22 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 3555 585 45 45 3555 585 3600 585
23 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 3735 765 45 45 3735 765 3780 765
24 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 4275 405 45 45 4275 405 4320 405
25 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 4455 585 45 45 4455 585 4500 585
26 | 1 3 0 1 0 7 51 0 15 2.000 1 0.0000 4635 765 45 45 4635 765 4680 765
27 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 3
28 | 1035 495 1035 765 810 765
29 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 3
30 | 990 945 1215 945 1215 675
31 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 3
32 | 1260 1125 1395 1125 1395 855
33 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
34 | 1125 405 1665 405
35 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
36 | 1845 405 2385 405
37 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
38 | 2025 585 2565 585
39 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
40 | 1485 765 2025 765
41 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
42 | 2205 765 2745 765
43 | 2 1 0 1 0 7 51 0 15 4.000 0 0 -1 0 0 2
44 | 1305 585 1845 585
45 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 4
46 | 2475 495 2475 900 4275 900 4275 495
47 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
48 | 3375 495 3375 900
49 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 4
50 | 2655 675 2655 1080 4455 1080 4455 675
51 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
52 | 3555 675 3555 1080
53 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 4
54 | 2835 855 2835 1260 4635 1260 4635 855
55 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 0 0 2
56 | 3735 855 3735 1260
57 | 4 0 0 51 0 4 10 0.0000 2 120 270 540 810 suid\001
58 | 4 0 0 51 0 4 10 0.0000 2 150 285 720 990 sgid\001
59 | 4 0 0 51 0 4 10 0.0000 2 150 390 900 1170 sticky\001
60 | 4 0 0 51 0 4 10 0.0000 2 150 765 225 450 nejvyssi bit\001
61 | 4 0 0 51 0 4 10 0.0000 2 90 60 2340 945 r\001
62 | 4 0 0 51 0 4 10 0.0000 2 90 120 2520 1125 w\001
63 | 4 0 0 51 0 4 10 0.0000 2 90 90 2700 1305 x\001
64 | 4 0 0 52 0 4 10 0.0000 2 150 4785 2295 270 $\\stackrel{\\mbox{vlastnik (u)}}{\\overbrace{\\hphantom{\\hspace{1cm}}}}$\001
65 | 4 0 0 53 0 4 10 0.0000 2 150 4785 3195 270 $\\stackrel{\\mbox{skupina (g)}}{\\overbrace{\\hphantom{\\hspace{1cm}}}}$\001
66 | 4 0 0 54 0 4 10 0.0000 2 150 4755 4095 270 $\\stackrel{\\mbox{ostatni (o)}}{\\overbrace{\\hphantom{\\hspace{1cm}}}}$\001
67 |
--------------------------------------------------------------------------------
/img/xfig/preprocesor.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2160 315 2475 2655
11 | 2 4 0 1 0 7 50 0 -1 0.000 0 0 7 0 0 5
12 | 2475 2655 2475 315 2160 315 2160 2655 2475 2655
13 | 4 0 0 50 0 4 10 1.5708 2 120 840 2347 1905 preprocesor\001
14 | -6
15 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
16 | 1 1 1.00 60.00 120.00
17 | 1710 900 2160 900
18 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
19 | 1 1 1.00 60.00 120.00
20 | 2475 1575 3015 1575
21 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
22 | 1 1 1.00 60.00 120.00
23 | 1710 2430 2160 2430
24 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
25 | 1 1 1.00 60.00 120.00
26 | 1710 1845 2160 1845
27 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
28 | 3015 855 4680 855 4680 2430 3015 2430 3015 855
29 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
30 | 0 315 1710 315 1710 1440 0 1440 0 315
31 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
32 | 0 1755 1710 1755 1710 1980 0 1980 0 1755
33 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
34 | 0 2205 1710 2205 1710 2655 0 2655 0 2205
35 | 4 0 0 50 0 4 10 0.0000 2 120 435 90 225 main.c\001
36 | 4 0 0 50 0 5 10 0.0000 2 120 2070 90 450 \\#include $<$stdio.h$>$\001
37 | 4 0 0 50 0 5 10 0.0000 2 135 1710 90 630 \\#include "mydef.h"\001
38 | 4 0 0 50 0 5 10 0.0000 2 135 540 90 810 main()\001
39 | 4 0 0 50 0 5 10 0.0000 2 135 180 90 990 \\{\001
40 | 4 0 0 50 0 5 10 0.0000 2 135 180 90 1350 \\}\001
41 | 4 0 0 50 0 4 10 0.0000 2 120 1290 90 1665 /usr/include/stdio.h\001
42 | 4 0 0 50 0 5 10 0.0000 2 135 1620 90 1890 int puts(char *s);\001
43 | 4 0 0 50 0 4 10 0.0000 2 150 555 90 2160 mydef.h\001
44 | 4 0 0 50 0 5 10 0.0000 2 135 1710 90 2385 \\#define MSG "Ahoj"\001
45 | 4 0 0 50 0 5 10 0.0000 2 135 1080 90 1170 ~~puts(MSG);\001
46 | 4 0 0 50 0 5 10 0.0000 2 135 1620 3150 1080 int puts(char *s);\001
47 | 4 0 0 50 0 5 10 0.0000 2 135 1800 3150 1440 extern int var\\_{}a;\001
48 | 4 0 0 50 0 5 10 0.0000 2 135 540 3150 1800 main()\001
49 | 4 0 0 50 0 5 10 0.0000 2 135 180 3150 1980 \\{\001
50 | 4 0 0 50 0 5 10 0.0000 2 135 1350 3150 2160 ~~puts("Ahoj");\001
51 | 4 0 0 50 0 5 10 0.0000 2 135 180 3150 2340 \\}\001
52 | 4 0 0 50 0 4 10 0.0000 2 120 390 3600 765 main.i\001
53 | 4 0 0 50 0 5 10 0.0000 2 135 1800 90 2565 extern int var\\_{}a;\001
54 |
--------------------------------------------------------------------------------
/img/xfig/pseudoterm.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
11 | 1 1 1.00 30.00 60.00
12 | 990 810 3420 810 3420 1035
13 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
14 | 1 1 1.00 30.00 60.00
15 | 765 810 1035 810 1035 1035
16 | 2 2 0 1 0 7 51 0 15 0.000 0 0 -1 0 0 5
17 | 45 45 2385 45 2385 900 45 900 45 45
18 | 2 2 0 1 0 7 51 0 -1 0.000 0 0 -1 0 0 5
19 | 2385 1035 4545 1035 4545 1890 2385 1890 2385 1035
20 | 2 2 0 1 0 7 51 0 15 0.000 0 0 -1 0 0 5
21 | 45 1035 1935 1035 1935 1440 45 1440 45 1035
22 | 4 0 0 50 0 5 10 0.0000 2 135 3150 90 180 mfd=\\emprg{open}("/dev/ptmx", ...);\001
23 | 4 0 0 50 0 5 10 0.0000 2 135 2430 90 345 sname=\\emprg{ptsname}(mfd);\001
24 | 4 0 0 50 0 5 10 0.0000 2 135 1890 90 510 \\emprg{grantpt}(mfd);\001
25 | 4 0 0 50 0 5 10 0.0000 2 135 1980 90 675 \\emprg{unlockpt}(mfd);\001
26 | 4 0 0 50 0 5 10 0.0000 2 135 630 90 855 fork();\001
27 | 4 0 0 50 0 5 10 0.0000 2 135 2610 2430 1170 sfd=\\emprg{open}(sname, ...);\001
28 | 4 0 0 50 0 5 10 0.0000 2 135 2250 2430 1515 dup2(sfd,1); dup2(sfd,2);\001
29 | 4 0 0 50 0 5 10 0.0000 2 135 990 2430 1680 close(sfd);\001
30 | 4 0 0 50 0 5 10 0.0000 2 135 1980 2430 1845 execl("/bin/sh", ...);\001
31 | 4 0 0 50 0 5 10 0.0000 2 135 2160 2430 1350 close(mfd); dup2(sfd,0);\001
32 | 4 0 0 50 0 5 10 0.0000 2 120 1800 90 1215 /* Emulace terminalu\001
33 | 4 0 0 50 0 5 10 0.0000 2 120 1890 90 1395 na zarizeni mfd */\001
34 |
--------------------------------------------------------------------------------
/img/xfig/segments.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 2700 360 3510 720
11 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
12 | 2700 360 3510 360 3510 720 2700 720 2700 360
13 | 4 0 0 50 0 4 10 0.0000 2 150 630 2790 495 read only\001
14 | 4 0 0 50 0 4 10 0.0000 2 120 465 2880 675 shared\001
15 | -6
16 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
17 | 90 1530 1170 1530 1170 1710 90 1710 90 1530
18 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
19 | 1080 450 1980 450 1980 630 1080 630 1080 450
20 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 3
21 | 1 1 1.00 30.00 60.00
22 | 1170 1620 1530 1620 1530 630
23 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
24 | 1 1 1.00 30.00 60.00
25 | 2700 585 1980 585
26 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
27 | 1 1 1.00 30.00 60.00
28 | 1980 495 2700 495
29 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
30 | 2700 1080 3510 1080 3510 1440 2700 1440 2700 1080
31 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
32 | 2700 1800 3510 1800 3510 2160 2700 2160 2700 1800
33 | 2 2 0 1 0 7 51 0 15 0.000 0 0 -1 0 0 5
34 | 2700 2520 3510 2520 3510 2880 2700 2880 2700 2520
35 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
36 | 1 1 1.00 30.00 60.00
37 | 3150 720 3150 1080
38 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
39 | 1 1 1.00 30.00 60.00
40 | 3060 1080 3060 720
41 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
42 | 1 1 1.00 30.00 60.00
43 | 3150 1440 3150 1800
44 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
45 | 1 1 1.00 30.00 60.00
46 | 3150 2160 3150 2520
47 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
48 | 1 1 1.00 30.00 60.00
49 | 3060 2520 3060 2160
50 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
51 | 1 1 1.00 30.00 60.00
52 | 3060 1800 3060 1440
53 | 4 0 0 50 0 5 10 0.0000 2 135 990 180 1665 struct proc\001
54 | 4 0 0 50 0 5 10 0.0000 2 105 810 1170 585 struct as\001
55 | 4 0 0 50 0 5 10 0.0000 2 135 630 2070 405 a\\_segs\001
56 | 4 2 0 50 0 5 10 0.0000 2 135 630 2970 945 s\\_prev\001
57 | 4 0 0 50 0 4 10 0.0000 2 150 480 2880 1395 private\001
58 | 4 0 0 50 0 4 10 0.0000 2 120 690 2790 1935 read/write\001
59 | 4 0 0 50 0 4 10 0.0000 2 150 480 2880 2115 private\001
60 | 4 0 0 50 0 4 10 0.0000 2 120 690 2790 2655 read/write\001
61 | 4 0 0 50 0 4 10 0.0000 2 120 465 2880 2835 shared\001
62 | 4 0 0 50 0 4 10 0.0000 2 120 690 2790 1215 read/write\001
63 | 4 0 0 50 0 5 10 0.0000 2 135 630 3240 945 s\\_next\001
64 | 4 0 0 50 0 4 10 0.0000 2 120 285 3690 585 text\001
65 | 4 0 0 50 0 4 10 0.0000 2 120 300 3690 1305 data\001
66 | 4 0 0 50 0 4 10 0.0000 2 120 600 3690 2025 zasobnik\001
67 | 4 0 0 50 0 4 10 0.0000 2 150 930 3690 2745 sdilena pamet\001
68 | 4 0 0 50 0 5 10 0.0000 2 135 450 2205 720 s\\_as\001
69 | 4 2 0 50 0 5 10 0.0000 2 15 90 4545 2565 \001
70 |
--------------------------------------------------------------------------------
/img/xfig/slide_rect.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
11 | 0 0 4725 0 4725 2970 0 2970 0 0
12 |
--------------------------------------------------------------------------------
/img/xfig/startx.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 675 45 3870 225
11 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
12 | 675 45 3645 45 3645 225 675 225 675 45
13 | 4 0 0 50 0 5 10 0.0000 2 135 3150 720 180 startx [clientargs] [-- serverargs]\001
14 | -6
15 | 6 45 495 4860 675
16 | 6 45 495 4500 675
17 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
18 | 45 495 4500 495 4500 675 45 675 45 495
19 | -6
20 | 4 0 0 50 0 5 10 0.0000 2 135 4770 90 630 xinit [[client [opts]] [-- [server] [display] [opts]]\001
21 | -6
22 | 6 2880 945 4095 1125
23 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
24 | 2880 945 3825 945 3825 1125 2880 1125 2880 945
25 | 4 0 0 50 0 5 10 0.0000 2 135 1170 2925 1080 \\~{}/.xinitrc\001
26 | -6
27 | 6 45 1395 2205 1620
28 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
29 | 45 1395 2205 1395 2205 1620 45 1620 45 1395
30 | 4 0 0 50 0 5 9 0.0000 2 120 2100 90 1530 /usr/lib/X11/xinit/xserverrc\001
31 | -6
32 | 6 2475 1845 2835 2025
33 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
34 | 2475 1845 2835 1845 2835 2025 2475 2025 2475 1845
35 | 4 0 0 50 0 5 10 0.0000 2 105 270 2520 1980 twm\001
36 | -6
37 | 6 3150 1845 3690 2025
38 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
39 | 3150 1845 3690 1845 3690 2025 3150 2025 3150 1845
40 | 4 0 0 50 0 5 10 0.0000 2 105 450 3195 1980 xterm\001
41 | -6
42 | 6 4050 1845 4500 2025
43 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
44 | 4050 1845 4500 1845 4500 2025 4050 2025 4050 1845
45 | 4 0 0 50 0 5 10 0.0000 2 75 360 4095 1980 xman\001
46 | -6
47 | 6 2475 1395 4500 1620
48 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
49 | 2475 1395 4500 1395 4500 1620 2475 1620 2475 1395
50 | 4 0 0 50 0 5 9 0.0000 2 120 1950 2520 1530 /usr/lib/X11/xinit/xinitrc\001
51 | -6
52 | 6 450 1845 1755 2025
53 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
54 | 450 1845 1710 1845 1710 2025 450 2025 450 1845
55 | 4 0 0 50 0 5 10 0.0000 2 120 1260 495 1980 /usr/bin/X11/X\001
56 | -6
57 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
58 | 1 1 1.00 30.00 60.00
59 | 990 675 990 945
60 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
61 | 1 1 1.00 30.00 60.00
62 | 990 225 990 495
63 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
64 | 1 1 1.00 30.00 60.00
65 | 3330 675 3330 945
66 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
67 | 1 1 1.00 30.00 60.00
68 | 3330 225 3330 495
69 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
70 | 1 1 1.00 30.00 60.00
71 | 990 1620 990 1845
72 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
73 | 1 1 1.00 30.00 60.00
74 | 2655 1620 2655 1845
75 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
76 | 1 1 1.00 30.00 60.00
77 | 3420 1620 3420 1845
78 | 2 1 0 1 0 7 50 0 -1 4.000 0 0 -1 1 0 2
79 | 1 1 1.00 30.00 60.00
80 | 4275 1620 4275 1845
81 | 2 1 1 1 0 7 50 0 -1 2.000 0 0 -1 1 0 2
82 | 1 1 1.00 30.00 60.00
83 | 3330 1125 3330 1395
84 | 2 1 1 1 0 7 50 0 -1 2.000 0 0 -1 1 0 2
85 | 1 1 1.00 30.00 60.00
86 | 990 1125 990 1395
87 | 2 2 0 1 0 7 50 0 -1 4.000 0 0 -1 0 0 5
88 | 450 945 1575 945 1575 1125 450 1125 450 945
89 | 2 1 0 1 0 7 50 0 -1 2.000 0 0 -1 1 0 4
90 | 1 1 1.00 30.00 60.00
91 | 450 1035 0 1035 0 1935 450 1935
92 | 2 1 0 1 0 7 50 0 -1 2.000 0 0 -1 1 0 4
93 | 1 1 1.00 30.00 60.00
94 | 2880 1035 2250 1035 2250 1935 2475 1935
95 | 4 0 0 50 0 4 9 0.0000 2 75 345 1170 855 server\001
96 | 4 0 0 50 0 4 9 0.0000 2 105 330 3600 855 klienti\001
97 | 4 0 0 50 0 5 10 0.0000 2 135 1350 472 1080 \\~{}/.xserverrc\001
98 |
--------------------------------------------------------------------------------
/img/xfig/syscall_dist.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 270 360 1170 630
11 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
12 | 270 360 1170 360 1170 630 270 630 270 360
13 | 4 0 0 50 0 4 10 0.0000 0 135 345 547 547 jadro\001
14 | -6
15 | 6 270 0 1170 360
16 | 6 337 22 1102 337
17 | 4 0 0 50 0 4 10 0.0000 0 150 735 352 157 uzivatelsky\001
18 | 4 0 0 50 0 4 10 0.0000 0 120 465 487 292 proces\001
19 | -6
20 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
21 | 270 0 1170 0 1170 360 270 360 270 0
22 | -6
23 | 6 1350 0 2250 360
24 | 6 1417 22 2182 337
25 | 4 0 0 50 0 4 10 0.0000 0 150 735 1432 157 uzivatelsky\001
26 | 4 0 0 50 0 4 10 0.0000 0 120 465 1567 292 proces\001
27 | -6
28 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
29 | 1350 0 2250 0 2250 360 1350 360 1350 0
30 | -6
31 | 6 1350 360 2250 630
32 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
33 | 1350 360 2250 360 2250 630 1350 630 1350 360
34 | 4 0 0 50 0 4 10 0.0000 0 135 345 1627 547 jadro\001
35 | -6
36 | 6 2520 90 3015 945
37 | 2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 0 0 2
38 | 2767 630 2767 900
39 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
40 | 2520 90 3015 90 3015 360 2520 360 2520 90
41 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
42 | 2520 360 3015 360 3015 630 2520 630 2520 360
43 | 4 0 0 50 0 4 10 0.0000 0 135 345 2595 540 jadro\001
44 | 4 0 0 50 0 4 10 0.0000 0 90 435 2550 270 server\001
45 | -6
46 | 6 3195 90 3690 945
47 | 2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 0 0 2
48 | 3442 630 3442 900
49 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
50 | 3195 360 3690 360 3690 630 3195 630 3195 360
51 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
52 | 3195 90 3690 90 3690 360 3195 360 3195 90
53 | 4 0 0 50 0 4 10 0.0000 0 135 345 3270 540 jadro\001
54 | 4 0 0 50 0 4 10 0.0000 0 90 435 3225 270 server\001
55 | -6
56 | 6 3870 90 4365 945
57 | 2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 0 0 2
58 | 4117 630 4117 900
59 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
60 | 3870 90 4365 90 4365 360 3870 360 3870 90
61 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
62 | 3870 360 4365 360 4365 630 3870 630 3870 360
63 | 4 0 0 50 0 4 10 0.0000 0 135 345 3945 540 jadro\001
64 | 4 0 0 50 0 4 10 0.0000 0 90 435 3900 270 server\001
65 | -6
66 | 2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 0 0 2
67 | 720 630 720 900
68 | 2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 0 0 2
69 | 1800 630 1800 900
70 | 2 1 0 3 0 7 50 0 -1 8.000 0 0 -1 0 0 2
71 | 270 900 4365 900
72 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 6
73 | 1 1 1.00 60.00 120.00
74 | 990 270 990 990 1080 1080 1440 1080 1530 990 1530 270
75 | 2 1 1 1 0 7 50 0 -1 4.000 0 0 -1 1 0 6
76 | 1 1 1.00 60.00 120.00
77 | 2070 270 2070 990 2160 1080 3150 1080 3240 990 3240 315
78 |
--------------------------------------------------------------------------------
/img/xfig/syscall_unx.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
11 | 180 360 4500 360 4500 630 180 630 180 360
12 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
13 | 270 90 1170 90 1170 360 270 360 270 90
14 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
15 | 2250 90 3150 90 3150 360 2250 360 2250 90
16 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
17 | 3510 90 4410 90 4410 360 3510 360 3510 90
18 | 2 2 0 1 0 7 50 0 15 0.000 0 0 -1 0 0 5
19 | 180 630 4500 630 4500 900 180 900 180 630
20 | 3 0 1 1 0 7 50 0 -1 4.000 0 1 0 6
21 | 1 1 1.00 60.00 120.00
22 | 450 270 450 720 540 810 900 810 990 720 990 270
23 | 0.000 1.000 1.000 1.000 1.000 0.000
24 | 3 0 1 1 0 7 50 0 -1 4.000 0 1 0 6
25 | 1 1 1.00 60.00 120.00
26 | 2970 270 2970 720 3060 810 3600 810 3690 720 3690 270
27 | 0.000 1.000 1.000 1.000 1.000 0.000
28 | 4 0 0 49 0 4 10 0.0000 2 120 465 487 255 proces\001
29 | 4 0 0 49 0 4 10 0.0000 2 120 465 2467 255 proces\001
30 | 4 0 0 49 0 4 10 0.0000 2 135 1395 1575 547 rozhrani volani jadra\001
31 | 4 0 0 49 0 4 10 0.0000 2 135 345 2167 817 jadro\001
32 | 4 0 0 49 0 4 10 0.0000 2 120 465 3727 255 proces\001
33 |
--------------------------------------------------------------------------------
/img/xfig/threads.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 1 0 1 0 7 52 0 -1 0.000 0 0 -1 1 0 3
11 | 1 1 1.00 30.00 60.00
12 | 630 495 270 495 270 1125
13 | 2 1 0 1 0 7 52 0 -1 0.000 0 0 -1 1 0 3
14 | 1 1 1.00 30.00 60.00
15 | 270 2025 270 2565 630 2565
16 | 2 1 0 1 0 7 52 0 -1 0.000 0 0 -1 1 0 3
17 | 1 1 1.00 30.00 60.00
18 | 3960 675 4320 675 4320 1125
19 | 2 1 0 1 0 7 52 0 -1 0.000 0 0 -1 1 0 3
20 | 1 1 1.00 30.00 60.00
21 | 4320 2025 4320 2745 3960 2745
22 | 2 2 0 1 0 7 51 0 20 0.000 0 0 -1 0 0 5
23 | 45 1125 1890 1125 1890 2025 45 2025 45 1125
24 | 2 2 0 1 0 7 51 0 20 0.000 0 0 -1 0 0 5
25 | 2700 1125 4545 1125 4545 2025 2700 2025 2700 1125
26 | 2 2 0 1 0 7 52 0 15 0.000 0 0 -1 0 0 5
27 | 630 45 3960 45 3960 2880 630 2880 630 45
28 | 4 0 0 50 0 5 10 0.0000 2 135 2610 90 1260 void *\\emprg{do_a}(void *arg)\001
29 | 4 0 0 50 0 5 10 0.0000 2 135 180 90 1425 \\{\001
30 | 4 0 0 50 0 5 10 0.0000 2 120 990 90 1590 \\ \\ \\ \\ ...\001
31 | 4 0 0 50 0 5 10 0.0000 2 135 1710 90 1755 \\ \\ \\ \\ return arg;\001
32 | 4 0 0 50 0 5 10 0.0000 2 135 180 90 1920 \\}\001
33 | 4 0 0 50 0 5 10 0.0000 2 135 2610 2745 1260 void *\\emprg{do_b}(void *arg)\001
34 | 4 0 0 50 0 5 10 0.0000 2 135 180 2745 1425 \\{\001
35 | 4 0 0 50 0 5 10 0.0000 2 120 990 2745 1590 \\ \\ \\ \\ ...\001
36 | 4 0 0 50 0 5 10 0.0000 2 135 1710 2745 1755 \\ \\ \\ \\ return arg;\001
37 | 4 0 0 50 0 5 10 0.0000 2 135 180 2745 1920 \\}\001
38 | 4 0 0 50 0 5 10 0.0000 2 135 1890 675 180 pthread_t id_a, id_b;\001
39 | 4 0 0 50 0 5 10 0.0000 2 135 3150 675 2610 \\emprg{pthread_join}(id_a, &res_a);\001
40 | 4 0 0 50 0 5 10 0.0000 2 135 3150 675 2790 \\emprg{pthread_join}(id_b, &res_b);\001
41 | 4 0 0 50 0 5 10 0.0000 2 135 4230 675 720 \\emprg{pthread_create}(&id_b, NULL, do_b, "b");\001
42 | 4 0 0 50 0 5 10 0.0000 2 135 4230 675 540 \\emprg{pthread_create}(&id_a, NULL, do_a, "a");\001
43 | 4 0 0 50 0 5 10 0.0000 2 135 1800 675 360 void *res_a, *res_b;\001
44 |
--------------------------------------------------------------------------------
/img/xfig/virt_mem.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
11 | 3240 540 3870 540 3870 1620 3240 1620 3240 540
12 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
13 | 2250 540 2880 540 2880 1530 2250 1530 2250 540
14 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
15 | 1260 540 1890 540 1890 1350 1260 1350 1260 540
16 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
17 | 270 540 900 540 900 1620 270 1620 270 540
18 | 2 2 0 1 0 7 50 0 41 0.000 0 0 -1 0 0 5
19 | 270 810 900 810 900 990 270 990 270 810
20 | 2 2 0 1 0 7 50 0 41 0.000 0 0 -1 0 0 5
21 | 270 540 900 540 900 720 270 720 270 540
22 | 2 2 0 1 0 7 50 0 42 0.000 0 0 -1 0 0 5
23 | 1260 630 1890 630 1890 810 1260 810 1260 630
24 | 2 2 0 1 0 7 50 0 43 0.000 0 0 -1 0 0 5
25 | 1260 900 1890 900 1890 1080 1260 1080 1260 900
26 | 2 2 0 1 0 7 50 0 43 0.000 0 0 -1 0 0 5
27 | 270 1350 900 1350 900 1530 270 1530 270 1350
28 | 2 2 0 1 0 7 50 0 62 0.000 0 0 -1 0 0 5
29 | 3240 630 3870 630 3870 810 3240 810 3240 630
30 | 2 2 0 1 0 7 50 0 62 0.000 0 0 -1 0 0 5
31 | 3240 1080 3870 1080 3870 1260 3240 1260 3240 1080
32 | 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5
33 | 990 2880 3780 2880 3780 2250 990 2250 990 2880
34 | 2 2 0 1 0 7 50 0 41 0.000 0 0 -1 0 0 5
35 | 1260 2250 1440 2250 1440 2880 1260 2880 1260 2250
36 | 2 2 0 1 0 7 50 0 41 0.000 0 0 -1 0 0 5
37 | 1620 2250 1800 2250 1800 2880 1620 2880 1620 2250
38 | 2 2 0 1 0 7 50 0 42 0.000 0 0 -1 0 0 5
39 | 3060 2250 3240 2250 3240 2880 3060 2880 3060 2250
40 | 2 2 0 1 0 7 50 0 43 0.000 0 0 -1 0 0 5
41 | 2340 2250 2520 2250 2520 2880 2340 2880 2340 2250
42 | 2 2 0 1 0 7 50 0 62 0.000 0 0 -1 0 0 5
43 | 1440 2250 1620 2250 1620 2880 1440 2880 1440 2250
44 | 2 2 0 1 0 7 50 0 62 0.000 0 0 -1 0 0 5
45 | 3240 2250 3420 2250 3420 2880 3240 2880 3240 2250
46 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
47 | 1 1 1.00 30.00 60.00
48 | 585 900 1350 2565
49 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
50 | 1 1 1.00 30.00 60.00
51 | 585 630 1710 2565
52 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
53 | 1 1 1.00 30.00 60.00
54 | 585 1440 2430 2565
55 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
56 | 1 1 1.00 30.00 60.00
57 | 1575 720 3150 2565
58 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
59 | 1 1 1.00 30.00 60.00
60 | 1575 990 2430 2565
61 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
62 | 1 1 1.00 30.00 60.00
63 | 3555 720 1530 2565
64 | 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 1 0 2
65 | 1 1 1.00 30.00 60.00
66 | 3555 1170 3330 2565
67 | 4 1 0 50 0 4 10 0.0000 2 150 420 1620 270 pamet\001
68 | 4 1 0 50 0 4 10 0.0000 2 150 675 1620 465 procesu 2\001
69 | 4 1 0 50 0 4 10 0.0000 2 150 420 2610 270 pamet\001
70 | 4 1 0 50 0 4 10 0.0000 2 150 675 2610 465 procesu 3\001
71 | 4 1 0 50 0 4 10 0.0000 2 150 420 3600 270 pamet\001
72 | 4 1 0 50 0 4 10 0.0000 2 150 675 3600 465 procesu 4\001
73 | 4 1 0 50 0 4 10 0.0000 2 150 420 630 270 pamet\001
74 | 4 1 0 50 0 4 10 0.0000 2 150 675 630 465 procesu 1\001
75 | 4 2 0 50 0 4 10 0.0000 2 120 405 900 2520 realna\001
76 | 4 2 0 50 0 4 10 0.0000 2 150 420 900 2715 pamet\001
77 |
--------------------------------------------------------------------------------
/img/xfig/xdm.fig:
--------------------------------------------------------------------------------
1 | #FIG 3.2
2 | Landscape
3 | Center
4 | Metric
5 | Letter
6 | 100.00
7 | Single
8 | -2
9 | 1200 2
10 | 6 3555 2115 4860 2295
11 | 2 2 0 1 0 7 51 0 15 2.000 0 0 -1 0 0 5
12 | 3555 2115 4590 2115 4590 2295 3555 2295 3555 2115
13 | 4 0 0 50 0 5 10 0.0000 2 135 1260 3600 2250 \\~{}/.xsession\001
14 | -6
15 | 6 1395 2115 3510 2295
16 | 2 2 0 1 0 7 50 0 -1 2.000 0 0 -1 0 0 5
17 | 1395 2115 3420 2115 3420 2295 1395 2295 1395 2115
18 | 4 0 0 50 0 5 10 0.0000 2 120 2070 1440 2250 /usr/lib/X11/xdm/Xreset\001
19 | -6
20 | 6 315 495 945 675
21 | 2 2 1 1 0 7 51 0 -1 4.000 0 0 -1 0 0 5
22 | 315 495 945 495 945 675 315 675 315 495
23 | 4 0 0 50 0 4 10 0.0000 2 120 585 360 630 X server\001
24 | -6
25 | 6 2475 1215 4770 1845
26 | 6 3240 1215 4005 1395
27 | 2 2 0 1 0 7 50 0 -1 2.000 0 0 -1 0 0 5
28 | 3240 1215 4005 1215 4005 1395 3240 1395 3240 1215
29 | 4 0 0 50 0 5 10 0.0000 2 135 720 3285 1350 Xstartup\001
30 | -6
31 | 6 2475 1665 4770 1845
32 | 2 2 0 1 0 7 51 0 15 2.000 0 0 -1 0 0 5
33 | 2475 1665 4680 1665 4680 1845 2475 1845 2475 1665
34 | 4 0 0 50 0 5 10 0.0000 2 120 2250 2520 1800 /usr/lib/X11/xdm/Xsession\001
35 | -6
36 | -6
37 | 6 1305 495 3420 675
38 | 2 2 0 1 0 7 50 0 -1 2.000 0 0 -1 0 0 5
39 | 1305 495 3330 495 3330 675 1305 675 1305 495
40 | 4 0 0 50 0 5 10 0.0000 2 135 2070 1350 630 /usr/lib/X11/xdm/Xsetup\001
41 | -6
42 | 6 2160 45 2520 225
43 | 2 2 0 1 0 7 50 0 -1 2.000 0 0 -1 0 0 5
44 | 2160 45 2520 45 2520 225 2160 225 2160 45
45 | 4 0 0 50 0 5 10 0.0000 2 105 270 2205 180 xdm\001
46 | -6
47 | 6 2070 945 2655 1125
48 | 2 2 0 1 0 7 50 0 -1 2.000 0 0 -1 0 0 5
49 | 2070 945 2655 945 2655 1125 2070 1125 2070 945
50 | 4 0 0 50 0 5 10 0.0000 2 135 540 2115 1080 xlogin\001
51 | -6
52 | 2 1 1 1 0 7 51 0 -1 4.000 0 0 -1 1 0 3
53 | 1 1 1.00 30.00 60.00
54 | 2160 135 630 135 630 495
55 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 2
56 | 1 1 1.00 30.00 60.00
57 | 2340 225 2340 495
58 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 2
59 | 1 1 1.00 30.00 60.00
60 | 2340 675 2340 945
61 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 3
62 | 1 1 1.00 30.00 60.00
63 | 2655 1035 3600 1035 3600 1215
64 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 2
65 | 1 1 1.00 30.00 60.00
66 | 3600 1395 3600 1665
67 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 2
68 | 1 1 1.00 30.00 60.00
69 | 2880 1845 2880 2115
70 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 2
71 | 1 1 1.00 30.00 60.00
72 | 4050 1845 4050 2115
73 | 2 1 0 1 0 7 51 0 -1 4.000 0 0 -1 1 0 4
74 | 1 1 1.00 30.00 60.00
75 | 1395 2205 1080 2205 1080 585 1305 585
76 | 2 4 1 1 0 7 50 0 -1 4.000 0 0 7 0 0 5
77 | 4680 900 4680 450 3870 450 3870 900 4680 900
78 | 2 1 1 1 0 7 51 0 -1 4.000 0 0 -1 1 0 2
79 | 1 1 1.00 30.00 60.00
80 | 3870 810 3600 990
81 | 4 0 0 50 0 4 10 0.0000 2 150 375 3960 630 login:\001
82 | 4 0 0 50 0 4 10 0.0000 2 150 720 3960 825 password:\001
83 |
--------------------------------------------------------------------------------
/macros.m4:
--------------------------------------------------------------------------------
1 | changequote([[[, ]]])
2 |
--------------------------------------------------------------------------------
/other.tex:
--------------------------------------------------------------------------------
1 |
2 | \begin{slide}
3 | \sltitle{Virtual memory implementation}
4 | \begin{itemize}
5 | \item processes in UNIX use virtual addresses to access physical memory.
6 | The virtual - physical conversion is performed by hardware with the help
7 | of kernel.
8 | \item in case of memory shortage unused parts of memory are stored to
9 | (\emsl{swap}) space on disk.
10 | \item before SVR2 the \texttt{swapper} process (nowadays
11 | \texttt{sched}) swapped out whole processes.
12 | \item from SVR2 on (\emsl{demand paging}) is used with \emsl{copy-on-write}.
13 | Pages are allocated only after first use and private pages are copied only
14 | after modification. Freeing and swapping of individual pages is performed
15 | by the \texttt{pageout} process, swapping of whole processes is done only
16 | when critically low on memory.
17 | \end{itemize}
18 | \end{slide}
19 |
20 | \begin{description}
21 | \item[address translation:] access to invalid address or attempt to write into
22 | read-only memory will result in the \texttt{SIGSEGV} signal to be delivered.
23 | \item[swap:] swap area is created on separate disk partition, since
24 | SVR4 it can be also in a file.
25 | \item[swapper:] the \texttt{swapper} process tries to save a process
26 | to disk and use the free space for a process that was swapped out earlier.
27 | \item[demand paging:] when a process requests a memory only the page is
28 | modified. The first instruction addressing the page contents will result in an
29 | exception. The kernel will handle it by allocating a page.
30 | \item[copy-on-write:] multiple processes can share writable physical page that
31 | is however logically private to each process (such situation happens e.g. when a
32 | process is created by the \texttt{fork} system call). Until the processes only
33 | read from the memory, they access the shared page. First attempt to write will
34 | cause an exception. The kernel will copy the page and assign a copy of the
35 | page to the process that is already a private and the process can change it.
36 | The other process keep using the original page.
37 | \item The pages to be swapped out are searched for by the \emph{NRU} (not
38 | recently used) algorithm: each page has the \texttt{referenced} and
39 | \texttt{modified} flags, both zero initially. First access will set
40 | \texttt{referenced}, a change will set \texttt{modified}.
41 | Both flags are periodically nullified. The pages that are neither modified or
42 | used are freed first. The program code pages and pages of mapped files are not
43 | stored into swap area, they are fetched from given file.
44 | \end{description}
45 |
46 | %%%%%
47 |
48 | \endinput
49 |
--------------------------------------------------------------------------------
/posters/matfyz-girl.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/posters/matfyz-girl.jpg
--------------------------------------------------------------------------------
/posters/matfyz-girl.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/devnull-cz/unix-linux-prog-in-c/f58bb7de5d180ab5a4241dae003887c24b620293/posters/matfyz-girl.pdf
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2018-2019.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux prog lecture for the winter semester 2018/2019.
2 | .\"
3 | .\" To generate a PDF, paste the following (any unix-like system with groff
4 | .\" should do, including a Mac):
5 | .\"
6 | .\" x=unix-poster-AR-2018-2019; groff -Tps -P-pa4 $x.roff > $x.ps; ps2pdf $x.ps $x.pdf
7 |
8 | .po 0.75i
9 | .ll 6.8i
10 | .ft AR
11 |
12 | .sp 0.7i
13 | .ce
14 | .ps 35
15 | \f(ARNSWI015\fP
16 |
17 | .sp 1.3i
18 | .ce
19 | .ps 100
20 | \f(ABUnix/Linux\fP
21 |
22 | .sp 1.64c
23 | .ce
24 | .ps 45
25 | .ti 0.5c
26 | .\"\f(AIProgramming\fP
27 | .\".ft ABI
28 | .ft AI
29 | Programming\fP
30 | .ft AR
31 |
32 | .sp 2c
33 | .ce
34 | .ps 60
35 | .ti 0.5c
36 | \f(ABin C\fP
37 |
38 | .ps 16
39 | .sp 1.5c
40 | .ce
41 | .\" groff 1.19 does not support -K utf-8
42 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
43 | Mgr. Vladim\['i]r Kotal, Principal Software Engineer, Oracle
44 | .sp 0.5c
45 | .ce
46 | Mgr. Jan Pechanec, Principal Software Engineer, Oracle
47 | .sp 1.4c
48 | .ps 20
49 | .ce
50 | http://mff.devnull.cz
51 |
52 | .\" With 0.75i page offset and 8.3i A4 page width, the line length should be
53 | .\" 6.8i. However, with the bullets for the list, 6.5i looks much better.
54 | .ll 6.5i
55 | .sp 1.2c
56 | .in 0.6i
57 | .ps 12
58 | .ti -0.19i
59 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
60 | .sp 0.4c
61 | .ti -0.19i
62 | .\"(bu\ \ MFF UK, Mal\['a] Strana, winter semester 2018, \f(ABroom SU2\fP, \f(ABWed 9:00\fP.
63 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester 2018/2019.\fP Schedule is TBD.
64 | .sp 0.4c
65 | .ti -0.19i
66 | \(bu\ \ This course prepares students for developing software in the Unix/Linux
67 | environment using the C programming language.
68 | .sp 0.4c
69 | .ti -0.19i
70 | \(bu\ \ The course includes laboratory work where all the knowledge gained in
71 | the lectures is practiced.
72 | .sp 0.4c
73 | .ti -0.19i
74 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
75 | .sp 0.4c
76 | .ti -0.19i
77 | \(bu\ \ As a prerequisite, you are expected to have passed \f(AIIntroduction to
78 | UNIX\fP (NSWI095) and you should be either able to write in C (e.g. NPRG\%066)
79 | or willing to learn it by yourself.
80 | .sp 0.4c
81 | .ti -0.19i
82 | \(bu\ \ Let us know if you have any questions: vlada@dev\%null.cz, jp@devnull.cz
83 | .sp 0.4c
84 |
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2019-2020.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux prog lecture for the winter semester 2019/2020.
2 | .\"
3 | .\" To generate a PDF, paste the following (any unix-like system with groff
4 | .\" should do, including a Mac):
5 | .\"
6 | .\" x=unix-poster-AR-2019-2020; groff -Tps -P-pa4 $x.roff > $x.ps; ps2pdf $x.ps $x.pdf
7 |
8 | .po 0.75i
9 | .ll 6.8i
10 | .ft AR
11 |
12 | .sp 0.7i
13 | .ce
14 | .ps 35
15 | \f(ARNSWI015\fP
16 |
17 | .sp 1.3i
18 | .ce
19 | .ps 100
20 | \f(ABUnix/Linux\fP
21 |
22 | .sp 1.64c
23 | .ce
24 | .ps 45
25 | .ti 0.5c
26 | .\"\f(AIProgramming\fP
27 | .\".ft ABI
28 | .ft AI
29 | Programming\fP
30 | .ft AR
31 |
32 | .sp 2c
33 | .ce
34 | .ps 60
35 | .ti 0.5c
36 | \f(ABin C\fP
37 |
38 | .ps 16
39 | .sp 1.5c
40 | .ce
41 | .\" groff 1.19 does not support -K utf-8
42 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
43 | Mgr. Vladim\['i]r Kotal, Oracle
44 | .sp 0.5c
45 | .ce
46 | Mgr. Jan Pechanec, Oracle
47 | .sp 1.4c
48 | .ps 20
49 | .ce
50 | http://mff.devnull.cz
51 |
52 | .\" With 0.75i page offset and 8.3i A4 page width, the line length should be
53 | .\" 6.8i. However, with the bullets for the list, 6.5i looks much better.
54 | .ll 6.5i
55 | .sp 1.2c
56 | .in 0.6i
57 | .ps 12
58 | .ti -0.19i
59 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
60 | .sp 0.4c
61 | .ti -0.19i
62 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester\fP 2019/2020.
63 | \f(ABTentative\fP schedule is Wed, 10:40 in S9 (subject to change until the
64 | schedule is finalized).
65 | .sp 0.4c
66 | .ti -0.19i
67 | \(bu\ \ This course prepares students for developing software in the Unix/Linux
68 | environment using the C programming language.
69 | .sp 0.4c
70 | .ti -0.19i
71 | \(bu\ \ The course includes laboratory work to practise the knowledge gained in
72 | the lectures. \f(ABTentative\fP schedule is Wed, 9:00 in SU1.
73 | .sp 0.4c
74 | .ti -0.19i
75 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
76 | .sp 0.4c
77 | .ti -0.19i
78 | \(bu\ \ You are expected to have passed \f(AIIntroduction to UNIX\fP (NSWI095)
79 | and you should either know C (e.g. NPRG\%066) or willing to learn it by
80 | yourself.
81 | .sp 0.4c
82 | .ti -0.19i
83 | \(bu\ \ Let us know if you have any questions: vlada@dev\%null.cz, jp@devnull.cz
84 | .sp 0.4c
85 |
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2020-2021.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux prog lecture for the winter semester 2020/2021
2 | .\"
3 | .\" To generate a PDF, paste the following (any unix-like system with groff
4 | .\" should do, including a Mac):
5 | .\"
6 | .\" x=unix-poster-AR-2020-2021; groff -Tps -P-pa4 $x.roff > $x.ps; ps2pdf $x.ps $x.pdf
7 |
8 | .po 0.75i
9 | .ll 6.8i
10 | .ft AR
11 |
12 | .sp 0.8i
13 | .ce
14 | .ps 35
15 | \f(ARNSWI015\fP
16 |
17 | .sp 1i
18 | .ce
19 | .ps 85
20 | \f(CBUnix/Linux\fP
21 |
22 | .sp 1.5c
23 | .ce
24 | .ps 45
25 | .ti 0.5c
26 | .\"\f(AIProgramming\fP
27 | .\".ft ABI
28 | .ft CI
29 | Programming\fP
30 | .ft AR
31 |
32 | .sp 2.6c
33 | .ce
34 | .ps 80
35 | .ti 0.5c
36 | \f(ABin C\fP
37 |
38 | .ps 16
39 | .sp 1.4c
40 | .ce
41 | .\" groff 1.19 does not support -K utf-8
42 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
43 | Mgr. Vladim\['i]r Kotal, Oracle
44 | .sp 0.5c
45 | .ce
46 | Mgr. Jan Pechanec, Oracle
47 | .sp 1.4c
48 | .ps 20
49 | .ce
50 | http://mff.devnull.cz
51 |
52 | .\" With 0.75i page offset and 8.3i A4 page width, the line length should be
53 | .\" 6.8i. However, with the bullets for the list, 6.5i looks much better.
54 | .ll 6.5i
55 | .sp 1.2c
56 | .in 0.6i
57 | .ps 12
58 | .ti -0.19i
59 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
60 | .sp 0.4c
61 | .ti -0.19i
62 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester\fP 2020/2021. The
63 | schedule is \f(ABThu, 10:40 in S1 for the lecture, and Thu 9:00 in SU1 for the
64 | labs\fP.
65 | .sp 0.4c
66 | .ti -0.19i
67 | \(bu\ \ This course prepares students for software development in the Unix/Linux
68 | environment using the C programming language.
69 | .sp 0.4c
70 | .ti -0.19i
71 | \(bu\ \ Includes laboratory work to practise the knowledge gained in the course.
72 | .sp 0.4c
73 | .ti -0.19i
74 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
75 | .sp 0.4c
76 | .ti -0.19i
77 | \(bu\ \ You are expected to have passed \f(AIIntroduction to UNIX\fP (NSWI095)
78 | and you should either know C (e.g. NPRG\%066) or willing to learn it by
79 | yourself.
80 | .sp 0.4c
81 | .ti -0.19i
82 | \(bu\ \ Let us know if you have any questions: vlada@dev\%null.cz, jp@devnull.cz
83 | .sp 0.4c
84 |
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2021-2022.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux prog lecture for the winter semester 2021/2022
2 | .\"
3 | .\" To generate a PDF, paste the following (any unix-like system with groff
4 | .\" should do, including a Mac):
5 | .\"
6 | .\" x=unix-poster-AR-2021-2022; groff -Tps -P-pa4 $x.roff > $x.ps; ps2pdf $x.ps $x.pdf
7 |
8 | .po 0.75i
9 | .ll 6.8i
10 | .ft AR
11 |
12 | .sp 0.8i
13 | .ce
14 | .ps 35
15 | \f(ARNSWI015\fP
16 |
17 | .sp 1i
18 | .ce
19 | .ps 85
20 | \f(CBUnix/Linux\fP
21 |
22 | .sp 1.5c
23 | .ce
24 | .ps 45
25 | .ti 0.5c
26 | .\"\f(AIProgramming\fP
27 | .\".ft ABI
28 | .ft CI
29 | Programming\fP
30 | .ft AR
31 |
32 | .sp 2.6c
33 | .ce
34 | .ps 80
35 | .ti 0.5c
36 | \f(ABin C\fP
37 |
38 | .ps 16
39 | .sp 1.4c
40 | .ce
41 | .\" groff 1.19 does not support -K utf-8
42 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
43 | Mgr. Vladim\['i]r Kotal, Oracle
44 | .sp 0.5c
45 | .ce
46 | Mgr. Jan Pechanec, Oracle
47 | .sp 1.4c
48 | .ps 20
49 | .ce
50 | http://mff.devnull.cz
51 |
52 | .\" With 0.75i page offset and 8.3i A4 page width, the line length should be
53 | .\" 6.8i. However, with the bullets for the list, 6.5i looks much better.
54 | .ll 6.5i
55 | .sp 1.2c
56 | .in 0.6i
57 | .ps 12
58 | .ti -0.19i
59 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
60 | .sp 0.4c
61 | .ti -0.19i
62 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester\fP 2021/2022. The
63 | schedule is \f(ABThu, 9:00 in S4 for the lecture, and Thu 10:40 in SU1 for the
64 | labs\fP. We start on Thu Sep 30.
65 | .sp 0.4c
66 | .ti -0.19i
67 | \(bu\ \ This course prepares students for software development in the Unix/Linux
68 | environment using the C programming language.
69 | .sp 0.4c
70 | .ti -0.19i
71 | \(bu\ \ Includes lab work to practise the knowledge gained in the course.
72 | .sp 0.4c
73 | .ti -0.19i
74 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
75 | .sp 0.4c
76 | .ti -0.19i
77 | \(bu\ \ You are expected to have passed \f(AIIntroduction to UNIX\fP (NSWI095)
78 | and you should either know C (e.g. NPRG\%066) or willing to learn it by
79 | yourself.
80 | .sp 0.4c
81 | .ti -0.19i
82 | \(bu\ \ Let us know if you have any questions: vlada@dev\%null.cz, jp@devnull.cz
83 | .sp 0.4c
84 |
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2022-2023.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux prog lecture for the winter semester 2022/2023
2 | .\"
3 | .\" To generate a PDF, paste the following (any unix-like system with groff
4 | .\" should do, including a Mac):
5 | .\"
6 | .\" x=unix-poster-AR-2022-2023; groff -Tps -P-pa4 $x.roff > $x.ps; ps2pdf $x.ps $x.pdf
7 |
8 | .po 0.75i
9 | .ll 6.8i
10 | .ft AR
11 |
12 | .sp 0.8i
13 | .ce
14 | .ps 35
15 | \f(ARNSWI015\fP
16 |
17 | .sp 1i
18 | .ce
19 | .ps 85
20 | \f(CBUnix/Linux\fP
21 |
22 | .sp 1.5c
23 | .ce
24 | .ps 45
25 | .ti 0.5c
26 | .\"\f(AIProgramming\fP
27 | .\".ft ABI
28 | .ft CI
29 | Programming\fP
30 | .ft AR
31 |
32 | .sp 2.6c
33 | .ce
34 | .ps 80
35 | .ti 0.5c
36 | \f(ABin C\fP
37 |
38 | .ps 16
39 | .sp 1.4c
40 | .ce
41 | .\" groff 1.19 does not support -K utf-8
42 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
43 | Mgr. Vladim\['i]r Kotal, Oracle
44 | .sp 0.5c
45 | .ce
46 | Mgr. Jan Pechanec, Oracle
47 | .sp 1.4c
48 | .ps 20
49 | .ce
50 | http://mff.devnull.cz
51 |
52 | .\" With 0.75i page offset and 8.3i A4 page width, the line length should be
53 | .\" 6.8i. However, with the bullets for the list, 6.5i looks much better.
54 | .ll 6.5i
55 | .sp 1.2c
56 | .in 0.6i
57 | .ps 12
58 | .ti -0.19i
59 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
60 | .sp 0.4c
61 | .ti -0.19i
62 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester\fP 2022/2023. The
63 | schedule is \f(ABMon, 9:00 in S11 for the lecture, and Mon 10:40 in SU1 for the
64 | labs\fP. We start on Mon Oct 3.
65 |
66 | .sp 0.4c
67 | .ti -0.19i
68 | \(bu\ \ This course prepares students for software development in the Unix/Linux
69 | environment using the C programming language.
70 | .sp 0.4c
71 | .ti -0.19i
72 | \(bu\ \ Includes lab work to practise the knowledge gained in the course.
73 | .sp 0.4c
74 | .ti -0.19i
75 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
76 | .sp 0.4c
77 | .ti -0.19i
78 | \(bu\ \ You are expected to have passed \f(AIIntroduction to UNIX\fP (NSWI095)
79 | and you should either know C (e.g. NPRG\%066) or willing to learn it by
80 | yourself.
81 | .sp 0.4c
82 | .ti -0.19i
83 | \(bu\ \ Let us know if you have any questions: vlada@dev\%null.cz, jp@devnull.cz
84 | .sp 0.4c
85 |
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2023-2024.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux prog lecture for the winter semester 2023/2024
2 | .\"
3 | .\" To generate a PDF, paste the following (any unix-like system with groff
4 | .\" should do, including a Mac):
5 | .\"
6 | .\" x=unix-poster-AR-2023-2024; groff -Tps -P-pa4 $x.roff > $x.ps; ps2pdf $x.ps $x.pdf
7 |
8 | .po 0.75i
9 | .ll 6.8i
10 | .ft AR
11 |
12 | .sp 0.8i
13 | .ce
14 | .ps 35
15 | \f(ARNSWI015\fP
16 |
17 | .sp 1i
18 | .ce
19 | .ps 85
20 | \f(CBUnix/Linux\fP
21 |
22 | .sp 1.5c
23 | .ce
24 | .ps 45
25 | .ti 0.5c
26 | .\"\f(AIProgramming\fP
27 | .\".ft ABI
28 | .ft CI
29 | Programming\fP
30 | .ft AR
31 |
32 | .sp 2.6c
33 | .ce
34 | .ps 80
35 | .ti 0.5c
36 | \f(ABin C\fP
37 |
38 | .ps 16
39 | .sp 1.4c
40 | .ce
41 | .\" groff 1.19 does not support -K utf-8
42 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
43 | Mgr. Vladim\['i]r Kotal, Oracle
44 | .sp 1.4c
45 | .ps 20
46 | .ce
47 | http://mff.devnull.cz
48 |
49 | .\" With 0.75i page offset and 8.3i A4 page width, the line length should be
50 | .\" 6.8i. However, with the bullets for the list, 6.5i looks much better.
51 | .ll 6.5i
52 | .sp 1.2c
53 | .in 0.6i
54 | .ps 12
55 | .ti -0.19i
56 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
57 | .sp 0.4c
58 | .ti -0.19i
59 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester\fP 2023/2024. The
60 | schedule is \f(ABMon, 9:00 in S6 for the lecture, and Mon 10:40 in SU1 for the
61 | labs\fP. We start on Mon Oct 2.
62 |
63 | .sp 0.4c
64 | .ti -0.19i
65 | \(bu\ \ This course prepares students for software development in the Unix/Linux
66 | environment using the C programming language.
67 | .sp 0.4c
68 | .ti -0.19i
69 | \(bu\ \ Includes lab work to practise the knowledge gained in the course.
70 | .sp 0.4c
71 | .ti -0.19i
72 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
73 | .sp 0.4c
74 | .ti -0.19i
75 | \(bu\ \ You are expected to have passed \f(AIIntroduction to UNIX\fP (NSWI095)
76 | and you should either know C (e.g. NPRG\%066) or willing to learn it by
77 | yourself.
78 | .sp 0.4c
79 | .ti -0.19i
80 | \(bu\ \ Let me know if you have any questions: vlada@kotalovi.cz
81 | .sp 0.4c
82 |
--------------------------------------------------------------------------------
/posters/unix-poster-AR-2024-2025.roff:
--------------------------------------------------------------------------------
1 | .\" A poster for the Unix/Linux programming lecture for the winter semester 2024/2025
2 | .\"
3 | .\" To generate a PDF for A4 landscape, paste the following (needs Groff with "ms" macro package)
4 | .\"
5 | .\" x=unix-poster-AR-2024-2025; groff -Tps -m ms -U -P-pa4 -P-l $x.roff > $x.ps > $x.ps; ps2pdf $x.ps $x.pdf
6 |
7 | .2C 15.5c 3c
8 |
9 | .po 0.5i
10 | .ll 4.5i
11 | .ft AR
12 |
13 | .\" insert Matfyz girl picture by Julie K.
14 | .PDFPIC -R matfyz-girl.pdf
15 |
16 | .sp 0.1i
17 | .ce
18 | .ps 35
19 | \f(ARNSWI015\fP
20 |
21 | .sp 0.5i
22 | .ce
23 | .ps 55
24 | \f(CBUnix/Linux\fP
25 |
26 | .sp 1.0c
27 | .ce
28 | .ps 35
29 | .ti 0.5c
30 | .\"\f(AIProgramming\fP
31 | .\".ft ABI
32 | .ft CI
33 | Programming\fP
34 | .ft AR
35 |
36 | .sp 1.0c
37 | .ce
38 | .ps 40
39 | .ti 0.5c
40 | \f(ABin C\fP
41 |
42 | .\" set number of needed lines in the upcoming section to force a column break
43 | .ne 40
44 |
45 | .po 6i
46 | .ll 5i
47 |
48 | .sp 1.0c
49 | .in 0.6i
50 | .ps 12
51 | .ti -0.19i
52 | \(bu\ \ \f(ABNSWI015, 2/1 (5 credits), SISAL\fP
53 | .sp 0.4c
54 | .ti -0.19i
55 | \(bu\ \ MFF UK, Mal\['a] Strana, \f(ABwinter semester\fP 2024/2025.
56 | The schedule is \f(ABMon, 9:00 in S7 for the lecture, and Mon 10:40 in SW1 for the labs\fP.
57 | We start on Monday September 30th.
58 |
59 | .sp 0.2c
60 | .ti -0.19i
61 | \(bu\ \ This course prepares students for software development in the Unix/Linux
62 | environment using the C programming language, a foundation for general systems
63 | programming and/or troubleshooting.
64 | .sp 0.2c
65 | .ti -0.19i
66 | \(bu\ \ Includes lab work to practise the knowledge gained in the course.
67 | .sp 0.2c
68 | .ti -0.19i
69 | \(bu\ \ \f(ABLectured in English\fP to accomodate non-Czech speaking students.
70 | .sp 0.2c
71 | .ti -0.19i
72 | \(bu\ \ You are expected to have passed \f(AIIntroduction to UNIX\fP (NSWI095)
73 | and you should either know C (e.g. NPRG\%066) or willing to learn it by
74 | yourself.
75 |
76 | .ps 16
77 | .sp 1.0c
78 | .ce
79 | .\" groff 1.19 does not support -K utf-8
80 | .\" Vladimír Kotal, Principal Software Engineer, Oracle
81 | Mgr. Vladim\['i]r Kotal, Oracle
82 | .sp 0.5c
83 | .ce
84 | vlada@kotalovi.cz
85 | .sp 1.4c
86 | .ps 20
87 | .ce
88 | http://mff.devnull.cz
89 |
--------------------------------------------------------------------------------
/spellfilter.sed:
--------------------------------------------------------------------------------
1 | /\\begin\{verbatim\}/,/\\end\{verbatim\}/d
2 | /\\begin\{alltt\}/,/\\end\{alltt\}/d
3 | s/pdfbookmark\[[0-9]\]\{([^{}]*)\}\{.*\}/pdfbookmark{\1}/
4 | s/\\\-//g
5 | s/\\\=//g
6 | s/\\example\{[[:alnum:]_\/\.\-]+\}//g
7 | s/\\texttt\{[^{]*\}//g
8 | s/\\funnm\{[^{]*\}//g
9 | s/\\emprg\{.*\}//g
10 | s/\\verb#[[:alnum:]_\(\)]+#//g
11 | s/\\url\{[[:alnum:]_\/:\.]+\}//g
12 | s/IPv[46]//g
13 | s/\\hlabel\{[[:alnum:]_]+\}//g
14 |
--------------------------------------------------------------------------------
/unix-linux-prog-in-c.tex:
--------------------------------------------------------------------------------
1 | % Unix/Linux programming in C
2 | %
3 | % Authors: Martin Beran, Jan Pechanec, Vladimir Kotal
4 | %
5 | % These are slides with notes.
6 | %
7 |
8 | \AtBeginDocument[seminar]{%
9 | \pdfhorigin=1sp
10 | \pdfvorigin=1sp
11 | \paperwidth=297truemm
12 | \paperheight=210truemm
13 | }
14 |
15 | \documentclass[article]{seminar}
16 | \input{common.m4.tex}
17 |
--------------------------------------------------------------------------------
/unix-linux-prog-in-c_slides-only.tex:
--------------------------------------------------------------------------------
1 | % Unix programming in C - slides
2 | % Authors: Martin Beran, Jan Pechanec, Vladimir Kotal
3 |
4 | \documentclass[slidesonly]{seminar}
5 | \input{common.m4.tex}
6 |
--------------------------------------------------------------------------------
/xcomment.sty:
--------------------------------------------------------------------------------
1 | %% $Id: xcomment.sty 315 2010-05-14 21:31:03Z herbert $
2 | \ProvidesPackage{xcomment}[2010/05/13 package wrapper for
3 | xcomment.tex (hv)]
4 | \input{xcomment.tex}
5 | \ProvidesFile{xcomment.tex}
6 | [\filedate\space v\fileversion\space `xcomment' (tvz)]
7 | \endinput
8 |
9 |
--------------------------------------------------------------------------------