Professional Documents
Culture Documents
Operačné Systémy
Operačné Systémy
Adam eliga
MPM, 2014
Obsah
1 vod
1.1
Histria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Licencie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Filozofia UNIXu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
2 Procesy v UNIXe
11
2.1
Mapovanie pamti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2
13
2.3
14
2.4
fork() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.5
exec..("program", ...) . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.6
wait(*int) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.7
exit(int status) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.8
Nvrat k forku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.9
Medziprocesov komunikcia . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.10 Rry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.11 Sockety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3 Shell
21
3.1
21
OBSAH
3.2
Prkazov riadok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.3
23
1 |
1.1
vod
Histria
19691971
Bell laboratories (AT&T)
autori UNIXu: Thompson, Ritchie, McIllroy
UNIX je slovo parodujce MULTICS
vek operan systm
vyvjan konzorciom firiem
projekt skonil nespechom
prv implementcia: PDP-7
minipota (nie v ako skria)
jadro bolo psan vo vyom programovacom jazyku C, o bolo dleit pre
prenositenos
interaktvny uvate priamo komunikoval s potaom
najprv pomocou alekopisu (klvesnica + tlaiare)
neskr pomocou terminlu (klvesnica + obrazovka + jednoduch elektronika)
dnes pracujeme pomocou emultorov terminlov
sben beh viacerch procesov
viac uvateov
hierarchick systm sborov (adresre)
KAPITOLA 1. VOD
1971
systm pre spracovanie textu (patentov dokumentcia)
znakovac jazyk sa dodnes pouva (.nroff manulov strnky v UNIXe)
1974
verejnosti oznmen vznik UNIXu (lnok v odbornom asopise)
prejavy zujmu Bell labs posielaj zadarmo zdrojky univerzitm
v roku 1958 americk vlda pomocou protitrustovho zkona rozbja AT&T
AT&T nesmie predva potae
19741980
vvoj UNIXu sa presva na univerzity (Berkeley)
1976
Lions Book (John Lions)
komentovan zdrojky jadra
19801990
UNIX sa stva referennou platformou pre vvoj TCP/IP protokolov (internet)
C prenik mimo UNIXu
vznikaj komern klony UNIXu
1983
al proces s AT&T
urovnanie s ministrom spravodlivosti
AT&T me vstpi na potaov trh
vznik neprehadn situcia
prvne ahanice a do 1990
1.2. LICENCIE
1.2
Licencie
KAPITOLA 1. VOD
1.3
Filozofia UNIXu
McIllroy (1978):
Write programs to do one thing and do it well.
Write programs to work together.
Write programs to handle text streams, because that is universal interface.
X-Windows project:
Mechanism, not policy.
1.4
/bin
/boot
/boot/grub/menu.lst
/dev
/dev/sda
cel disk
/dev/sda1
/dev/dsp
zvukov karta
/dev/null
/dev/zero
/dev/random
/etc
/etc/passwd
zoznam uvateov
/etc/fstab
pripojen filesystmy
/home
/lib
/lost+found
/media
/opt
/proc
/sys
/sbin
/tmp
/usr
doasn sbory
uvatesk programy a ich dta (nie nutn pre nbeh)
/usr/bin
programy
/user/lib
vionu kninice
/user/include
C header sbory
/usr/share
/usr/share/doc
/usr/share/man
manulov strnky
/usr/share/info
info strnky
/usr/local
/var
/var/spool/mail
odchdzajca pota
/var/spool/print
fronta tlae
10
KAPITOLA 1. VOD
2 |
Procesy v UNIXe
proces
jadro
proces
preruenie
kontrola nasp v jadre
toto vytvra
kompiltor
toto sa pouva
pri volan funkci
zsobnk
pam
procesu
kopa (heap)
11
odtiato sa alokuje
12
2.1
13
Mapovanie pamti
proces
fyzick pam
0000
strnky
MMU
memory
management/mapping
unit
virtulne adresy
2.2
relne adresy
proces 835
fyzick pam
pam
dostupn
procesom
swap
proces xyz
MMU
14
2.3
stdout
stderr
otvoren
sbory
index je
file descriptor
2.4. FORK()
2.4
15
fork()
proces be
fork()
as
parent
(rodi)
nvratov
hodnota forku
je PID child
procesu
2.5
child
(diea)
nvratov hodnota
forku je 0
exec..("program", ...)
volanie jadra, ktorm proces iada o nahradenie svojho programovho kdu programom z disku
identita a zvyok kontextu zostva zachovan
2.6
wait(*int)
16
2.7
exit(int status)
2.8
Nvrat k forku
fork()
17
fork()
parent
child
wait()
exit()
fork()
wait()
2.9
exec("/bin/ls")
Medziprocesov komunikcia
18
SIGTERM
SIGFPE
SIGSEGV
SIGPIPE
SIGCHILD
vol wait()
fork()
exit()
aby takto fungoval bash, tak na koniec prkazu pridme znak &
2.10. RRY
2.10
19
Rry
fd[1]
fd[0]
pipe()
fork()
ta z rry
zapisuje do rry
ls | cut -c 1-3
ls
2.11
Sockety
obojstrann rry
funguje na nich Internet
UNIXov sockety s sbory
rra
cut
20
3 |
3.1
Shell
cd adresar
zmena aktulneho adresra, vntorn prkaz BASHu
cd (bez argumentu)
nvrat do domovskho adresra
mkdir adresar
vytvorenie novho adresra
mkdir -p adresar
vytvor adresr a navye aj vetk nutn nadraden adresre
rmdir adresar
odstrnenie przdneho adresra
ls adresar
vype men sborov v adresri
ls -l adresar
vype podrobne pre sbory prstupov prva, vlastnka, skupinu, vekos v bytoch,
dtum poslednej modifikcie, nzov sboru
cp zdroj ciel
koprovanie sboru, ak je ciel adresr, skopruje sa do neho, ak sbor, tak sa prepe,
zdroj me by iba sbor a me ich by aj viac (ak je ciel adresr)
cp -R zdroj ciel
teraz me by zdrojom aj adresr, kopruje rekurzvne
21
22
KAPITOLA 3. SHELL
mv zdroj ciel
presunie alebo premenuje sbor, me to by aj adresr
rm subor
zmazanie sboru (nesmie by adresr)
rm -r adresar
zmae cel adresr
3.2
Prkazov riadok
3.3
23