unix
1/9
Operačný systém
Z
Unix
histórie
V r. 1969 Bell Laboratories opustili projekt
univerzálneho operačného systému (Multics) a
programátor Ken Thompson (27 r.) sformuloval
myšlienku, že "operačný systém by mal byť
jednoduchý, elegantný a ľahko použiteľný".
Napísal asembler, základný operačný systém a
systém súborov pre minipočítač PDP-7. V r.1970
bol operačný systém nazvaný ako Unix. Autorstvo
názvu je prisudzované Brianovi Kernighanovi.
V r.1973 bol Unix prepísaný do jazyka C,
ktorý medzitým vytvoril pre tento účel Dennis
Ritchie.
V r.1978 vznikla verzia 7, označovaná ako
Unix v7, s cieľom prenosu na inú platformu ako
PDP. Touto verziou začína celosvetový úspech
Unix-u, ktorý bol uvoľnený z materského
pracoviska včítane zdrojových textov (najprv na
Univerzitu v Berkeley, potom aj inde).
V súčasnosti existuje celý rad rôznych verzií
Unixu, podporovaných rôznymi firmami, ktoré sa
však líšia iba v detailoch. Celosvetové používanie
Unixu preto prežíva dnes opäť veľký rozvoj.
Uvedieme niektoré významné firmy (resp.
hardwarové platformy) a ich súčasné verzie
operačných systémov typu Unix.
POČÍTAČ
PC
IBM
DEC
Sun
Convex
NÁZOV OS
Linux
AIX
Ultrix
Solaris
ConvexOS
Charakteristiky Unixu
- hierarchický systém súborov
Ken Thompson (1943)
B. Kernighan (1942)
Dennis Ritchie (1941-2011)
unix
2/9
- jednotné ovládanie súborov, periférnych zariadení a
odovzdávanie údajov medzi procesami
- dynamické vytváranie procesov
- používateľská voľba interpretera príkazov
- sebestačnosť v údržbe programov a dokumentácie
- prenositeľnosť
- viacúlohový režim (multitask)
- viacpoužívateľský režim (multiuser)
- jednotnosť grafického rozhrania X11
- odolnosť voči vírusom
- existencia pre rôzne hardwarové platformy
- kompatibilita verzií z hľadiska prenosu programov v C
Výhodou Unixu je skutočnosť, že je prenesený na takmer
všetky typy vyrábaných počítačov. Samozrejme existujú drobné
odlišnosti jednotlivých implementácií Unixu, ale základné služby
jadra OS zostávajú bez zmeny už mnoho rokov, čo svedčí o vhodnom
návrhu štruktúry Unixu. Napriek tomu prebieha búrlivý vývoj rôznych
rozšírení Unixu. Normalizačné snahy majú preto zabrániť divergencii
jednotlivých implementácií a zaručiť úplnú prenositeľnosť nástrojov a
jednotlivých nadstavbových programových celkov.
Štruktúra Unixu.
Unix má jednoduchú a priezračnú štruktúru. Jadro poskytuje
základné služby pre procesy, súbory a periférne zariadenia. Nad
jadrom je vrstva procesov, ktoré sú nositeľmi všetkých činností, a teda
aj prostredníkom medzi jadrom a používateľom pri termináli. Vo fáze
počiatočného spustenia systému je pre každý pripojený terminál
vytvorený a aktivovaný proces, ktorý začne a udržuje komunikáciu s
používateľom. Tieto procesy sú riadené interpretom príkazov, ktorý sa
v Unixe nazýva Shell. Unix je napísaný v jazyku C.
shell
procesy
jadro
technické vybavenie
unix
3/9
Jadro Unixu predstavuje vrstvu medzi technickým vybavením daného
počítača a vrstvou procesov. Zo strany technického vybavenia prijíma
požiadavky na obsluhu periférnych a chybových prerušení, zo strany
procesov žiadosti o služby - volanie jadra. Na tieto žiadosti je tiež použitý
mechanizmus prerušení. Schématicky funkcie jadra znázorňuje nasledovný
obrázok.
procesy
jadro
styková rutina a prepínač
správa procesov
správa súborov
správa
vyrovn.
pamäte
časovač
blokový ovládač
ostatné služby
správa terminálov
znakový ovládač
prerušenia
technické vybavenie
Práca so systémom (prihlásenie, odhlásenie).
Používateľ musí byť zavedený do systému (zabezpečí správca
systému), čo znamená, že má vytvorený svoj vlastný adresár, prihlasovacie
meno (login) a heslo. Ak sú tieto podmienky splnené, môže sa používateľ
prihlásiť do systému.
Po zapnutí terminálu sa na obrazovke objaví požiadavka na zadanie
prihlasovacieho mena:
login:
Teraz napíšte svoje prihlasovacie meno (zodpovedá jedinečnému loginu – 7
znakov) a stlačte kláves <Enter>. Po zadaní mena systém požaduje zadať
heslo
password:
Ak zadáte správne aj heslo, prihlási sa systém tzv. promptom (znak $ alebo
%). Po tomto prompte môžete zadávať jednotlivé príkazy operačného
systému.
Po prvom prihlásení zadávate heslo, ktoré ste dostali pridelené. Heslo
unix
4/9
si môže používateľ zmeniť príkazom
passwd
po ktorom systém očakáva najprv zadanie starého hesla a potom nového
hesla. Nové heslo je potrebné ešte raz zopakovať po výzve
retype new password
Heslo je základným prvkom ochrany používateľa a jeho údajov, preto je
potrebné venovať mu náležitú pozornosť.
Po ukončení práce so systémom sa používateľ odhlási príkazom
logout
alebo kombináciou klávesov <Ctrl> <d>. Po odhlásení sa znovu objaví
požiadavka login, po ktorej môže pracovať iný používateľ alebo je možné
vypnúť terminál.
Základné príkazy Unixu.
Všeobecný tvar príkazu v Unixe
prikaz vstupne_argumenty -vstupne_parametre
kde prikaz - vykonateľný systémový program
vstupne_argumenty - názvy súborov, adresárov a pod.
vstupne_parametre - prepínače príkazu (po znaku -)
V niektorých príkazoch môžu vstupné argumenty alebo parametre, prípadne
obidvoje chýbať.
who zoznam prihlásených používateľov
ps
zoznam prebiehajúcich procesov (ps -x udáva zoznam prebiehajúcich
procesov spolu s ich identifikačnými číslami)
man prikaz informácia o príkaze - význam, argumenty, parametre
sman prikaz informácia o príkaze v slovenčine
ls
zoznam súborov v adresári (ls -l udáva plný zoznam súborov aj
s popisovačmi)
cat xxx vypíše súbor xxx na obrazovku
more xxx vypíše súbor na obrazovku postupne po jednotlivých stránkach
(prechod na ďalšiu stránku - stlačiť medzeru)
mkdir xxx vytvorí podadresár xxx
cd xxx prechod do adresára xxx (znak . - aktuálny adresár, znaky .. nadradený, rodičovský)
pwd informácia o aktuálnom adresári (zoznam adresárov od koreňového až
po aktuálny navzájom oddelených /)
unix
5/9
rm xxx zruší súbor xxx
rmdir xxx zruší prázdny adresár
rmdir -r xxx zruší adresár so súbormi
cp xxx yyy kopíruje starý súbor xxx do nového súboru yyy
môžu nastať ešte situácie:
-xxx je súbor a yyy je adresár - vytvorí sa kópia súboru xxx v adresári
yyy
-xxx aj yyy sú adresáre, cp -r xxx yyy prekopíruje adresár xxx so
všetkými jeho podadresármi do yyy
-xxx je adresár a yyy je neexistujúce meno, vznikne adresár yyy so
všetkými podadresármi xxx
mv xxx yyy premenuje súbor xxx na súbor yyy
môžu nastať ešte situácie:
-xxx je súbor a yyy je adresár - presunie sa súbor xxx do adresára yyy
-xxx aj yyy sú adresáre, presunie adresár xxx do yyy
-xxx je adresár a yyy je neexistujúce meno, vznikne
adresár yyy a adresár xxx zanikne
lpr xxx vytlačí súbor xxx na tlačiareň
| rúra (pipe) umožňuje spájať príkazy do reťazcov
chmod ppp xxx nastavenie prístupových práv ppp pre súbor xxx
Porovnanie príkazov MS DOS a Unix
Príkaz
dátum a čas
zoznam súborov
zrušenie súboru
kopírovanie súboru
zmena mena súboru
vytvoriť nový adresár
zrušiť adresár
zmena akt. adresára
editovanie súboru
zobrazenie súboru
vytlačenie súboru
Unix
date
ls
rm
cp
mv
mkdir
rmdir
cd
vi, joe
cat, more
list
DOS
date, time
dir
del, erase
copy
rename
mkdir
rmdir
chdir, cd
edit
type, more
print
Systém súborov
Názov súboru je reťazec max. 14 znakov, za ktorým môže nasledovať
prípona, oddelená bodkou. Voľba názvu a prípony je vecou používateľa,
existujú však štandardné prípony - napr. .p označuje zdrojové texty
programov napísané v jazyku Pascal. Prekladač Pascalu vyžaduje túto
príponu. V Unixe sa rozlišujú veľké a malé písmená, preto súbory Text a
text sú dva rôzne súbory, čo je rozdiel od MS DOS.
unix
Základným pojmom je adresár, ktorý sa používa na členenie súborov.
Adresáre sú usporiadané v tzv. stromovej štruktúre. Na disku sa nachádza
jeden hlavný adresár (kmeň stromu), ktorý sa nazýva ROOT. Každý
adresár môže obsahovať súbory a (alebo) ďalšie podadresáre. Tým je
možné vhodne členiť jednotlivé súbory do prehľadných skupín.
V Unixe sa rozlišujú tri typy prístupových práv k súboru. Prvý typ
tvorí používateľ (vlastník - user), druhý skupina (group) a tretí ostatní
používatelia (others). Začlenenie používateľov do skupín organizuje
správca systému (napr. študenti jedného ročníka, riešitelia jedného projektu
a pod. môžu tvoriť skupinu). Prístupové práva určujú postupne právo čítať
(r), písať (w) a spúšťať súbor (x) - rwx. Pokiaľ na príslušnej pozícii nie je
odpovedajúce písmeno, ale znak -, znamená to, že nie je možné súbor čítať,
písať alebo spúšťať.
Použitím príkazu ls nie je vidieť, či daný adresár obsahuje len súbory,
len adresáre alebo obidvoje. Na rozlíšenie treba napísať ls -l, čím pre každý
súbor dostaneme riadok popisovačov v tvare
i uuugggooo v horov 2000 Maj15 14:00 eva
kde i - identifikácia: d - eva je adresár
- - eva je súbor
u - user, g - group, o - other
(rwx, -)
v - veľkosť (1 - súbor, 2 - adresár)
horov - používateľ, ktorý vytvoril súbor
2000 - veľkosť súboru v bytoch
Maj15 -dátum vytvorenia súboru
14:00 -čas vytvorenia súboru
eva - názov súboru (adresára)
Príklad:
-rw-r--r-- 1 horov 2000 Maj15 14:30 adam.pas
ide o súbor adam.pas, vytvorený 15. mája o 14:30, veľkosť 2000 bytov,
vlastník horov môže čítať a písať, ostatní môžu iba čítať, nie je vykonateľný
drwxr-xr-x 2 horov 1024 Maj15 14:30 adam1
ide o adresár adam1, vytvorený 15. mája o 14:30, veľkosť 1024 bytov,
vlastník horov môže čítať, písať a vojsť do adresára, ostatní môžu iba čítať
a vojsť do adresára
Nastavenie prístupových práv - príkaz chmod umožňuje nastaviť jedno
(písmeno u, g, o určí pre koho, písmeno r, w, x čo a znamienko + umožniť, zakázať), viaceré alebo všetky prístupové práva (pomocou binárnych čísel
6/9
unix
7=rwx).
Jedno prístupové právo
chmod o+w adam.pas pre ostatných možnosť zápisu
Viac prístupových práv
chmod 755 adam1 pre skupinu a ostatných čítať a vojsť
chmod 644 adam.pas pre skupinu a ostatných iba čítať
Príkazové súbory
Príkazy operačného systému nemusia byť zadávané len z terminálu. Môžu byť uložené
ako text v súbore a shell ich postupne vykonáva. V takom prípade hovoríme o
príkazovom súbore (ako v MS DOS), resp. o skripte. S využitím príkazových súborov je
možné naprogramovať rad úloh - od jednoduchých až po komplexné (napr. rôzne
inštalácie včítane komunikácie s používateľom). Aby bol príkazový súbor spustiteľný,
treba nastaviť jeho parameter +x. V príkazovom súbore môžu byť vykonávané všetky
príkazy operačného systému, spúšťané úlohy, testované podmienky a vykonávané cykly.
Do príkazového súboru môžu byť pri jeho spustení prenášané parametre (oddelené
medzerou), ktoré sú v súbore označené znakom $. Parameter $0 udáva názov
príkazového súboru, parameter $# udáva celkový počet parametrov, zadaných pri volaní
príkazového súboru.
Na ilustráciu uvedieme jednoduchý príkazový súbor, ktorý vypíše (príkaz echo)
počet a hodnotu parametrov, zadaných pri spustení príkazového súboru, pokiaľ nejaké
boli zadané, resp. vypíše popis funkcie a spôsob volania príkazového súboru, ak bol tento
spustený bez parametrov. Pozn. - prvý riadok skriptu slúži pre voľbu interpretera na
spracovanie príkazového súboru (v našom prípade shell, môže byť aj iný - c-shell).
Riadky, ktoré začínajú znakom #, znamenajú komentár.
#!/bin/sh
# Uvodny priklad prikazoveho suboru pr1
#
# Spustenie: chmod 700 pr1
#
# Ucel: pouzitie prikazu echo
#
prenos parametrov do suboru
#
test poctu parametrov - prikaz if
#
vypis funkcie suboru
#
vypis hodnot prenesenych parametrov / prikaz for
#
echo
echo Vitajte v operacnom systeme Unix
echo
echo Nazov prikazoveho suboru = $0
echo Pocet zadanych parametrov = $#
if
test $# = “0”
then echo
echo Ucel $0 - vypisuje
pocet a hodnotu
echo
parametrov zadanych pri jeho
echo
volani / oddelenych medzerou
else echo
for i in $*
do
echo parameter = $I
done
fi
7/9
unix
8/9
História operačného systému Linux
Autor - Linus Torvalds (*1969, do r.
1997 vo Fínsku, potom USA, od
septembra 2010 občan USA), verzia OS
Unix pre osobné počítače s procesorom
Intel, Alpha a ďalšie, bol kompletne
vytvorený znovu. Pôvodná verzia
v priebehu
asi
desiatich
rokov
zdokonaľovaná množstvom ľudí na
celom svete s cieľom konkurencie
ostatným operačným systémom typu
Unix.
Projekt OS Linux začal výskumom
vlastností procesora 386 (od r. 1985).
Licenčné podmienky GPL (GNU 1
General Public Licence) - vzťahuje sa na
všetko programové vybavenie nadácie
FSF (Free Software Foundation) - cieľ
je zabrániť obmedzovaniu distribučných práv ostatných, s každou
distribúciou sprístupniť zdrojové kódy - užitočné pre programátorov.
Ciele GNU - sprístupnenie Unix programov používateľom ostatných OS,
vytvorenie prenositeľného OS (vlastnosti ako Unix), ktorý pobeží na
všetkých počítačových platformách (procesor Intel, PowerPc, Alpha či iný)
– OS Hurd.
Rozdiel medzi Linux a
v programátorskom rozhraní.
Hurd
-
nie
v používateľskom,
ale
Hurd - moderný operačný systém, Linux -založený na filozofii starého
Unixu.
Linux - podporuje väčšinu programového vybavenia pre Unix, včítane
systému X Window (vytvorený na MIT - grafické okná a ich interaktívna
spolupráca)
Okrem štandardov (System V a BSD) - štandardizačné dokumenty úradu
pre štandardizáciu IEEE pod označením POSIX (Portable Operating System
Interface), Linux splňuje väčšinu podmienok POSIX-1 a POSIX-2.
V každej distribúcii operačného systému Linux je v adresári /usr/src/linux/
súbor CREDITS obsahujúci zoznam všetkých ľudí, ktorí sa významnou
mierou podieľali na jeho vývoji, napr. v raných dobách existencie tohoto
Skratka názvu projektu vývoja voľne šíriteľného a použiteľného softwaru
(GNU’s Not Unix) – vývojár Richard Stallman
1
unix
systému sa o prekladač GCC (základný prekladač jazyka C pre Linux) a o
knižnice Linux C staral H. J. Lu.
Podrobnosti na www.linux.cz.
9/9
Download

Operačný systém Unix