Obsah

1   ÚVOD.. 7

2   Základná koncepcia číslicového počítača.. 12

2.1        Počítače riadené tokom inštrukcií (von Neumannovské počítače) 12

2.2        Princetonská a Harvardská architektúra.. 13

2.3        Počítače riadené tokom údajov (Data-flow systémy) 14

2.4        Klasifikácia číslicových počítačov.. 14

2.4.1     Klasická klasifikácia. 14

2.4.2     Flynnova klasifikácia. 15

3   Reprezentácia informácií v počítači 17

3.1        Analógové zobrazenie informácií 17

3.2        Číslicové zobrazenie informácií 17

3.3        Typy informácií 18

3.3.1     Logické informácie. 19

3.3.2     Číselné informácie. 19

3.3.2.1       Číselné sústavy. 19

3.3.2.2       Prevody medzi sústavami 20

3.3.2.2.1    Prevod celej časti čísla z desiatkovej sústavy do sústavy so základom zą10. 21

3.3.2.2.2    Prevod desatinnej časti čísla z desiatkovej sústavy do sústavy so základom zą10. 21

3.3.2.2.3    Prevod celej časti čísla zo sústavy so základom zą10 do desiatkovej sústavy. 22

3.3.2.2.4    Prevod  desatinnej časti čísla zo sústavy so základom zą10  do desiatkovej sústavy. 23

3.3.2.2.5    Prevod medzi sústavami so základom rovným mocnine číska 2. 24

3.3.2.3       Dvojková, osmičková a šestnástková aritmetika. 25

3.3.2.4       Kódovanie číselných informácií 25

3.3.2.4.1    Priamy kód. 26

3.3.2.4.2    Inverzný kód. 27

3.3.2.4.3    Doplnkový kód. 30

3.3.2.4.4    Dvojkovo-desiatkový kód (BCD kód) 32

3.3.3     Zobrazenie nečíselných údajov. 32

3.3.3.1       Znakové (textové) informácie. 32

3.3.3.2       Grafické informácie. 33

4   Operačný systém... 36

4.1        Architektúra operačného systému.. 38

4.1.1     BIOS. 38

4.1.2     Jadro operačného systému. 39

4.1.3     Nadstavby operačného systému. 39

4.2        Štart operačného systému.. 39

4.3        Zariadenia operačného systému.. 40

4.3.1     Znakové zariadenia. 40

4.3.2     Blokové zariadenia. 40

4.3.3     Organizácia údajov na zariadeniach. 40

4.3.3.1       Súbory. 40

4.3.3.2       Adresáre (Katalógy) 41

4.3.3.2.1    Štruktúra adresárov. 41

4.3.3.2.2    Cesta a úplné meno súboru. 41

5   UNIX.. 42

5.1        Základné vlastnosti OS UNIX. 42

5.2        Základné postupy v OS UNIX.. 44

5.2.1     Prihlásenie sa, zmena hesla a odhlásenenie sa. 44

5.2.1.1       Prihlásenie sa do systému. 44

5.2.1.2       Zmena hesla. 45

5.2.1.3       Odhlásenie sa zo systému. 46

5.2.1.4       Použitie osobného počítača na emuláciu terminálu. 46

5.2.1.5       Automatické odhlásenie. 47

5.2.1.6       Nastavenie osobných údajov a interpretra príkazov. 47

5.3        Príkazy pre nastavenie a ovládanie terminálu.. 48

5.4        Súbory a katalógy v OS UNIX.. 50

5.4.1     Princípy výstavby súborového systému. 50

5.4.2     Štruktúra adresárov v OS UNIX. 53

5.4.3     Mená súborov a adresárov. 53

5.4.4     Pridanie linky na katalóg alebo súbor. 55

5.4.5     Príkazy pre prácu s katalógmi. 56

5.4.6     Prideľovanie prístupových práv. 57

5.4.6.1       Číselný spôsob zmeny prístupových práv. 58

5.4.6.2       Symbolický mód zmeny prístupových práv. 59

5.4.7     Príkazy pre prácu so súbormi. 59

5.4.7.1       Príkazy na výpis obsahu súboru. 60

5.4.7.2       Príkazy pre rušenie, premenovanie a kopírovanie súborov. 62

5.4.7.3       Príkazy pre porovnávanie, triedenie a prehľadávanie súborov. 65

5.4.7.4       Ďalšie používané príkazy. 67

5.4.8     Príkazy pre prácu so systémovými frontami 69

5.4.8.1       Tlačový front 69

5.4.8.2       Front pošty. 71

5.4.8.3       Front úloh. 71

5.5        Vykonávanie príkazov a správa procesov. 72

5.5.1     Príkazy. 72

5.5.2     Procesy. 73

5.6        Príkazy pre komunikáciu medzi používateľmi 76

5.7        Štandardné sieťové príkazy OS UNIX.. 80

5.7.1     Testovanie siete. 80

5.7.2     Vzdialené vykonanie príkazu a prihlásenie sa. 80

5.7.3     Vyhľadávanie osôb. 82

5.8        Linux.. 83

6   Základy dátovej komunikácie. 85

6.1        Štandardy a sieťové modely.. 85

6.2        ISO OSI referenčný model sieťovej architektúry.. 86

6.2.1     Fyzická vrstva. 87

6.2.2     Spojová (linková) vrstva. 87

6.2.3     Sieťová vrstva. 88

6.2.4     Transportná vrstva. 88

6.2.5     Relačná vrstva. 88

6.2.6     Prezentačná vrstva. 88

6.2.7     Aplikačná vrstva. 88

6.3        Prepojovacie služby.. 88

6.4        Prepojovacie prvky.. 90

6.4.1     Opakovač (repeater) a rozbočovač (hub). 90

6.4.2     Most (bridge) a prepínač (switch). 91

6.4.3     Smerovač (router). 91

6.4.4     Brána (gateway). 92

7   Počítačové siete. 94

7.1        Rozdelenie počítačových sietí 94

7.2        Realizácia sieťovo-závislých vrstiev.. 98

7.2.1     Prenosové médiá počítačových sietí 98

7.2.2     Metódy prístupu na prenosové médium.. 100

7.2.3     Druhy prenosov. 101

7.2.4     Odolnosť voči chybám pri komunikácii 102

7.3        Realizácia aplikačných vrstiev.. 102

7.3.1     Model klient-server. 102

7.3.2     Typy služieb na báze modelu klient-server. 103

7.3.3     Agentové systémy. 106

8   Internet a jeho sieťový model.. 108

8.1        Adresácia v Internete. 109

8.2        Datagramy, segmenty, pakety.. 110

8.3        Internet  Protocol (IP) 110

8.4        Transmission Control Protocol (TCP) 111

8.5        User Datagram Protocol (UDP) 112

9   Základné služby Internetu.. 113

9.1        Menná služba (DNS) 113

9.2        Identifikácia používateľov Internetu.. 115

9.3        Elektronická pošta (e-mail) 115

9.3.1     Procesný model služby e-mail 116

9.3.2     Poštové protokoly. 116

9.3.2.1       SMTP. 117

9.3.2.2       POP a IMAP. 118

9.3.3     Program elektronickej pošty PINE.. 119

9.4        Prenos súborov - ftp. 122

9.5        Telnet.. 124

9.6        IRC.. 124

9.7        GOPHER.. 126

9.8        World Wide Web (WWW) 127

9.8.1     Internet Explorer. 128

9.8.2     HyperText Transfer Protocol (HTTP). 129

9.8.3     Jazyk HTML a tvorba WWW stránok. 132

9.8.3.1       Štruktúra HTML dokumentu. 132

9.8.3.2       Základné formátovanie textu v HTML dokumente. 133

9.8.3.3       Kaskádové štýly. 134

9.8.3.4       Zoznamy v HTML dokumente. 134

9.8.3.5       Odkazy v HTML dokumente. 135

9.8.3.6       Grafika a HTML dokument 136

9.8.3.7       Tabuľky v HTML. 138

9.8.3.8       Rámce v HTML. 140

9.8.3.9       Formuláre v HTML. 144

9.8.3.10      Ďalšie možnosti jazyka HTML a obslužné skripty. 147

9.8.4     Interaktívna tvorba WWW stránok, HTML editory. 150

10 Záver.. 151

11 Prílohy.. 152

11.1      Textové editory v OS UNIX.. 152

11.1.1       Riadkový editor ed. 152

11.1.2       Obrazovkový editor vi 155

11.1.2.1      Štartovanie editora vi 156

11.1.2.2      Ukončenie editora vi 156

11.1.2.3      Pohyb kurzora v editore vi 156

11.1.2.4        Vkladanie, prepisovanie, mazanie, hľadanie, kopírovanie, presun a obnovenie textu. 157

11.1.2.5      Práca so súbormi v editore vi 158

11.1.2.6      Prostredie editora vi 159

11.1.3       Niektoré ďalšie editory. 160

11.2      Príkazový interpreter sh.. 161

11.2.1       Príkazy. 161

11.2.2       Interné príkazy shellu. 162

11.2.2.1      Interné príkazy vetvenia a cyklov. 162

11.2.2.2      Ostatné interné príkazy shell-u. 162

11.2.3       Substitúcia príkazov. 164

11.2.4       Substitúcia premennej 164

11.2.5       Generovanie mena súboru, znaky hromadného výberu. 166

11.2.6       Potlačenie špeciálneho významu znakov. 166

11.2.7       Vstup a výstup. 166

11.2.8       Prostredie. 167

11.2.9       Vykonanie príkazu. 167

11.2.10     Argumenty pri spustení príkazového interpretra. 168

12 Odporúčaná rozširujúca literatúra.. 169

13 Prednasky.. 170

13.1      1. prednaska .. 170

13.2      2. prednaska .. 170

13.3      3. prednaska .. 170

13.4      4. prednaska .. 170

 

 

 

 

 

 


1  ÚVOD

Výpočtová technika je jednou z generačných premien v histórii ľudstva. Jej rozvoj je natoľko búrlivý, že od drahých zariadení určených pre vojenské a špičkové priemyselné aplikácie sa behom necelých tridsiatich rokov rozšírila až do škôl a domácností ako výhodné informačné médium a prostriedok poučenia i zábavy; súčasne zaplavila konštrukčné kancelárie, reklamné a filmové štúdiá, nemocnice a svoje uplatnenie si našla aj v móde, automobilizme, letectve, umení.

Ako aj vyplýva z predchádzajúcich riadkov, vývoj ľudstva je zviazaný s procesom získavania, spracovania, prenosu a záznamu informácie. Ak k tomu prirátame, že najviac informácií človek získava zrakom, dnešné počítače tomu už veľmi napomáhajú. Uveďme si krátky historický prehľad, ktorého dôsledkom bol vývoj výpočtovej techniky.

             

Obr. 1 Čínsky abacus, fragment Babbage-ovho počítacieho stroja

V 4. tisícročí pred n.l. vzniká prvé ucelené obrázkové písmo v Mezopotámii. O tisíc rokov neskôr (3. tisícročie pred n.l.), geniálni obchodníci Féničania zostrojili abakus (mechanické počítadlo). O niekoľko desaťročí nato, sa objavujú prvé súvislé znakové sady, do tohto obdobia datujeme vznik abecedy. V slávnom Babylone v rokoch 1800-1600 pred n.l. uzreli svetlo sveta prvé písomne zachované matematické algoritmy (60-ková sústava). 570-500 rokov pred n.l. Pytagoras skúma vzťahy geometrických telies. Približne v roku 300 pred n.l. sú Euklidom vytvorené základy všeobecnej matematiky. V 8.-9. storočí píše Muhamed ibn Musa ibn Abdallah Al Chorezmi Al-Majdusi prvú učebnicu aritmetiky, v ktorej sa používa už desiatková sústava. Johannes Gutenberg v rokoch 1444-1448 objavil a zaviedol základnú technológiu prenosu informácií ľudstva – kníhtlač. Po abakuse pre ľudí v roku 1673 Gottfried Wilhelm Leibniz stavia zdokonalený kalkulačný stroj. Prelom nastáva, keď potom v roku 1725 B. Bouchon vynašiel diernu pásku, ktorou riadi tkací stroj a 1805-1808 Joseph Marie Jacquard zavádza tkáčsky stav riadený diernymi štítkami. XIX. storočie je celkovo poznačené rôznymi technickými objavmi. V roku 1833 Charles Babbage vypracúva projekt univerzálneho počítacieho stroja, 1854 George Boole utvára dvojstavovú logiku (tak potrebnú pre dnešné počítače), 1855 James Clerk Maxwell zostrojuje integrátor, 1876 Graham Bell vynašiel telefón, 1888 Elerman Heller konštruuje diernoštítkový počítací stroj (dokedy sa používali dierne štítky ako pamäťové médium?), 1890 Herman Hollerith stavia diernoštítkový kalkulátor a tabelátor pri prvom sčítaní ľudu v USA.

                 

Obr. 2 Hollerith a jeho kalkulátor

Prichádza slávne XX. storočie, ktoré je predovšetkým vo svojom počiatku poznamenané 1. svetovou vojnou. Až po nej resp. tesne pred druhou svetovou vojnou sa začínajú objavovať prvé typické lastovičky súčasnej výpočtovej techniky. V rokoch 1935-1941 začína priekopnícka práca Konráda Zusa na návrhu elektrického počítača. Táto je korunovaná úspechom a Zuse zostrojuje programovateľný počítač Z3.  Ním inšpirovaný Alan M. Turing v roku 1943 zostrojuje elektronický počítač COLLOSSUS.

     

Obr. 3 Z3, COLLOSUS a ENIAC

Z tohoto obdobia sú známe elektromechanický počítač MARK I (I943), ktorého autorom bol profesor Hardwardskej univerzity Aiken a nadväzný reléový počítač MARK 2. Oba počítače sa programovali pomocou prepojovacieho panelu. V rokoch 1942 až 1946 bol na Pensylvánskej univerzite pod vedením John Von Neumanna vyvinutý prvý elektronický počítač ENIAC (Electronic Numerical Integrator And Calculator), ktorý je považovaný za "praotca" súčasných počítačov.

                       

Obr. 4 (zľava) Konrád Zuse, John von Neumann, Alan M. Turing

V dôsledku ťažkopádneho programovania prostredníctvom prepínačov, práve pri tomto počítači vznikla myšlienka použiť spoločnú pamäť pre inštrukcie programu a údaje a použiť dvojkovú číselnú sústavu namiesto desiatkovej. Niektorí odborníci však považujú za predchodcov súčasných počítačov ale uvádzaný britský Collosus (1943), ktorý začal pracovať vo výskumnom centre v Betchley resp. počítač ABC (Atanasoff - Bessey Computer), ktorý bol vyvinutý v rokoch 1937 až 1942 pod vedením profesora Atanasoffa a jeho doktoranda Bessyho vo vtedajšej College štátu Iowa. Myšlienky von Neumanna boli v plnej miere uplatnené až pri vývoji počítačov EDSAC (Electronic Delay Storage Automatic Calculator) na univerzite v Cambridgi a EDVAC (Electronic Discreate Variable Computer) na univerzite v Pensylvánii v roku 1949, v ktorých sa programy už zapisovali (ukladali) do pamäte. V 50. rokoch je zaznamenaný prudký vývoj elektronických počítačov v celom svete. V bývalej ČSR boli v tomto období vyvinuté počítače: reléový SAPO a elektrónkový EPOS, v ktorých niektoré uplatnené myšlienky, ako napríklad princíp hlasovania na zabezpečenie spoľahlivosti, použitie paritných kódov, použitie dekadickej aritmetiky, kódu zvyškových tried, vnútorného prideľovania času a obvodovými prostriedkami zabezpečené multiprogramovanie predstavovali významné architektonické riešenia, v dôsledku čoho sa tieto počítače, najmä však tranzistorová verzia počítača EPOS, v tom čase zaradili medzi svetovú špičku.

Ďalší vývoj bol pomerne búrlivý a tak ďalší vývoj bude uvedený heslovito vo forme generácií počítačov. Pojem generácia počítačov bol zavedený v 70. rokoch, aby bolo možné odlíšiť jednotlivé stupne vývoja počítačov z hľadiska ich architektonického riešenia, použitej prvkovej základne, používateľského prístupu, programového vybavenia, jazykových prostriedkov a aplikačného určenia.

Nultá generácia (- 1945)

·        prvková základňa: elektromechanická, pamäť: mechanická (prepojky v lepšom prípade dierna páska a dierny štítok, nerozlišuje sa vnútorná a vonkajšia pamäť),

·        jediná centrálna procesorová jednotka dekomponovaná na riadiacu a aritmetickú jednotku, mnoho funkcií v pevnom tvare,

·        aritmetika v pevnej rádovej čiarke, sekvenčný program,

·        programovanie: mechanické (prepojky, spínače),

·        individuálny prístup používateľa k počítaču.

·        predstavitelia: MARK I,II (USA 1943), RMV (ZSSR), SAPO (ČSR)

Obr. 5 Počítač MARK 1

Prvá generácia (1945 - 1950):

·        prvková základňa: elektrónky, pamäť: magnetická bubnová (nerozlišuje sa vnútorná a vonkajšia pamäť),

·        jediná centrálna procesorová jednotka - procesor (CPU - Central Processor Unit) v dekomponovanom tvare na riadiacu jednotku a aritmetickú jednotku),

·        aritmetika v pevnej rádovej čiarke, využívajúca programové počítadlo, inštrukcie vetvenia a akumulátor,

·        účasť CPU na všetkých pamäťových a Vstupno/Výstupných operáciách,

·        programovanie v strojovom jazyku alebo v assembleri,

·        individuálny prístup používateľa k počítaču.

·        predstavitelia: ENIAC (USA), IBM650 (USA), URAL (ZSSR), EPOS (ČSR)

Druhá generácia (1950-1960):

·        prvková základňa: tranzistory, operačná pamäť: feritová,

·        dvojúrovňová pamäť: vnútorná (operačná) pamäť a vonkajšia pamäť,

·        aritmetika v pohyblivej rádovej čiarke, multiplexovanie pamäte, indexové registre,

·        V/V operácie vykonáva V/V jednotka (V/V procesor),

·        programovanie v jazykoch vyššej úrovne (Fortran, Algol, Cobol),

·        jazyk medziregistrových prenosov na navrhovanie technických prostriedkov číslicových počítačov,

·        vznik jednoduchších operačných systémov, začiatok uplatňovania filozofie prideľovania času a jednoduchých prerušovacích systémov, dávkový spôsob prístupu používateľa k počítaču

·        predstavitelia: IBM1401 a Spectra70 (USA), MINSK (ZSSR), ZPA600 a Tesla200 (ČSR)

Tretia generácia (1960 - 1975):

·        prvková základňa: tranzistorové mikromoduly a neskôr integrované obvody SSI a MSI, hlavná pamäť: feritová, polovodičová,

·        operačná rýchlosť: rádovo 106 op/s (FLOPS – FLoating point Oeration Per Second = operácie v pohyblivej rádovej čiarke za sekundu), kapacita operačnej pamäte: rádovo 0,1 až 10 MB (MegaByte = Megabajt),

·        existencia rodín počítačov kompatibilných smerom od jednoduchších k zložitejším modelom,

·        mikroprogramové riadenia CPU

·        prúdové spracovanie informácií (pipelining),

·        vyrovnávacie pamäte typu cache na vyrovnávanie rýchlosti medzi hlavnou pamäťou a CPU,

·        ďalší rozvoj vyšších programovacích jazykov, ich rozšírenie o jazyky simulačné

·        multiprogramovanie podporujúce viacpoužívateľský prístup prostredníctvom prekrývania činnosti CPU a V/V jednotiek,

·        operačný systém na podporu virtuálneho pamäťového priestoru so zdieľaním zdrojov,

·        aplikácie v oblasti informačných a riadiacich systémov, pracujúcich v reálnom čase.

·        predstavitelia: IBM370 (USA), EC1045 (ZSSR), EC1027 (ČSSR)

Štvrtá generácia (1975 - 1990):

·        prvková základňa: integrované obvody LSI, VLSI, mikroprocesory, hlavná pamäť: polovodičová (dynamická), uplatňovanie nových fyzikálnych princípov (holografia, laserová technika a pod.),

·        operačná rýchlosť: dosahuje rádovo 1 až l00 MFLOPS, kapacita hlavnej pamäti l0 MB až 100 GB,

·        architektúry výkonných paralelných počítačových systémov (multiprocesorových a multipočítačových) so zdieľanou a distribuovanou pamäťou: rozvoj superpočítačov, výkonných personálnych počítačov, pracovných staníc a počítačových sietí, technická podpora riešenia vektorových operácii (vektorové procesory), operačné systémy, jazyky a kompilátory na podporu paralelného spracovania procesov (multiprocessing),

·        vysokošpecializované a konverzačné jazyky, maximálne zjednošujúce styk používateľa s počítačom,

·        podpora riešenia systémových programov technickými prostriedkami,

·        viacprocesorové koncepcie počítačových systémov umožňujúcich paralelný prístup veľkého počtu používateľov (distribuované počítačové systémy),

·        rozvoj lokálnych a regionálnych počítačových sietí

·        predstavitelia: mikropočítače (IBM PC, Apple Macintosh), minipočítače (DEC (Compaq), Hewlett Packard, Sun), sálové počítače, superpočítače  (CRAY), prvé domáce počítače ...

              

Obr. 6 Sálový počítač IBM ES9000 a prvé IBM PC

 

Piata generácia (1990 - ):

·        prvková základňa: integrované obvody s hustotou rádovo l06 diskrétnych prvkov na čipe, vďaka využívaniu nových technológií (technológia GaAs a optické technológie),

·        architektúry nových počítačových systémov v triede paralelných počítačov s extrémnym počtom procesorov resp. procesorových elementov (masívne paralelné počítače), počítačov na logické programovanie, databázových a znalostných počítačov, personálnych počítačov a počítačov sieťových prostredí,

·        uplatňovanie princípov skalability pri návrhu architektúr počítačových systémov s dôrazom na dosiahnutie vysokých hodnôt spoľahlivostných parametrov a parametrov výkonnosť/cena,

·        heterogénne počítačové systémy na riešenie rozsiahlych problémov (heterogeneous processing),

·        inteligentný medztistyk (porozumenie reči, obrazu a prirodzeného jazyka) a dôraz na riešenie úloh umelej inteligencie,

·        počítačové systémy integrovaných komunikácií so zdôraznením telekomunikačnej techniky a multimediálnej techniky,

·        ciele nových architektúr: dosiahnutie výkonnosti rádovo v TFLOPS-och.

V súvislosti s vývojom počítačom rezonuje v súčasnosti najmä otázka informačných technológiíinformačnej spoločnosti. Informačné technológie reprezentujú riešenia technických prístupov na zber, prenos a ukladanie informácii, vrátane prístupov na zabezpečenie procesov ich spracovania a komunikačných procesov pre potreby aplikácií a prípravy ich implementačného prostredia. Medzi najvýznamnejšie z nich patria:

·        technológia softvérových produktov,

·        počítačové siete: lokálne (LAN - Local Area Network), mestské (MAN - Metropolitan Area Network) a regionálne (WAN - Wide Area Network),

·        komunikačné a sieťové prostredia (Internet, Intranet, elektronická pošta),

·        optoelektronické pamäťové média (CD ROM - Compact Disk Read Only Memory),

·        multimediálne systémy, počítačová grafika a virtuálna realita (Obr. 7),

·        elektronické noviny, časopisy a pod.,

·        interaktívna televízia.

Vývoj nových výpočtových prostriedkov predstavuje významnú charakteristickú črtu rozvoja VT. Vo vývoji súčasných počítačových systémov sa zdôrazňuje potreba dosiahnuť vysoké hodnoty najmä ich nasledujúcich parametrov: výkonnosť-cena, skalabilitaspoľahlivosť. Podmienky na dosiahnutie týchto cieľov vytvárajú:

·        uplatnenie nových fyzikálnych princípov (optoelektronika, nové polovodičové materiály, ...),

·        technológia výroby stavebných komponentov (vysoký stupeň prvkov na čipe),

·        architektonické riešenie (paralelné a špecializované počítačové architektúry, masívne paralelné architektúry, počítačové a telekomunikačné sieťové prostredia).

 

Obr. 7 Pracovisko virtuálno-realitného systému s detailom datovej prilby a ukážkami virtuálnych modelov (KPI FEI TU Košice)


2  Základná koncepcia číslicového počítača

Číslicový počítač je definovaný ako zložitý univerzálny číslicový systém (automat), určený na samočinné vykonávanie požadovanej postupnosti operácií (výpočtov) nad údajmi, zobrazenými číslicovým kódom, na základe vopred pripraveného a v pamäti uloženého programu.

Okrem toho si tu ešte vysvetlíme ďalšie pojmy, ktoré bude v nasledujúcom výklade používať častejšie:

Výpočtový proces je transformácia vstupných údajov na výstupné. Je to postupnosť operácií, ktoré vedú od počiatočných vstupných údajov ku konečným výsledkom.

Technické prostriedky (hardvér, angl. hardware)  sú technické zariadenia číslicového počítača, ktoré umožňujú uchovávanie, spracovanie a prenos binárne kódovaných informácií. Tieto prostriedky sú navzájom poprepájané do určitej architektúry, ktorá charakterizuje spôsob spracovania informácií.

Programové prostriedky (softvér, angl. software)  - programy - v užšom význame sú to binárne zakódované informácie o spôsobe spracovania určitých údajov doplnené podľa potreby o binárne zakódované údaje - t.j. program tvorí postupnosť inštrukcií a údajov. Program môže existovať v rôznych formách. Tá forma, ktorá je binárne kódovaná a je priamo vykonateľná na danom číslicovom počítači, sa nazýva vykonateľná forma. Program môže existovať aj v textovom tvare ako tzv. zdrojový text zapísaný v nejakom programovacom jazyku. Programové prostriedky daného číslicového počítača sú programy, ktoré môže daný počítač vykonávať - sú vykonateľné na danej architektúre.

Počítačový systém (výpočtový systém) je systém zahrňujúci číslicový počítač (základné technické vybavenie - technické prostriedky), prídavné technické vybavenie a programové vybavenie (programové prostriedky).

 

Základný koncept počítača, ktorý vykonáva postupnosť operácií na dosiahnutie konečného výsledku, je známy viac ako 150 rokov. Bol použitý v mechanických dekadických počítacích strojoch, ktoré navrhol a čiastočne zostrojil už v úvode spomínaný Charles Babbage. Jeho analytický stroj (Analytical Engine) z r. 1834 obsahuje centrálnu procesorovú jednotku (mechanickú, s dekadickou aritmetikou), pamäť (mechanickú) a vstupnú a výstupnú jednotku (pre dierne karty), t.j. všetky základné časti moderných počítačov. Program a údaje pre tento stroj sú na diernych kartách. Samozrejme, vtedajšia mechanická technológia nedovolila úspešnú realizáciu funkčných zariadení, takže jeho myšlienky zostali viac ako 100 rokov nevyužité. Až vytvorenie elektronických obvodov v 40. rokoch 20. storočia ich umožnilo zaviesť do praxe. V tomto čase John von Neumann predložil základný princíp počítača riadeného tokom inštrukcií, ktorý sa stal základom jednej triedy súčasných počítačov. Táto trieda počítačov býva tiež označovaná ako von Neumannovské počítače. Vyznačuje sa tým, že jednotlivé inštrukcie programu sa vykonávajú postupne za sebou, tak ako sú uložené v pamäti. V súčasnosti existujú aj výpočtové systémy, v ktorých sa inštrukcie nevykonávajú v poradí, v akom sú uložené v pamäti (napr. počítače riadené tokom údajov, neurónové počítače a iné). V tomto počítači sa vykoná práve tá inštrukcia, ktorá má pripravené údaje, pričom nezáleží od jej poradia

2.1              Počítače riadené tokom inštrukcií (von Neumannovské počítače)

Pre vysvetlenie princípu nám poslúži nasledujúci obrázok. Základné črty von Neumannovského počítača sú:

·        Pamäť použitá na uloženie inštrukcií aj údajov

·        Riadiaca jednotka použitá na výber inštrukcií z pamäte.

·        Aritmeticko-logická jednotka použitá na vykonávanie špecifikovaných operácií nad údajmi.

·        Vstupná jednotka použitá na vstup údajov, výstupná jednotka na výstup údajov.

Obr. 8 Analógia a bloková koncepcia von Neumannovského počítača

Pamäť je množina rovnakých buniek, z ktorých každá je samostatne identifikovateľná svojim poradovým číslom-adresou. Inštrukcie a údaje, uložené v pamäti, sú zakódované dvojkovým kódom.

Inštrukcia (príkaz pre riadiacu jednotku) určuje, aká operácia sa má vykonať a s ktorými údajmi. Inštrukcie sa vykonávajú postupne za sebou, tak ako sú uložené v pamäti. Výnimkou sú skokové inštrukcie. Implicitne sa predpokladá pripravenosť údajov, ktoré vykonávaná inštrukcia požaduje. Dvojkovo zakódované inštrukcie sú označované ako strojové inštrukcie. Operácie, špecifikované v strojových inštrukciách, sú obyčajne iba jednoduché, napr. aritmetické a logické operácie, posuvy atď. , čo poskytuje najväčšiu flexibilitu. Zložitejšie operácie potom vytvára používateľ ako postupnosť inštrukcií. Z danej množiny strojových inštrukcií (inštrukčný súbor procesora) používateľ vyberá inštrukcie na vykonanie požadovaného výpočtu. Táto postupnosť vybraných inštrukcií sa nazýva strojový program počítača.

Riadiaca jednotka a aritmetická jednotka sú zvyčajne realizované ako jeden funkčný blok, ktorý sa nazýva centrálna procesorová jednotka (CPU) alebo skrátene procesor. Ak je procesor integrovaný na jedinom polovodičovom čipe, nazýva sa mikroprocesor. Procesor obsahuje niekoľko registrov, ktoré sú použité na uchovávanie špecifických operandov (použitých pri výpočte), adries a riadiacich informácií. Počet registrov a ich funkcia závisí od konkrétneho procesora, ale niektoré registre sú prítomné v každom procesore von Neumannovského počítača. Typickým registrom je programové počítadlo (register PC – Program Counter). Obsahuje adresu nasledujúcej inštrukcie, ktorá sa bude vykonávať

2.2              Princetonská a Harvardská architektúra

Von Neumannov počítač je predstaviteľom tzv. Princetonskei architektúry počítačov, ktorá sa vyznačuje spoločnou pamäťou pre inštrukcie i údaje. Z tohto vyplýva, že je potrebné zabezpečiť, aby procesor neinterpretoval údaj ako inštrukciu a naopak. Prístup procesora k pamäti je totiž rovnaký, či sprístupňuje inštrukciu alebo údaj - používajú sa tie isté adresné, údajové i riadiace signály. Takéto usporiadanie pamäte potom umožňuje používať aj tzv. samomodifikujúce sa programy. t.j. program počas svojho behu môže meniť sám seba. Je potrebné si však uvedomiť, že takáto situácia môže nastať aj neželane, Či už nesprávnym programom alebo vplyvom poruchy. Niektoré súčasné typy procesorov už vykonávajú kontrolu správnosti prístupu k pamäti vlastnými technickými prostriedkami. V prípade, že sa niektorý prístup k pamäti vyhodnotí ako nesprávny (napr. procesor sa pokúša zapisovať do oblasti pamäte, ktorá je vyhradená na uloženie inštrukcií), automaticky sa generuje výnimka. Túto situáciu potom rieši operačný systém počítača. Príkladom počítačov s Princetonskou architektúrou sú napr. počítače s procesormi rodiny Intel80x86.

Počítače s Harvardskou architektúrou majú oddelený adresný priestor pre program a pre údaje, takže situácia, aby program prepísal sám seba, nemôže nastať. Táto architektúra sa v súčasnosti používa najmä pri niektorých jednočipových mikropočítačoch. Jednočipový mikropočítač sa vyznačuje tým, že všetky štruktúrne prvky počítača (t j. procesor, pamäť a vstupné a výstupné obvody) sú integrované na jedinom polovodičovom čipe. Procesor používa na adresáciu obidvoch pamätí a na prenos údajov a inštrukcií obyčajne spoločné adresné a údajové vodiče, rozlišovanie medzi prístupom k pamäti programu a k pamäti údajov vykoná aktiváciou odlišných riadiacich signálov. Príkladom počítača s Harvardskou architektúrou je jednočipový mikropočítač Intel8051.

2.3              Počítače riadené tokom údajov (Data-flow systémy)

Tieto počítače nevykonávajú inštrukcie postupne za sebou, tak ako sú uložené v pamäti, vykoná sa práve tá inštrukcia, ktorá má pripravené údaje. Ak má viac inštrukcií pripravené svoje údaje, tieto inštrukcie sa vykonajú paralelne. Jedná sa teda o paralelné, viacprocesorové počítače. Poznamenajme, že je potrebné vedieť vytvoriť toľko kópií vstupných údajov, koľko je inštrukcií, ktoré ich budú potrebovať. Počítače riadené tokom údajov predstavujú osobitnú triedu paralelných počítačov. Sú to počítače novej generácie s vysokou výkonnosťou. Ďalšou významnou vlastnosťou je, že programu sa prispôsobuje štruktúra technických výpočtových prostriedkov. V pamäti inštrukcií sa nachádzajú všetky inštrukcie programu. Zvláštny prvok počítača tzv. arbitračná sieť zisťuje, ktorá inštrukcia (inštrukcie) je pripravená na vykonanie (t j. ktorá má pripravené všetky svoje vstupné údaje). Túto inštrukciu potom vyberie a pridelí ju na vykonanie niektorému voľnému procesoru z poľa procesorov. Keď procesor vykoná príslušnú inštrukciu, pošle výsledok do distribučnej siete.

2.4              Klasifikácia číslicových počítačov

S vývojom počítačov sa vyvíjali aj klasifikačné hľadiská, podľa ktorých sa jednotlivé typy číslicových počítačov rozlišovali a zatrieďovali do charakteristických skupín. Medzi najrozšírenejšie kritéria, podľa ktorých sa klasifikujú číslicové počítače patria:

·        technické parametre,

·        aplikačné určenie,

·        používateľský prístup,

·        typ spracúvaných informácií,

·        architektonická koncepcia,

·        perspektívny rozvoj.

Tieto prístupy klasifikácie počítačov do určitej miery odzrkadľujú i historické opodstatnenie používania toho ktorého klasifikačného kritéria. V ďalšom sú uvedené najznámejšie prístupy klasifikácie číslicových počítačov. V prvých fázach vývoja číslicových počítačov sa pri ich klasifikácii vychádzalo z niektorých základných technických parametrov, menovite operačnej rýchlosti R a kapacity C hlavnej pamäte, ktoré boli významným rozlišovacím faktorom v tej dobe. Podľa hodnôt týchto parametrov boli číslicové počítače zatrieďované do nasledujúcich skupín:

·        malé počítače (R < 105 op/s, C < 32 KB),

·        stredné počítače (105 op/s < R < 106 op/s, 64 KB < C < 512 KB),

·        veľké počítače (R > 106 op/s, C > 1024 KB).

2.4.1                  Klasická klasifikácia

Pri vývoj i malých počítačov sa začali uplatňovať snahy, aby nové výpočtové prostriedky boli pri zachovaní pôvodnej funkcie jednoduchšie a lacnejšie. So zdokonaľovaním a zlacňovaním výrobnej technológie integrovaných obvodov sa zvyšovala efektívnosť malých počítačov. Vytvorila sa možnosť pripojenia veľkého počtu periférnych zariadení. Tým na báze konvenčných malých počítačov vznikli nové výpočtové prostriedky, označované ako minipočítače, ktoré sa svojou výkonnosťou a funkčnými možnosťami stále viac začali približovať stredným počítačom.

S ďalším zdokonaľovaním integrovaných obvodov sa v polovici 70. rokov začína prudký vývoj číslicových systémov, označovaných ako mikroprocesory, ktoré sú reprezentované rôznymi architektúrami procesorov, konštrukčne realizovanými jedným integrovaným obvodom (v začiatočných štádiách vývoja – niekoľkými integrovanými obvodmi). Počítač, ktorého základnú jednotku tvorí mikroprocesor, sa nazýva mikropočítač. Hlavný rozdiel medzi mikropočítačmi a minipočítačmi spočíval v ich aplikačnom určení. Zatiaľ čo minipočítače svojimi možnosťami začali plniť úlohu univerzálnych konvenčných počítačov, mikropočítače boli skôr orientované na jednoúčelové využitie ako komponenty v systémoch s lokálnym číslicovým spracovaním informácii a riadením, v univerzálnych počítačových systémoch, vo výkonných viacprocesorových, resp. viacpočítačových systémoch a pod. Vychádzajúc z uvedených súvislostí je možné i v súčasnosti rozlišovať nasledujúce klasické skupiny číslicových počítačov, odvodené od ich aplikačného určenia:

univerzálne, ktoré sa vyznačujú sa spôsobilosťou efektívne riešiť najširšie spektrum úloh: vedecko-výskumných, inžinierskych, ekonomických, ktoré si z druhej strany vyžadujú mať výpočtové prostredie na spracovanie rôznych typov informácií (numerické, nenumerické, a pod., (ich predstaviteľmi sú konvenčné počítače vyšších výkonnostných kategórií),

problémovo orientované, ktoré sa vyznačujú spôsobilosťou efektívne riešiť úlohy v ohraničenej triede aplikácií, avšak s možnosťou hromadného uplatnenia najmä v oblasti tvorby informačných a riadiacich systémov lokálneho významu, systémov počítačom podporovaného navrhovania, diagnostiky, riadenia experimentu a pod., (ich predstaviteľmi boli mikro- a minipočítače, v súčasnosti sú reprezentované širokým sortimentom osobných počítačov a pracovných staníc),

špecializované, ktoré sa vyznačujú spôsobilosťou efektívne riešiť spravidla jednu úlohu, resp. veľmi úzky okruh úloh, podľa vopred určeného algoritmu a najčastejšie predstavujú komponent, ktorý je súčasťou väčšieho automatizačného celku: technologického zariadenia, riadiacich jednotiek, pripadne komplexných riadiacich a informačných systémov a pod. (v súčasnosti sa výpočtové prostriedky s uvedenou koncepciou označujú ako vnorené systémy).

2.4.2                  Flynnova klasifikácia

Reprezentuje jednu z najrozšírenejších klasifikácií číslicových počítačov z roku 1966, v ktorej sa uplatňuje hľadisko architektonickej koncepcie počítačov. Podľa Flynna sa architektúry počítačov rozlišujú v závislosti od súčasne spracúvaných údajových a inštrukčných prúdov prenášaných medzi procesorom a pamäťou pri vykonávaní výpočtového procesu. V súvislosti s uvedeným existujú štyri základné typy počítačových architektúr:

·        Architektúra SISD (Single Instruction Single Data stream) - reprezentuje konvenčné architektúry von Neumannovského typu, v ktorých inštrukcie jediného prúdu (jediného programu) postupne vykonávajú operácie s údajmi (operandmi) jediného údajového prúdu.

·        Architektúra MISD (Multiple Instruction Single Data stream) - reprezentuje tzv. zreťazené (prúdové) počítačové systémy, v ktorých jediný údajový prúd sa spracúva viacnásobným inštrukčným prúdom. Z praktického hľadiska majú v tejto architektúre význam systémy, kde sa jedná o zreťazené spracovanie údajového prúdu v procesoroch dekomponovaných na čiastkové operačné segmenty. V nich sa v každom časovom okamihu vykonávajú príslušné operácie definované viacnásobným prúdom inštrukcií, avšak vždy iba jedného programu. V zmysle Flynnovej klasifikácie v architektúre MISD by sa mali vykonávať súbežne inštrukcie viacerých programov s údajmi jediného údajového prúdu, v dôsledku čoho táto architektúra v pravom zmysle slova predstavuje iba určitú klasifikačnú abstrakciu, ktorá z praktického hľadiska nemá význam.

·        Architektúra SIMD (Single Instruction Multiple Data stream) - je architektúra, v ktorej jediný prúd inštrukcií vykonáva operácie nad mnohonásobným prúdom údajov, čo je charakteristické pre paralelné počítačové systémy, v ktorých sa takto realizujú vektorové, maticové manipulačné operácie so štruktúrovanými údajmi. Vzhľadom na uvedené architektúry SIMD reprezentujú špecializované počítačové systémy, určené na efektívne riešenie vybraného okruhu úloh.

·        Architektúra MIMD (Multiple Instruction Multiple Data stream) - je architektúra, v ktorej viacnásobný prúd inštrukcií viacerých programov alebo úloh spracúva mnohonásobný údajový prúd. Reprezentuje rôzne typy multiprocesorových a multipočítačových architektúr, ktoré predstavujú najvýkonnejšiu skupinu počítačových systémov univerzálneho typu.

Okrem Flynnovej klasifikácie existuje množstvo ďalších klasifikačných prístupov zameraných na klasifikáciu počítačových architektúr, ktoré majú význam pri klasifikácii paralelných počítačových systémov. Spomedzi nich medzi najvýznamnejšie patria Fengova klasifikácia z roku 1972, podľa ktorej sa počítače zatrieďujú do príslušných skupín z hľadiska počtu slov a bitov spracúvaných paralelne za vopred určenú časovú jednotku a Händlerova klasifikácia z roku 1977, podľa ktorej sa počítače zatrieďujú do príslušných skupín z hľadiska počtu procesorov, aritmeticko-logických jednotiek a elementárnych logických elementov v ich štruktúrnej organizácii.

Obr. 9 Klasifikácia architektúr počítačových systémov podľa Flynna

 

3   Reprezentácia informácií v počítači

Informácie sa v počítači reprezentujú (zobrazujú) prostredníctvom hodnôt istých premenných fyzikálnych veličín. V reálnom počítači môžu tieto fyzikálne veličiny nadobúdať hodnoty iba z konečnej množiny hodnôt. Nositeľom hodnoty v elektronických počítačoch je elektrické napätie.

3.1              Analógové zobrazenie informácií

Pri analógovom zobrazení ide o spojité zobrazenie t.j. každej hodnote vstupnej veličiny zodpovedá určitá hodnota fyzikálnej veličiny (ktorá je nositeľom informácie) v počítači. Na nasledujúcom obrázku je naznačené analógové zobrazenie informácií. Vstupnú veličinu predstavujú čísla v rozsahu <-300; +300>. Im zodpovedá hodnota napätia v počítači v rozsahu <0 V. +5 V>. Tak napr. číslu -300 zodpovedá v tomto prípade napätie 0 V, číslu 0 napätie 2,5 V a číslu +300 napätie + 5 V. Uvedený spôsob zobrazenia sa používal pri analógových počítačoch, s ktorými sa už v praxi nestretneme.

Obr. 10 Princíp analógového zobrazenia informácií

3.2              Číslicové zobrazenie informácií

Pri číslicovom zobrazení sa údaje v počítači uchovávajú vo vnútorných pamäťových prostriedkoch, ktoré sa nazývajú registre a pamäti.

Register je usporiadaná n-tica základných pamäťových elementov, ktoré sú dvojhodnotové t.j. sú schopné uchovávať jednu z dvoch hodnôt H resp. L, kde H označuje vysokú a L nízku hodnotu fyzikálnej veličiny, ktorá je nositeľom informácie. Týmto dvom hodnotám fyzikálnej veličiny je možné priradiť boolovské (logické) hodnoty 0 a 1 niektorým z týchto spôsobov:

Lŕ0

 

Lŕ1

 

Hŕ1

 

Hŕ0

 

 

Pozitívna logika

 

Negatívna logika

Jedno pamäťové miesto v registri sa nazýva - bit (skratka z binary digit - dvojková číslica). Jednotlivé bity registra budeme označovať číselne sprava doľava, začíname číslom 0. Tento bit budeme nazývať ako nultý, ďalší v poradí bude prvý atď. Nultý bit je najmenej významný, (n-1)-bit je najvýznamnejší. Na nasledujúcom obrázku je znázornený n-bitový register (register s dĺžkou n) s značením jednotlivých bitov. Ak je počet bitov n=8, potom budeme hovoriť o bajt-e (byte).

Obr. 11 n-bitový register

Pamäť , ako už bolo spomenuté, je množina rovnakých buniek, z ktorých každá je samostatne identifikovateľná svojou pozíciou - adresou. Pre každú bunku pamäte platí rovnaká špecifikácia, aká už bola uvedená pre register.

Pre reprezentáciu informácií v pamäti čislicového počítača sa teda používa kódovanie pomocou postupnosti číslic 0 a 1. Sú to číslice, ktoré používa dvojková (binárna) číselná sústava. Preto uvedené postupnosti 0 a 1 budeme nazývať binárny kód. V tomto zmysle pomocou jednej dvojkovej číslice je možné kódovať nielen elementárnu číselnú (kvantitatívnu)  informáciu (množstvo 0 alebo 1), ale ľubovoľnú elementárnu informáciu  interpretovateľnú ako logická hodnotu (Boolovkú hodnotu) pravda alebo nepravda, áno alebo nie a pod.

Obr. 12 Ilustrácia binárneho kódovania

Keďže z názvu binárna číslica (binary digit - bit) pochádza aj názov elementárnej jednotky pamäti, potom  sa niekedy okrem pojmu binárny kód  používa aj označenie bitový kód.

3.3              Typy informácií

V číslicovom počítači sú binárne (bitovo) zobrazované (kódované) všetky druhy informácií:

údaje (údajové štruktúry) - informácie, ktoré sú predmetom alebo výsledkom spracovania (operandy, výsledky)

inštrukcie - informácie, ktoré definujú spôsob spracovania (operácie s operandami, operácie bez operandov)

Číslicový počítač pracuje s bitovo kódovanými informáciami - informáciami vo vnútornom (strojovom) tvare. Takéto kódovanie má z hľadiska strojového spracovania niekoľko výhod.  Pre človeka je ale binárny spôsob  ťažkopádny a neprirodzený. Preto vstupné a výstupné údaje sa zobrazujú pre používateľa  v prijateľnejšej forme - vo vonkajšom tvare ako:

·        logické hodnoty

·        čísla v desiatkovej (prípadne osmičkovej a šestnástkovej) sústave

·        znaky a texty v národnej abecede

·        farebné alebo čiernobiele obrázky

·        sekvencie obrázkov (videosekvencie)

·        zvuk

Poznať spôsob kódovania informácií v číslicovom počítači, operácie s týmito kódmi a spôsob prevodu - transformácie informácií z vnútorného do vonkajšieho tvaru a naopak je užitočné najmä pre:

programovanie na úrovni strojového kódu: strojovo-orientované jazyky používajú ako operandy binárne kódované informácie, preto programátor pracujúci na úrovni strojového jazyka potrebuje poznať tieto kódy.

pre programovanie vo vyššom programovacom jazyku: programátor sa často musí rozhodnúť pre výber vhodného typu údajových štruktúr z hľadiska rýchlosti operácií, pamäťových nárokov a požadovanej presnosti. Pri tomto rozhodovaní je dobré poznať implementáciu týchto typov v pamäti, t.j. ich kódovanie (vnútorný tvar), pre číselné typy ich presnosť, interval zobrazenia (minimálne a maximálne zobraziteľné čísla), zložitosť operácií (časová náročnosť) a pod.

výber vhodného počítača a programovacieho jazyka pre riešenie danej úlohy.

Problematika kódovania údajov je podstatne širšia ako poskytuje priestor tejto publikácie. Cieľom ale nie je podať veľa alebo všetko, ale iba to, čo je považované z hľadiska základov výpočtovej techniky a programovania za podstatné. Podrobnejšie bude prebraté kódovanie číselných informácií.

3.3.1                  Logické informácie

Najjednoduchší údajový typ je jednoduchý logický (boolovský) typ, pri ktorom má množina hodnôt iba dva prvky, ktoré označujeme symbolmi T a F (True resp. False) alebo 1 a 0. Tento údajový typ je možné priamo zobraziť (kódovať) do registra s dĺžkou n, pričom bude zaberať iba jediný bit. Ostatné bity by boli nevyužité a tak sa často do registra s dĺžkou n zobrazuje n booleovských premenných, z ktorých každej je priradený jeden bit.

Zložitejším údajovým typom je boolovský vektor s dĺžkou k. Ak je k <n, tento vektor je možné priamo zobraziť do registra s dĺžkou n.

3.3.2                  Číselné informácie

3.3.2.1                 Číselné sústavy

Číselná sústava je systém jednoznačných pravidiel pre zobrazenie číselných hodnôt pomocou konečného počtu znakov (číslic, cifier). Číslo je reprezentované v danej číselnej sústave postupnosťou (reťazcom) číslic (alebo nejakých znakov). Číselnú sústavu charakterizuje z vonkajšieho pohľadu použitá množina znakov - číslic.

Číslo ako abstraktný prostriedok vhodný  na vyjadrenie kvantity pri dorozumievaní má  svoju hodnotuzápis. Hodnotou čísla (ďalej len hodnotou)  obyčajne rozumieme množstvo, počet, veľkosť alebo inú kvantifikovateľnú vlastnosť.

Hodnota čísla  je kvantita, ktorú číslo reprezentuje.

Zápis čísla je postupnosť (reťazec) číslic (cifier, znakov), ktoré predstavujú dohodnutý kód pre danú kvantitu (množstvo) v danej číselnej sústave.

V komunikácii medzi ľudmi sa používajú najčastejšie čísla v desiatkovej  (dekadickej) číselnej sústave. Preto pod  hodnotou čísla si obyčajne predstavíme zápis tohto čísla  práve v desiatkovej sústave. Napr.  pod hodnotou čísla  VIII (zápis v sústave rímskych číslic) si predstavíme 8, za kladným dvojkovým číslom 1001 si predstavíme hodnotu  9.

Pri zápise čísel v rozličných sústavách budeme ďalej používať (pokiaľ to bude pre zrozumiteľnosť potrebné) zátvorkový zápis s vyznačením základu uvažovanej číselnej sústavy v tvare:

 (X…)              ,kde X je číslica v danej sústave a z je základ sústavy.

Pri osmičkových číslach sa používa aj zápis v tvare oXXXX, napr. o27. Pri šestnástkových číslach sa používa aj zápis v tvare XXXXH, napr. 1AH = (1A)16.  Ak najľavejšia cifra je reprezentovaná znakom A,B,C,D,E, alebo F, pred číslom sa uvádza znak 0, napr. 0FFH = (FF)16

Rovnaký zápis čísla v rôznych číselných sústavách môže zodpovedať rôznym hodnotám. Napríklad  zápis 32 predstavuje v dekadickej sústave hodnotu 32, ale v osmičkovej sústave hodnotu 26. Opačne: rôzny zápis v rôznych číselných sústavách môže predsavovať rovnakú hodnotu. Napr. zápis 12 v osmičkovej sústave a aj zápis 1010 v dvojkovej sústave predstavujú rovnakú hodnotu 10 (v desiatkovej sústave).

Podľa toho, ako ovplyvňuje pozícia číslice v zápise čísla jeho hodnotu, rozdeľujeme číselné sústavy na:

·        nepozičné

·        pozičné

V nepozičných číselných sústavách nezávisí príspevok každej číslice k hodnote čísla vždy od pozície tejto číslice v zápise. Príkladom nepozičnej sústavy je sústava rímskych číslic. V zápise čísla VIII každý zo znakov ‘I’ prispieva k celkovej hodnote čísla čiastkovou hodnotou 1. Tu pozícia číslice I neovplyvňuje hodnotu, ktorou prispieva táto číslica k celkovej hodnote čísla.  Ale v číslach IV a VI je príspevok číslice I závislý od pozície: v prvom prípade číslica I zmenšuje hodnotu V o jedna, v druhom prípade ju o 1 zväčšuje.

Iný príklad: Nepozičnou sústavou je aj sústava bežne používaná a všeobečne známa v pohostinstvách. Tam zápis   ˝˝˝˝  ˝˝  predstavuje hodnotu sedem.

Z hľadiska výpočtovej techniky majú význam pozičné sústavy, preto sa ďalej budeme zaoberať len pozičnými číselnými sústavami.

Pozičné číselné sústavy sú charakteristické tým, že čiastkové hodnoty, ktorou prispievajú jednotlivé číslice k hodnote čísla, závisia od pozície číslice v zápise čísla (každá pozícia v zápise čísla má iný rád), od základu číselnej sústavy a od hodnoty, ktorú predstavuje číslica. Napr. v desiatkovom čísle 3243.563 najľavejšia číslica 3 prispieva k hodnote tohto čísla čiastkovou hodnotou 3*103 = 3000 a najpravejšia číslica v zápise hodnotou  3*10-3 = 0.003.

Ak  základ pozičnej číselnej sústavy je:              z

                           a zápis čísla je v tvare:            anan-1 ...a1a0 . a-1a-2...a-m

                                                                                    n                  m   

    potom  hodnotu čísla môžme vyjadriť:      H =   S ai zi     +   S a-j z-j

                                                                                                                             i=0                        j=1

                                                                                                                  celá            desatinná

                                                                       časť               časť

                                                             (n+1 rádov)       (m rádov)

                                                                           

    

Pre hodnoty všetkých číslic ai v zápise čísla platí:     aÎ {  0,1,..., z-1 }

 

Jednotlivé pozície, na ktorých sa nachádzajú číslice v zápise čísla, sú jednoznačne definovateľné pomocou tzv. rádu.

Rád je celočíselné jednoznačné označenie každej pozície v zápise čísla. Je zviazaný s indexom (exponentom ) i. Smerom od desatinnej bodky vľavo sú rády celej časti čísla (tieto rády sú nezáporné, označované 0,1,2,...). Napravo od desatinnej bodky sú rády desatinnej časti (rády -1,-2,-3,...).

Každý rád v pozičnej sústave so základom z je charakterizovaný váhou, váha i-teho rádu je zi.

V konkrétnom zápise čísla v pozičnej číselnej sústave so základom z, hodnota číslice v i-tom ráde definuje hodnotu tohto rádu. Napr. pre číslo 324.56 v desiatkovej sústave platí:

číslica 2 je v 1.ráde Ţ váha 1. rádu je 101 Ţ hodnota cifry (číslice) v 1. ráde je 2 Ţ hodnota 1. rádu je 2*10 = 20

 

3.3.2.2                 Prevody medzi sústavami

V súvislosti s programovaním a výpočtovou technikou vôbec sa najčastejšie stretneme s číslami v sústave:

desiatkovej (dekadickej) - používa sa pre kódovanie vonkajšieho tvaru číselných informácií (napr. pre reprezentáciu číselných údajov na obrazovke alebo v tlačovej zostave)

osmičkovej (oktálovej)

šestnástkovej (hexadecimálnej) - zápis čísel v týchto sústavách slúži hlavne ako sprostredkujúca medziforma medzi strojovým (binárnym) kódom a vonkajším tvarom (napr. dekadickým pre čísla, znakovým alebo reťazcovým pre znakové informácie) napr. pre výpis obsahu pamäte, používajú ju hlavne profesionáli (programátori a iní špecialisti). Oproti dvojkovej sústave má osmičková a šestnástková sústava výhodu v kratšom zápise čísel (napr. je určite jednoduchšie hovoriť o adrese 1F00H ako o adrese 1111100000000.)

dvojkovej (binárnej) - používa sa na kódovanie informácií na strojovej úrovni

Preto sa ďalej budeme zaoberať prevodmi čísel:

·        z desiatkovej sústavy do sústavy s iným základom

·        zo sústavy s nedsiatkovým základom do desiatkovej sústavy

·        medzi sústavami so základom rovným mocnine čísla 2 (praktický význam majú prevody medzi dvojkovou, osmičkovou a šestnástkovou sústavou)

Postupy prevodu pre celú a desatinnú časť čísla sú rozdielne, preto ich uvedieme zvlášť.

 

3.3.2.2.1   Prevod celej časti čísla z desiatkovej sústavy do sústavy so základom zą10

Nech hodnota celej časti prevádzaného čísla je Nc a zápis hľadaného čísla v sústave so základom zą10 je:

an-1an-2 ...a1a0 ,

potom platí:

Nc = an zn + an-1 zn-1 + ... + a1 z + a0

Nc = z(an zn-1 + an-1 zn-2 + ... + a1 ) + a0

odtiaľ

a0 = Nc - z Nc1  = Nc mod z     (zvyšok po celočíselnom delení)

kde                  Nc1= an zn-1 + an-1 zn-2 + ... + a1

 

analogicky

a1 = Nc1 - z Nc2  = Nc1 mod z

kde                  Nc2= an-1 zn-2 + an-2 zn-3 + ... + a3z + a2

 

Jednotlivé cifry ai v sústave so základom zą10 vypočítame ako zvyšky po postupnom celočíselnom delení hodnôt Nc ,Nc1 ,Nc2 ,... základom z.

 

Uvedený výpočet môžeme reprezentovať nasledujúcou tabuľkou:

Celá časť čísla Nc

Nc

Nc1 = Nc/z

Nc2 = Nc1/z

...

Ncn-1

Ncn

Celočíselný podiel Nc/z

Nc/z

Nc1/z

Nc2/z

...

 

0

Zvyšok po delení

a0

a1

a2

...

an-1

an

 

Príklad: Preveďte číslo 39 z desiatkovej do dvojkovej sústavy:

Celá časť čísla 39

39

19

9

4

2

1

Celočíselný podiel základom 2

19

9

4

2

1

0

Zvyšok po delení

1

1

1

0

0

1

 

 

t.j. (39)10 = (100111)2

3.3.2.2.2   Prevod desatinnej časti čísla z desiatkovej sústavy do sústavy so základom zą10

Nech hodnota desatinnej časti prevádzaného čísla je Nd a zápis hľadaného čísla v sústave so základom zą10 je:

0.a-1a-2...a-m,

potom platí:

Nd = a-1 z-1 + a-2 z+ ... + a-m+1 z-m+1  + a-m z-m

Nd = z-1 (a-1 + a-2 z-1 + ... + a-m z-m+1)

odtiaľ

a-1 = Nd z  - Nd1     (výraz je celá časť súčinu desatinnej časti Nd  a základu  z)

kde                  Nd1= a-2 z-1 + ... + a-m z-m+1

analogicky

a-2 = Nd z  - Nd2

kde                  Nd2= a-3 z-2 + ... + a-m z-m+1

 

Jednotlivé cifry a-i v sústave so základom zą10 vypočítame ako celú časť jednotlivých súčinov pri postupnom násobení desatinnej hodnoty čísla základom z.

 

 

Uvedený výpočet môžeme reprezentovať nasledovnou tabuľkou:

Desatinná časť čísla Nd

Nd

Nd1= Nd z- a-1

 

 

 

Násobenie základom z

Nd z

Nd1 z

 

 

 

Celá časť súčinu

a-1 = [Nd z]c

a-2 = [Nd1 z]c

...

a-m+1

a-m

Príklad: Preveďte číslo 0.3 z desiatkovej do dvojkovej sústavy:

Desatinná časť čísla 0.3

0.3

0.6

0.2

0.4

0.8

0.6

0.2...

Násobenie základom 2

0.6

1.2

0.4

0.8

1.6

1.2

   ...

Celá časť súčinu

0

1

0

0

1

1

   ...

 

 

t.j. (0.3)10 = (0.010011001...)2

 

Postupnosť číslic 1001 sa bude pri prevode periodicky opakovať. t.j. uvedené číslo má v dvojkovej sústave neukončený desatinný rozvoj.

Vo všeobecnosti platí, že čísla, ktoré majú v jednej sústave ukončený desatinný rozvoj, v sústave s iným základom môžu mať desatinný rozvoj neukončený. Pretože čísla sú v pamäti počítača reprezentované v binárnom kóde na konečnom počte bitov, môže sa stať, že sú zobrazené s chybou. Táto chyba vzniká preto, že:

·        po prevode do dvojkovej sústavy majú čísla neukončený desatinný rozvoj alebo

·        po prevode je síce desatinný rozvoj ukončený, ale na zobrazenie čísla je k dispozícii menší počet bitov, ako si vyžaduje desatinná časť.

3.3.2.2.3   Prevod celej časti čísla zo sústavy so základom zą10 do desiatkovej sústavy

Nech hodnota celej časti prevádzaného čísla je Nc a zápis hľadaného čísla v sústave so základom z je:       an-1an-2 ...a1a0 ,

potom platí:

Nc = an zn + an-1 zn-1 + ... + a1 z + a0

Hodnotu čisla Nc vieme spočítať pomocou uvedeného súčtu súčinov príslušnej mocniny základu a hodnoty cifry v zodpovedajúcom ráde. Takýto spôsob výpočtu môže mať pri strojovom spracovaní dve nevýhody:

·        vo výpočte sa používa operácia umocnenia (na rozdiel od operácií súčet a súčin je časovo náročnejšia)

·        ak chceme začať počítať hodnotu čísla od najľavejšej cifry an, musíme poznať jej rád n (t.j. počet všetkých cifier v čísle). Pri strojovom čítaní čísla zľava doprava je potom nutné najprv prečítať všetky číslice z čísla a až potom začať s výpočtom hodnoty.

Súčet mocnín je možné upraviť nasledovne:

Nc = (an zn-1 + an-1 zn-2 + ... + a1 )z + a0

odtiaľ postupným vyberaním pred zátvorku dostaneme:

Nc = (...((an z + an-1 )z + an-2 )z + ... + a1 )z + a0

Výsledný zátvorkový výraz je na prvý pohľad zložitejší, ale pre výpočet je výhodnejší, ako pôvodný súčet mocnín, pretože:

·        používa len operácie sčítania a násobenia

·        nie je potrebné dopredu poznať počet číslic v čísle

Výpočet je možné vykonať pomocou rekurentného vzťahu:

Si = Si+1z + ai      , pre     i =  n, n-1, n-2,..., 1, 0

Sn+1 =  0

Nc   =  S0

Uvedený postup je známy ako Hornerova schéma. V tabuľkovej forme môže mať nasledujúcu reprezentáciu:

 Cifry ai celej časti čísla

an

an-1

...

a1

a0

Si+1z     

0

anz

 

 

 

Si = Si+1z + ai

an

anz + an-1

...

 

Nc

Príklad: Preveďte číslo (100111)2 z dvojkovej do desiatkovej sústavy:

 Cifry ai celej časti čísla

a5

a4

a3

a2

a1

a0

 

1

0

0

1

1

1

Si+1  * 2     

0

2

4

8

18

38

Si = Si+1*2 + ai

1

2

4

9

19

39

t.j. (100111)2 = (39)10

Hornerova schéma je postup (algoritmus) vhodný nielen na prevod celých čísel z nedekadickej do dekadickej sústavy, ale aj na prevod celých čísel z vonkajšieho (textového) do vnútorného (binárneho) tvaru. Nech napr. je potrebné previesť celé dekadické číslo 2375 (vo vonkajšom tvare reprezentované postupnosťou kódov znakov 2, 3, 7 a 5 (pre kódovanie znakov sa používa napr. ASCII kód, pozri ďalej)) do vnútorného - binárneho tvaru. Aplikovaním Hornerovej schémy je možné prevod vykonať priebežne počas spracovávania tohto čísla zľava doprava postupným násobením a sčítaním:

( ( ( (0) * 10 + h(2))*10 + h(3))*10 + h(7))*10 + h(5) = ( ( ( 2)*10 + 3)*10 + 7)*10 + 5 = 2375

kde h(c) je hodnota zodpovedajúca zakódovanej čislici c.

3.3.2.2.4   Prevod  desatinnej časti čísla zo sústavy so základom zą10  do desiatkovej sústavy

Nech hodnota desatinnej časti prevádzaného čísla je Nd a zápis hľadaného čísla v sústave so základom zą10 je:

0.a-1a-2...a-m,

potom platí:

Nd = a-1 z-1 + a-2 z+ ... + a-m+1 z-m+1  + a-m z-m

Nd = (a-1 + a-2 z-1 + ... + a-m z-m+1) z-1

odtiaľ postupným vyberaním pred zátvorku:

Nd = (a-1 + (a-2 + ... (a-m+1 + a-m z-1 ) z-1 ...)z-1) z-1

Výpočet je možné vykonať pomocou rekurentného vzťahu:

S-i = S-i-1/z + a-i  ,pre      i   =  m, m-1, m-2,..., 1

S-m-1 =  0

Nd    =  S-1/z

Tabuľková reprezentácia výpočtu je:

 Cifry desatinnej časti čísla

a-m

a-m+1

...

a-2

a-1

 

S-i-1/z

0

a-m /z

 

 

 

Nd

S-i = S-i-1/z + a-i

a-m

a-m /z + a-m+1

...

 

 

 

Príklad: Preveďte číslo   (0.010011)2 z dvojkovej do desiatkovej sústavy:

 Cifry desatinnej časti čísla

a-6

a-5

a-4

a-3

a-2

a-1

 

 

1

1

0

0

1

0

 

S-i-1/2

0

0.5

0.75

0.375

0.1875

0.59375

0.296875

S-i = S-i-1/2 + a-i

1

1.5

0.75

0.375

1.1875

0.59375

 

t.j. (0.010011)2 = (0.296875)10

Prevod čísla z jednej nedesiatkovej do inej nedesiatkovej sústavy zrealizujeme buď podľa pravidiel aritmetiky v jednej zo sústav alebo postupným prevodom cez desiatkovú sústavu podľa schémy:  (A)z1 = (B)10 = (C)z2  ,                  z1 ą  z2,  z1  ą 10,  z2  ą 10

3.3.2.2.5   Prevod medzi sústavami so základom rovným mocnine číska 2

Nech hodnota čísla je N. Zápis tohoto čísla v sústave so základom z = 2i  je:

ajaj-1...a1a . a-1a-2...a-k+1a-k

a zápis tohto čísla v sústave so základom 2 je:

bnbn-1...b1b . b-1b-2...b-m+1b-m

potom platí:

N = aj zj +aj-1 zj-1 +...+a1 z1 +a0 +a-1 z-i +a-2 z-2 +...+a-m+1 z-m+1  +a-m z-m          

N = aj 2ji +aj-1 2(j-1)i +...+a1 2i +a0 +a-1 2-i +a-2 2-2i +...+a-m+1 2(-m+1)i  +a-m 2-mi 

N = bk 2+bk-1 2k-1    +...+b1 2k +b0 +b-1 2-1 +b-2 2-2  +...+b-n+1 2-n+1     +b-n 2-n  

Pre celú časť Nc:

Nc = aj zj +aj-1 zj-1 +...+a1 z1 +a0                                                                                                    (1)

Nc = aj 2ji +aj-1 2(j-1)i +...+a1 2i +a0 

Nc = bk 2+bk-1 2k-1    +...+b1 21 +b0                                                                                            (2)

Nech i=3, t.j. chceme previesť číslo z dvojkovej do osmičkovej sústavy. Upravme súčet mocnín (2) tak, že združíme do zátvoriek trojice susedných sčítancov zodpovedajúcich celej časti Nc čísla N smerom od najnižšieho rádu k vyšším rádom:

Nc = (bk 2k+...)+...+(b5 25 + b4 24+b3 23 )+(b2 22 + b1 2+b0)

Vyberme pred zátvorku postupne sprava doľava 20, 23, 26 , 29,...

Nc = ...+(b522+b421+b3)29+(b522+b421+b3)26+(b522+b421+b3)23+(b222+b12+b0)20

Ak nahradíme mocninu 23 základom z=8, potom

Nc = ...+(b522+b421+b3)83+(b522+b421+b3)82+(b522+b421+b3)81+(b222+b12+b0)80          (3)

Porovnaním vzťahov (1) a (3) za predpokladu, že z=8, pre číslice ai platí:

a0 = b222+b12+b0

a1 = b522+b42+b3

a2 = b822+b72+b6

...

aj = b3j+222+b3j+12+b3j

 

Analogicky pre desatinnú časť čísla bude platiť:

a-1 = b-122+b-22+b-3

a-2 = b-422+b-52+b-6

a-3 = b-722+b-82+b-9

...

a-m = b-3m+222+b-3m+12+b-3m

To znamená, že prevod z dvojkovej do osmičkovej sústavy je možné urobiť tak, že dvojkový zápis čísla sa rozdelí od desatinnej čiarky doľava a doprava na trojice číslic a „hodnota“ každej z týchto trojíc predstavuje osmičkovú číslicu daného čísla v osmičkovej sústave. Napr. prevod čísla 11111101.11001 z dvojkovej do osmičkovej sústavy urobíme rozdelením číslic na trojice:

                                      011|111|101 . 110|010

                                       3     7     5   .   6    2

t.j. (10111011.1101)2 = (375.62)8

 

Spätný prevod z osmičkovej do dvojkovej sústavy urobíme tak, že jednotlivé osmičkové cifry nahradíme trojicou binárnych číslic reprezentujúcich tú istú hodnotu, ako má daná osmičková cifra.

Platí všeobecne: prevod z dvojkovej sústavy do sústavy so základom  2i (i>0) je možné urobiť nasledovne:

·        dvojkový zápis čísla sa rozdelí od desatinnej bodky doľava a doprava na i-tice číslic

·        pre každú z týchto i-tic sa vypočíta hodnota zodpovedajúceho čísla v dvojkovej sústave

·        vypočítaná hodnota odpovedajúca  i-tici predstavuje číslicu daného čísla v sústave so základom 2i.

 

3.3.2.3                 Dvojková, osmičková a šestnástková aritmetika

Jednoduchosť aritmetických operácií v binárnej sústave vyplýva z existencie iba dvoch rôznych číslic v tejto sústave.

Pre aritmetické operácie platia tieto elementárne pravidlá:

+

-

*

/

0 + 0 =   0

0 + 1 =   1

1 + 0 =   1

1 + 1 = 10

  0 - 0 = 0

10 - 1 = 1

  1 - 0 = 1

  1 - 1 = 0

0 * 0 = 0

0 * 1 = 0

1 * 0 = 0

1 * 1 = 1

0 / 1 = 0

1 / 1 = 1

Poznámka: 1+1 je 0 s prenosom 1 do vyššieho rádu

Poznámka: 0-1 je 1 s výpo-žičkou 1 z vyššieho rádu

 

 

 

Ako už bolo spomenuté, osmičková a šestnástková reprezentácia čísel sa používajú hlavne pre úsporneší zápis a lepšiu čitateľnosť čísel ako majú zodpovedajúce binárne kódy (strojové kódy).

Elementárne pravidlá pre osmičkovú sústavu:

·        pre súčet: prenos do vyššieho rádu je pri „prechode cez“ hodnotu 8

·        pre rozdiel: 1 sa „vypožičiava“ z vyššieho rádu, ak od menšej číslice je potrebné odpočítať väčšiu

Analogické pravidlá platia pre šestnástkovú sústavu.

 

Príklad:  V operačnej pamäti počítača je od adresy 0170H smerom k vyšším adresám uložená tabuľka s dĺžkou 420B (B=bajt). Aká je adresa prvej bunky za tabuľkou?

420 = 1A4H

đ

170H

+

1A4H

314H

đ

Adresa prvej bunky za tabuľkou je 314H

 

2-4 = 0.0625

21 = 2

25 = 32

29 = 512

213 = 8192

2-3 = 0.125

22 = 4

26 = 64

210 = 1024

214 = 16384

2-2 = 0.25

23 = 8

27 = 128

211 = 2048

215 = 32768

2-1 = 0.5

24 = 16

28 = 256

212 = 4096

216 = 65536

Tab. 1 Tabuľka najpoužívanejších mocnín 2

3.3.2.4                 Kódovanie číselných informácií

Číselné informácie - sú také informácie, ktoré nás zaujímajú v svojej číselnej podobe ako prirodzené, celé a reálne čísla. Informácie takého charakteru sú častým predmetom alebo výsledkom spracovania na výpočtovej technike. Objavujú sa ako vstupy a  výstupy v informačných systémoch, riadiacich systémoch, pri riešení numerických úloh, atď.  Vzhľadom na strojové spracovanie číselných informácií je potrebné vykonávať prevod (transformáciu, kódovanie) týchto informácií z vonkajšieho tvaru do vnútornej (strojovej) reprezentácie a naopak a tiež vykonávať rozličné aritmetické operácie. Efektívnosť týchto operácií je priamo závislá od spôsobu kódovania číselných informácií.

Výhody použitia binárnej sústavy pre kódovanie číselných informácií sú nasledovné:

·        jednoduchosť zobrazenia a technickej realizácie - pre reprezentáciu hodnôt 0 a 1 stačí prvok s dvoma stavmi (táto výhoda sa týka kódovania všetkých druhov informácií)

·        jednoduchosť operácií - pre vykonanie operácií + , - , * , / -  nad operandami v  binárnom kóde stačia operácie sčítania a posuvu

V predošlej kapitole sme sa zaoberali prevodmi celých a desatinných čísel medzi sústavami s rôznymi základmi. Kľúčový význam pre výpočtovú techniku má prevod medzi dekadickou a binárnou sústavou. Vzhľadom na aritmetické operácie so zakódovanými číslami v binárnom kóde je dôležité uvažovať aj o spôsobe kódovania znamienka týchto čísel. V tejto kapitole sa budeme zaoberať spôsobom kódovania čísel so znamienkom, t.j. číselnými kódmi. Použitie týchto kódov pre zobrazenie celých a reálnych čísel bude popísané potom v ďalšej kapitole.

Číslo budeme kódovať ako postupnosť bitov pevnej dĺžky, túto postupnosť budeme nazývať slovom. Jednotlivé bity slova označíme poradovým číslom 0,1,2,...,n sprava doľava.

Existuje mnoho spôsobov kódovania číselných informácií, ktoré zohľadňujú rozličné požiadavky na výsledný kód. My sa oboznámime s najbežnejšími spôsobmi binárneho kódovania, ktoré nejakým spôsobom riešia nasledujúce požiadavky:

·        zobrazenie čísel so znamienkom

·        jednoduchosť operácií

·        možnosť testovania nezobraziteľnosti výsledku operácie

Ďalej bude popísaný priamy kód a modifikované kódy (inverzný, doplnkový a kód s posunutou nulou). Z praktických dôvodov sa v ďalšom výklade a príkladoch obmedzíme len na binárne kódy, hoci uvedené postupy kódovania je možné použiť aj pre sústavy s iným základom ako 2. Binárne kódy budeme v  príkladoch zapisovať aj v osmičkovom a šestnástkovom tvare, pretože tento zápis je úspornejší a často sa v programátorskej praxi používa.

3.3.2.4.1   Priamy kód

Priamy binárny kód (PK) definuje zobrazenie čísel so znamienkom v tvare:

Počet bitov na zobrazenie:               m = n + 1

Pre zakódovanie znamienka + alebo -    stačí jeden bit.

Používané kódovanie je:                         + = 0               - = 1

T.j. kódy dvoch navzájom opačných čísel (a, -a) sa líšia len kódom znamienka.

Pri kódovaní celých čísel v priamom binárnom kóde je interval zobrazenia daný minimálnym a maximálnym číslom nasledovne:

  Amax =   2n - 1,             pre zobrazenie na     m = n + 1   bitoch

  Amin =  -2n + 1

 

Príklad: Zapíšte čísla -28, 37 v dvojkovej sústave v priamom kóde na 16 bitoch. Zobrazte kód v dvojkovom, osmičkovom a šestnástkovom tvare.

(28)10 = (11100)2

(-28)10 = (1 000 000 000 011 100)2PK » o100034 = 801CH

(37)10 = (100101)2

(37)10 = (0 000 000 000 100 101)2PK  »  o45 = 25H

(Zápisy za znakom » predstavujú osmičkové a šestnáskové vyjadrenie daného binárneho kódu. Toto vyjadrenie používame len pre stručnejší zápis.)

Vlastnosti priameho kódu:

Nech K je priamy binárny kód čísla A.

·        Hodnotou kódu K budeme ďalej rozumieť hodnotu čísla bez znamienka, ktoré postupnosť binárnych číslic kódu predstavuje.

·        Hodnotou čísla A v danom kóde K (zobrazené číslo) budeme rozumieť dekadickú reprezentáciu toho čísla so znamienkom, ktore daný kód predstavuje.

Je potrebné si uvedomiť, že smer nárastu kódov (K) a im zodpovedajúcich hodnôt (A) nie je rovnaký:

Zatiaľ čo kódy (interpretované ako čísla bez znamienka) od kódu 00000000 až po kód 11111111 rastú,  hodnoty, ktoré tieto kódy reprezentujú, najprv rastú (od 0,1,...,po Amax ) a potom klesajú (od -0 po Amin).      

V dôsledku tejto vlastnosti:

·        pre kódy K1 a K2, ktorým zodpovedajú postupne hodnoty A1 na zápornej a A2 na kladnej polosi číselnej osi, platí:

                A1 < A2   a súčasne K1 > K2

(kódy K1, K2 uvažujeme v tomto porovnaní ako čísla bez znamienka v rovnakej čiselnej sústave) t.j. v postupnosti kódov a im zodpovedajúcich hodnôt sú rôzne relačné vzťahy.

·        zvýšením hodnoty kódu o 1 sa hodnota čísla, ktorú kód predstavuje, zvýši alebo zníži o 1 podľa toho, či kód reperezentuje záporné alebo nezáporné číslo (výnimkou sú kódy zodpovedajúce maximálnemu kladnému číslu, t.j. 0111...1 a tzv. zápornej nule 1000...0)

Nevýhody priameho kódu:

·        pre rovnomerne rastúce hodnoty kódov zodpovedajúce hodnoty čísel, ktoré kódy reprezentujú, nerastú rovnomerne

·        dva kódy pre zobrazenie nuly - viacznačnosť zobrazenia  0 (alebo  nevyužitý kód 1000...0000 , t.j. „záporná nula“)

·        pre operáciu odčítanie (resp. súčet operandov s rozdielnymi znamienkami) je potrebný iný postup (algoritmus), ako pre sčítanie operandov s rovnakým znamienkom, t.j. pre operáciu súčtu a rozdielu sú potrebné dva algoritmy

3.3.2.4.2   Inverzný kód

Inverzný binárny kód (IK) definuje zobrazenie čísel so znamienkom nasledovne:

Nech B je binárna reprezentácia absolútnej hodnoty dekadického čísla A (hodnoty A), ktoré chceme zakódovať, t.j. B = (|A|)2 .

 

 

 

Potom pre výpočet (A)2IK - binárneho inverzného kódu čísla A platí:

  (m=n+1 je počet bitov zobrazenia (vrátane znamienka))

t.j. pre A<0 je (A)2IK  = 10m-1-(|A|)2

Binárny IK sa nazýva aj jednotkový doplnok - kód záporného čísla sa vypočíta ako doplnok absolútnej hodnoty tohto čísla k číslu 2m-1 (v binárnom tvare je táto konštanta reťazec m jednotiek, preto jednotkový doplnok). Výpočet binárneho IK daného záporného čísla je možné urobiť:

·        podľa definície odpočítaním absolútnej hodnoty čísla od dvojkovej konštanty 10m-1

·        z binárneho zápisu priameho kódu inverziou všetkých bitov okrem znamienkového (ak hľadáme k danému číslu číslo opačné, potom samozrejme invertujeme aj znamienkový bit).

·        inverziou binárneho vyjadrenia absolútnej hodnoty čísla na zodpovedajúcom počte rádov

Príklad:  Zapíšte čísla -28, 37 v binárnom priamom a inverznom kóde na 16 bitoch. Uveďte tento kód v dvojkovom, osmičkovom a šestnástkovom tvare.

(28)10 = (0 000 000 000 011 100)» o34 = 1CH

(-28)10 = (1 000 000 000 011 100)2PK » o100034 = 801CH

(37)10 = (0 000 000 000 100 101)2PK  »  o45 = 25H

Výpočet IK inverziou PK:

     (+28)10 = (0 000 000 000 011 100)2IK » o34 = 1CH

     (-28)10 = (1 111 111 111 100 011)2IK » o177743 = 0FFE3H

     (+37)10 = (0 000 000 000 100 101)2IK » o45 = 25H

(Kladné čísla v priamom aj inverznom kóde majú rovnaký kód.)

Výpočet IK podľa definície (doplnkom ku konštante 2m-1, m je počet bitov pre kód vrátane znamienkového bitu):

m = 16,                     2m-1 = (1 111 111 111 111 111)2  » o177777 = 0FFFFH

Výpočet IK v dvojkovej sústave:

                                        1 111 111 111 111 111

                                      - 0 000 000 000 011 100

                                        1 111 111 111 100 011

Výpočet binárneho IK využitím zápisu v osmičkovej sústave: o177777 - o34 = o177743

Výpočet binárneho IK využitím zápisu v šestnástkovej sústave: 0FFFH - 1CH = 0FFE3H

Vlastnosti inverzného kódu:

Analogicky ako pri priamom kóde, smer nárastu kódov a im zodpovedajúcich hodnôt je síce rovnaký, ale navyše nie je rovnomerný - na rozhraní záporných a nezáporných hodnôt kódy sa líšia o 1 (01111111,10000000) a príslušné hodnoty Amax, Amin sa líšia o veľkosť celého intervalu zobrazenia.

Maximálne a minimálne celé číslo zobraziteľné v IK:

  Amax =   2n - 1,             pre zobrazenie na     m = n + 1   bitoch (n>1)

  Amin =  -2n + 1

 

 

Realizácia operácie odčítania v inverznom kóde:

Nech pre ilustráciu C>0, D>0 (ďalšie prípady C>0 a DŁ0, CŁ0 a D>0, CŁ0 a DŁ0 neuvádzame, vyžadujú viac priestoru na výklad):

 D - C = D + (-C) = D + (-|C|) = D +  (C)IK  – 2m + 1

Pri výpočte sme operand (-|C|) nahradili výrazom (C)IK – 2m + 1, ktorý vyplýva z definície binárneho inverzného kódu. t.j. operáciu odčítania môžme nahradiť operáciou pripočítania čísla opačného v inverznom kóde a vykonaním tzv. kruhového prenosu (opačné číslo k číslu C je číslo -C):

Kruhový prenos je pripočítanie prenosu z najvyšieho rádu  po sčítaní operandov  (po bitoch od najnižšieho po najvyšší vrátane znamienkového bitu) k najnižšiemu rádu výsledku.V našom prípade je kruhový prenos realizovaný pripočítaním výrazu – 2m + 1, kde m je počet bitov zobrazenia (2m predstavuje jednotku vľavo od najvyššieho rádu).

Výsledkom súčtu  operandov v inverznom kóde je po vykonaní kruhového prenosu výsledok v inverznom kóde.

 

Výhoda IK:

·        pre operáciu sčítania operandov  s rozdielnymi znamienkami sa používa rovnaký  postup ako pre sčítanie operandov s rovnakými  znamienkami (t.j. pre operáciu súčtu aj rozdielu sa používa rovnaký algoritmus)

 

Nevýhody IK:

·        dva kódy pre zobrazenie 0 - viacznačnosť zobrazenia  0 (alebo nevyužitý kód 111...11111)

·        pre operáciu súčtu je potrebné robiť aj kruhový  prenos  (predĺženie času vykonania operácie)

·        pre rovnomerne rastúce hodnoty kódov zodpovedajúce hodnoty kódovaných čísel nerastú rovnomerne

Príklad: Ukážte spôsob vykonania nasledujúcej operácie v inverznom kóde na 8 bitoch:        a) 37-28

        b) 28-37

( 28)10 = (00011100)2PK » o34 = 1CH

(-28)10 = (11100011)2IK » o343 = 0E3H

( 37)10 = (00100101)2PK » o45 = 25H

(-37)10 = (11011010)2IK » o332 = 0DAH

a)

 

binárnE

osmičkovo

šestnástkovo

1. operand ( 37)10

00 100 101

o45

25H

2. operand (-28)10

11 100 011

o343

0E3H

súčet

100 001 000

1o010

108H

kruhový prenos

+1

+1

+1

výsledok

00 001 001

o011

09H

 

 

 

b)

 

binárne

osmičkovo

šestnástkovo

1. operand (+28)10

00 011 100

o34

1CH

2. operand (-37)10

11 011 010

o332

0DAH

súčet

011 110 110

o366

0F6H

kruhový prenos

0

0

0

výsledok

11 110 110

o366

0F6H

3.3.2.4.3   Doplnkový kód

Doplnkový binárny kód (DK) definuje zobrazenie čísel so znamienkom nasledovne:

Nech B je binárna reprezentácia absolútnej hodnoty dekadického čísla A (hodnoty A), ktoré chceme zakódovať, t.j. B = (|A|)2 . Potom pre výpočet binárneho doplnkového kódu čísla A platí:

  (m=n+1 je počet bitov zobrazenia (vrátane znamienka))

t.j. pre A<0 je (A)2DK  = 10m-(|A|)2

Doplnkový kód sa nazýva aj dvojkový doplnok - kód záporného čísla sa vypočíta ako doplnok absolútnej hodnoty tohto čísla k číslu 2m. V binárnom tvare je táto konštanta reťazec začínajúci vľavo 1 a nasleduje m núl. To znamená, že v každom ráde sa robí doplnok k dvojkovému číslu 10 t.j. k hodnote 2 - preto dvojkový doplnok). Výpočet DK daného záporného čísla je možné robiť:

·        podľa definície

·        z binárneho zápisu čísla v priamom kóde: odpísaním všetkých cifier zprava doľava až po prvú jedničku vrátane nej a inverziou všetkých ostatných bitov zprava doľava okrem znamienkového bitu (ak hľadáme kód čísla opačného k danému číslu, budeme invertovať aj znamienkový bit)

·        výpočtom z I daného záporného čísla pripočítaním jednotky k najnižšiemu rádu.

Vlastnosti doplnkového kódu:

Mapovanie hodnôt kódov na hodnoty celých čísel, ktoré DK reprezentujú, je možné povedať, že doplnkový kód má podobné vlastnosti (týkajúce sa smeru a rovnomernosti nárastu hodnôt kódov a zodpovedajúcich hodnôt kódovaných čísel), ako má inverzný kód.

Maximálne a minimálne celé číslo zobraziteľné v DK:

  Amax =   2n - 1,             pre zobrazenie na     m = n + 1   bitoch (n>1)

  Amin =  -2n

Príklad: Zapíšte čísla -28, 37 v doplnkovom kóde na 16 bitoch.  Zobrazte kód v dvojkovom, osmičkovom a šestnástkovom tvare.

(28)10 = (0 000 000 000 011 100)2PK  » o34 = 1CH

Určenie DK z PK:

DK čísla (-28)10: 1 111 111 111 100 100

Postup pre prevod z DK do PK a naopak je taký istý:

po prvú jednotku zprava (vrátane) odpíšeme

ostatné bity invertujeme (okrem znamienkového)

Kladné čísla vyzerajú v priamom, inverznom aj doplnkovom kóde rovnako, preto:

(+37)10 =(0 000 000 000 100 101)2IK =(0 000 000 000 100 101)2DK =(0 000 000 000 100 101) 2PK

Výpočet binárneho DK pre číslo -28 podľa definície (doplnkom ku konštante 2m, kde  m je počet bitov pre kód vrátane znamienkového bitu):

 m = 16           2m = (10 000 000 000 000 000)2 = o200 000 = 10 000H

Nasledujúca tabuľka ukazuje tento prevod so zápisom v dvojkovej, osmičkovej a šestnástkovej sústave.

Výpočet binárneho DK pre číslo -28

BINÁRNE

OSMIČKOVO

šestnástkovO

konštanta, ku ktorej sa robí doplnok

10 000 000 000 000 000

o200 000

10 000H

Je potrebné odpočítať

0 000 000 000 011 100

o34

1CH

výsledný kód

1 111 111 111 100 100

o177 744

0FFD4H

Realizácia operácie odčítania v doplnkovom kóde:

Operáciu D-C naznačíme pre operandy C>0, D>0. Na základe definície DK platí:

D - C = D + (-C) = D + (-|C|) = D + (C)DK – 2m

T.j. operáciu odčítania môžeme nahradiť operáciou pripočítania čísla opačného v doplnkovom kóde a zanedbania prípadného prenosu 1 vľavo od najvyššieho rádu (tomuto prenosu zodpovedá hodnota 2m). Výsledkom súčtu operandov v doplnkovom kóde je výsledok v doplnkovom kóde.

Výhody DK:

·        pre operáciu sčítania operandov  s rozdielnymi znamienkami sa používa rovnaký postup ako pre súčet operandov s rovnakými znamienkami

·        jeden kód pre zobrazenie 0 - všetky  kódy sú využité jednoznačne

·        pre operáciu súčtu nie je potrebné robiť kruhový prenos

Nevýhody DK:

·        pre rovnomerne rastúce hodnoty kódov zodpovedajúce hodnoty kódovaných čísel nerastú rovnomerne

·        pri prevode do doplnkového kódu (z inverzného kódu) je potrebné pripočítavať jednotku

Príklad: Ukážte spôsob vykonania nasledujúcej operácie v doplnkovom kóde na 8 bitoch:    a) 37-28

              b) 28-37

( 28)10 = (00011100)2PK » o34 = 1CH

(-28)10 = (11100100)2DK » o344 = 0E4H

( 37)10 = (00100101)2PK » o45 = 25H

(-37)10 = (11011011)2DK » o333 = 0DBH

 

 

 

 

a)

 

binárnE DK

osmičkovo DK

šestnástkovo DK

1. operand ( 37)10

00 100 101

o45

25H

2. operand (-28)10

11 100 100

o344

0E4H

súčet

100 001 001

1o411

109H

výsledok

00 001 001

o011

09H

Kruhový prenos sa pri počítaní v doplnkovom kóde nerobí.

b)

 

binárne DK

osmičkovo DK

šestnástkovo DK

1. operand (+28)10

00 011 100

o34

1CH

2. operand (-37)10

11 011 011

o333

0DBH

výsledok

11 110 111

o367

0F7H

Výsledok operácie je v takom istom kóde, ako operandy, t.j. v DK. Zistíme hodnotu výsledku (obráteným prevodom z DK do PK):

(11 110 111)2DK = (10 001 001)2PK = (-9)10

3.3.2.4.4   Dvojkovo-desiatkový kód (BCD kód)

Dvojkovo-desiatkový (binárne-dekadický) kód alebo BCD kód používa binárne kódovanie číslic z dekadického zápisu čísla tak, že pre každú číslicu sa použije štvorica bitov.

napr. (3256)10 = (0011 0010 0101 0110)BCD

Výhoda BCD kódu:

·        rýchle kódovanie aj dekódovanie

 

Nevýhody BCD kódu:

·        zložitejšie operácie (je potrebné zvlášť ošetriť prenos do vyššieho rádu podľa dekadickej aritmetiky: prenos jednotky do vyššej štvorice bitov je vtedy, ak súčet v dánom ráde je dekadicky 10 alebo viac)

·        neefektívne využite pamäti na zobrazenie čísel (menší interval zobrazenia ako pri DK, IK alebo PK na rovnakom počte bitov)

 

0 = 0000

4 = 0100

8      = 1000

12 (C) = 1100

1 = 0001

5 = 0101

9      = 1001

13 (D) = 1101

2 = 0010

6 = 0110

10 (A) = 1010

14 (E) = 1110

3 = 0011

7 = 0111

11 (B) = 1011

15 (F) = 1111

Tab. 2 Prevodná tabuľka (dec-bin) pre BCD kód

3.3.3                  Zobrazenie nečíselných údajov

Medzi nečíselné údaje patria textové, grafické, zvukové a iné údaje. Vzhľadom na rozsah problematiky sa tu stručne zmienime len o kódovaní textových a grafických informácií.

3.3.3.1                 Znakové (textové) informácie

Pre zobrazenie textových informácií je potrebné kódovať jednotlivé znaky, postupnosti znakov (reťazce), rozsiahle texty. Základom je kódovanie znakov. Pre kódovanie znakov sa používajú znakové kódy:

·        usporiadané (kódy znakov sú usporiadané v analogickom poradí ako zodpovedajúce znaky)

7-bitové kódy (ISO, ASCII-7bit)

8-bitové kódy   (Latin2, ASCII-8bit)

16-bitové (Unicode)

·        neusporiadané 5-bitový (napr. ďalekopisný kód)

Medzi najdôležitejšie operácie nad textovými informáciami patrí triedenie (usporiadavanie) a vyhľadávanie v utriedených textoch. Elementárnou operáciou je porovnanie dvoch kódov znakov na lexikografické poradie zodpovedajúcich znakov. Takáto operácia je jednoducho realizovateľná v usporiadaných kódoch. V usporiadaných znakových kódoch totiž platí:

ak( kód znaku1 < kód znaku2) potom znak1 je lexikograficky pred znakom2

Vlastnosť usporiadanosti sa dá využiť napr. aj pri prevode čísla z textového tvaru do vnútorného: z hodnoty ISO (ASCII) kódu prečítanej číslice určíme hodnotu tejto číslice odpočítaním kódu nuly.

Pre kódovanie rozsiahlych textových informácií sa často využívajú rozličné metódy komprimácie (zhusťovania).

kód

0000 (0)

0001 (16)

0010 (32)

0011 (48)

0100 (64)

0101 (80)

0110 (96)

0111 (112)

0000 (0)

NUL

DLE

medzera

0

@

P

`

p

0001 (1)

SOH

DC1

!

1

A

Q

a

q

0010 (2)

STX

DC2

2

B

R

b

r

0011 (3)

ETX

DC3

#

3

C

S

c

s

0100 (4)

EOT

DC4

$

4

D

T

d

t

0101 (5)

ENQ

NAK

%

5

E

U

e

u

0110 (6)

ACK

SYN

&

6

F

V

f

v

0111 (7)

BEL

ETB

7

G

W

g

w

1000 (8)

BS

CAN

(

8

H

X

h

x

1001 (9)

HT

EM

)

9

I

Y

i

y

1010 (10)

LF

SUB

*

:

J

Z

j

z

1011 (11)

VT

ESC

+

;

K

[

k

{

1100 (12)

FF

FS

,

<

L

\

l

|

1101 (13)

CR

GS

-

=

M

]

m

}

1110 (14)

SO

RS

.

>

N

^

n

~

1111 (15)

SI

US

/

?

O

_

o

DEL

Tab. 3 8-bitová ASCII tabuľka kódov

Binárnu hodnotu kódu znaku v ASCII, zistíme z tabuľky tak, že spojíme jemu zodpovedajúce dvojkové číslo z prvého riadku (horné štyri bity) s dvojkovým číslom v prvom stĺpci (dolné štyri bity). Napríklad znaku A zodpovedá 0100 0001. Desiatkovú hodnotu kódu znaku v ASCII zistíme tak, že sčítame dekadické hodnoty (uvedené v zátvorkách) v príslušnom stĺpci a riadku. Napríklad znaku A zodpovedá 64+1=65.

3.3.3.2                 Grafické informácie

Pre zobrazenie grafických informácií sa v pamäti počítača používajú dva spôsoby:

·        rastrové zobrazenie

·        vektorové zobrazenie

Pri rastrovom kódovaní grafickej informácie sa vychádza z toho, že táto informácia je tvorená konečným počtom bodov v pravouholníkovom rastri, pričom každý bod je charakterizovaný svojimi atribútmi (napr. farba, jas, blikanie). Napr. pre kódovanie obrazcov v rastri 256 x 256 bodov, pričom každý bod môže mať jednu z 32 farieb, jednu zo 4 úrovní jasu a môže blikať, je potrebných 256 x 256 B = 28 x 28 B = 216 B = 64kB pamäti. Na 1 bajte budú kódované informácie týkajúce sa jedného bodu (farba na 5 bitoch, jas na 2 bitoch a blikanie na 1 bite).

Vektorové kódovanie grafickej informácie vychádza zo skutočnosti, že sa pracuje s vyššími grafickými elementami ako napr. úsečka, kružnica, elipsa, obdĺžnik, krivka a pod, Potom napr. pre zakódovanie polohy a vizuálnych vlastností úsečky nie je potrebné evidovať všetky údaje o každom bode tejto úsečky zvlášť: napr pre určenie polohy úsečky stačí poznať polohu jej krajných bodov. Okrem toho konečný tvar týchto primitív je možné riadiť ich atribútmi. Medzi základné atribúty z pohľadu počítačovej grafiky zaraďujeme: farba, typ (napr. čiar, písma a pod.), hrúbka (napr. čiar, písma a pod.), poloha (napr. písma), smer vykreslenia (napr. horizontálny, vertikálny) atď.

 

Obr. 13 Ukážka rastrového a vektorového zobrazenia obrázku

Jednou z nevýhod rastrovej reprezentácie je deformácia grafickej informácie resp. dokonca jej strata napr. pri zmenšení a opätovnom zväčšení. Ďalším rozdielom medzi vektorovým a rastrovým objektom je to, že pri výraznom zväčšení si vektorový objekt zachováva svoju kvalitu a tvar. Rastrový objekt pri výraznom zväčšení, síce nestráca svoju pôvodnú informáciu, ako tomu je pri zmenšení, ale stráca „hladkosť“ a tým pádom svoju kvalitu. Niektoré z týchto chýb, je možné u rastrových objektov eleminovať pomocou rozptyľovania a vyhladzovania. Aj tieto rozdiely naznačujú domény použitia jednotlivých typov grafických systémov. Vektorové typy sú výhodné pre technickejšie kreslenie napr. na kreslenie vývojových diagramov, technických výkresov či obchodných grafov. Rastrové typy dominujú pri spracovaní obrazu, digitálnych fotografií čí filmov a pri voľnej grafickej tvorbe. V tomto zmysle je nutné podotknúť, že tu abstrahujeme od typov nástrojov, ktorými disponuje to-ktoré programové vybavenie. Program môže byť rastrový, ale môže disponovať vektorými typmi nástrojov. V úvode práce s nástrojom sa s ním pracuje ako s vektorovým typom, napr. nakrelsenie úsečky, ale po uložení, už to predstavuje len jednotlivé body rastra a pristupovať k nim ako k objektu -úsečka a tým meniť atribúty tohto objektu, už nie je možné. Po „položení“ úsečky je to už len množina bodov. Typickým príkladom je napr. známy grafický editor Paint (Skicár, Malovaní) v MS Windows.

Ďalším dôležitým faktorom, ktorý dominuje pri spracovaní objektov v počítačovej grafike, je ich rozmer. V základe sa v počítačovej grafike pracuje s dvojrozmernými (2D – 2 Dimensional) a s trojrozmernými (3D – 3 Dimensional) objektami. V prípade animácie alebo napr. určitých častí systémov virtuálnej reality sú objekty aj štvorrozmerné, kde štvrtým rozmerom je čas.

Z hľadiska ohodnotenia grafických zariadení a teda ich možností sa z pohľadu počítačovej grafiky sledujú najmä tieto parametre:

·        Rozlišovacia schopnosť: definuje koľko obrazových bodov (pixelov) vodorovne (V) a koľko bodov zvislo (Z) je schopný adaptér maximálne zobraziť a udáva sa ako VxZ. Ak sa jedná o textový režim, potom sa neuvádza v pixeloch ale v znakoch.

·        Farebná hĺbka (počet naraz zobraziteľných farieb). Počet zobraziteľných farieb je od 16 cez 256, 216 (Highcolor) do 224 (16,7 mil.) resp. až 232. Zariadeniam, ktoré dokážu pracovať s takou paletou farieb hovoríme, že pracujú v móde Truecolor (tzv. pravé farby).

·        Kapacita obrazovej pamäti (dnes sa uvádza v MB a je prvým orientačným číslom, pretože od nej závisia predchádzajúce dva parametre. Čím vyššie rozlíšenie tým klesá farebná hĺbka a naopak).

Obrazová informácia je náročná na pamäť. Napríklad jeden snímok veľkosti 640x480, 256 farieb potrebuje 300 kB, čo pri 25 snímkoch za sekundu (PAL) predstavuje prenosovú rýchlosť 7,5 MB/s. Z tohoto dôvodu sa používajú komprimačné algoritmy (stratové čí nestratové), ktoré umožňujú väčšiu hustotu záznamu obrazovej informácie a znižujú nároky na rýchlosť diskov a zbernice. Napríklad komprimačný algoritmus vyvíjaný pre multimédiá - MPEG (Movie Picture Experts Group) dosahuje komprimačný pomer 26:1. Dnes sú rozšírené dva stupne MPEG-u (MPEG I a MPEG II). V súčasnosti sa vyrábajú zariadenia, ktoré umožňujú vykonať túto dekomprimáciu či komprimáciu pomocou technických prostriedkov (špeciálne čipy). Potom pre jeden snímok 640x480, 256 farieb stačí 11,5 kB. Pri tejto veľkosti je prenosová rýchlosť 288 kB/s pri 25 snímkoch za sekundu. Znížením rozlišovacej schopnosti snímku na 320x200 sa dosiahla prenosová rýchlosť približne 72 kB/s, takže je možné použiť pre uloženie obrazovej informácie CD-ROM. Na jeden CD-ROM disk potom môže byť uložená jedna hodina videozáznamu pri MPEG I. Dnes však s použitím MPEG II či MPEG layer4, ktoré sa rozšírili najmä na DVD diskoch, je možné v pomerne kvalitnom rozlíšení, uložiť celovečerný film. Obľúbené formáty pre ukladanie videa sú aj DiVX a XviD.

 

 


4  Operačný systém

Operačný systém (OS) je základom činnosti počítača. Operačný systém umožňuje zápis informácie do operačnej pamäte, jej čítanie, monitorovanie klávesnice, zobrazovanie informácie na zobrazovacej jednotke a prepínanie jednotlivých režimov zobrazovania (textový režim, grafika, počet znakov, latinka - azbuka a pod.). Ďalej umožňuje prenos informácie z počítača k pripojeným prídavným zariadeniam, k sériovému a paralelnému rozhraniu a k ďalším komponentom zabezpečujúcim styk počítača s okolím vrátane konektvity do prípadnej počítačovej siete. K nemenej významným činnostiam patrí organizácia prenosu údajov medzi operačnou a vonkajšou pamäťou. Súhrnne povedané, operačný systém predstavuje množinu programov, pomocou ktorých počítač plní svoje funkcie. Operačný systém riadi a kontroluje jednotlivé časti technického vybavenia počítača a zaisťuje pre používateľské programy všetky služby týkajúce sa ovládania technických prostriedkov. V neposlednom rade sprostredkuje operačný systém komunikáciu medzi používateľom a počítačom - vykonáva príkazy používateľa.

Vo svete existuje veľké množstvo operačných systémov. Tieto sú aplikované prakticky na všetkých typoch počítačov, malými 8-bitovými počítačmi (aj v digitálnom diári) počnúc a veľkými sálovými superpočítačmi končiac. Medzi operačnými systémami sa dajú vybrať niektoré, ktoré sa svojím rozšírením stali známe natoľko, že ich môžeme považovať za štandardné (modelové) operačné systémy. Medzi významné operačné systémy patria:

·        CP/M - (Control Program for Microcomputers), ktorý dominoval na domácich 8-bitových počítačoch a postupne sa preniesol aj na 16-bitové počítače.

·        MS DOS - (Microsoft Disk Operating System) operačný systém pre individuálne osobné počítače, donedávna najviac rozšírený OS.

·        Textové pole: ˙WINDOWS9x/XP – momentálne dominujúci operačný systém pre osobné počítače. Najmä na starších menej výkonných počítačoch je stále v prevádzke spomínaný MS DOS (s prípadnou nadstavbou MS Windows 3.1X) a jeho klony, kde pre niektoré aplikácie výborne vyhovuje a ich majitelia nemajú snahu ho vymeniť. Príchod Windows95 so svojimi vlastnosťami a schopnosťami zasadil tvrdý úder konkurencii. Firmou Microsoft ako konkurent UNIX-ov je vyvíjaný a dodávaný WINDOWS2003 a pomocou tohoto OS sa  Microsoft snaží ovládnuť aj trh serverov, pracovných staníc a  výkonnejších PC.

·        UNIX - štandardný operačný systém väčšiny sálových počítačov a pracovných staníc. S  rastúcimi možnosťami osobných počítačov bol tento implementovaný aj na nich (XENIX, ULTRIX, QNIX, a v súčasnosti hlavne LINUX). LINUX je vážnym konkurentom operačným systémom Microsoft-u. LINUX je v mnohých smeroch kvalitnejší a stabilnejší ako operačné systémy firmy Microsoft. Tento operačný systém má aj ďalšiu výhodu, je poskytovaný zdarma a platí sa len za distribúciu. Najrozšírenejšia distribúciami sú: Debian a Red Hat. Na báze týchto distribúcií sú často založené rôzne upravené distribúcie napr. Mandrake LINUX alebo SuSE LINUX.

Ešte predtým jako uvedieme nasledujúce riadky, je nutné poznamenať, že problematika operačných systémov je mimoriadne široká a zložitá. Rozsah tu uvádzaný je výberom pre potreby predmetu Počítače a ich sieťové služby. Detailnejšie sa problematikou OS bude zaoberať na špecializovaných predmetoch.

Delenie operačných systémov je možné podľa viacerých hľadísk. Prvé hľadisko je podľa toho, kde je operačný systém umiestnený a aká je flexibilita jeho aktualizácie. Potom operačné systémy sú:

·        ROM-orientované operačné systémy a

·        diskovo-orientované operačné systémy (DOS).

Prvý typ je potom umiestňovaný spravidla do pamäti ROM (príp. EPROM, EEROM, Flash-ROM). Má spravidla menší rozsah a schopnosti a aj aktualizácia je zložitejšia. Týmto typom OS sú spravidla vybavované jednoúčelové alebo prenosné typy výpočtových systémov. V súčasnosti prudký rozvoj, najmä s príchodom mobilnej komunikácie, zaznamenávajú palmtopy resp. PDA (Personal Digital Assistant) a samotné mobilné telefóny.

Druhý typ je umiestňovaný na diskové zariadenia výpočtového systému (disketové jednotky, pevný disk príp. CD-ROM). Oproti prvému typu má väčší rozsah a možnosti. Jeho aktualizácia je takisto menej zložitá. Týmto typom sú vybavované osobné počítače, notebooky, pracovné stanice a ostatné vyššie typy výpočtových systémov. Častokrát dochádza ku rozdeleniu DOS tak, že časť sa umiestňuje aj do ROM pamäti výpčtového systému (typické pre PC (BIOS)). V ďalšom výklade sa budeme venovať takmer výhradne diskovo-orientovaným OS, ak nebude uvedené inak.

Druhé hľadisko delenia je spravidla podľa toho, pre koľkých používateľov je OS určený. Potom rozlišujeme OS:

·        jednopoužívateľské (single-user)

·        viacpoužívateľské (multi-user)

Ak operačný systém zabezpečuje aj komunikáciu výpočtového systému v rámci počítačovej siete a možnosť jej administrácie, hovorí sa aj o sieťovom operačnom systéme.

Tretie hľadisko delenia je podľa počtu úloh, koľko vie operačný systém obsluhovať naraz príp. podľa schopnosti reentrantnosti úloh (viacnásobné spracovanie jednej úlohy, tzv. multihreading). Potom rozlišujeme operačné systémy:

·        jednoúlohové (monotasking) a

·        viacúlohové (multitasking).

Pri implementácii multitaskingu sa rozlišujú dva druhy: kooperatívny multitasking a preemptívny multitasking. Kooperatívny multitasking predstavuje schopnosť spustiť viac úloh a prepínať medzi nimi, ale kooperatívnosť úloh spočíva práve v tom, že jednotlivé úlohy si podľa požiadavky používateľa poskytovali čas na svoj beh a v prípade, že neboli aktívne, ich činnosť bola pozastavená. Preemptívnosť úloh spočíva v paralelnom vykonávaní úloh, čo pre používateľa znamená, že môže naraz napr. formátovať disketu a pritom sa hrať hru a obidva procesy, z pohľadu používateľa, pracujú paralelne t.j. OS prerozdeľuje čas procesora pre jednotlivé procesy. Spôsobov ako je prideľovaný čas jednotlivým procesom je niekoľko. Najjednoduchší spôsob je príslušné časové kvantum rozdeliť medzi jednotlivé procesy rovnako. Samozrejme, riadiacu úlohu hrá tzv. jadro operačného systému.

Obr. 14 Príklad prideľovania času v operačnom systéme

Súčasné OS predstavujú už komplikované a mohutné programové balíky, ktorých snahou je pokrývať čoraz viac narastajúce nároky používateľov ale aj možnosti výpočtových systémov, na ktorých sú implementované.

Fenoménom, ktorý sa snažia podchytiť súčasné operačné systémy je prístup do celosvetovej počítačovej siete Internet. Podobne je to aj s narastajúcimi požiadavkami na kvalitu aj kvantitu digitálnych informácií či už vo forme videa (DVD) alebo zvuku (MP3) a tým pádom ich podpora v operačných systémoch.

4.1              Architektúra operačného systému

Umiestnenie operačného systému v rámci výpočtového systému ukazuje Obr. 15. Operačný systém teda predstavuje programové vybavenie, pomocou ktorého výpočtový systém plní svoje základné funkcie. Operačný systém riadi a kontroluje jednotlivé časti technického vybavenia počítača (hardware) a zaisťuje pre aplikácie resp. používateľské programy všetky služby týkajúce sa ovládania technických prostriedkov. V neposlednom rade sprostredkuje operačný systém komunikáciu medzi používateľom a výpočtovým systém t.j. definuje používateľské rozhranie.

 

Obr. 15 Blokové schéma umiestnenia OS v rámci výpočtového systému

Operačný systém má spravidla hierarchickú (vrstevnú) architektúru (viď. Obr. 16). Ako príklad použijeme ukážku implementáce operačného systému na osobný počítač tredy PC, najmä z dôvodu jeho rozšírenia.

Vrstva na najnižšej úrovni zaisťuje priamy styk s technickými prostriedkami (hardware) osobného počítača. Táto vrstva sa nazýva BIOS (Basic Input Output System = základný vstupno/výstupný systém). Služby BIOS-u používa samotné jadro operačného systému.  Pri niektorých činnostiach môže jadro OS voliť priamy prístup na technické prostriedky a tým pádom obísť štandardný BIOS. Tento spôsob však môže niekedy viesť ku nekompatibilite jadra OS s hardvérom.

Služby jadra operačného systému následne potom používajú rôzne nadstavby a hlavne aplikácie (programy) spúšťané pod operačným systémom. Častokrát je používateľské rozhranie vo forme nadstavby OS.

Obr. 16 Architektúra operačného systému

4.1.1                  BIOS

Táto vrstva je závislá na technickom vybavení počítača a je nutné ju pre každú inštaláciu systému špeciálne upraviť. Pri realizácii BIOS-u je na druhej strane možné využiť všetky schopnosti konkrétneho mikroprocesora. Tým pádom BIOS nemusí byť napísaný len v kóde mikroprocesora na báze Intel 80x86. Z vonkajšieho hľadiska predstavuje BIOS podsystém fyzického vstupu a výstupu. Skladá sa z dvoch častí:

·        pevnej časti,

·        variabilnej (premenlivej) časti.

Pevná časť je opäť rozdelená na dve zložky.

·        Prvá zložka je umiestnená v pamäti ROM, tzv. ROM-BIOS. Táto zložka okrem iného zaisťuje technické testy (kontrola pamäte RWM, kontrola odozvy mechaník pružných diskov, prístup na pevné disky a pod.) počítača a program na zavedenie ostatných zložiek operačného systému z disku. V súčasnosti sa etablovali na našom trhu snáď najviac dva BIOS-y: AMIBIOS a AWARDBIOS. Okrem uvedených záležitostí je možné vykonať pomocou BIOS-u aj nastavenie (setup) PC vo forme nastavenia disketových mechaník, času a dátumu, pevných diskov, ovládanie čipovej sady, ovládanie parametrov PnP (Plug and Play) a APM (Power management) ako aj ovládanie integrovaných portov.

·        Druhá (flexibilnejšia, závislá od verzie operačného systému) zložka je dodávaná s operačným systémom. Táto zložka obsahuje sadu programov pre ovládanie štandardných prídavných zariadení. K pevnej časti je v okamihu štartovania systému doplnená sada ovládačov pre neštandardné prídavné zariadenia (napr. myš). Táto variabilná zložka BIOS-u je používateľsky modifikovateľná.  Pri platforme MSDOS/Windows9x/Me na základe obsahu súboru CONFIG.SYS. Tento súbor nie je povinný a pokiaľ neexistuje, operačný systém pracuje s preddefinovanými hodnotami. Vo Windows9x/Me/2000/XP sa navyše ešte zavádzajú ďalšie ovládače častí a zariadení počítača príp. periférií, ktoré sú definované v tzv. hardvérovom profile. Operačné systémy UNIX-ového typu umožňujú pridanie/dobratie tzv. montovanie/odmontovanie ovládačov resp. zariadení aj počas prevádzky bez nutnosti reštartu operačného systému.

4.1.2                  Jadro operačného systému

Jadro operačného systému tvorí druhá vrstva operačného systému (diskového operačného systém)u. Táto vrstva je už nezávislá na technickom vybavení osobného počítača. Z vonkajšieho hľadiska realizuje jadro logický vstup a výstup (vrátane systémov ovládania súborov tzv. File Manager) a zaisťuje aj ostatné služby poskytované aplikačným programom. Jadro operačného systému môže opäť predstavovať jeden alebo viac súborov. Napr. vo Windows95/98 pre každú činnosť sa v rámci jadra definuje a spúšťa tzv. virtuálny počítač (virtual machine), ktorý môže jednotlivé súčasti používať resp. zdieľať. Z pohľadu tohto virtuálneho počítača sa hovorí o tzv. systémových zdrojoch (vrátane napr. kapacity diskového priestoru alebo kapacity operačnej pamäti). Počet takýchto virtuálnych počítačov v princípe nie je obmedzený. Takýmto spôsobom je potom možné spúšťať viac aplikácií v operačnom systéme súčasne (t.j. každému procesu je v princípe pridelený jeden virtuálny počítač) t.j. je možné dosiahnuť viacúlohovosť (multitasking).

Všetky ďalšie časti operačného systému sú vybudované nad jadrom, podobne ako všetky ostatné aplikačné programy.

4.1.3                  Nadstavby operačného systému

Do nadstavby operačného systému zaraďujeme interpreter riadiacich príkazov, tracientné (externé) príkazy, služobné programy a používateľské rozhranie. Všetky ostatné programy budeme zaraďovať medzi aplikácie.

Základný styk s používateľom sprostredkuváva interpreter riadiacich príkazov. Interpreter číta a interpretuje príkazy zadávané operačnému systému používateľom prostredníctvom klávesnice, vopred pripravenej dávky príkazov resp. všeobecne odoslané používateľským rozhraním (aj grafickým). Interpreter je zodpovedný za vonkajšie správanie sa systému a tvar príkazov. Vykonávací kód príkazov je z určitej časti zabudovaný do interpretera príkazov (tzv. interné príkazy). Externé príkazy spôsobia prechodné "natiahnutie" odpovedajúceho kódu z disku. Z tohto dôvodu ľubovoľný zavediteľný program sa dá chápať ako súčasť repertoáru externých príkazov. Sem patria aj všetky tzv. služobné programy (utility) napr. vopred pripravené programy pre určitú rutinnú činnosť.

4.2              Štart operačného systému

Kedy dôjde k štartu operačného systému? Je to buď po zapnutí počítača alebo po stlačení tlačidla RESET. Vtedy hovoríme o tzv. "studenom" ("tvrdom") štarte resp. resete. Spustí sa ROM-BIOS, ktorý vykoná potrebné testy technických prostriedkov počítača a potom zavedie do operačnej pamäte ostatné časti operačného systému z disku.

Zavedenie zvyšku OS sa deje zo systémovej (štartovacej) diskety resp. disku. Zavedenie operačného systému sa tiež nazýva aj bootovanie (bútovanie). Pri zavádzaní operačného systému sa systém hľadá najprv v mechanike pružného disku a ak sa tam nenájde, tak potom na pevnom disku (v súčasných BIOS-och je možné nastaviť poradie prehľadávania bootovacích zariadení). Keď je disk systémový, musí mať špeciálny zavádzač v zavádzacom sektore disku (tzv. boot-sektor). Počas štartu OS sa do pamäte načítavajú dané systémové súbory jadra OS a OS sa konfiguruje podľa prípadných konfiguračných súborov. Nakoniec sa spustí používateľské rozhranie, pomocou ktorého je počítač ovládaný.

4.3              Zariadenia operačného systému

Jedna z najdôležitejších funkcií operačného systému je organizácia údajov na vonkajších médiách. Pre diskový operačný systém je samozrejme najdôležitejšia organizácia údajov na disku. Operačný systém rozoznáva dva typy zariadení:

·        znakové zariadenia,

·        blokové zariadenia.

Zariadenia sa navzájom líšia v spôsobe komunikácie (po znakoch alebo po blokoch), ale i v spôsobe identifikácie zariadenia. Niektoré zariadenia v štandardnej podobe vie ovládať operačný systém automaticky, pre niektoré zariadenia je nutný tzv. ovládač (driver), ktorý najčastejšie poskytuje výrobca zariadenia.

4.3.1                  Znakové zariadenia

Pod znakovými zariadeniami rozumieme všetky zariadenia (vstupné/výstupné), ktorých prenosovou jednotkou smerom od/k operačnému systému je znak. Medzi ne môžeme zaradiť napr. klávesnicu či tlačiareň.

4.3.2                  Blokové zariadenia

Tieto prenášajú údaje v blokoch (celkoch). V prevažnej miere sú to najmä diskové zariadenia. Na jednom fyzicky existujúcom pevnom disku je možné definovať viac logických diskov tzv. partícií. Napr. jeden fyzický pevný disk 3.2 GB (gigabajtov) je možné rozdeliť na dva logické disky napr. s veľkosťou 2GB a s veľkosťou 1.2GB. Naopak je možné vytvoriť tzv. zväzok, kde jeden logický zväzok 3.2GB bude zložený z dvoch fyzických diskov 2GB a 1.2GB a operačný systém s ním bude pracovať jako s jedným celkom.

4.3.3                  Organizácia údajov na zariadeniach

Jedná sa o blokové zariadenia, najmä disky. Organizácia údajov na diskoch vytvára hierarchickú stromovú štruktúru. Spôsob organizácie súborov príp. vyšších celkov (napr. adresárov) na blokových zariadeniach sa nazýva súborový systém. V súčasnosti je známych viac súborových systémov (FAT, NTFS, EXT2, EXT3 a pod).

4.3.3.1                 Súbory

Informačným celkom na disku je logický súbor. Súbor je súhrn logicky k sebe patriacich informácií definovaných svojim menom a príp. inými atribútmi. Súbor (angl. file) môže byť program, mzdové údaje, list a pod. Operačný systém rozlišuje dva typy súborov:

·        údajové súbory: sú súbory obsahujúce údaje. Medzi údajové súbory zaraďujeme napr. textové súbory, databázové súbory či súbory s kresbami t.j. obrázky.

·        programové súbory: t.j. súbory obsahujúce inštrukcie mikroprocesora. Tieto súbory je možné zaviesť do operačnej pamäte a spustiť.

Súbor je identifikovaný na disku hlavne svojim menom. V základe sa meno súboru skladá znakov. Častokrát sa používa znak >.< (bodka) ako oddeľovač.

Okrem mena súboru sú na disku uchované ďalšie informácie o súbore. Súbor si nesie so sebou svoju veľkosť v bajtoch, dátum a čas vytvorenia resp. aktualizácie. Tieto náležitosti je možné skôr nazvať charakteristikami súboru. Okrem nich má každý súbor ešte svoje atribúty. Podľa typu operačného systému môžu byť definované niektoré z nasledujúcich atribútov:

·        Archiv - označuje archívny súbor.

·        Executive – spustiteľný súbor.

·        Hiden – skrytý súbor.

·        Modify/Write enable – modifikovateľný (upraviteľný) súbor resp. možnosť zapisovať do súboru.

·        Read Only - ak je tento atribút nastavený, súbor je určený len na čítanie. Zápis, resp. vymazanie je možné po zrušení atribútu.

·        System - označuje systémový súbor.

4.3.3.2                 Adresáre (Katalógy)

Kvôli prehľadnosti a ľahšej práci so súbormi sú tieto združované do skupín. Tieto skupiny nazývame adresáre alebo tiež katalógy. Názvy adresárov sa tvoria podobne ako názvy súborov. Z hľadiska stromovej štruktúry adresáre tvoria uzly tejto štruktúry. Z toho vyplýva, že súčasťou adresára môžu byť okrem súborov ďalšie podadresáre. Súbory ako také v podstate tvoria listy stromovej štruktúry. Každý disk (alebo zväzok) má vždy základný adresár. Tento sa vytvorí po naformátovaní disku (diskety) a nedá sa zrušiť. V ňom je možné vytvárať ďalšie súbory alebo adresáre. Základný adresár sa tiež nazýva koreňový (angl. root). Označuje sa "\".

4.3.3.2.1   Štruktúra adresárov

Ako už bolo spomenuté, je štruktúra adresárov stromová s tým, že adresáre (podadresáre) tvoria uzly stromu. Majme napríklad disketu s databázovými súbormi s listami posielanými počas roka a štvrťroka. Aby sme si uloženie súborov sprehľadnili, poukladáme ich do adresárov. Potom v hlavnom adresári si vytvoríme podadresáre ROK2003 a ROK2004.  Potom napr. v podadresári ROK2003 vytvoríme podadresáre 1Q, 2Q, 3Q, 4Q. V týchto adresároch budú nakoniec príslušné súbory s listami. Potom štruktúra je nasledovná:

Obr. 17 Stromová štruktúra adresárov

Ak máme vytvorenú uvedenú štruktúru, hovoríme, že ROK2003 je otcovský adresár napr. pre adresár 1Q. Hlavný adresár je zas otcovským adresárom adresára ROK2003. Otcovský adresár je v synovskom adresári označený "..". Adresár (katalóg), do ktorého sme sa prepli, nazývame aj aktuálny adresár (katalóg).

4.3.3.2.2   Cesta a úplné meno súboru

Pri definovaní pojmu cesta (path) musíme ísť v štruktúre adresárov (zložiek priečinkov) spätne, t.j. od listov ku koreňu. Potom je možné povedať, že cesta je zoznam všetkých adresárov, cez ktoré musíme prejsť od daného súboru, aby sme sa dostali k hlavnému adresáru. Pri písaní cesty sú jednotlivé mená adresárov oddelené spätným lomítkom. Cesta môže byť zadaná:

·        absolútne, vtedy obsahuje názvy všetkých adresárov od hlavného až k určenému adresáru,

·        relatívne, vtedy cesta pozostáva len z názvov adresárov, ktoré tvoria cestu od aktuálneho adresára k požadovanému adresáru. Relatívna cesta začína názvom prvého podadresára aktuálneho adresára. Takisto relatívna cesta nezačína spätným lomítkom.

Majme súbory na diskete podľa príkladu z predchádzajúcej podkapitoly. Úplné meno súboru sa potom skladá z troch častí:

1. meno zariadenia (napr. A:, C:),

2. absolútna cesta k uvedenému súboru,

3. meno súboru.

Potom úplné mená súborov z predchádzajúcich príkladov môžu byť (ak je disketa v mechanike A):

A:\ROK2003\1Q\LIST1.TXT

A:\ROK2003\3Q\DOPIS_0210.DOC   a pod

 


5  UNIX

5.1              Základné vlastnosti OS UNIX.

Operačný systém UNIX je viacpoužívateľský operačný systém pracujúci na princípe preemptívneho zdieľania času t.j. každý používateľ má opakovane prideľovaný čas procesora, čím sa nemôže stať, aby jeden používateľ obsadil celý procesor a tým blokoval v práci iných používateľov. Systém môže pracovať v jednopoužívateľskom režime (výhradne určeného pre systémového programátora) a v mnohopoužívateľskom režime. Používatelia pritom môžu pracovať úplne nezávisle alebo môžu spolupracovať. Samotný operačný systém sa vyznačuje takými vlastnosťami, akými sú:

·        hierarchická výstavba katalógov a súborov,

·        jednotný prístup na súbory, katalógy a ovládanie zariadení,

·        dynamická správa procesov (jednotlivých odštartovaných programov),

·        podpora a sebestačnosť pre údržbu programov, textových dokumentov i celého operačného systému, nezávislosť na technických prostriedkoch zabezpečená službami   jadra operačného systému

·        ochrana údajov používateľov,

·        prostriedky pre správu sieťových služieb,

·        možnosť voľby interprétera príkazov,

·        vysoká prenositeľnosť atď.

Operačný systém UNIX možno rozdeliť v podstate na  tri časti:

·        jadro operačného systému,

·        súbory predstavujúce prídavné zariadenia,

·        ostatné nástroje.

Jadro operačného systému je program, ktorý riadi činnosť jednotlivých prostriedkov počítača. Umožňuje spúšťať programy, ovládať periférne zariadenia a zabezpečovať celú prevádzku operačného systému.

Prídavné zariadenia sú v systéme reprezentované špeciálnym typom súborov, pričom každému pripojenému zariadeniu zodpovedá jeden špeciálny súbor. Z toho plynie jedna dôležitá vlastnosť: používateľ nepotrebuje špeciálne zabezpečovať komunikáciu s prídavnými zariadeniami, pretože tá sa ničím nelíši od spôsobu práce so súbormi.

Ostatné nástroje sú obyčajné programy s rôznorodým zameraním (kompilátory, editory, interprétery príkazov, príkazy pre spracovanie dokumentov atď.). Buď sú súčasťou operačného systému, alebo sú dodávané ako nadstavba nad operačným systémom.

Na to aby operačný systém mohol dostatočne plniť svoju funkciu a v plnej miere využil svoje vlastnosti, potrebuje:

·        procesor s mapovanou pamäťou pre obsluhu procesov,

·        diskovú pamäť slúžiacu ako pracovný priestor,

·        sériové rozhranie ľubovoľného typu na pripojenie terminálov,

·        paralelné rozhranie ľubovoľného typu na pripojenie tlačiarní,

·        magnetopáskové alebo iné archivačné zariadenie slúžiace výhradne na zálohovanie systému.

Obr. 18 Prepojenie technických prostriedkov

Ako sú jednotlivé časti vzájomne poprepájané znázorňuje Obr. 18. Ako je jadro operačného systému a ďalšie programové vybavenie naviazané na technické prostriedky, t.j. hierarchickú štruktúru, znázorňuje Obr. 19.

Obr. 19 Naviazanie programových prostriedkov na technické

Komunikáciu s technickými prostriedkami zabezpečuje jadro operačného systému. Nad jadrom sa nachádza vrstva systémových prostriedkov, pričom prostriedok, ktorý interpretuje príkazy sa nazýva príkazový interpréter alebo tiež shell (bash, tcsh, zsh).

Ako už bolo uvedené aj v kapitole v všeobecných črtách operačných systémov, pre operačný systém UNIX je jednou zo základných vlastností hierarchická (stromová) výstavba súborov a katalógov. Vrchol celej hierarchie súborov a katalógov je označený znakom "/" a hovorí sa mu "rút" (angl. root), alebo hlavný katalóg. Odtiaľ sa odvíja celá hierarchická výstavba (príklad LINUX, viď Obr. 20).

Obr. 20 Hierarchická výstavba súborov a katalógov

Spravidla sa jadro operačného systému nachádza hlavnom katalógu alebo v katalógu "/boot". Špeciálne súbory sú uložené v katalógu "/dev". Pre chod operačného systému sú nutné ešte ďalšie katalógy ("/etc", "/bin", "/sbin", "/tmp"), v ktorých operačný systém uchováva súbory potrebné k spusteniu operačného systému do jednopoužívateľského režimu a prechod do viacpoužívateľského režimu. Ostatné potrebné nástroje sú uchovávané v ďalších katalógoch. Zvyčajne bývajú uložené v katalógu "/usr", ale je možné, aby správca systému si vybudoval vlastnú hierarchickú štruktúru.

V systéme je plne rozvinutá myšlienka spolupráce jednotlivých úloh. Vykonanie určitej úlohy môže byť preto rozbité na dielčie úlohy, pričom výstup z jednej jednoduchej úlohy je súčasne vstupom do úlohy nasledujúcej. Bolo dokázané, že riešenie zložitého problému pomocou niekoľkých kooperujúcich procesov je jednoduchšie ako pre programátora, tak aj pre používateľa prostriedkov.

Všetky úlohy, ktoré chcú komunikovať s technickými prostriedkami, využívajú k tomu služby jadra operačného systému. Vďaka tomu sa celý systém, samozrejme s výnimkou jadra, stáva nazávislý na technickom vybavení počítača, čím je zabezpečená vysoká prenositeľnosť programov aj na iné typy počítačov.

Väčšina používateľských a systémových príkazov je napísaná v programovacom jazyku C a zostávajúce príkazy v programovacom jazyku interpretačných programov (shell, perl a pod.). Jadro operačného systému je takmer celé napísané v programovacom jazyku C, až na "niekoľko" (rádove stovky) inštrukcií, ktoré sú napísané v jazyku symbolických inštrukcií a zabezpečujú primárne napojenie na technické prostriedky. Vzhľadom na to, že programovací jazyk C je základom celého operačného systému, je zvykom, že je jeho prekladač dodávaný priamo s operačným systémom UNIX. V posledných rokoch však komerčné organizácie (napríklad firma SCO) dodávajú jednotlivé komponenty operačného systému v balíkoch (samozrejme bez zdrojových textov), a preto v štandardnej dodávke operačného systému prekladač programovacieho jazyka C chýba (prevažne sa nachádza v balíkoch s označením "Development ..."). Pokiaľ by používateľ požadoval aj dodávku tohto balíka, musí ho dodatočne objednať a samozrejme aj za neho zaplatiť, pričom suma za tento balík býva často výrazne vyššia ako cena samotného operačného systému.

5.2              Základné postupy v OS UNIX

5.2.1                  Prihlásenie sa, zmena hesla a odhlásenenie sa

Operačný systém UNIX je multipoužívateľský operačný systém, to znamená, pod operačným systémom môže pracovať viac používateľov naraz. UNIX využíva používateľské účty na vyriešenie nezávislosti práce používateľov, ochrany ich privátnych informácii a pod..

Používateľský účet vytvára administrátor systému UNIX. Vytvorením účtu pridelí používateľovi jeho meno, pod ktorým bude známy v systéme (tzv. login), pridelí mu domáci adresár - vyhradí mu časť diskového priestoru na uchovávanie dát, môže mu prideliť heslo, pod ktorým sa dá prihlásiť do systému a niektoré ďalšie informácie.

5.2.1.1                 Prihlásenie sa do systému

Pod prihlásením sa do systému sa rozumie činnosť, ktorou zahajuje používateľ činnosť v systéme UNIX. Po zapnutí terminálu je potrebné stlačiť kláves <Enter> ako inicializáciu komunikácie s počítačom. Operačný systém ako odpoveď vypíše svoju verziu, meno, terminálovú linku, na ktorej je pripojený terminál a v nasledujúcom riadku vypíše výzvu na napísanie loginu. Napríklad:

Linux hornad 2.1.132 #4 SMP Sun Jan 3 12:36:27 CET 1999 i586 unknown

 

login:

Ak je danému loginu pridelené heslo, systém si ho v nasledujúcom kroku vyžiada, pričom z bezpečnostných dôvodov sa znaky písané ako heslo nezobrazujú. Po správnom zadaní loginu a hesla je používateľ prihlásený do systému. Operačný systém potom zobrazí výzvu, tzv. prompt (môže mať rôzny textový tvar) na napísanie prvého príkazu. Stav na obrazovke bude napr. nasledovný:

Last login: Fri Jun 24 08:16:53 1999 from kpi1e.fei.tuke.sk

Linux hornad 2.1.132 #4 SMP Sun Jan 3 12:36:27 CET 1999 i586 unknown

 

login:sobota

password:

 ... rôzne výpisy (napr. správy od administrátora systému) ...

<hornad[10:06]~>_

Pokiaľ bol zadaný neexistujúci login, alebo chybné heslo, systém vypíše chybovú správu a opätovne žiada login:

Login incorrect.

login:

5.2.1.2                 Zmena hesla

Ak používateľ nemal zadané heslo, alebo ho chce zmeniť, môže použiť príkaz na nastavenie hesla. Týmto sa zabráni k neoprávnenej manipulácii s privátnymi údajmi používateľa a preto by toto mal byť prvý príkaz po obdržaní používateľského účtu. Príkaz má tvar:

v  passwd

Ak používateľ už mal zadefinované heslo a teda heslo mení, operačný systém si vypýta staré heslo. Toto robí na zabránenie zmeny hesla neoprávnenou osobou, ktorá by sa mohla krátkodobo dostať k terminálu, na ktorom je používateľ práve prihlásený. Následne si žiada nové heslo a potom pre zamedzenie preklepu používateľa, opätovné napísanie nového hesla, pretože heslá sa na obrazovku nezobrazujú.

Heslom môžu byť písmená, číslice aj špeciálne znaky, pričom sa rozlišuje veľkosť písmen . Heslo musí mať minimálnu dĺžku hesla danú správcom systému (zväčša 6 písmen). Niektoré systémy UNIX kontrolujú, či heslom nie je postupnosť opakujúcich sa znakov, či heslo nie je zhodné s loginom, poprípade s menom stroja a pod. Pokiaľ je v systéme použitá "vyššia bezpečnosť", môže mať heslo nastavenú životnosť, po uplynutí ktorej používateľ musí svoje heslo zmeniť, poprípade minimálny čas, po ktorom je možné opätovne zmeniť heslo. V niektorých systémoch musí heslo spĺňať určité pravidlá (napr. aspoň jedno písmeno opačnej veľkosti ako ostatné, aspoň jeden znak, ktorý nie je písmenom a pod., tieto pravidlá by mal zverejniť administrátor systému). Pokiaľ sa napíše dlhšie heslo, ako je nastavené (zvyčajne 8 písmen), vypíše upozornenie, že ako heslo bude vždy brať iba prvé písmená. Po ukončení príkazu to môže vyzerať takto:

passwd

Changing password for sobota

(current) UNIX password:

Enter new UNIX password:

Retype new UNIX password

 

Pokiaľ používateľ zabudne svoje heslo, nebude mu povolené prihlásenie sa do systému. V tomto prípade môže heslo zmeniť iba administrátor systému.

Na každý login sa viažu určité prístupové práva k informáciam, príkazom a podobne. Administrátor systému má špeciálny login, nazývaný root. Pokiaľ sa administrátor prihlási pod týmto loginom, má neobmedzené práva a preto môže zmeniť alebo vymazať heslo ľubovoľnému používateľovi. Nevie ho zistiť, nakoľko je toto uložené v zašifrovanej forme, ktorá sa nedá rozšifrovať. Má samozrejme aj neobmedzený prístup k ľubovoľným údajom v systéme, teda aj k údajom ostatných používateľov.

Existujú rôzne spôsoby na zvyšovanie bezpečnosti systémov, to znamená rôzne systémy na zabránenie preniknutiu nepovolaným osobám do systému. Spôsob ochrany zväčša určuje administrátor systému. Preto iba jedna poznámka k heslám. Vo svete existujú rôzne programy na "dešifrovanie" hesla. Nakoľko neexistuje priamy dešifrovací algoritmus, pracujú na základe toho, že skúšajú rôzne heslá (slová zo slovníka - napr. najfrekventovanejších slov, meno a priezvisko používateľa a pokiaľ je zadané aj rodinných príslušníkov, rôzne dátumy a kombinácie týchto údajov). Pokiaľ by to skúšali pri prihlasovaní, systém by zablokoval linku, poprípade oznámil správcovi systému, že došlo k takejto snahe. Programy ale využívajú k svojej činnosti súbor /etc/passwd, v ktorom sú zakódované heslá. Programy potom iba zakódujú nejaké slovo a výsledok porovnajú so zakódovaným heslom v súbore /etc/passwd. Poznamenajme, že algoritmus kódovania je všeobecne známy. Pokiaľ je v systéme použitá zvýšená bezpečnosť, zakódované heslá nie sú v súbore /etc/passwd , ale v súbore, ktorý obyčajný používateľ nemôže čítať (/etc/shadow), a uvedený spôsob prieniku do systému nie je možný.

Z tohoto vyplýva, že používateľ by si mal voliť heslá také, aby tieto programy neboli úspešné. Tu sú príklady hesiel, ktoré je ťažko dešifrovať:

canis.lupus                    lat. vlk obyčajný, bodka zťažuje dešifrovanie 

smmndrnk                     spoluhlásky zo slov som mandarinka 

tatrsk                            každé druhé písmeno zo slova traktoristka

Takisto je výhodné používať v heslách čísla, veľké písmená alebo rôzne znaky jako _ - . ; : / \. Je lepšie používať heslá, ktoré na prvý pohľad nedávajú zmysel, alebo použiť nejaké slovo cudzieho jazyka, ktoré pravdepodobne nikto z ľudí z okolia nepozná, aby pri písaní hesla nemohla cudzia osoba odpozorovať heslo z prstov. Pokiaľ by cudzia osoba odpozorovala začiatok hesla tatrsk, nedovtípi sa zvyšok tak, ako by to mohlo byť v prípade nasledovných hesiel:

krokodil                        keď odpozoruje niekto kroko, zvyšok hesla si domyslí

atobos                           login odzadu - dešifrovacie programy ľahko odhalia 

branislav                       krstné meno - ľahko odhaliteľné

Zmena hesla môže na niektorých systémoch prebiehať tak, že po zadaní starého hesla sa systém opýta, či nové heslo chce definovať používateľ, alebo ho má vymyslieť operačný systém (LINUX nepodporuje). Pokiaľ sa zvolí možnosť definovania používateľom, pokračuje sa zadávaním hesla (dva krát). Pokiaľ sa definovanie nového hesla prenechá systému, systém náhodne vytvorí niekoľko hesiel a vypíše ich na obrazovku. Používateľ si z nich vyberie jedno a napíše ho na klávesnicu pre kontrolu, že sa ho správne naučil. Definovanie hesla systémom spĺňa podmienky vytvorenia ťažko odhaliteľného hesla. Definovanie hesla systémom je na niektorých systémoch možné dosiahnuť voľbou -a. Na obrazovke to potom vypadá takto:

passwd -a

Here are some suggested passwords:

 

ryegdi ryeg-di

aswurku a-swurk-u

ryedok reyd-ok

teleccos tel-ec-cos

wahislas wa-hi-slas

 

Enter new password:

5.2.1.3                 Odhlásenie sa zo systému

Odhlásenie z operačného systému sa vykonáva stlačením kombinácie klávesov CTRL-D miesto príkazu, po vypísaní promptu. Pokiaľ je takýto spôsob odhlásenia vypnutý, je možné použiť príkaz "logout“ poprípade "exit".

Príkaz logout sa používa pri ukončovaní základného shellu (vytvorený pri prihlásení sa), exit pri ukončovaní shellu, ktorý bol vyvolaný používateľom (napríklad spustením ako príkaz).

Po skutočnom odhlásení operačný systém vypíše výzvu na opätovné prihlásenie sa:

Linux hornad 2.1.132 #4 SMP Sun Jan 3 12:36:27 CET 1999 i586 unknown

 

login:

Po tejto správe je už možné vypnúť terminál.

5.2.1.4                 Použitie osobného počítača na emuláciu terminálu

Je možné použiť osobný počítač miesto terminálu (napr. typu PC). V tomto prípade potrebujete program na emuláciu terminálu a osobný počítač pripojiť pomocou sériového portu (alebo ethernetu, UTP alebo iným spôsobom) na počítač s operačným systémom UNIX. Pre osobné počítače typu PC existuje veľké množstvo emulátorov terminálu (aj napr. Windows95 obsahujú emulátor terminálu, ale je možné pracovať aj na úrovni DOS-u napr. s emulátorom dodávaným k Norton Commander-u). V emulátore je potrebné nastaviť niektoré základné parametre prenosu. Pre komunikáciu pomocou sériového prenosu je to predovšetkým rýchlosť komunikácie, počet bitov pri prenose, typ použitej parity, typ riadenia prenosu, ak má osobný počítač viac portov, tak číslo portu. Pri ukončovaní práce je taktiež potrebné najprv sa odhlásiť, a až potom ukončiť prácu emulátora terminálu, poprípade vypnúť počítač. Pokiaľ by sa zabudlo na odhlásenie sa, ľubovolná osoba, ktorá by po čase opäť spustila emulátor terminálu, pokračovala by v práci predchádzajúceho používateľa.

V prípade, že osobný počítač je pripojený na UNIX pomocou protokolu telnet (alebo bezpečnejšie SSH), nie je nutné sa odhlásiť, pretože emulátor to vykoná za vás. Ale aj tu je vhodnejšie korektné odhlásenie sa..

5.2.1.5                 Automatické odhlásenie

Na niektorých systémoch UNIX je nainštalované automatické odhlasovanie (autologout), pokiaľ používateľ nie je aktívny (tzv. idle time, napríklad, pokiaľ nestlačil žiaden kláves za posledných 20 minút). Systém automatického odhlasovania zväčša niekoľko minút pred automatickým odhlásením upozorní používateľa, aby začal pracovať (stačí stlačiť jednu klávesu). Okrem iného je tento systém vhodný na to, aby vykonal automatické odhlásenie namiesto nejakého "zábudlivca", ktorý iba vypol terminál. Znižuje sa tým riziko nepovolaného prístupu k nejakým údajom. Aj pokiaľ je tento systém nainštalovaný, netreba sa naň spoliehať.

Automatické odhlásenie je nepríjemné v tom prípade, keď používateľ používa program, ktorý dlhšiu dobu vykonáva nejakú činnosť bez výzvy stlačenia klávesy (napr. dlhý výpočet, prenos súborov a pod.), môže automatické odhlásenie nechcene odhlásiť používateľa, aj keď sedí za terminálom. V tomto prípade je možné buď stlačiť na klávesnici nejaký znak a potom klávesou back space tento vymazať. Iný spôsob ochrany pred odhlásením je spustiť program na pozadí a nastaviť mu príznak, aby sa proces nerušil pri odhlasovaní sa (príkaz nohup v csh). Ak ani jeden spôsob nie je vhodný, treba sa poradiť s administrátorom systému.

Pokiaľ dôjde k vypadnutiu systému UNIX alebo ukončeniu práce systému v takzvanom "multirežime" na základe príkazu administrátora systému, všetci používatelia sú automaticky odhlásení, takže aj keď systém začne znovu pracovať v "multirežime", musia sa všetci používatelia opätovne prihlásiť.

5.2.1.6                 Nastavenie osobných údajov a interpretra príkazov

O používateľovi sa v systéme okrem loginu vedú aj doplnkové informácie, ktoré sa vypisujú pri použití niektorých príkazov (napr. na zistenie, kto je práve prihlásený). Sú to nasledovné informácie:

·        reálne meno 

·        adresa v práci 

·        telefón do práce 

·        telefón domov 

Používateľ si ich môže zmeniť pomocou príkazu:

v  chfn

alebo

v  passwd -f

Operačný systém si tieto informácie postupne vypýta, pričom v hranatých zátvorkách uvedie starú hodnotu. Pokiaľ sa iba stlačí <Enter> resp. <CR> bez uvedenia novej hodnoty, ostáva stará hodnota. Pokiaľ má ostať údaj nevyplnený, vypíše sa none. Jednotlivé hodnoty nemôžu obsahovať dvojbodku, čiarku alebo riadiace znaky.

Pokiaľ chce používateľ používať iný interpreter príkazov, ako má nastavené, môže si nastaviť, ktorý interpreter príkazov sa mu spustí pri prihlásení sa do systému. Zmena sa uskutočňuje príkazom:

v  chsh

alebo

v  passwd -s

Príkaz vypíše staré nastavenie a žiada novú hodnotu. Používateľ môže zadať iba interpreter, ktorý je uvedený v súbore /etc/shells. Po novom prihlásení sa už použije nové nastavenie. Najviac rozšírené shelly sú sh, bash, tcsh, zsh, ash, csh, ksh a iné.

5.3              Príkazy pre nastavenie a ovládanie terminálu   

Po zapnutí terminálu prebehne test správnosti terminálu diagnostickými programami, ktoré sú uložené priamo v ROM pamäti terminálu. Ak terminál je v poriadku zobrazí sa na obrazovke prihlasovací reťazec (resp. po stlačení klávesu <Enter>) napr.:

Linux hornad 2.1.132 #4 SMP Sun Jan 3 12:36:27 CET 1999 i586 unknown

login:

Ak sa tento reťazec neobjaví, je potrebné nastaviť parametre terminálu (inák sa tomu hovorí aj nastaviť SETUP terminálu).

Pre nastavenie parametrov terminálu je potrebné prepnúť terminál do režimu nastavovania parametrov. Zvyčajne sa to prevedie buď súčasným stlačením nejakej kombinácie kláves alebo sa na klávesnici nachádza špeciálny kláves (napr. s označením SETUP), ktorý prepne terminál do tohoto režimu. Každý typ terminálu má vlastné ovládanie nastavenia, preto ho tu nebudeme popisovať. Obmedzíme sa len na také parametre, ktoré sú vlastné prevažnej väčšine typov terminálov. Tieto základné parametre popisuje tabuľka Tab. 4.

Parameter

Význam

Mód

Definuje spôsob práce terminálu

LOCAL – bez spolupáce s OS

ONLINE – napojenie na OS

Reset terminálu

Vykoná sa nanovo inicializácia terminálu s nastavenými parametrami

Zapíš nastavenie

Do pamäti terminálu sa odpamätá aktuálne nastavenie parametrov terminálu

Typ kurzora

Znak podčiarknutia alebo bloku

Rolovanie obrazovky

Nastavenie pokračovania zobrazenia príkazu na nasledujúcom riadku resp. jeho orezanie len na jeden riadok.

Jump scroll – skokové rolovanie

Smooth scroll – priebežné rolovanie

Typ terminálu

Každý terminál podporuje niekoľko rôznych typov programového nastavenia napr. vt52, vt100, vt300, ansi a pod.

Prenosová rýchlosť

Nastavenie prenosovej rýchlosti osobitne pre príjem a osobitne pre vysielanie (4800Bd, 9600Bd, 19200Bd ap. (Bd=Baud, zvyčajne 1 bit za sekundu = 1bps))

Počet bitov

Nastavuje sa počet bitov při prenose (7 alebo 8)

Stop bit

Nastavuje typ ukončovacieho bitu

Parita

Zapnutie kontroly parity (párna, nepárna alebo žiadna)

Typ sériového prepojenia

Nastavuje sa spôsob, akým je realizované spojenie terminálu s technickými prostriedkami (hardvérom) operačného systému a to prostredníctvom prúdovej alebo napäťovej slučky.

Tab. 4 Popis základných parametrov terminálu

Zvlášť dôležité sú parametre ak rýchlosť prenosu, počet bitov pri prenose a parita. Tieto parametre musia sedieť s príslušným nastavením v súbore /etc/ttys (resp. /etc/terminfo), z ktorého číta inicializačný program "getty" zabezpečujúci vypísanie prihlasovacieho reťazca a prihlásenie používateľa do systému. Popis informácií v tomto súbore nie je predmetom tejto publikácie, preto sa obmedzíme len na jednoduchý príklad.

Príklad: Majme v súbore /etc/inittab nasledujúci riadok pre popísanie terminálu:

3:23:respawn:/sbin/getty 38400 tty3   vt100

Toto nám vraví, že terminál beží na úrovni (runlevel, priorita prístupu) 2 a 3 a respawn určuje, že proces bude reštartovaný kedykoľvek při ukončení. Ďalej, že terminál je pripojený prostredníctvom terminálovej linky číslo 3 (vygenerovaný špeciálny súbor tty3 v katalógu /dev), má nastavenú prenosovú rýchlosť 38400 baudov, typ terminálu je nastavený na vt100. Úpravy v súbore /etc/inittab môže robiť len privilegovaný používateľ, preto je nutné aby používateľ vedel implicitné nastavenie parametrov v operačnom systéme t.j. v súbore /etc/inittab a tomu prispôsobil nastavenie parametrov na svojom termináli.

Pri prihlasovaní používateľa sa nastavuje premenná TERM, ktorá obsahuje typ terminálu, na taký typ, aký je uvedený v súbore /etc/inittab. Ak v SETUP-e terminálu nie je rovnaký typ, môžu nastať problémy so zobrazením údajov (veľmi často sa to stáva pri vyvolaní editora vi). Táto premenná obsahuje typ terminálu. Podľa nej sa hľadá v katalógu /etc/terminfo zodpovedajúca databáza, ktorá popisuje interpretáciu riadiacich kódov na tom ktorom type terminálu. Vzhľadom na to, že katalóg /etc/terminfo by mal obsahovať popis pre všetky rôzne typy terminálov, zvykne mať preto dĺžku rádove desiatky KB. Tento katalóg udržuje a spravuje privilegovaný používateľ.

Okrem nastavenia parametrov v SETUP-e, umožňuje operačný systém nastaviť charakterisktiky terminálu príkazom "stty". Syntax príkazu je nasledovná:

v  stty [-ag] [voľby] ...

Samotný príkaz bez argumentov zabezpečí zobrazenie nastavených charakteristík pre štandradný výstup na štandardnom chybovom výstupe. Ak je špecifikovaný argument "-a" (alebo "everything"), zobrazia sa všetky charakterisktiky, nielen tie, ktoré sú nastavené. Argument "-g" zabezpečí zobrazenie charakteristík v takej forme, aby sa mohli použiť pre ďalší príkaz "stty".

Najviac používané voľby sú (znamienko "-" znamená zrušenie):

[-]echo

povolí/zakáže zobrazovanie znakov na termináli

[-]tostop

povolí/zakáže úlohám na pozadí písať na terminál

[-]parodd

nastavenie/zrušenie kontroly párnej parity

[-]even

nastavenie/zrušenie kontroly nepárnej parity

[-]pass8

nastavenie/zrušenie 8-bitových znakov

[-]raw

nastavenie/zrušenie znakového (nebufrovaného) vstupu a výstupu, v ktorom program dostane všetky znaky tak, ako ich používateľ zadá

[-]dec

nastavenie charakteristík ERASE, KILL a INTR. Veľmi často sa používa v spojení s príkazom new.

[-]lcase

nastavenie/zrušenie prevodu na malé písmená

rows i

nastavenie počtu riadkov na i

columns i

nastavenie počtu stĺpcov na i

50,...,19200

nastavenie prenosovej rýchlosti medzi terminálom a operačným systémom

riadiaci_kod c

nastavenie riadiaceho kódu na sekvenciu c, napríklad:

v  stty erase ‘^H’

v  stty kill ‘^C’

v  stty werase ‘^U’

a podobne

Ostatné voľby je možné nájsť v používateľskej príručke k operačnému systému, resp. v operačnom systéme zadaním príkazu "man stty".

Ďalšie príkazy, ktoré umožňujú riadiť terminál sú:

v  clear

Vymaže obsah obrazovky a kurzor vloží do ľavého horného rohu.

v  echo [-n] [argument] ...

Zobrazí špecifikovaný argument. Ak je špecifikované "-n", tak ďalší výpis bude pokračovať v tom istom riadku.

v  lockvc

Príkazom je možné uzamknúť terminál (virtuálnej konzoly) bez odhlásenia sa zo systému. Tak si je možné rezervovať terminál. Špecifikovaním parametra "-number" číslo "number" definuje počet minút pre rezeváciu terminálu. Opätovné pokračovanie je možné len po zadaní hesla toho používateľa, ktorý bol na tomto termináli prihlásený.

v  printenv [name]

Zabezpeží zobrazenie premenných pracovného prostredia, napr. TERM, USER, PATH, MAIL ap.

v  setenv [name value]

Umožní nastaviť premenné pracovného prostredia "name" na hodnotu "value". V súvislosti s terminálom sa používa (v csh, tcsh) na nastavenie premennej TERM (resp. term), ktorá obsahuje reťazec určujúci typ terminálu, napríklad: setenv TERM vt200   alebo   set term=vt200

v  tty

Zobrazí sa meno špeciálneho súboru, ktorý zodpovedá terminálu, na ktorom je používateľ prihlásený (za ktorým pracuje).

v  reset

Vykoná znovuinicializáciu terminálu tak, že nastaví terminálové charakteristiky na implicitné hodnoty resp. podľa hodnôt uvedených v súbore /etc/termcap.

5.4              Súbory a katalógy v OS UNIX

5.4.1                  Princípy výstavby súborového systému

V súborovom systéme UNIXU sa rozlišujú tri základné typy súborov:

·        obyčajné súbory 

·        adresáre (katalógy)

·        špeciálne súbory 

Obyčajný súbor obsahuje textovú, binárnu, poprípade inú informáciu, pričom jadro operačného systému umožňuje sekvenčný aj priamy prístup k ľubovolnej slabike.

Adresár (katalóg - v nasledujúcom popise sa budú tieto dva názvy používať ekvivalentne) je súbor, ktorý obsahuje zoznam mien a zodpovedajúcich i-uzlov iných súborov. Môžu to byť obyčajné súbory, adresáre aj špeciálne súbory.

Špeciálny súbor je prostriedok na ovládanie periférnych zariadení. Používateľ má týmto umožnené ovládať periférne zariadenia podobne, ako súbory.

Štandardne operačný systém obsahuje sadu príkazov pre prácu nad súborovým systémom. Tieto príkazy budú popísané v nasledujúcich kapitolách. V súčasnosti sú však aj na platforme UNIXu dostupné výkonné a pohodlné súborové manažére určené na túto činnosť. Súborový manažér je program poskytujúci používateľovi jednoduchú a komfortnú obsluhu najpotrebnejších funkcií operačného systému ako sú:

·        vytváranie adresárov,

·        vytváranie, mazanie, kopírovanie, prezeranie, editácia a zmena atribútov súborov,

·        kopírovanie a presun súborov a adresárov

·        premenovanie súborov a zložiek,

·        vyhľadávanie súborov a zložiek

·        zobrazenie stromovej štruktúry zvoleného adresára,

·        informácie o stave zariadení OS,

·        prehľadávanie zariadení a ich podadresárov a pod. vrátane siete

·        získanie niektorých systémových informácií

·        prístup na vzdialené počítače napr. aj cez službu ftp.

Jedným z najznámejších v súčasnosti najpoužívanejším súborovým manažérom v UNIXe je Midnight Commander. Pracuje v textovom režime a svojou filozofiou je analogický veľmi populárnemu Norton Commander-u z platformy MSDOS.

Obr. 21 Ukážka Midnight Commander-a (mc)

Súborový systém UNIX-u sa pre používateľa javí ako jeden strom katalógov a súborov. Pokiaľ je v systéme použítých viac fyzických diskov, administrátor systému tieto navzájom pospája do jednej stromovej štruktúry. Jeden fyzický disk je štandardne rozdelený na niekoľko logických partícií. Niekoľko z možných rozdelení a názvy partícií je na Obr. 22.

a

b

d

e

f

h

a

b

g

h

c

Obr. 22 Rozdelenie disku na logické particie

Rozdelenie partícií môže byť aj iné, ale použité partície sa nesmú navzájom prekrývať. Partícia "a" býva používaná ako bootovacia a potom obsahuje koreň stromovej štruktúry. Partícia "b" potom býva využívaná ako swapovacia partícia (na zväčšenie pracovnej pamäte systému). Partícia "c" má zväčša veľkosť celého disku (pokiaľ je použitá, už nemôže byť použitá iná partícia disku, lebo sa nesmú prekrývať).

Každá partícia má vytvorený vlastný súborový systém. Administrátor systému si rozvrhne jednotlivé partície, ich veľkosť a na aký účel budú slúžiť. Potom k hlavnej partícii pripája ďalšie tzv. montovaním (do prázdneho katalógu sa namontuje koreň stromu inej partície). Táto činnosť sa vykonáva ešte pri bootovaní operačného systému, pri prechode do multirežimu. Po namontovaní jednotlivých partícií má celý súborový systém jednu súvislú stromovú štruktúru.

Rozdelenie celého súborového systému do partícií má niekoľko výhod, resp. nevýhod od nedeleného disku. Nevýhoda je, že pokiaľ sa preplní nejaká partícia, nie je možné do určitej časti súborového systému zapisovať, aj keď zvyšné partície sú poloprázdne. Výhodou je ľahšia údržba pre administrátora (napr. zálohovanie) aj pri veľmi veľkom diskovom priestore, poprípade nevýhoda preplnenia partície môže byť využitá aj na obmedzenie pridelenia diskového priestoru pre určité aplikácie, resp. používateľov. Ale pri účelovom využití sa z tejto nevýhody môže statť pre správcu systému výhoda.

Rozdelenie a obsadenosť súborového systému si môže používateľ zistiť príkazom:

v  df [-i] [súborový_systém] [súbor]

Príkaz vypíše použité partície v súborovom systéme, ich veľkosť, zaplnenosť, koľko priestoru je ešte voľného, zaplnenosť v percentách a katalóg, v ktorom sú namontované. Ak zadáme konkrétny súborový systém (napr. /dev/rz0a), vypíše informáciu iba o tomto súborovom systéme konkrétnej partície. Ak zadáme súbor, vypíše informáciu o tej partícii, v ktorej sa súbor nachádza. Voľbou     "-i" sa nastaví vypisovanie informácií aj o i-uzloch.

Hodnota 109% je možná tým, že administrátor môže na každej partícii nastaviť časť disku rezervovanú iba pre systém a používateľa root na zabezpečenie činnosti systému aj pri zaplnení disku obyčajným používateľom. Typicky to býva 10%. Informácia, koľko je ešte priestoru voľného a percentuálne zaplnenie disku túto rezervu neobsahujú.

0. sektor

 

32. sektor

 

superblok

datové bloky

superblok

datové bloky

Obr. 23 Rozloženie údajov na disku

Každý súborový systém partície obsahuje tzv. "superblok", ktorý obsahuje i-uzly a dátové bloky, kde sú samotné informácie uložené v súboroch. Pre bezpečnosť je superblok zálohovaný. Počet záloh je závislý od veľkosti partície. Obr. 23 zobrazuje rozdelenie jednej partície aj s prvou zálohou superbloku.

I-uzly sú postupne číslované od 1 v každej partícii. I-uzol obsahuje v sebe informácie o súbore s výnimkou mena. Obsah i-uzla je na nasledovný:

·        typ súboru (obyčajný,adresár,špeciálny) 

·        identifikačné číslo vlastníka 

·        identifikačné číslo skupiny 

·        prístupové práva 

·        čas posledného zápisu do súboru 

·        čas posledného použitia (čítanie, zápis) 

·        čas poslednej zmeny i-uzla 

·        umiestnenie dátových blokov na disku (u špec. i-uzlu určenie perif. zariadenia) 

Adresár je potom zoznam mien a prislúchajúcich i-uzlov súborov. Potom k menu je možné priradiť dátové bloky pomocou i-uzlov. Stav je zobrazený na Obr. 24.

Obr. 24 Zaradenie súboru do adresára

I-uzol je jednoznačná identifikácia súboru. Odkaz na i-uzol z položky adresára sa nazýva linka. Linka môže byť viacnásobná, poprípade z rôznych adresárov. To znamená, že tent istý súbor (i-uzol a dátové bloky) môže mať pridelených viac mien súčasne.

5.4.2                  Štruktúra adresárov v OS UNIX.

V OS UNIX sa hlavný (koreňový) katalóg nazýva ROOT. Označuje sa znakom / (lomítko). V ňom sa nachádzajú súbory a ďalšie katalógy - jeho podkatalógy. Všetky katalógy tak vytvárajú štruktúru - orientovaný strom a na jeho vrchole je koreňový katalóg - ROOT. Na Obr. 20 je ukázaná typická hierarchia adresárov UNIXU (LINUX).

Popis niektorých adresárov:

/

obsahuje hlavne súbor s jadrom operačného systému. Toto sa spúšťa pri zavádzaní systému. 

/bin

obsahuje základné binárne súbory (spustiteľné programy-príkazy OS), ktoré sú dodané s operačným systémom. 

/dev

obsahuje špeciálne súbory (ovládače) všetkých periférnych zariadení, ktoré vie ovládať operačný systém (ovládače diskových jednotiek, ovládače terminálov, ovládače páskových jednotiek ...) 

/etc

obsahuje systémové konfiguračné súbory a programy určené pre bootovanie systému a pre údržbu systému administrátorom systému

/mnt

katalóg slúžiaci na pripojenie pomocných oblastí operačného systému

/sys

obsahuje súbory potrebné pri konfigurácii jadra operačného systému administrátorom systému 

/tmp

obsahuje dočasné súbory, tu si môžu programy alebo používatelia dočasne odkladať rôzne súbory, katalóg sa zväčša periodicky maže (pri boote, každý týždeň a pod.) 

/var/log

obsahuje rôzne štatistické súbory (kto bol kedy prihlásený, aké príkazy používal, koľko papiera vytlačil, súbor s chybovými správami a pod.)

/usr

obsahuje ďalšie významné katalógy: 

/usr/bin

obsahuje ďalšiu množinu binárnych programov - príkazov štandardne dodávaných OS UNIX

/usr/games

Nemusí sa vyskytovať vždy. Obsahuje štandardné hry dodávané s operačným systémom OS UNIX, sú veľmi jednoduché, určené pre klasické terminály

/usr/local

obsahuje stromovú štruktúru podobnú hlavnej (obsahuje katalógy tmp, bin, etc, usr atď.), môžu tu byť uložené programy, ktoré sú na Unix dodatočne inštalované (napr. freeware) 

/usr/lib

obsahuje knižničné moduly (napríklad pre kompilátor jazyka C)

/usr/include

obsahuje hlavičkové súbory jazyka C 

/usr/man

obsahuje manuálové stránky pre príkazy, konfiguračné súbory, programovacie jazyky, obsahuje 8 párov katalógov s nasledujúcim významom:

man1 - používateľské príkazy

man2 - volania jadra operačného systému

man3 - knižničné funkcie programovacích jazykov

man4 - špeciálne súbory pre prídavné zariadenia

man5 - systémové tabuľky

man6 - príručky pre hry

man7 - príručky pre formátovanie textov programom nroff, troff

man8 - príkazu pre údržbu operačného systému

/usr/spool

katalóg určený pre systémové fronty (tlačiareň, sieť, tlačový front, atď)

/usr/src

zdrojové súbory príkazov operačného systému a aj samotného jadra (podkatalóg /usr/src/sys). Nenachádza sa vždy.

/usr/user

/home

tu je stromová štruktúra domácich katalógov používateľov 

5.4.3                  Mená súborov a adresárov

O menách súborov a adresárov už bolo hovorené. V adresári, ako sme už spomínali, sú položky, ktoré sú zložené z mena a odkazu na i-uzol. Toto meno sa nazýva jednoduchým menom. Jednoduché meno môže mať ľubovolnú dĺžku, ktorá je ohraničená iba implementáciou konkrétneho UNIX-u. Môže obsahovať ľubovolné znaky okrem znaku lomítko "/". Meno by nemalo obsahovať aj ďalšie špeciálne znaky, pretože interpretre príkazov ich interpretujú ako príkazy (napr. znaky | & * ? ; " ' ( ) ^ < >  a ďalšie). Preto pre jednoduché meno sa odporúča používať iba veľké a malé písmená, číslice, znak bodka, vlnovka, pomlčka a znak podčiarknutia.

G Operačný systém rozlišuje veľkosť písmen, preto meno "Ali_pasa" a meno "ali_pasa" sú dve rôzne mená a v jednom katalógu musí mať každá položka (súbor alebo podkatalóg) iné meno.

V stromovej štruktúre súborového systému jednoduché meno nestačí na identifikáciu súboru. Preto pre určenie súboru alebo katalógu sa používa úplné (absolútne) alebo neúplné (relatívne) meno.

Absolútne (úplné) meno vytvoríme tak, že postupne zapisujeme jednoduché mená všetkých katalógov od koreňového až po katalóg, v ktorom sa nachádza súbor (alebo náš katalóg) a nakoniec zapíšeme jednoduché meno nášho súboru (katalógu). Pri zápise všetky jednoduché mená oddeľujeme znakom / a týmto znakom aj začneme. Napríklad:

/usr/bin/man     súbor man v katalógu /usr/bin

/usr/user              katalóg /usr/user

Už z príkladu je vidieť, že v mene sa nerozlišuje, či to je katalóg, alebo súbor (samotný katalóg je vlastne chápaný UNIX-om ako súbor).

Pri zavedení používateľa administrátor systému pridelil používateľovi jeho domáci katalóg. Po prihlásení je tento aj pracovným katalógom. Pracovný katalóg si používateľ môže meniť počas práce v operačnom systéme. Pracovný katalóg je dôležitý pri používaní neúplných mien súborov, nakoľko tieto sa vzťahujú práve k pracovnému katalógu.

Existujú dve špeciálne označenia katalógov:

.           označuje pracovný katalóg

..          označuje katalóg, ktorému je pracovný katalóg podkatalógom (predch. katalóg)

Napríklad, ak je pracovným katalógom katalóg /usr/bin, tak zápis

.           je ekvivalentný zápisu /usr/bin

..          je ekvivalentný zápisu /usr

Relatívne (neúplné) meno vytvoríme tak, že postupne zapisujeme jednoduché mená (poprípade označenia . alebo ..) všetkých katalógov od pracovného katalógu až po katalóg, v ktorom sa nachádza súbor (alebo náš katalóg) a nakoniec zapíšeme jednoduché meno nášho súboru (katalógu). Pri zápise všetky jednoduché mená oddeľujeme znakom / a môžeme použiť špeciálne označenia katalógov . Znak / neuvádzame na začiatku neúplného mena na rozdiel od úplného.

Napríklad, ak je pracovný katalóg /usr, tak zápis

bin                je ekvivalentný zápisu /usr/bin

../dev         je ekvivalentný zápisu /dev

./bin    je ekvivalentný zápisu /usr/bin

bin/man      je ekvivalentný zápisu /usr/bin/man

Niekedy potrebuje používateľ pracovať s celou skupinou súborov. Na to sa používajú znaky pre skupinový výber (tzv. "wildcard" znaky). Poznáme dva základné znaky skupinového výberu:

·        ? - nahradzuje jeden ľubovoľný znak,

·        * - nahradzuje ľubovoľný počet znakov v mene súboru.

 

 

 

Príklad: Majme tieto súbory:

FAKTURA1.DBF, FAKTURA2.DBF, FAKTURY.DAT, FERO.TXT, MZDY.DBF, PERSONAL

Ak napíšeme:

*.*                       - vyberieme všetky súbory

F*.D*                  - vyberieme súbory FAKTURA1.DBF, FAKTURA2.DBF,                                   FAKTURY.DAT       

*.DBF                  - vyberieme súbory FAKTURA1.DBF, FAKTURA2.DBF, MZDY.DBF

FAKTURA?.DBF  - vyberieme súbory FAKTURA1.DBF  a  FAKTURA2.DBF

*.          - vyberieme súbor PERSONAL

5.4.4                  Pridanie linky na katalóg alebo súbor

V kapitole 5.4.1 sme sa zaoberali popisom základných princípov výstavby súborového systému. Povedali sme si, že obsah súboru je uložený v zozname údajových blokov, na ktorý ukazuje i-uzol. V tejto kapitole sa budeme zaoberať spôsobom pridania novej linky k i-uzlu za účelom vytvorenia odkazu na daný súbor bez toho, aby sme ho kopírovali.

Pridanie ďalšej linky k i-uzlu sa vytvára pomocou príkazu:

v  ln [-f] [-s] staré_meno [nové_meno]

v  ln [-f] [-s] staré_meno ... [nový_katalóg]

Príkaz pridá novú linku k i-uzlu, ktorý je určený starým menom. Vznikne nová položka v katalógu, ktorá bude odkazovať na ten istý i-uzol, ako stará. Tento prípad je znázornený na Obr. 25.

Obr. 25 Vznik novej položky katalógu typu linka

Počet liniek ku i-uzlu nie je obmedzený, ale linka môže byť vytvorená iba v rámci súborového systému jednej partície a nemôže byť vytvorená na i-uzol, ktorý je typu katalóg. Pokiaľ existuje viac liniek na i-uzol, pri rušení súboru (príkaz rm) sa ruší linka na súbor. Až pri rušení poslednej linky sa uvoľní obsah súboru a s ním aj i-uzol.

Okrem spomínanej linky, tzv. "hard" linky, existuje ešte symbolická linka. Symbolická linka je vlastne súbor, ktorý obsahuje meno iného súboru, do ktorého referuje. Na Obr. 26 je vytvorená jedna symbolická linka:

Obr. 26 Vytvorenie symbolickej linky

Symbolická linka nemá obmedzenie na súborový systém jednej partície a nemožnosť vytvoriť linku na katalóg. Pri rušení cieľového súboru alebo katalógu sa symbolická linka neruší. Môže existovať aj samostatne, ale pri použití potom operačný systém hlási chybu.

Príkaz má dva tvary, prvý umožňuje vytvoriť novú linku pod novým menom (v tom istom alebo aj inom katalógu). Druhý tvar umožňuje vytvoriť nové linky (nové mená) tak, že pre súbory s menom staré meno vytvorí linky v inom katalógu s rovnakým jednoduchým menom, aké bolo vzorové (staré meno). Voľby:

-f       pri vytváraní linky s novým menom zruší súbor, ak už s takým menom existuje

-s       vytvorí symbolickú linku, inak vytvorí obyčajnú (hard) linku

5.4.5                  Príkazy pre prácu s katalógmi.

Aby bolo možné používať príkazy pre manipuláciu s katalógmi, je potrebné najprv vedieť, čo sa v katalógu nachádza, t.j. vypísať si obsah katalógu. Na to slúži príkaz ls:

v  ls [voľby] katalóg ...

Príkaz má celú množinu volieb, preto spomenieme aspoň najvia používané:

-l       dlhý výpis obsahu katalógu

-a       zobrazenie vštkžch (aj neviditeľných) súborov

-F       k menu súboru je pridaný znak, ktorý reprezentuje typ súboru a to:

*          vykonateľný súbor

/         katalóg

@        symbolická linka

-g       zobrazenie aj skupiny pri zobrazení dlhého formátu

-R       vypísanie aj celého podstromu v rámci aktuálneho katalógu

Pri použití príkazu

v  ls -l

dostanete dlhý fomát výpisu, jako napríklad:

drwxr-xr-x  1  juro  janosik  321  Sep 19 1999  vyplata

ktorý obsahuje nasledujúce časti:

typ  práva  počet_odkazov  vlastník  skupina  veľkosť  dátum  meno

ktoré znamenajú:

typ

Definuje typ súboru a môže byť:

            d          katalóg

            -          súbor

            l           symbolická linka

            b          blokové zariadenie (len pre súbory v katalógu /dev)

            c          znakové zariadenia (lenpre súbory v katalógu /dev)

Práva

Definuje prístupové práva k súboru pre vlastníka, skupinu a ostatných. Práva sú zobrazené ako tri trojice znakov r, w a x s nasledujúcim významom:

            r           povolenie pre čítanie

            w         povolenie pre zápis

            x          povolenie pre vykonávanie

 

Napríklad:    rwxr-xr-x

Prvá trojica znakov reprezentuje prístupové práva pre vlastníka súboru, druhá trojica pre skupinu a tretia trojica pre ostatných. Na mieste ktoréhokoľvek práva sa môže vyskytovať znak "-", ktorý zakazuje povolenie vykonávania príslušnej činnosti, to znamená, že v našom príklade má skupina a všetci ostatní zákaz zapisovať do súboru. Vlastník súboru má zápis povolený. Na mieste práva "x" sa môže vyskytovať znak "S" alebo "s", ktorý špecifikuje prepožičanie identifikácie na vlastníka súboru, t.j. keď tento znak je na mieste povolenia vykonávania pre skupinu, tak ktorýkoľvek používateľ patriaci do skupiny, do ktorej patrí aj súbor, môže spustiť tento program tak, akokeby ho spustil vlastník súboru.

počet_odkazov

Špecifikuje, koľko odkazov je na daný súbor evidvaných, či už priamo, alebo prostredníctvom symbolických liniek

Vlastník

Meno vlastníka súboru tak, ako je evidovaný v systéme t.j. login meno.

Skupina

Názov skupiny, ktorá má povolený prístup k súboru.

Veľkosť

Dĺžka súboru.

Dátum

Dátum, kedy bol súbor vytvorený.

Meno

Meno súboru.

 

Vytvoriť katalóg je možné prostredníctvom príkazu "mkdir". Jeho syntax ja nasledujúca.

v  mkdir [-p] katalóg ...

Príkaz umožňuje vytvoriť nový katalóg alebo viac nových katalógov naraz. V prípade, že neexistuje cesta k novému katalógu sa vypíše chyba. Pokiaľ je zadaná voľba -p, chyba sa nevypíše, ale sa vytvoria aj všetky katalógy, ktoré sú obsiahnuté v ceste pre nový katalóg.

Príklad:

Ak chceme vytvoriť katalóg /user/student/prvy/novak a neexistuje katalóg /user/student, vypíše sa chyba. V prípade zadania voľby "-p" sa  najprv vytvoria katalógy  /user/student, potom /user/student/prvy a až potom žiadaný katalóg.

Príkazom

v  rmdir katalóg

je možné zmazať katalóg. Katalóg nesmie obsahovať žiadnu položku (podkatalóg, súbor). Na vymazanie katalógu, ktorý v tomto prípade nemusí byť prázdny je možné použiť aj príkaz:

v  rm -r katalóg

Príkaz

v  cd [katalóg]

nastaví uvedený katalóg ako pracovný, pokiaľ má k nemu používateľ prístup. Príkaz cd je interným príkazom interpretrov príkazov. Pokiaľ sa neuvedie meno katalógu, nastaví sa ako pracovný katalóg domáci katalóg používateľa (katalóg, ktorý má používateľ nastavený po prihlásení).

Pomocou príkazu

v  pwd

je možné vypísať plné meno pracovného katalógu.

Pre prácu s katalógmi je možné použiť aj príkazy mv, cp, chmod, chown, chgrp, poprípade aj ďalšie.

5.4.6                  Prideľovanie prístupových práv

Ako sme už spomínali, v i-uzle sú uložené informácie o prístupových právach k súboru. Jednou z nich je skupina súboru. Čo to znamená ? V operačnom systéme UNIX je možné niekoľkých používateľov združiť do skupiny a potom viazať prístupové práva na túto skupinu, pričom používateľ môže byť členom viacerých skupín. Skupina súboru potom tvoria prístupové práva pre manipuláciu so súborom pre takto zavedenú skupinu. Zmenu skupiny súboru je možné vykonať pomocou príkazu chgrp, ktorý má tvar:

 

v  chgrp [-R] skupina meno ...

Príkaz mení súboru alebo katalógu skupinu. Zmenu môže vykonať iba vlastník súboru (poprípade správca systému). Skupinu je možné zadať číslom (tzv. GID ) alebo menom. Vlastník môže zadať iba skupinu, ktorej je sám členom (môže si to zistiť príkazom groups). Voľbou  -R sa príkaz vykoná rekurzívne aj pre podkatalógy.

Skupiny, ktoré sú nadefinované v systéme, a je ich možné použiť, sú uvedené v súbore /etc/group. V tomto súbore je uvedené aj kto sa nachádza v príslušnej skupine. Okrem toho každý má svoju implicitnú skupinu, ktorá je uvedená v súbore /etc/passwd (štvrtý stĺpec). Používateľ si môže zistiť, v ktorých skupinách je zaradený príkazom:

v  groups

Vlastníka súboru je možné zmeniť pomocou príkazu:

v  chown [-R] login[.skupina] meno ...

Príkaz mení vlastníka súboru (poprípade aj skupinu). Miesto loginu je možné zadať aj UID (identifikačné číslo používateľa) a miesto skupiny je možné zadať aj GID (identifikačné číslo skupiny). Príkaz môže používať iba administrátor systému.

V i-uzle sa nachádzajú ešte prístupové práva k súboru. Tieto je možné meniť príkazom:

v  chmod [-R] mód meno ...

Príkaz mení prístupové práva uvedeným súborom a katalógom. Zmenu môže vykonať iba vlastník súboru poprípade administrátor systému.

Prístupové práva sú určené dvanástimi bitmi. Tri trojice prístupových práv určujú, či je možné čítať, meniť alebo spúšťať súbory pre používateľa, skupinu a ostatných používateľov. Zvyšné tri slúžia na prepožičanie prístupových práv vlastníka a skupiny a „sticky“-bit. Prístupové práva (mód) je možné meniť dvomi spôsobmi:

·        číselnym spôsobom alebo

·        symbolickým spôsobom.

5.4.6.1                 Číselný spôsob zmeny prístupových práv

Číselný spôsob zmeny prístupových práv sa vykoná tak, že za parameter mód sa dosadí mód=pxyz.

Pričom p je súčtom čísel, pokiaľ má byť príznak nastavený:

4   prepožičanie ID vlastníkom súboru

2   prepožičanie ID skupinou súboru

1   nastavenie, aby program ostával v pamäti čím dlhšie (tzv. „sticky“ bit).

a x, y aj z sú súčtom čísel:

4   pokiaľ má byť súbor alebo katalóg čitateľný

2   pokiaľ má byť umožnené modifikovať súbor alebo katalóg

1   pokiaľ je súbor spustiteľný, alebo je možné nastaviť katalóg ako pracovný

pričom x platí pre vlastníka súboru, y pre skupinu súboru a z pre ostatných používateľov systému.

Príklad: Mód 4750 pre súbor znamená, že vlastník môže súbor čítať, meniť aj spúšťať, skupina iba čítať a spúšťať a ostatní nemajú žiadny prístup k súboru. Okrem toho počas behu programu je prepožičaná identifikácia vlastníkom súboru.

Pri kontrole prístupových práv pre bežiace programy - procesy sa testujú tzv. efektívne prístupové práva. Nastavujú sa nasledovne:

·        EUID=UID_vlastníka programu, ak je nastavené prepožičanie UID, inak UID používateľa, ktorý program spustil 

·        EGID=GID_programu, ak je nastavené prepožičanie GID, inak GID používateľa, ktorý program spustil 

 

5.4.6.2                 Symbolický mód zmeny prístupových práv

Symbolický mód má nasledovný tvar:

v  [kto] operátor právo [operátor právo]

kde "kto" môže byť:

u            používateľ

g            skupina

o                        ostatní používatelia

a            všetci (zhodné s ugo) implicitná voľba

pričom ich je možné kombinovať, napríklad ug.

Ako "operátor" môže vystupovať:

+                        pridanie práva (neuvedené sa zachovávajú)

-             odobranie práva (neuvedené sa zachovávajú)

=                        nastavenie práva

a na mieste "právo" je možné špecifikovať:

r             čítanie

w            zápis

x             vykonanie

s             prepožičanie identifikácie (UID, GID)

t              sticky bit

u,g,o       nastaví práva, ako má uvedená kategória

Napríklad príkaz

v  chmod g=u súbor

zmení súboru prístupové práva pre skupinu na rovnaké, ako má vlastník súboru,

v  chmod o= súbor

zruší všetky práva pre ostatných používateľov,

v  chmod u+w,g=rx súbor

pridá právo zápisu pre vlastníka súboru a nastaví právo čítať a vykonať súbor pre skupinu.

Voľbou   -R  sa príkaz vykonáva rekurzívne pre všetky podkatalógy.

5.4.7                  Príkazy pre prácu so súbormi.

Už od svojho vzniku OS UNIX obsahuje príkazy na spracovanie textu. Autormi OS bolo vytvorené väčšie množstvo jednoduchých príkazov, kombináciou ktorých je možné riešiť aj zložité spracovanie textu, pričom sa tu s výhodou využívajú základné prostriedky UNIX-u, a to rúra a kolóna na komunikáciu medzi procesmi.

Príkazy na spracovanie textu je možné rozdeliť do nasledujúcich skupín:

·        textové editory

·        príkazy na spracovanie formátovaného textu nroff, troff

·        príkazy na spracovanie všeobecného textu

Textové editory slúžia na písanie, poprípade úpravu textu, podobne ako písacím strojom. Textové editory majú ale mnoho významných vlastností, ako možnosť dodatočnej opravy preklepu, vsúvanie, vymazávanie textu, vyhľadávanie nejakého textu, možnosť automatického formátovania, prácu s blokom textu, možnosť uchovať text na disk a iné možnosti. Podrobnejšie budú popísané v kapitole 11.1.

Druhá skupina príkazov slúži na spracovanie súborov, ktoré obsahujú text v norme nroff/troff.

Tretia skupina príkazov slúži na dávkové spracovanie všeobecných textových súborov. Tieto príkazy je možné rozdeliť do nasledovných skupín:

·        prezeranie obsahu súboru

·        rozdelenie, spájanie súborov

·        triedenie

·        porovnanie textových súborov

·        vyhľadávanie reťazcov v súboroch

·        textové prevody

·        preklad, pravopisná kontrola

·        tlač textových súborov

·        ostatné príkazy

V tejto kapitole sa budeme zaoberať príkazmi, ktoré sa používajú pri manipulácii so súbormi t.j. naučíme sa ako vytvoriť súbor, vytvoriť kópiu súboru, zrušiť súbor, utriediť, prípadne nájsť nejaké špecifikované slovo v súbore a pod.

5.4.7.1                 Príkazy na výpis obsahu súboru.

Vypísať obsah súboru možno niekoľkými možnosťami:

·        Výpis obsahu súboru bez pozastavenia.

·        Výpis obsahu súboru po stránkach.

·        Výpis konca obsahu súboru.

·        Výpis obsahu súboru v inej forme než textovej.

Prvá možnosť je zabezpečená príkazom "cat". Syntax príkazu je nasledovná:

v  cat [-u] [-n] [-s] [-v] [súbor ...]

Príkaz vypíše obsah špecifikovaného súboru na štandardný výstup t.j. prevažne na obrazovku. Bodky za príkazom znamenajú to, že príkaz "cat" vie naraz vypísať niekoľko súborov, podľa vôle používateľa.

Príklad:

cat aa bb cc dd

vypíše obsahy súborov s menami aa, bb, cc a dd. Ak súbor nie je špecifikovaný, tak sa na výstupe zobrazujú tie znaky, ktoré používateľ zadáva na štandardnom vstupe, ktorým zvyčajne býva klávesnica.

Pokiaľ je v príkaze špecifikovaná voľba "-u", tak sa na štandardný výstup vypíše obsah súboru bez bufrovania t.j. výpis súboru ide priamo na štandardný výstup bez toho, aby sa najprv uložil do pamäti počítača a až potom na výstup.

Ak používateľ špecifikuje voľbu "-n", potom sa na štandardnom výstupe objavia okrem riadkov textu aj poradové čísla riadkov v texte.

Ak je špecifikovaná voľba "-s", potom príkaz viacej prázdnych riadkov idúcich za sebou zhustí do jedného prázdneho riadku a len ten zobrazí na výstupe.

Ak je zadaná voľba "-v", potom sa na štandardnom výstupe budú vo forme zobraziteľných alternatív zobrazovať aj tzv. nezobraziteľné znaky t.j. znaky nový riadok, tabelátor, posun o znak späť sa zobrazia ako "\n", "\t", "\b".

Príkaz "cat" má jednu nevýhodu. Po zadaní a potvrdení príkazu príkaz zabezpečí výpis obsahu špecifikovaného súboru na štandardný výstup od začiatku až po koniec súboru. To znamená, že pokiaľ je štandardným výstupom obrazovka a súbor obsahuje viacej riadkov ako je možné na obrazovke zobraziť, tak po ukončení príkazu vidíme na obrazovke len posledné riadky súboru. Existuje však možnosť pozastaviť výpis príkazom "cat", a to stlačením riadiaceho klávesu na pozastavenie výpisu (prevažne ide o kombináciu klávesov CTRL-S), a potom si prezrieť zobrazenú časť súboru. Vo výpise je možné potom pokračovať stlačením klávesu pre pokračovanie vo výpise (prevačne ide o kombináciu klávesov CTRL-Q).

Aby sme nemuseli používať riadiace kláves boli vytvorené na prezeranie súborov ďalšie príkazy, ktoré zobrazujú špecifikované súbory po stránkach, kde stránkou sa rozumie jedna obrazovka. Tými príkazmi sú príkazy "more" a "page". Ich syntax je nasledovná:

v  more [voľby] [súbor ...]

v  page [voľby] [súbor ...]

Od seba sa odlišujú tým, že príkaz "more" vypisuje obsah súboru rolovaním obrazovky nahor a príkaz "page" predtým ako zobrazí stránku dokumentu, najprv vymaže obrazovku a výpis sa začne v ľavom hornom rohu obrazovky.

Príkazy teda zobrazujú špecifikovaný súbor, prípadne súbory, po obrazovkách. Po zobrazení každej obrazovky sa na poslednom riadku obrazovky zobrazí text

-- More -- (n%)

kde pod písmenom "n" sa skrýva číslo, ktoré v percentách definuje množstvo vypísaného textu zo súboru.

Pokiaľ nie je súbor špecifikovaný, tak sa vypisuje obsah štandardného vstupu.

Najčastejšie sa príkaz používa bez akejkoľvek voľby, avšak v niektorých prípadoch sú nutné, preto popíšeme aspoň tie najčastejšie používané:

Voľby:

-l                   ak táto voľba nie je uvedená, výpis sa zastaví pri každom výskyte znaku prechodu na novú stranu

-s                   zabezpečí sa zhustenie niekoľkých po sebe idúcich prázdnych riadkov do jedného

-n                   číslo "n" udáva, koľko riadkov vypisovaného textu sa má zobraziť na jednej stránke

+nl                číslo "nl" špecifikuje číslo riadku, od ktorého začne výpis na obrazovke

+/vzor         výpis sa začne dva riadky pred riadkom, ktorý obsahuje špecifikovaný vzor

Oveľa častejšie ako voľby príkazov "more" a "page" sa používajú vnútorné príkazy, ktoré je možné zadať po výpise stránky, keď na poslednom riadku je text " -- More -- (n%) ". Uvedieme opäť len najčastejšie používané:

i(medzera)      vypíše sa ďalších i riadkov

is                          preskočí sa ďalších i riadkov

if                          preskočí sa ďalších i obrazoviek

ib                          preskočí sa predchádzajúcich i obrazoviek (ak i nie je špecifikované je implicitne 1)

q,Q                       ukončenie programu "more" ( "page" )

h                            vypíše sa pomoc pre používanie vnútorných príkazov

=                            vypíše sa číslo pracovného riadku

!príkaz             vykoná sa príkaz shell-u

/vzor                  nájde najbližší ďalší výskyt reťazca vzor.

Kompletný zoznam vnútorných príkazov je možné získať zadaním vnútorného príkazu "h" ( od slova help - pomoc ) alebo "?".

Ak potrebujeme prezrieť obsah súboru, v ktorom máme údaje uložené v binárnej forme, sú nám predchádzajúce príkazy na výpis obsahu súborov zbytočné, pretože každý binárny údaj chápu ako ASCII kód znaku a teda pre nás je to v tomto prípade nepotrebná informácia. Na výpis takýchto súborov sa v operačnom systéme UNIX používa príkaz "od". Jeho syntax je nasledovná:

v  od [voľby] [súbor]

kde súbor je zobrazovaný súbor a voľby sú:

-x              vypisuje sa obsah súboru v hexadecimálnom tvare

-d              vypisuje sa obsah súboru v desiatkovom tvare

-o              vypisuje sa obsah súboru v osmičkovom tvare

-b              vypisuje sa obsah súboru v dvojkovom tvare

-c              vypisuje sa obsah súboru v ASCII tvare

Príklad:

od -cx cc.c

vypíše obsah súboru "cc.c" súčasne v ASCII i v hexadecimálnom tvare.

Príkaz nevie zobrazovať údaje po stránkach, preto je nutné zabezpečiť, aby údaje boli stránkované. Je to možné previesť buď už známou dvojicou CTRL-S a CTRL-Q, alebo je možné použiť metódu presmerovania údajov z jedného programu do druhého.

Príklad:

od -cx data | page

zabezpečí zobrazenie súboru "data" v znakovej a hexadecimálnej forme pričom údaje z príkazu "od" nejdú hneď na obrazovku, ale sú presmerované do programu "page", ktorý síce nemá špecifikovaný argument pre zobrazenie, ale v tomto prípade je jeho argumentom práve výstup z príkazu "od". Tento výstup príkaz "page" zobrazí po stránkach.

Ak chceme vypisovať súbor, ktorý obsahuje veľmi veľa údajov (desiatky až stovky KB) a potrebujeme z neho prečítať informácie uložené na konci súboru, je to síce možné vykonať predchádzajúcimi príkazmi, ale časovo je to dosť náročné. Preto bol vytvorený príkaz "tail", ktorý vypisuje len časť súboru. Jeho syntax je nasledovná:

v  tail +-číslo [lbc] [rf] [súbor]

kde

+číslo         udáva, koľko riadkov sa má zobraziť zo začiatku súboru, číslo - špecifikuje počet riadkov, ktoré budú zobrazené z konca súboru,

l,b,c           určujú, či výpis bude po riadkoch, blokoch alebo po znakoch

r                     špecifikuje, že výpis bude na obrazovke v obrátenom poradí.

5.4.7.2                 Príkazy pre rušenie, premenovanie a kopírovanie súborov

Na zrušenie súboru v operačnom systéme sa používa príkaz "rm". Jeho syntax je nasledovná:

v  rm [-f] [-r] [-i] [-] súbor ...

Ak je špecifikovaná voľba "-r", budú rušené súbory rekurentne, t.j. bude zrušený celý podstrom. V tomto prípade však na mieste mena súboru musí byť meno katalógu. Uvedomte si, že katalóg nemusí byť prázdny a systém ho celý zruší. Voľba "-i" zabezpečí interaktívne rušenie súborov t.j. pred rušením každého súboru sa operačný systém opýta používateľa, či špecifikovaný súbor má naozaj zrušiť. Voľba "-f" zabezpečí, že používateľ nedostane žiadnu správu o korektnosti (ale ani o chybe ) rušených súborov.

Príklad:  Majme v katalógu päť súborov:

a1.c, a2.c, a3.c, a4.c, a5.c

Ak sa zadá príkaz

rm *.a

operačný systém vypíše

No match.

To preto, že v aktuálnom katalógu nenašiel ani jeden zo špecifikovaných súborov. Ak sa zadá príkaz

rm -f *.a

tak operačný systém nevypíše žiadnu správu. Pritom všetkých päť súborov je prítomných. Až príkazom

 

rm *.c alebo rm a*

dôjde k ich zrušeniu.

G Po zrušení súboru už nie je možné ho obnoviť !

Na premenovanie mena súboru alebo katalógu slúži príkaz "mv". Jeho syntax je nasledovná:

v  mv [-i] [-f] [-] súbor1 súbor2 alebo

v  mv [-i] [-f] [-] súbor1 ... súborn katalóg

Prvý tvar príkazu zabezpečí premenovanie mena súboru alebo katalógu "súbor1" na názov "súbor2". Druhý tvar príkazu presunie súbory "súbor1" ... "súborn" do katalógu "katalóg". Voľby príkazu majú ten istý význam ako v predchádzajúcom príkaze "rm".

Ak chceme vytvoriť nový súbor tak, že do existujúceho súboru chceme len pridať nejaké riadky, tak najlepšie je to urobiť nasledujúcim spôsobom:

·        vytvoriť kópiu starého súboru,

·        v editore potom pridať nové riadky do nového súboru.

Ako v editore pridať riadok bude popísané neskôr. Na tomto mieste uvedieme len príkaz "cp", pomocou ktorého vytvoríme kópiu súboru. Jeho syntax je nasledujúca:

v  cp [-ip] súbor1 súbor2 alebo

v  cp [-ipr] súbor1 ... súborn katalóg

Prvý tvar príkazu nám zabezpečí vyššie spomínanú akciu, kde starý súbor je "súbor1" a novovytváraný súbor kopírovaním je "súbor2". Druhý tvar príkazu umožňuje skopírovať uvedený zoznam súborov "súbor1 ... súborn" do špecifikovaného "katalógu".

Ak je špecifikovaná voľba "-i" bude program požadovať od používateľa potvrdenie skopírovania interaktívnym spôsobom. Voľba "-p" zabezpečí, že pri kopírovaní sa nebude modifikovať len meno súboru, ale aj údaje o ňom (dátum a čas vytvorenia, prístupové práva). Voľba "-r" v druhom prípade zabezpečí rekurzívne kopírovanie súborov z jedného katalógu do druhého. V tomto prípade môže byť miesto zoznamu súborov, ktoré chceme kopírovať, aj názov katalógu, avšak uvedomme si, že potom je kopírované aj meno tohto katalógu.

Príklad: Majme podstrom zobrazený na Obr. 27. Nachádzame sa v katalógu NAJNOVSI (uzol označený štvoruholníkom). Je potrebné:

· skopírovať súbory nachádzajúce sa v katalógu STARY do katalógu NOVY

· skopírovať celý strom STARY do katalógu NAJNOVSI

Obr. 27 Podstrom pre demonštráciu príkazu cp

Prvý prípad vykonáme príkazom

cp ../STARY/* ../NOVY

čím vznikne podstrom znázornený na Obr. 28.

Druhý prípad dosiahneme príkazom

cp -r ../STARY .

čím vznikne podstrom znázornený na Obr. 29 (vychádzajúc z Obr. 27).

Obr. 28 Demonštrácia príkazu cp prvým spôsobom

Obr. 29 Demonštrácia príkazu cp druhým spôsobom

V niektorých prípadoch sa môže stať, že máme málo priestoru na disku a chceme skopírovať nejaký súbor len na to, aby sme si ho prezerali t.j. nechceme v ňom robiť žiadne zmeny. To sa jednoducho dá vykonať tak, že pre príkazy určené na prezeranie súborov sa ako meno súboru uvedie jeho plná cesta k súboru.

Iným možným spôsobom, ktorý nám naviac umožňuje špecifikovať súbor len jeho menom, je vytvorenie tzv. linky k súboru resp. odkazu na súbor. Čo to znamená. Pri vytváraní linky k súboru sa nám zdá, ako keby súbor, ku ktorému sme linku vytvorili, bol umiestenený v našom katalógu (viď príkaz "cp"). V skutočnosti však je v našom katalógu len nami špecifikované pomenovanie tohto súboru a samotný súbor je uložený niekde inde. Príkaz, ktorý nám umožní vytvoriť takúto odkaz na súbor sa volá "ln". Jeho syntax je nasledujúca:

v  ln [-s] zdrojový_súbor nový_odkaz

Voľba "-s" špecifikuje, že sa odkaz vytvára v rámci celého súborového systému t.j. umožňuje vytvoriť odkaz aj medzi jednotlivými partíciami (partícia - jedna oblasť diskového priestoru) - umožňuje vytvoriť tzv. softvérovú linku. Štandardne (bez špecifikovania parametra "-s") sa vytvára tzv. hardvérová linka t.j. len v rámci jednej partície.

Príklad:

Do katalógu LINKA sa príkazom

ln -s ../STARY/s1 ../LINKA

vytvorí v katalógu "LINKA" odkaz na súbor "s1" v katalógu STARY (viď Obr. 30). Odkaz bude uložený v katalógu "LINKA" pod tým istým menom "s1". Pri všetkých operáciach s týmto odkazom sa používateľovi vytvorený odkaz "s1" javí ako skutočný súbor "s1". O tom, že je to naozaj odkaz, sa je možné najlepšie presvedčiť tak, že napríklad v editore "vi" vykonáte zmenu nad odkazom "s1" a potom sa napríklad programom "page" presvedčíte, či táto zmena nastala aj v súbore "s1" uloženom v katalógu "STARY". Samozrejme je potrebné dbať na to, aby ste sa pri práci nachádzali v príslušnom (správnom) katalógu.

Obr. 30 Demonštrácia vytvorenia linky na súbor s1

Ak potrebujete nastaviť dátum a čas vytvorenia pre nejaký súbor (napr. sa to často stáva pri prekladaní programu zloženého z niekoľkých súborov), operačný systém ponúka príkaz "touch". Jeho sysntax je nasledovná:

v  touch [-c] [-f] súbor ...

Modifikovať dátum a čas je teda možné pre niekoľko súborov naraz. Zvyčajne sa používajú skrátené mená napr. špecifikácia  *.c  na mieste súboru znamená, že sa bude modifikovať dátum a čas pre všetky súbory, ktoré majú príponu ".c" a sú uložené v aktuálnom katalógu. Ak súbor v aktuálnom katalógu neexistuje, tak sa vytvorí s nulovou dĺžkou. Ak je však  špecifikovaná voľba  "-c" tak sa tento súbor nevytvorí. Voľba "-f" zabezpečí, že sa potlačí výpis správy o výsledku príkazu.

5.4.7.3                 Príkazy pre porovnávanie, triedenie a prehľadávanie súborov

Pre porovnávanie dvoch súborov medzi sebou slúži príkaz "cmp". Jeho syntax je nasledovná:

v  cmp [-l] [-s] súbor1 súbor2

Príkaz vytlačí informáciu o výsledku porovnávania. Ak je špecifikovaná voľba "-l", tak je vypisovaný tzv. dlhý formát t.j. vypíšu sa čísla rozdielných bajtov (desiatkovo) a rozdielne bajty (osmičkovo). Ak na mieste súboru "súbor1" alebo "súbor2" je špecifikované "-", tak sa tým myslí štandardný vstup. Voľba "-s" zabezpečí potlačenie výpisu o porovnávaní súborov.

Lepšie porovnanie dvoch súborov alebo katalógov poskytuje príkaz "diff". Jeho syntax je nasledovná:

v  diff [-biw ] [-c [# ] | -e | -h ] súbor1 súbor2

v  diff [-biw ] [-c [# ] | -e | -h ] [-l ] [-r ] [-s ] [-Smeno ] katalóg1 katalóg2

Význam volieb príkazu je nasledovný:

-b               nahradí tabelátory ekvivalentným počtom medzier

-i                   ignoruje rozdiel medzi malými a veľkými písmenami

-w                   ignoruje všetky medzery a tabelátory

Nasledujúce voľby je možné voliť tak, aby súčasne bola špecifikovaná len jedna z nich. Ich význam je nasledovný

-c[#]           Do výstupu produkuje počet "#" riadkov okolo nájdeného kontextu. Implicitne sa produkujú riadky, ale je to možné zmeniť.

-e                   Produkuje výpis a, c a d príkazov pre editor ed, ktorý bude transformovať "súbor2" podľa súboru "súbor1".

-h                   Vykonáva rýchle porovnávanie, ale nie veľmi dôkladné. Pracuje len nad krátkymi, dobre oddelenými úsekmi, ale zato nad súbormi nekonečnej dĺžky.

S druhou verziou príkazu je možné porovnávať katalógy, pričom je možné naviac špecifikovať nasledujúce voľby:

-l               produkuje sa dlhý formát

-r               aplikuje príkaz rekurzívne na podkatalógy

-s               vypíše súbory, ktoré sú rovnaké a ďalej ich neuvažuje

-Smeno         porovnávanie začína od súboru s názvom "meno"

 

Na porovnanie troch súborov slúži príkaz "diff3". Jeho syntax je nasledovná:

v  diff3 [-exEX3] súbor1 súbor2 súbor3

O porovnaní príkaz podáva správu vo forme:

==== všetky tri súbory sú rozdielne

====1 súbor1 je odlišný

====2 súbor2 je odlišný

====3 súbor3 je odlišný

Informáciu o tom, akého druhu informácie súbor obsahuje, môžeme zistiť príkazom "file". Jeho syntax je masledovná:

v  file súbor ...

Príkaz zistí aký je obsah súboru a podľa toho vypíše typ daného súboru. Napríklad: Ak je zadaný príkaz

file *

dostaneme na obrazovke výpis o typoch súborov uložených v aktuálnom katalógu t.j. ak sú tam tri súbory aa (v spustiteľnom tvare), bb (v textovom tvare) a cc (v tvare formátu príkazu nroff), tak výpis je nasledovný

aa - binary file

bb - ascii text

cc - nroff, troff file

Na triedenie obsahov súborov slúži príkaz "sort". Jeho syntax je nasledovná:

v  sort [ voľby ] [+č1 [-č2 ] ] ... [-o meno ] [-T katalóg ] [meno ] ...

Príkaz usporiada alebo zlúči špecifikované súbory podľa špecifikovaných volieb. Ak nie je špecifikované "-o meno", kde meno je názov výstupného súboru, tak sa výpis vykoná na štandardný výstup. Postupnosť znakov "+č1 ... -č2" umožňuje špecifikovať triedenie len pre vybraté položky súboru a to spôsobom, že triedenie prebehne od položky "+č1" až po položku, ktorá je pred "-č2". Ako voľby môžeme špecifikovať nasledovné:

-d              pri porovnávaní sú významné len ASCII znaky, čísla, medzera a tabulátor

-f             veľké písmená budú považované za malé

-b             pri porovnávaní sa ignorujú medzery a tabulátor

-r             zmysel usporiadania je v opačnom tvare

-tx           oddeľovacím znakom slov nie je medzera a tabulátor, ale znak "x"

Príklad: Príkaz

sort -t: +3 /etc/passwd

usporiada vzostupne, od druhej položky (ktorou je identifikačné číslo používateľa - UID) až po poslednú položku riadku, súbor /etc/passwd, pričom oddeľovacím znakom medzi položkami v riadku je znak ":".

Niekedy sa nám stáva, že potrebujeme pozrieť obsah súboru, ale zabudli sme, kde je tento uložený, resp. potrebujeme vedieť, či niekde v súborovom systéme existuje nejaký konkrétny súbor. Na to nám slúži príkaz "find". Jeho syntax je nasledujúca:

v  find cesty výraz ... alebo

v  find vzorka

Druhý tvar príkazu hľadá a vypíše všetky mená súborov, ktoré obsahujú špecifikovanú vzorku. Súbory sa hľadajú v tých katalógoch, ktoré sú nastavené v premennej prostredia PATH.

Prvý prípad je všeobecnejší. Hľadajú sa špecifikované súbory v katalógoch, ktoré sú špecifikované v "cesty". Ako "výraz" možno uviesť dostatočné množstvo rôznych výrazov, z ktorých najčastejšie používané sú:

-name súbor          hľadanie súborov s menom "súbor"

-print                       vypíše sa plná cesta k nájdeným súborom

-user umeno          hľadanie súborov, ktorého vlastníkom je umeno

-links n                  hľadanie súborov s n odkazmi ( linkami )

-size n                    hľadanie súborov s veľkosťou n blokov

-inum n               hľadanie súborov, s číslom i-uzla n

-exec príkaz        vykoná sa príkaz "príkaz" shell-om

Ak potrebujeme nájsť v súbore určité reťazce, príkaz "find" nám to neumožní. Na to slúžia príkazy "grep", "egrep" a "fgrep". Ich syntax je nasledovná:

v  grep [voľby] ... výraz [súbor] ...

v  egrep [voľby] ... [výraz] [súbor] ...

v  fgrep [voľby] ... [reťazec] [súbor] ...

Príkazy vypíšu riadky, v ktorých sa nachádza špecifikovaný reťazec. Ak je špecifikovaná voľba "-c", je vypísaný len počet riadkov (číslom), v ktorých bol výraz nájdený. Ak je špecifikovaná voľba "-b", potom je vypísaný celý blok (cca 10 riadkov) okolo riadku, v ktorom bol výraz nájdený.

Obdobou predchádzajúcich príkazov je príkaz "strings". Tiež hľadá v súboroch špecifikovanú vzorku. Rozdielom však je to, že tento príkaz hľadá špecifikované vzorky v binárnych súboroch t.j. v súboroch, ktoré je možné priamo odštartovať interpréterom príkazov. Jeho syntax je nasledovná:

v  strings [-a] [-o] [-n] súbor ...

Ak je špecifikovaná voľba "-a", potom sa prehľadáva komplet celý súbor (štandardne sa prehľadáva len údajová časť). Voľba "-o" zabezpečí, že sa vypíše osmičkové číslo, ktoré reprezentuje posun reťazca v súbore od začiatku súboru. Voľba "-n" špecifikuje novú minimálnu dĺžku hľadaného reťazca (štandardne je 4).

5.4.7.4                 Ďalšie používané príkazy

Z ďalších viac používaných príkazov je potrebné spomenúť príkaz "wc", ktorý umožňuje vypísať na štandardný výstup dĺžku súboru v riadkoch, slovách a znakoch podľa špecifikovanej voľby. Jeho syntax je nasledovná:

v  wc [-lwc] [meno ...]

Ak je špecifikovaná voľba "-l" (z angl. line - riadok), je vypísaná dĺžka súboru v riadkoch, ak "-w" (z angl. word slovo), tak v slovách, a ak "-c" (z angl. char - znak), tak v znakoch. Štandardne sa vypíšu všetky tri voľby.

Ak chceme tlačiť súbor na tlačiarni a štandardné riadkovanie, ktoré je nastavené systémovým programátorom nám nevyhovuje, môžeme si súbor pripraviť pre tlač príkazom "pr". Jeho syntax je nasledovná:

v  pr [voľby] ... [súbor] ...

Voľbami môžeme nadefinovať, ako má náš výstup na tlačiarni vyzerať. Napr.:

voľba "-n" produkuje výstup na tlačiareň v "n" stĺpcoch,

voľba "+n" vykoná formátovanie textu až od n-tej stránky,

voľba "-f" vloží znak posuvu na novú stránku pred zažiatkom tlače,

voľba "-ln" definuje dĺžku stránky na n riadkov, atď.

Veľmi používaným je príkaz "tar". Vo veľa publikáciach je popisovaný ako archivačný program súborv na pásku. Je to však len jeho jedna vlastnosť ( avšak najpoužívanejšia ). Vzhľadom na vlastnosť operačného systému UNIX, ktorý so všetkými súbormi, katalógmi a zariadeniami pracuje ako so súbormi, je možné miesto zariadenia reprezentujúce archivačnú pásku, špecifikovať obyčajný súbor. Potom je týmto spôsobom možné archivovať celé balíky programov významovo patruiace k sebe resp. archivovať programi zložené z niekoľkých súborov. Jeho syntax je nasledovná:

v  tar [kľúč] [súbor ...]

Ako kľúč je možné špecifikovať:

r                       súbory sú zapísané na koniec páskového záznamu

x                       súbory sú extrahované z pásky

t                       sú vypisované len mená súborov uložených na páske

c                       súbory sú zapisované na pásku opd začiatku ako nový záznam

K týmto kľúčom je možné pridať ešte ďalšie voľby napr.:

v                       dôjde k dlhšiemu výpisu o charaktere akcie

f meno    ak je špecifikované f, tak nasledujúci parameter musí byť meno súboru, do ktorého budú súbory archivované tak, akokeby boli archivované na pásku.

Príklad:

Chceme do súboru "archív" uložiť všetky súbory, ktoré sa nachádzajú v katalógu /usr/src/bin. Je to možné nasledujúcim spôsobom:

tar cvf archív /usr/src/bin/*

V náväznosti na tento archivačný príkaz je možné aplikovať komprimáciu údajov príkazom "compress". Jeho syntax je nasledovná:

v  compress [-cfv] [-b bits] [súbor...]

Význam volieb je nasledovný:

c                       nevykonáva zmeny v súbore, ale vykoná výpis na výstup

f                       upozorní, ak príslušný súbor s príponou ".Z" už existuje

v                       zobrazuje prercentuálne kompresovanie pre každý súbor

-b bits  nastavuje horný limit v počte použitých bitov pre kódovací reťazec. Musí byť medzi 9 a 16. (Implicitne je 16).

Príkaz po vykonaní komprimácie pridá k pôvodnému menu súboru príponu ".Z".

Ak dodržíme túto stratégiu pri archivovaní súborov, potom môžete jednoduchou formou mať poriadok medzi svojimi súbormi a šetriť tak aj pamäťový priestor na disku.

Na rozbalenie je potrebné najpr vykonať dekomprimáciu a potom príkazom "tar" s voľbou "-x" vytvoriť pôvodnú kópiu balíka programov. Dekomprimáciu môžete vykonať príkazom "uncompress" (pokiaľ bola komprimácia vykonaná programom "compress"). Jeho syntax je nasledovná:

v  uncompress [-cv] [súbor ...]

Význam špecifikovaných volieb je ten istý ako u príkazu "compress".

Pre názornosť uvedieme jednoduchý príklad:

Majme situáciu podľa Obr. 27. Nachádzajme sa na vrchole nášho podstromu.Uložme podstrom STARY do súboru, ktorý sa volá stary.tar. Je to možné vykonať príkazom

tar cf stary.tar STARY

ktorý hovorí, že sa bude vykonávať balenie (znak "c") do súbory starý.tar (špecifikácia "f stary.tar") a bude sa archivovať katalóg STARY s celým jeho podstromom.

Potom môžeme vykonať komprimáciu príkazom

compress stary.tar

čím vznikne súbor "stary.tar.Z" a uloží sa do aktuálneho katalógu (viď Obr. 31).

Obr. 31 Zbalenie a komprimácia katalógu STARY do súboru stary.tar.Z

Potom môžeme katalóg STARY vymazať napríklad príkazom

rm -r STARY

V prípade, že by sme potrebovali balík rozbaliť, je potrebné vykonať nasledujúcu sekvenciu príkazov:

uncompress stary.tar.Z

tar xf stary.tar

5.4.8                  Príkazy pre prácu so systémovými frontami

V operačnom systéme UNIX existujú príkazy, ktoré využívajú tzv. systémové fronty. Tieto systémové fronty sú vytvorené k zdieľaniu určitých prostriedkov, napríklad tlačiarní. Táto metóda sa nazýva "spooling". Je založená na tom, že používateľ zaradí svoju úlohu do frontu a potom OS tieto úlohy vyberá z frontu a jeden po druhom vykonáva. Z princípu vyplýva, že skutočné vykonanie môže nastať aj po dlhšom čase, ako sa úloha zaradí do frontu.

5.4.8.1                 Tlačový front

Najviac používaným prostriedkom využívajúcim metódu spoolingu je tlačiareň. Je totiž potrebné, aby viac používateľov zdieľalo jednu poprípade viac tlačiarní a aby sa výpisy navzájom nemiešali. To znamená, aby tlač ďalšieho výpisu (napr. iného používateľa) začala až po skončení predchádzajúceho. V tomto prípade je použitý front typu FIFO (First In, First Out), to znamená, že kto prvý zaradí do frontu zostavu, tak tomu sa zostava vytlačí ako prvá. Administrátor systému má ale možnosti toto poradie pozmeniť. Tlačový front býva lokalizovaný v katalógu /usr/spool/meno_tlačov_frontu (dané v konfiguračnom súbore /etc/printcap).

V operačnom systéme môže byť nakonfigurovaná tzv. vzdialená tlačiareň, to značí tlačiareň na inom počítači. Tlačová zostava zaradená do takejto fronty sa najprv pomocou siete prenesie na vzdialený počítač a potom sa na ňom vytlačí. Tento spôsob sa s výhodou využíva pri vytváraní printservrov v sieti.

Na ovládanie tlače poznáme nasledovné príkazy:

lp                     - zaradenie tlačovej zostavy do frontu

lpq                  - zistenie stavu tlačového frontu

lprm    - vyradenie tlačovej zostavy z frontu

lpc                  - ovládanie frontu a tlače

Popis príkazov pre ovládanie tlačovej fronty:

Príkaz lpc je určený hlavne pre administrátora systému. Obyčajný používateľ môže použiť nasledovné zápisy:

v  lpc restart tlačiareň

v  lpc status

Zápis "lpc status" zistí stav tlačiarne, fronty a počet úloh vo fronte pre každú inštalovanú tlačiareň (tlačový front). Tvar "lpc restart" vykoná znovu spustenie tlačového „démona“, pokiaľ sa neodštartoval sám pre nejakú príčinu.

v  lpr [voľby] [súbor ...]

Príkaz zaradí súbor do tlačového frontu. Pokiaľ nie je zadaný súbor(y) použije sa štandardný vstup. Pokiaľ sú uvedené voľby, ktoré si odporujú, platí posledná voľba.

Voľby:

-h               Netlačí sa hlavička tlače.

-in             Celá zostava sa posunie o n znakov vľavo.

-Jjob        V hlavičke sa použije job ako názov úlohy. Implicitný názov úlohy je meno súboru.

-m               Pošle sa pošta oznamujúca vytlačenie zostavy.

-p              Použije sa formátovanie súboru príkazom pr.

-Pprn        Tlačová zostava sa zaradí do frontu pre tlačiareň s menom prn. Pokiaľ nie je uvedená táto voľba, použije sa implicitná tlačiareň.

-Ttitul   Tlačí titul na každú stránku zostavy. Používa sa s voľbou -p.

-wn             Nastavenie šírky papiera v znakoch. Pokiaľ nie je uvedená táto voľba, použije sa implicitné nastavenie.

-zn             Nastavenie dĺžky stránky v riadkoch. Pokiaľ nie je uvedená táto voľba, použije sa implicitné nastavenie.

-_#n         Tlačí n kópií špecifikovaného súboru.

Ďalšie voľby tu neuvádzame, je ich možné získať pomocou príkazu man lpr.

Príkaz lpq umožňuje zistiť stav tlačového frontu. Používateľ sa takto môže dozvedieť, či sa práve vykonáva tlač, na ktorom mieste v poradí je jeho tlačová zostava, poprípade iné informácie. Príkaz má nasledovný tvar:

v  lpq [voľby] [používateľ]

Pokiaľ je udaný používateľ vypíše sa informácia iba o zostavách daného používateľa.

Voľby sú nasledovné:

+n              zobrazuje stav frontu každých n sekúnd, pokiaľ nie je front prázdny.

-l               dlhý výpis.

-Pprn        Vypíše stav frontu pre danú tlačiareň. Pokiaľ táto voľba nie je zadaná, zobrazuje sa stav frontu implicitnej tlačiarne.

Posledným príkazom na ovládanie tlačového frontu, ktorý je potrebný pre obyčajného používateľa je príkaz:

v  lprm [-Ptlačiareň] [-] [číslo úlohy]

Príkaz lprm vymaže z tlačového frontu úlohu. Používa sa pokiaľ používateľ zadal úlohu na tlačenie a chce ju zrušiť. Samozrejme, musí príkaz použiť skôr, ako sa začne tlačiť. Pokiaľ sa zadá tlačiareň, maže sa úloha z príslušného frontu. Voľba - spôsobí vymazanie všetkých vlastných úloh. Pokiaľ sa zadá konkrétne číslo úlohy, vymaže sa konkrétna úloha. Čísla úloh je možné získať použitím príkazu lpq.

Aké tlačiarne sú v systéme práve nakonfigurované je uvedené v súbore /etc/printcap. Tento konfiguračný súbor obsahuje pre každú tlačiareň rozličné nastavenia (napr. aký adresár sa použije ako fronta, aké zariadenie pre samotný výstup na tlač, aký program na filtrovanie zostáv, aká hlavička, ako sa stránkuje, aké rozmery má stránka a iné informácie). Význam týchto nastavení si môžete ziskať príkazom man printcap. Do tohto súboru môže zapisovať iba administrátor systém

5.4.8.2                 Front pošty

Ďalší veľmi používaný front je poštový front. Príkazy na ovládanie pošty priamo viditeľné používateľom pracujú s týmto frontom. Pokiaľ chce používateľ poslať poštu, pomocou príkazu mail ( elm, alebo iného dostupného v systéme) zaradí poštu do poštového frontu. Pošta sa potom posiela na určený počítač, pomocou poštového démona (proces na pozadí). Tento, pokiaľ sa nedá pošta doručiť okamžite, napríklad pre chybu v počítačovej sieti, skúša poslať poštu v pravidelných intervaloch. Zväčša po troch dňoch neúspešného posielania vráti poštu odosielateľovi s tým, že pošta sa nedá doručiť.

5.4.8.3                 Front úloh

Tento front obsahuje v sebe úlohy spustenia skriptových súborov. Používateľ pomocou nich môže nastaviť vykonanie nejakých príkazov na určitú dobu. Skutočná doba vykonávania príkazov je daná tým, že front sa prehľadáva v určitých intervaloch (napríklad každých 15 minút). Skutočný čas vykonania je potom najbližší čas prehľadávania frontu po nastavenom čase. Administrátor systému si môže nastaviť frekvenciu prehľadávania frontu v súbore /usr/lib/crontab v riadku pre atrun. Front je lokalizovaný v katalógu /usr/spool/at. V tomto katalógu sú aj súbory at.allow a at.deny na povolenie tejto služby iba pre určitú skupinu používateľov. Tento front má k dispozícii na ovládanie príkaz, ktorý slúži na zaradenie, vyradenie úlohy z fronty, poprípade zobrazenia stavu fronty. Má nasledovnú syntax:

v  at čas [deň] [súbor]

v  at -r úloha ...

v  at -l [úloha ...]

Čas môže mať napríklad takýto tvar:

HHMM    - 24-hodinové počítanie

HH:MM - 24-hodinové počítanie

H:MM    - 24-hodninové počítanie

Dátum môže mať nasledovný tvar:

jan 24           - 24. januára

fr                     - piatok

fr week        - piatok budúceho týždňa

Voľby:

-r                      zruší úlohu z frontu.

-l                      vypíše úlohy vo fronte.

5.5              Vykonávanie príkazov a správa procesov.

5.5.1                  Príkazy

Príkazy v operačnom systéme UNIX možno rozdeliť do niekoľkých skupín:

·        jednoduchý príkaz,

·        zložený príkaz (kolóna),

·        sekvencia (zoznam) príkazov.

Pod jednoduchým príkazom rozumieme ľubovoľný program s jeho argumentami.

Zložený príkaz je zložený z jedného alebo viacerých jednoduchých príkazov, ktoré sú spojené medzi sebou znakom "|".

Pod sekvenciou možno rozumieť jeden alebo viacej zložených príkazov, ktoré sú medzi sebou oddelené znakom ";".

Príklady:

Jednoduchý príkaz:

tar cvf subor.tar *.*

Zložený príkaz:

od -cx text.txt | more

Sekvencia príkazov:

tar cvf subor.tar *.*; od -cx text.txt | more; ls

Každému príkazu po spustení operačný systém pridelí tri základné špeciálne súbory, ktoré sa volajú:

·        štandardný vstup,

·        štandardný výstup,

·        štandardný chybový výstup.

Štandardný vstup je reprezentovaný klávesnicou, štandardný výstup i štandardný chybový výstup obrazovkou. Možno teda povedať, že program je prostriedok, ktorý transformuje, určitým, presne definovaným spôsobom, údaje zo štandardného vstupu na štandardný výstup. Takému prostriedku sa preto hovorí filter.

Štandardný vstup, štandardný výstup i štandardný chybový výstup je možné presmerovať do súborov.

Príklad: Ak používateľ chce poslať poštu používateľovi, môže to vykonať jednoduchým príkazom

Mail <meno používateľa>

pričom samotný text správy v nasledujúcich okamihoch zadáva priamo z klávesnice (t.j. zo štandardného vstupu). Ak používateľ urobí v riadku pošty chybu a riadok odošle, už nie je možné túto chybu opraviť. Preto je vhodné text, ktorý sa má poslať, si pripraviť dopredu do súboru (napríklad "subor.txt") a potom ho poslať príkazom

Mail <meno používateľa> < subor.txt

kde znaky "<<" značia, že vstup z klávesnice je presmerovaný do súboru, t.j. miesto toho, aby program "Mail" čítal údaje z klávesnice, bude ich čítať zo súboru.

Podobne je možné presmerovať štandardný výstup do súboru, pričom v tomto prípade sa používa znak ">".

Myšlienka presmerovania má ďalšiu výhodu. Pri spájaní jednoduchých príkazov do zložitých príkazov dochádza k tomu, že štandardný výstup z jedného príkazu môže byť súčasne štandardným vstupom príkazu nasledujúceho.

 

Príklad: zložitý príkaz

od -cx text.txt | more

vytvorí na štandardnom výstupe výpis súboru "text.txt" v ASCII a hexadecimálnom tvare. Vzhľadom na to, že nejde o jednoduchý príkaz, ale o zložený príkaz (kolónu), nebude výpis zobrazený na obrazovke, ale bude presmerovaný a bude plniť úlohu štandardného vstupu pre príkaz "more". Výsledný efekt takéhoto spojenia je ten, že výpis, ktorý je produkovaný príkazom "od" bude na obrazovke (príkaz "more" nemá presmerovaný štandardný výstup) zobrazený po stránkach.

V prípade sekvencie príkazov nie je možné v jednej sekvencii medzi príkazmi údaje presmerovať s výnimkou prípadu, keď príkaz je tvorený kolónou (ale aj tu je možné presmerovať údaje len v rámci jednej kolóny). Pokiaľ je potrebné presmerovať údaje medzi prvkami sekvencie, tak buď sa sekvencia nahradí kolónou, alebo sa použije ako prostriedok pre presmerovanie súbor na disku, pričom jeden prvok sekvencie do súboru údaje zapíše a nasledujúci prvok sekvencie z tohto súboru údaje číta.

5.5.2                  Procesy

Pod procesom v operačnom systéme UNIX rozumieme vykonávaný program s jeho údajmi a vlastným zásobníkom. Každému jednoduchému príkazu zodpovedá jeden proces. Názorne je zobrazený na Obr. 32:

Obr. 32 Proces a jeho časti

Každý proces má teda pridelený určitý priestor v operačnej pamäti, volaný tiež adresný priestor procesu, ktorý tvorí vlastný text programu (vykonateľný tvar), údaje, ktoré potrebuje program k svojej činnosti, a zásobník na ukladanie údajov potrebných pri volaní funkcií.

Pri štartovaní operačného systému sa ako prvé do operačnej pamäti zavedia jadro operačného systému. Jadro po inicializácii pripojených prídavných zariadení štartuje jednotlivé procesy potrebné pre činnosť operačného systému. Ako prvý sa štartuje proces pre swapovanie (dočasné odkladanie údajov z vyrovnávacích pamätí na disk jadro mu pridelí číslo procesu 0), ďalej základný inicializačný proces "init" (číslo procesu je 1), ktorý zabezpečí spustenie terminálových procesov, čo sú procesy, ktoré zabezpečujú zobrazenie prihlasovacieho reťazca na termináli (viď Obr. 33).

Po prihlásení sa používateľa do operačného systému sa štartuje program "login", ktorý vyžiada od používateľa jeho prihlasovacie meno a heslo (pokiaľ ho používateľ má definované - je účelné ho definované mať). Po správnom špecifikovaní prihlasovacieho mena a hesla sa štartuje príkazový interpreter, ktorý zabezpečuje vykonávanie programov, ktoré štartuje používateľ z príkazového riadku. Každý program, ktorý používateľ odštartuje z príkazového riadku je vlastne procesom a systém mu pridelí číslo, ktoré jednoznačne chrakterizuje tento program (a aj proces) v systéme.

Obr. 33 Poradie spúšťania niektorých procesov

Zoznam všetkých spustených procesov je možné zobraziť na termináli príkazom "ps". Jeho syntax je nasledovná:

v  ps [voľby]

Podľa toho, aké voľby sú špecifikované, sa realizuje zobrazenie o procesoch. Napríklad:

a       zobrazí informácie o všetkých procesoch okrem systémových a tých, ktoré nie sú spojené s terminálom

e       zobrazí všetky procesy v tvare vhodnom pre použitie do ďalšieho príkazu

l       zobrazí dlhý formát výpisu

u       zabezpečí zobrazenie len tých procesov, ktorých vlastníkom je používateľ, ktorý spustil príkaz "ps"

x       zobrazí tie procesy, ktoré boli spustené z terminálu, na ktorom bol spustený príkaz "ps" a pod.

Pri zobrazení informácií o procesoch majú jednotlivé stĺpce výpisu nasledujúci význam:

USER                meno vlastníka procesu

%CPU               priemerný čas využitia procesora procesom

SIZE                  veľkosť údajovej a zásobníkovej časti procesu

RSS                               veľkosť procesu v pamäti

%MEM             percentuálne využitie pamäti procesom

UID                               identifikačné číslo používateľa, ktorý spustil proces

PPID                 číslo rodičovského procesu

PRI                                priorita procesu

START                   čas alebo dátum spustenia procesu, podľa toho, či bol spustený                      dnes alebo predtým

TIME                 doba vykonávania procesu

CMD                 názov príkazu, ktorý vyvolal spustenie procesu

Ak máte spustený proces, ktorý chcete ho odstrániť z pamäti t.j. zrušiť proces, môžete to previesť príkazom "kill". Jeho syntax je nasledujúca:

v  kill [-signál] číslo_procesu

v  kill -l

Príkaz "kill" vo všeobecnosti zasiela procesu, ktorý je definovaný parametrom "číslo_procesu" signál. Zoznam signálov, ktoré je možné zaslať procesu možno zobraziť druhým tvarom príkazu (kill -l). Zvyčajne sa používajú nasledujúce signály:

signál "-9",                             ktorý zabezpečí zrušenie bežiaceho procesu

signál "-HUP" alebo "-1",       ktorý zabezpečí zrušenie a znovuodštartovanie procesu (tento signál sa používa hlavne na štartovanie démonov systému t.j. programov trvale bežiacich na pozadí)

signál "-TERM",                    ktorý pozastaví vykonávanie procesu

signál "-CONT",                    ktorý zabezpečí pokračovanie vykonávania   príkazu , ktorý bol predtým prerušený signálom "-TERM"

Príklad: Ak potrebujete znovuodšartovať terminálové procesy, prevedieme to príkazom

kill -HUP 1

Ak používateľ používa ako príkazový interpreter program "csh", potom môže použiť ďalšie príkazy pre riadenie procesov. Týmito príkazmi sú:

v  fg [číslo_úlohy]

v  bg [číslo_úlohy]

v  jobs [-l]

Ak používateľ špecifikuje príkazový riadok tak, že ako posledný znak uvedie "&", potom sa štartovaný proces spúšťa na pozadí. Znamená to toľko, že používateľ môže zadávať ďalšie príkazy bez toho, aby čakal, kým sa ukončí beh predtým zadaného príkazu so znakom "&" na konci. Príkaz spúšťaný na pozadí sa od procesu na popredí líši len tým, že nemá priradený štandardný vstup. t.j. nie je možné doň vkladať údaje z klávesnice (klávesnica tu vystupuje ako štandardný vstup pre príkazový interpreter).

Výpis úloh, ktoré bežia na pozadí, je možné získať príkazom "jobs". Vo výpise sú jednotlivé úlohy označené poradovým číslom, podľa toho, ako boli úlohy na pozadí štartované. Ak chcete potom zrušiť nejakú úlohu na pozadí, môžete použiť príkaz "kill %c", kde c je číslo úlohy.

Na pozadí môžete spustiť aj tie procesy, ktoré ste prvotne na pozadí nespustili (t.j. zabudli ste v príkazovom riadku špecifikovať znak "&" na konci príkazu). Nič však nie je stratené. Stlačením kombinácie klávesov CTRL-Z prerušíte vykonávanie programu tak, že vykonávanie programu sa síce zastaví, ale program ostáva ešte vždy uložený v pamäti. Zadaním príkazu "fg" proces bude pokračovať vo vykonávaní tak, akokeby ste vôbec nestlačili klávesy CTRL-Z. Ak však miesto príkazu "fg" zadáte príkaz "bg", bude proces pokračovať vo vykonávaní, ale na pozadí. Z toho plynie, že príkazom "bg" môžete procesy pozastavené stlačením klávesov CTRL-Z, spustiť na pozadí a procesy, bežiace na pozadí príkazom "fg" dať na popredie. Upozorňujeme, že nie je možné, aby na popredí bežal viac ako jeden proces .

Príklad: Rozhodnete sa vykonať takúto činnosť: Vytvoriť balík, ktorý bude obsahovať všetky zdrojové texty operačného systému. Na vytvorenie balíka možno použiť príkaz "tar" spôsobom popísaným v kapitole 5.4.7.4. Činnosť, ktorú potrebujete zabezpečiť, možno vykonať nasledovne:

1. možnosť - beh na popredí:

cd /usr/sys

tar cvf zdr_text.tar *

.

.   Nasleduje vypisovanie súborov, ktoré sa archivujú

.

 

2. možnosť - beh na pozadí:

cd /usr/sys

tar cf zdr_text.tar * &

[1] 2345           Číslo úlohy na pozadí a číslo pridelené procesu

(Tu môžete zadávať ďalšie príkazy počas behu programu tar)

Keď úloha skončí (príkaz tar), dostanete výpis

[1] 2345 tar cf  zdr_text.tar *     Done

G  Počas behu príkazu je možné ho vždy prerušiť príkazom

kill %číslo_úlohy

t.j. v našom prípade

kill %1.

3. možnosť - presun behu príkazu z popredia na pozadie:

cd /usr/sys

tar cf zdr_text.tar *

<CTRL-Z>           Dôjde k pozastaveniu behu programu

bg                 Spusti sa pozastavený program na pozadí

[1] 2345

5.6              Príkazy pre komunikáciu medzi používateľmi

V tejto kapitole popíšeme základné príkazy, ktoré slúžia na komunikáciu medzi používateľmi v rámci jedného počítača. To znamená, že pôjde o príkazy, ktoré používateľovi umožňujú komunikovať z terminálu, na ktorom je prihlásený do operačného systému, s iným používateľom, tiež prihláseným v systéme.

Prvým príkazom je príkaz "mesg". Má nasledujúcu syntax:

v  mesg [y|n]

Tento príkaz umožňuje používateľovi zabrániť výpisu správy na terminál, na ktorom pracuje. Ak sa príkaz špecifikuje bez parametrov, zobrazí sa aktuálne nastavenie. Ak je špecifikovaná voľba "y", potom je povolený výpis správ na terminál, ak "n", potom je vypisovanie správ na termináli zakázané. Zákaz vypisovaniu správ na termináli je výhodný vtedy, keď používateľ potrebuje pracovať na danej úlohe bez vyrušovania.

Príkaz "mesg" teda zabraňuje resp. povoľuje zobrazovanie správ na termináli. Na zaslatie správy slúži príkaz "write". Jeho syntax je nasledovná:

v  write meno [terminál]

kde "meno" je prihlasovacie meno používateľa, ktorému chcem poslať správu a "terminál" je zariadenie, na ktorom príjemnca správy pracuje. Poslať správu môžeme len tým používateľom, ktorí sú prihlásení v operačnom systéme. Zoznam týchto používateľov môžeme dostať zadaním príkazu "who". Parameter "terminál" nemusí byť špecifikovaný, ak príjemca pracuje len na jednom zariadení (termináli). Ak pracuje napr. na termináli /dev/tty01 a aj na termináli /dev/tty02, potom tento parameter musíme špecifikovať podľa toho, na ktorý terminál chceme, aby sa mu správa vypísala. Aby príjemca správu naozaj obdržal, musí mať nastavené povolenie príjmu správ príkazom "mesg". V prípade, že príjemca má nastavený zákaz príjmu správ, odosielateľovi operačný systém toto indikuje vypísaním chybového hlásenia.

Po zadaní príkazu "write" sa špecifikuje samotný text správy ukončený stlačením kombinácie klávesov CTRL-D.

Príklad:

write jano

Ahoj Jano!

Ako sa mas ?

EOT                                           Znaky EOT znamenajú stlačenie CTRL-D.

Obdobným príkazom ako príkaz "write" je príkaz "wall" Má nasledujúcu syntax:

v  wall

Tento príkaz pracuje podobne ako príkaz "write". Rozdiel je len v tom, že sa špecifikovaná správa posiela všetkým prihláseným používateľom naraz. Toto používa hlavne systémový programátor, keď potrebuje reštartovať operačný systém. Príkazom "wall" upozorní používateľov, aby korektne ukončili svoju prácu t.j. odhlásili sa zo systému, aby sa im pri reštartovaní nepoškodili údaje.

Ďalším príkazom, ktorý imituje telefonický rozhovor, je príkaz "talk". Jeho syntax je obdobná ako syntax príkazu "write":

v  talk meno [terminál]

Po špecifikovaní príkazu sa program pokúša spojiť s druhou stranou. Ak je špecifikovaný používateľ prihlásený v systéme, tak sa na jeho termináli objaví výpis, ktorý okrem iného obsahuje aj meno toho používateľa, ktorý sa pokúša o spojenie. Aby k spojeniu došlo, musí dotyčný používateľ taktiež zadať príkaz "talk" s menom toho používateľa, ktorý sa o spojenie pokúsil ako prvý (vo výpise oznamu o nadviazovaní spojenia je príkaz, ktorý má používateľ špecifikovať). Pokiaľ používateľ nechce komunikovať, tak sa na strane volaného pravidelne vypisuje ten istý text až do chvíle, kým volajúci "nezavesí" t.j. nezruší príkaz "talk" na svojej strane. Po nadviazaní spojenia, sa obrazovka rozdelí na dve polovice. Horná časť slúži volajúcemu na vypisovanie textu a dolná časť slúži na príjem textu od volaného.

Tento príkaz umožňuje komunikovať nielen v rámci jedného počítača, ale aj v počítačovej sieti. Potom na mieste parametru "meno" je potrebné špecifikovať plné meno volaného účastníka siete a to v tvare:

meno@počítač

Príklad:

Ak chce používateľ jano komunikovať z počítača s menom hornad.fei.tuke.sk s používateľom juro na počítači s menom hron.fei.tuke.sk, musí zadať nasledujúci príkaz:

talk juro@hron.fei.tuke.sk

Na druhej strane bude používateľovi juro "vyzváňať terminál" (pravda, ak používateľ juro je prihlásený na počítači hron.fei.tuke.sk). Aby došlo k spojeniu, musí používateľ juro zadať príkaz:

talk jano@hornad.fei.tuke.sk

Ukončenie spojenia sa realizuje na ľubovoľnej strane stlačením kombinácie klávesov CTRL-C.

Doteraz sme uviedli príkazy, ktoré síce umožňujú vzájomne komunikovať medzi používateľmi, ale len v prípade, že obaja účastníci sú prihlásení do operačného systému. Čo však v prípade, že tomu tak nie je ? Potom je možné použiť systém elektronickej pošty.

Elektronická pošta odpovedá skutočnej pošte v živote. Používateľ špecifikuje list, ktorý odošle. Program, ktorý zabezpečuje činnosť poštára odošle a doručí poštu na určené miesto, kde sa uloží v poštovej schránke používateľa, ktorému bola pošta zaslaná. Odtiaľ si ju príjemca prevezme. Tento systém funguje ako v rámci jedného počítača, tak aj v rámci počítačovej siete.

Na zasielanie a preberanie pošty existuje niekoľko programov, ktoré sa od seba odlišujú v podstate len spôsobom komunikácie s používateľom. Takými programami sú: mail, Mail, elm alebo pine. Vzhľadom na podobnosť programov sa budeme venovať len základnému popisu práce s programom mail.

Poštu je možné zaslať nasledujúcim spôsobom. Po zadaní príkazu

mail juro@hron.fei.tuke.sk

sa vypíše na obrazovke slovo "Subject:", kde je odosielateľovi umožnené v krátkosti (pár slovani) špecifikovať, čo bude pošta obsahovať. Po zadaní popisu sa píše vlastný text pošty. Koniec pošty a súčasne jej odoslanie sa špecifikuje stlačením kombinácie klávesov CTRL-D.

Počas písania textu pošty je možné použiť tzv. vlnovka príkazy. Píšu sa zásadne na začiatku riadku.

~v                     vyvolá obrazovkový editor vi (poprípade editor podľa premennej prostredia VISUAL)

~r súb.          načíta určený súbor do obsahu pošty

~w súb.          zapíše obsah pošty do súboru

~! prík.       vykoná sa príkaz shellu

~|prík.                      text správy sa preženie cez filter (príkaz), v prípade chybového ukončenia, ostáva pôvodná správa

~?                     vypíše pomoc ku vlnovka príkazom

~~                     umožňuje zadať riadok začínajúci znakom ~

Poštu si je možné pripraviť aj dopredu do súboru (napr. do súboru posta) a potom zaslať zadaním príkazu

mail -s "Pokusna posta" juro@hron.fei.tuke.sk < posta

kde špecifikácia -s "Pokusna posta" špecifikuje definovanie obsahu pošty (Subject), spojenie juro@hron.ef.tuke.sk špecifikuje príjemcu s prihlasovacím menom "juro" na počítači "hron.fei.tuke.sk" a ostatok riadku zabezpečuje špecifikovanie samotného textu pošty, ktorý je uložený v súbore "posta".

Keď sa používateľ juro prihlási do operačného systému na počítači hron.fei.tuke.sk, pri prihlasovaní sa mu vypíše text

You have mail

alebo

You have new mail

ktorý mu dáva informáciu o príchode pošty.

Pokiaľ je používateľ, ktorý poštu dostáva, už na počítači prihlásený, operačný systém ho o tom informuje vypísaním hlavičky a začiatku pošty. Niekedy však je tento výpis rušivým momentom pri práci. Je preto vhodné vypnúť príjem tejto správy. Na to slúži príkaz

v  biff [y|n]

Bez parametra príkaz vypíše aktuálne nastavenie, príslušný parameter znamená zapnutie (y) resp. vypnutie (n) zobrazovania informácie o prijatí pošty.

Prevzatie pošty z poštovej schránky je možné urobiť zadaním príkazu "mail" bez parametrov. Po zadaní sa na obrazovke zobrazí zoznam pošty, ktorá došla, každá v jednom riadku (na tomto mieste ide len o zobrazenie tej časti pošty, ktorá bola odosielateľom špecifikovaná po vypísaní "Subject:").

Aby používateľ mohol manipulovať s poštou. poskytuje príkaz "mail" vnútorné príkazy, ktoré umožňujú:

t              vypísanie tej pošty na obrazovku, na ktorú ukazuje kurzor ">" (aktuálnu poštu). Je možné vypísať aj inú ako aktuálnu poštu a to zadaním príkazu "t n", kde n je poradové číslo pošty, ktoré je zobrazené ako druhý stĺpec pošty.

h              zobrazí na obrazovke zoznam správ ako na začiatku.

d              vymazanie aktuálnej pošty z poštovej schránky, prípadne príkazom "d n" možno zrušiť poštu s poradovým číslom "n".

r              odpoveď na aktuálnu poštu. Po zadaní tohto príkazu sa používateľ dostane do editora, v ktorom mu je umožnené napísať odpoveď na poštu. Po vyskočení z editora sa napísaný text automaticky odošle adresátovi.

s              príkaz umožní zapísať aktuálnu poštu do súboru "mbox" v aktuálnom katalógu. Príkaz umožňuje zapísať poštu aj do iného súboru a to napríklad príkaz

s aaa

zapíše aktuálnu poštu do súboru "aaa" v aktuálnom katalógu a príkaz

s 4 aaa

zapíše poštu s poradovým číslom 4 do súboru "aaa" v aktuálnom katalógu.

Príkaz "s" umožňuje vytvárať balíky s podobným obsahom pošty tzv. "foldersy". Napríklad príkaz

s 4 +aaa

zapíše poštu s poradovým číslom 4 do súboru "aaa", ale nie do katalógu odkiaľ bol príkaz "mail" odštartovaný, ale do katalógu, ktorý je špecifikovaný premennou "folder". Táto premenná sa prevažne nastavuje príkazom

set folder=$HOME/folders

v riadiacom súbore pre poštu ".mailrc", ktorý sa musí nachádzať v katalógu, z ktorého sme odštartovali príkaz "mail" (prevažne ide o domovský katalóg).

q              ukončenie príkazu "mail". Všetka pošta, ktorá ešte ostáva v poštovej schránke sa presunie do súboru "mbox" v aktuálnom katalógu (pokiaľ je v súbore ".mailrc" špecifikovaný príkaz "set save").

Tieto nastavenia pošty môže vykonať globálne administrátor systému v súbore "/usr/lib/Mail.rc". Používateľ si potom môže tieto nastavenia zmeniť pomocou príkazov set alebo unset v súbore ".mailrc.". Najčastejšie príkazy sú nasledovné:

ask         pri posielaní každej pošty sa pýta nadpis pošty (Subject:).

askcc    na konci posielania pošty sa žiadajú adresy pre zaslanie kópie dopisu (Cc:)

dot         bodka na začiatku riadku sa chápe tiež ako koniec pošty

hold       prijaté správy sa prenechávajú v systémovej schránke. Poštu ale zväčša nie je vhodné nechávať v systémovej schránke.

metoo    pošta sa pošle aj na vlastnú adresu

nosave  pri prerušení písania pošty sa neukladá pošta do súboru dead.letter

folder  určuje meno katalógu pre ukladanie schránok

Ak má používateľ v počítačovej sieti na viacerých počítačoch pridelené prihlasovacie meno, potom z každého počítača môže posielať poštu. Aby používateľ nemusel zakaždým kontrolovať na každom počítači, či mu neprišla pošta, môže definovať súbor ".forward" v domovskom katalógu na každom z počítačov a v ňom uviesť riadok s meno toho počítača, na ktorom chce poštu preberať.

 

Príklad:

Nech sú prepojené počítače "hron.fei.tuke.sk", "vah.fei.tuke.sk" a "hornad.fei.tuke.sk". Používateľ sa rozhodne všetku poštu prijímať na počítači "hornad.fei.tuke.sk". Na počítačoch "hron.fei.tuke.sk" a "vah.fei.tuke.sk" vo svojom domovskom katalógu musí definovať súbor ".forward", ktorý obsahuje riadok

hron.fei.tuke.sk

Ak používateľovi príde pošta na jeden z počítačov "hron.fei.tuke.sk" alebo "vah.fei.tuke.sk" automaticky program zabezpečujúci činnosť poštára pošle poštu na počítač "hornad.fei.tuke.sk". Používateľovi sa potom stačí prihlásiť len na počítač "hornad.fei.tuke.sk" a tu prebrať všetku svoju poštu bez toho, aby sa musel prihlásiť aj na počítače "hron.fei.tuke.sk" a "vah.fei.tuke.sk".

5.7              Štandardné sieťové príkazy OS UNIX

5.7.1                  Testovanie siete

v  /etc/ping [voľby] počítač [dĺžka [počet]]

Príkaz ping slúži na otestovanie okamžitého spojenia s ľubovoľným počítačom zapojeným do siete INTERNET. Pracuje tak, že vyšle dotazovací paket cieľovému počítaču, ktorý naň odpovie. Vyhodnocuje sa potom čas kedy sa prijme odpoveď, alebo sa len vypíše , či existuje spojenie. Je možné nastaviť dĺžku paketu a počet vyslaných paketov. Štandardná dĺžka paketu je 64 byte. Počítač môže byť určený menom, alebo IP-adresou.

Voľby:

-v             rozšírený výstup, vypisuje sa odozva na každý paket, na konci sa vypíše štatistika.

-r             obchádza routovacie (smerovacie) tabuľky, je možné použiť iba pri priamo spojených počítačoch.

Pri použití voľby -v a nenastavení počtu paketov, sa príkaz ukončuje stlačením Ctrl-C. V štatistike potom vypíše, koľko je:

paketov poslaných - paketov prijatých - v % paketov stratených

časy odozvy - min/priemer/max.

Príklad:

/etc/ping -v nic.uakom.sk 1024 3

PING nic.uakom.sk (192.108.131.12): 1024 data bytes

1032 bytes from 192.108.131.12: icmp_seq=0. time=968. ms

1032 bytes from 192.108.131.12: icmp_seq=1. time=964. ms

1032 bytes from 192.108.131.12: icmp_seq=2. time=964. ms

 

----nic.uakom.sk PING Statistics----

3 packets transmitted, 3 packets received, 0% packet loss

round-trip (ms) min/avg/max = 964/965/968

5.7.2                  Vzdialené vykonanie príkazu a prihlásenie sa

v  rsh vzd._počítač [-l login] [-n] príkaz

Rsh vykoná zadaný príkaz na vzdialenom počítači. Pre príkaz vykonávaný na vzdialenom počítači sa použije lokálny štandardný vstup, výstup a chybový výstup príkazu rsh. Signály prerušenia a pozastavenia (Ctrl-C a Ctrl-Z) sa prenášajú príkazu na vzdialenom počítači. Lokálny príkaz rsh končí vtedy, ak skončí aj príkaz na vzdialenom počítači.

Príkaz na vzdialenom počítači je možné vykonať iba vtedy, ak na ňom v súbore /etc/host.equiv alebo v súbore .rhosts v domácom katalógu používateľa je záznam o počítači, resp. používateľovi, ktorý sa snaží využiť túto sieťovú službu (bližšie o súboroch bude popísané v popise príkazu rlogin). Týmto je možné povoliť, kto a z akého počítača môže využívať službu rhosts.

Príkaz má nasledujúce voľby:

-l             umožňuje zmeniť používateľa na vzdialenom počítači, inak príkaz sa snaží použiť používateľov login aj na druhom počítači

-n             presmeruje všetky príkazové vstupy na /dev/null

Príklad:

rsh kron -l novak ls

rsh vah ls >> lokálny_súbor

rsh ruzin ls ">>" súbor_na_vzdialenom_počítači_ruzin

Nie všetky príkazy je možné spustiť vzdialene, napríklad interaktívny editor vi. V takomto prípade musíte použiť príkaz rlogin.

v  rlogin vzdialený_počítač [-ec] [-8] [-l login]

Príkaz spojí používateľa so vzdialeným počítačom. Používateľ má potom predstavu ako keby bol terminál pripojený priamo ku vzdialenému počítaču. Po zadaní príkazu si vzdialený systém pýta heslo. Pri chybnom zadaní hesla si vzdialený systém pýta opätovne heslo už aj s loginom. Pokiaľ je na vzdialenom systéme zapísané meno lokálneho počítača v súbore /etc/hosts.equiv, potom pri prihlasovaní sa naň pod rovnakým loginom prebehne bez vyžiadania hesla. To znamená, že tento súbor obsahuje zoznam tzv. "bezpečných strojov". Aj použivateľ na vzdialenom systéme si môže nastaviť tzv. "bezpečných používateľov", to znamená používateľov, ktorí sa môžu pracovať pod jeho loginom bez udania hesla. Týchto používateľov uvádza aj s menom ich počítača v súbore .rhosts v domácom katalógu. Napríklad používateľ s loginom sobota má na počítači ccsun.tuke.sk v domácom katalógu súbor .rhosts s obsahom:

hron.fei.tuke.sk ferko

Potom pokiaľ používateľ ferko z počítača hron.fei.tuke.sk môže napísať príkaz "rlogin ccsun.tuke.sk -l sobota" pričom nemusí zadávať heslo. Používateľ potom pracuje na vzdialenom počítači až pokiaľ sa z neho neodhlási príkazom logout alebo kombináciou kláves Ctrl-D. Pokiaľ uviazne komunikácia, môže používateľ ukončiť program rlogin na lokálnom počítači pomocou stlačenia klávesov vlnovka a bodka (~.) po stlačení klávesu Enter. Stlačenie klávesu vlnovka nasledované kombináciou kláves Ctrl-Z vykoná prerušenie behu príkazu rlogin na lokálnom počítači. Obyčajné stlačenie kombinácie kláves Ctrl-C alebo Ctrl-Z nemá efekt na lokálnom počítači ale sa prenáša na vzdialený počítač.

Voľby:

-8                      povoľuje nepretržitú 8-bitovú vstupnú dátovú cestu.

-ec                   znak c je použitý miesto znaku vlnovka.

-l login       na vzdialený počítač prihlasuje pod uvedeným loginom

Ďalším príkazom na vytvorenie relácie so vzdialeným počítačom je príkaz

v  telnet [ vzdialený_počítač [ port ]]

Príkaz telnet používa komunikačný protokol TELNET (na úrovni aplikačnej vrstvy). Ak je príkaz zadaný bez argumentov, vojde sa do príkazového módu, ktorý je indikovaný výzvou telnet>. Pokiaľ sa príkaz zadá s argumentami, vykoná sa činnosť open z príkazového módu. Pokiaľ sa otvorí prenosový kanál, prejde sa do prenosového módu. V tomto móde prenáša údaje buď znak po znaku (znak poslaný okamžite) alebo riadok po riadku (prenášané naraz celé riadky) v závislosti od podpory vzdialeného systému. Riadiace znaky (napr. Ctrl-C) sa prenášajú na vzdialený počítač v prípade nastavenia localchars true. Z prenosového módu je možné prejsť do príkazového stlačením sekvencie znakov Ctrl-] (je možné to zmeniť). V príkazovom móde je možné zadať nasledovné príkazy:

open počítač [port] otvorí spojenie s uvedeným počítačom, pokiaľ sa neuvedie port, použije sa implicitný port pre telnet

close                                     uzatvorí spojenie

quit                                       ukončí program telnet

z                                               preruší beh programu telnet na lokálnom počítači

?                                               krátka pomoc

set arg. hodn                 nastaví telnet premennú na udanú hodnotu

toggle arg.                      nastaví príznak

display [arg.]              zobrazí nastavenie

send arg.                           pošle špeciálnu sekvenci znakov do vzdialeného počítača

5.7.3                  Vyhľadávanie osôb

v  finger [voľby] [meno...]

Príkaz finger bez parametrov vypíše na obrazovku o každom, kto v lokálnom systéme pracuje, tieto informácie: login, reálne meno, meno terminálu na ktorom pracuje, čas kľudu (idle),čas prihlásenia sa, miesto a telefón v práci. Pokiaľ sa pred menom terminálu nachádza hviezdička, nie je dovolené príslušnému používateľovi posielať správy na tento terminál (napr. príkazom write alebo talk). Čas kľudu, pokiaľ je uvedený označuje čas od posledného stlačenia klávesu na termináli v minutách. Pokiaľ pri výpise je použitá dvojbodka, je čas vyjadrený v hodinách a minútach, pokiaľ písmeno d, tak v dňoch a hodinách.

Pokiaľ sa zadá konkrétne meno používateľa a to buď login, alebo reálne meno, vypíše systém dlhý (viacriadkový) výpis. V tomto výpise sú zahrnuté aj informácie zo súborov .plan a .project umiestnených v domácom katalógu príslušného používateľa a čas jeho posledného prihlásenia sa do systému.

Príkaz je možné použiť aj na zistenie informácií o používateľoch iných systémov. V tomto prípade má finger dva tvary:

v  finger [voľby] meno_vzdialeného_počítača

na zistenie, kto je práve prihlásený v systéme

v  finger [voľby] loginmeno_vzdialeného_počítača

na zistenie informácií o používateľovi na vzdialenom systéme.

Administrátor vzdialeného systému môže finger ako sieťovú službu zakázať (nespustiť program servra pre finger). Potom nie je možné použiť finger za účelom zistenia údajov o používateľoch na tomto systéme z iného systému.

Základné voľby:

     -l        zobrazí výstup v dlhom formáte

Súbory .project a .plan musia byť regulárne súbory, nemôžu byť linkou do iného súboru. Zo súboru .project sa využíva iba prvý riadok súboru. Zmenu reálneho mena, adresy a telefónu v práci je možné dosiahnuť príkazom chfn.

 

 

 

 

 

 

5.8              Linux

Platforma LINUX svojou stabilitou a cenou v čoraz väčšej miere „presviedča“ už aj veľké podniky či štátne správy.

  

Z hľadiska histórie sa Linux objavil začiatkom deväťdesiatych rokov. Fínsky študent Linus Torvalds v roku 1991 na Helsinskej univerzite vytvoril jadro pre operačný systém. Jeho možnosti sa zapáčili jeho priateľom a slávna cesta mohla začať. Tak vznikol projekt, ktorý začal nadobúdať veľké rozmery. Linus Torvalds vychádzal z vtedy už existujúceho Unixu, ktorého vstup do počftačového sveta siaha do sedemdesiatych rokov jednou z najpopulárnejších distribúcií Unixov, Berkeley Software Distribution (BSD Unix). Táto distribúcia bola používaná v osemdesiatych a deväťdesiatych rokoch dvadsiateho storočia. V princípe, samotný Linux je iba jadro. Nie je preto správne používať pojem Linux 4.6 alebo Linux 8.0, pretože príslušná verzia sa týka verzie jadra. Samotný pojem napr. SuSE Linux 6.4 sa vzťahuje na verziu 6.4 distribúcie Linux-u firmou SuSE, t. j. na firmu, ktorá takto pomenovala svoju distribúciu. Medzi najznámejšie distribúcie patria Debian, RedHat, Mandrake, SuSe a pod. Linux veľa prebral z klasického UNIXu a v súčasnosti je podporovaný takými svetovými firmami ako sú SUN a IBM. Okrem toho v súčasnosti v jednotlivých distribúciách Linuxu je automaticky inštalované aj grafické používateľské rozhranie (GUI), ktoré je podobné rozhraniu platformy MS Windows (najčastejšie KDE a GNOME). Veľmi sa dnes do popredia derú a začínajú byť aj obľúbené inštalácie tzv. live-LINUX. Tieto inštalácie predstavujú predpripravený t.j. už nainštalovaný LINUX na CD-ROM a postačí len vložiť takýto CD-ROM do mechaniky CD-ROM a zaviesť operačný systém z CD-ROM (je nutné v SETUPe počítača nastaviť poradie bootovacích zariadení tak, aby mechanika CD-ROM bola ako prvá). Takáto inštalácia LINUXu sa automaticky spustí, nakonfiguruje sa, v prípade pripojenia do siete nakonfiguruje aj sieťové prostredie a spustí grafické okenné rozhranie (najčastejšie KDE). Počítač je rovno pripravený na vrácu vrátane istej sady základných aplikácií (okrem iného napr OpenOffice či rôzne multimediálne a herné aplikácie). Medzi známe takéto inštalácie patrí napr. KNOPPIX.

Napriek tomu, že žiaľ inštaláciu LINUXu dnes ešte začiatočník, si myslíme, nemusí zvládnuť, jeho používanie je už najmä prostredím veľmi blízke prostrediu MS Windows. Na obrázkoch tejto kapitoly môžete vidieť ukážky prostredia LINUXu (rozhranie KDE) od pracovnej plochy, hlavného menu cez kancelárske aplikácie po multimédiá. Záverom už len dodajme: neoplatilo by sa to skúsiť?

Rýchlou mierou sa rozrastá rodina programov pre tento operačný systém. Ešte raz zopakujme, vzhľadom na cenu (zdarma) a stabilitu je už v súčasnosti tento operačný systém aj vážnym konkurentom prednedávnom takmer monopolnému MS Windows na desktopovej platforme.

 


6  Základy dátovej komunikácie

Po stáročia bolo základom pre udržanie komunikácie vo vnútri organizácie a medzi organizáciami hovorené alebo písané slovo. So zavedením automatizovaných informačných systémov bol tento model komunikácie narušený. V dôsledku toho boli vynájdené nové komponenty, aby mohli byť splnené komunikačné požiadavky koncových používateľov. V dnešnej dobe majú koncoví používatelia k dispozícii škálu komponentov, s ich špecifickými výhodami a nevýhodami.

Komunikáciu môžeme rozčleniť do štyroch rôznych typov. Informácie môžu byť prepravované vo forme dát, textu, hlasu a videa. Moderné komunikačné siete sú schopné integrácie a prenosu týchto štyroch typov komunikácie alebo sú optimalizované na prenos jedného alebo viac z týchto typov (či už sú integrované alebo nie).

Obr. 34 Typy komunikácie

V takomto prípade teda môžeme hovoriť o komunikácii. Čo je potom dátová komunikácia? Dátová komunikácia je druh komunikácie, ktorá zahŕňa diaľkový prenos a spracovanie dát. Diaľkový prenos údajov znamená výmenu (vysielanie a prijímanie) údajov na diaľku, často na značnú vzdialenosť. Tieto dáta sú často kódované (menený ich formát). Spracovanie dát chápeme ako spracovanie dát v počítači. Ak obidva popisy skombinujeme, dostávame nasledujúcu definíciu:

„Dátová komunikácia je vysielanie a prijímanie dát, často kódovaných, s cieľom spracovať ich pomocou počítačov.“

Dátová komunikácia môže prebiehať medzi dvomi počítačmi, ale taktiež medzi počítačom a iným technickým zariadením (napr. terminálom). Môžeme teda povedať, že dátová komunikácia prebieha medzi dvomi stanicami, z ktorých aspoň jedna je počítač (v tej, či inej forme).

Rozlišujeme niekoľko skupín systémov dátovej komunikácie na základe ich aplikácií. Môžeme posudzovať komunikačný proces z rôznych hľadísk, napríklad môžeme posudzovať:

·        spôsob ako komunikuje používateľ s počítačom (interaktívne alebo neinteraktívne);

·        typ vymieňaných dát;

·        čas, ktorý je potrebný;

·        druh výmeny (iba vysielanie alebo prijímanie, alebo oboje).

6.1              Štandardy a sieťové modely

Štandardy v oblasti dátovej komunikácie tak ako aj samotných počítačových systémov sú mimoriadne dôležité, nakoľko umožňujú vzájomnú spoluprácu rôznych zariadení od rôznych výrobcov, ich väzbu na prenosové prostriedky. Týkajú sa všetkých aspektov činností sietí od konektorov až po napr. prenos súborov. Umožňujú tak zostavenie otvorených systémov (angl. open systems), ktoré vyhovujú rôznym štandardom. Poväčšine ide o štandardy, ktoré vydávajú rôzne štandardizačné komisie (napr. International Organization for Standardization - ISO) alebo o štandardy niektorých výrobcov (DNA model fy. DEC, SNA model fy. IBM) prevzaté aj inými výrobcami. Systémy, ktoré nedodržujú štandardy a umožňujú prepájať len podsystémy resp. zariadenia jedného výrobcu sa označujú za uzavreté systémy (angl. closed systems). V súčasnosti najmä rozvoj rôznych typov distribuovaných systémov založených na verejných a privátnych dátových sieťach potvrdil výhody a správnosť nasadzovania otvorených systémov.

Na riadenie komunikácie medzi jednotlivými uzlami siete je potrebná celá množina technických a programových prostriedkov. Štruktúru riadenia tejto komunikácie spolu s technickými a programovými prostriedkami definuje sieťová architektúra. Keďže riadenie komunikácie (angl. communication control) predstavuje rozsiahly problém, ako najlepšie riešenie sa ukázalo, dekomponovanie tohoto problému do hierarchicky usporiadaných vrstiev. Boli navrhnuté rôzne dekompozície, ktoré reprezentujú rôzne vrstvové modely sieťovej architektúry. Takto reprezentované modely sú výhodné nielen z dôvodu dekompozície problému riadenia komunikácie, ale poskytujú aj väčšiu flexibilitu vzhľadom na zmeny v sieťovej architektúre.

Každá vrstva má špecifikované funkcie tvoriace časť z riadenia komunikácie, ako aj definovaný spôsob spolupráce so susednou nižšou aj vyššou vrstvou. Tým je špecifikované rozhranie (interface) medzi vrstvami. Vyššia vrstva je vždy žiadateľom o vykonanie nejakej služby od nižšej vrstvy a nižšia vrstva je vždy poskytovateľom služby pre vyššiu vrstvu. Komunikácia v sieti prebieha medzi dvomi uzlami. Je možné povedať, že medzi sebou komunikujú rovnocenné vrstvy t.j.  vrstvy na rovnakej úrovni komunikácie (peer-to-peer). Rovnocenné vrstvy komunikujú na základe presne dohodnutých pravidiel, s definovaným formátom vymieňania údajovej entity – protokolovej dátovej jednotky PDU (angl. Protocol Data Unit). Súbor pravidiel, procedúr, formátov pre komunikáciu tvorí komunikačný protokol. Každá vrstva obsahuje aspoň jeden protokol. Jednotlivé časti protokolov popisujú komunikačné funkcie. Príkladom komunikačnej funkcie je funkcia riadenia smerovania v sieti, funkcia detekcie chýb v prenose, komprimácia údajov a pod. Ku každému vrstvovému modelu možno priradiť súbor protokolov, nakoľko tie isté komunikačné funkcie môžu byť implementované rôznymi spôsobmi. Zo súboru protokolov možno vytvoriť protokolový zásobník, v ktorom i-tá položka zodpovedá jednému protokolu na i-tej vrstve modelu. V každom modeli možno vrstvy rozdeliť do skupín:

·        Sieťovo-závislé,

·        Aplikačno-orientované.

6.2              ISO OSI referenčný model sieťovej architektúry

V oblasti počítačových sietí bol prijatý organizáciou ISO (International Organization for Standardization) ako medzinárodný štandard referenčný model sieťovej architektúry prepájania otvorených systémov (štandard ISO 7498). Tento štandard sa označuje RM OSI alebo ISO/OSI. Model je sedem vrstvový, špecifikuje iba činnosti jednotlivých vrstiev a voľne popisuje rozhrania medzi vrstvami. Konkrétne protokoly a služby jednotlivých vrstiev vznikali a vznikajú postupne ako samostatné štandardy ISO resp. iných inštitúcií (IEEE, CCITT,…).

Tok dát medzi vrstvami a označenie vrstiev je na nasledujúcom obrázku.

Obr. 35 Referenčný model OSI a tok dát medzi jeho vrstvami.

Prenos dát medzi dvomi aplikáciami, napr. medzi vysielajúcim procesom A a prijímajúcim procesom B prebieha tak, že na strane vysielača sa postupne v každej vrstve pridáva k údajom z vyššej vrstvy, resp. aplikácie, hlavička obsahujúca riadiace informácie a na strane príjemcu sa postupne hlavičky odoberajú. Riadiace informácie možno rozdeliť do dvoch skupín podľa toho, komu sú určené:

·        nižšej vrstve na strane vysielača, ktorá ich odoberie a vykoná požadované činnosti,

·        rovnakej vrstve na strane príjemcu.

Na úrovni spojovej vrstvy sa pridáva aj ukončenie, ktoré sa používa na zabezpečenie dát proti prenosovým chybám.

Jednotlivé bloky dát v horných štyroch vrstvách sa všeobecne označujú ako k-PDU, kde k je označenie vrstvy, napr. A-PDU, P-PDU. Pre dolné tri vrstvy (od sieťovej dolu) sa používa označenie paket (datagram), rámec, bitový reťazec.

Do skupiny sieťovo-závislých vrstiev patria dolné tri vrstvy, ich funkcie sú závislé od konkrétneho typu siete. Tieto vrstvy „vidia“ časť alebo celú skutočnú topológiu siete. Do skupiny aplikačno-orientovaných vrstiev patria horné tri vrstvy, pre ktoré je typ siete transparentný a používajú sa ako programová podpora aplikačným procesom. Rozhranie medzi týmito skupinami tvorí transportná vrstva.

Základné činnosti jednotlivých vrstiev stručne približujú nasledujúce podkapitoly.

6.2.1                  Fyzická vrstva

Poskytuje služby spojovej vrstve, zabezpečuje sériový prenos bitov medzi dvoma uzlami pomocou fyzickej prenosovej cesty. Zaoberá sa rozhraním (mechanické, elektrické parametre, špecifikácia konektorov, káblov a pod.) medzi dvoma sieťovými uzlami. Poskytuje teda nezabezpečené spojenie (nerieši problém výskytu chyby pri prenose) dvoch priamo prepojených počítačov/uzlov.

6.2.2                  Spojová (linková) vrstva

Využíva služby fyzickej vrstvy na prenos blokov dát – rámcov (frames). Fyzická vrstva prenáša do spojovej vrstvy iba súvislý reťazec bitov, spojová vrstva musí vedieť rozoznať začiatok a koniec rámca, jeho jednotlivé polia. Zabezpečuje tiež detekciu porúch, ktoré sa môžu vyskytnúť na prenosovej ceste a prejavujú sa zmenou hodnôt niektorých bitov. Zodpovedajúcej vrstve na strane vysielača potvrdzuje prijatie rámcov, v prípade chybných rámcov vyžaduje opätovné vysielanie. Riadi tiež tok dát medzi dvoma uzlami, aby nedošlo k lokálnemu stavu uviaznutia komunikácie. Svoje služby zabezpečeného spojenia dvoch priamo prepojených počítačov/uzlov poskytuje sieťovej vrstve.

6.2.3                  Sieťová vrstva

Využíva služby spojovej vrstvy, poskytuje služby transportnej vrstve. Zabezpečuje jednoznačnú identifikáciu počítačov/uzlov siete a smerovanie v sieti, teda prenos dátových blokov – paketov (datagramov) medzi ľubovoľnými uzlami siete. Sieťová vrstva je jediná, ktorá „vidí“ skutočnú topológiu siete. Taktiež v niektorých prípadoch riadi tok dát a zabezpečuje prenos proti chybám.

6.2.4                  Transportná vrstva

Využíva služby sieťovej vrstvy, poskytuje služby relačnej vrstve. Poskytuje päť tried služieb rôznej kvality pre rôzne typy sietí. Trieda 0 je najjednoduchšia, zabezpečuje len základné funkcie potrebné pre vytvorenie spojenia a prenos dát. Predpokladá sa, že sieťová príp. spojová vrstva vie ošetriť prípadné chyby, že chybovosť v sieti je malá. Trieda 4 je najzložitejšia, má naviac funkcie pre riadenie toku a zabezpečenie prenosu proti chybám. Predpokladá sa, že nižšie vrstvy sa nevedia zotaviť z chýb, že sieť môže mať veľkú chybovosť napr. WAN siete. Zaoberá sa komunikáciou len medzi koncovými používateľmi t.j. medzi vysielajúcim uzlom a koncovým uzlom (end-to-end communication). Tu sa vytvára predstava úplnej topológie – predstava, že každý uzol má priame prepojene s ľubovoľným uzlom. Pri vysielaní zabezpečuje segmentáciu dlhých správ do paketov (segmentov) a pri príjme zloženie paketov do pôvodnej správy.

6.2.5                  Relačná vrstva.

Nadväzuje, udržiava a ruší logické spojenia – relácie medzi koncovými účastníkmi. V prípade poloduplexnej komunikácie riadi smer komunikácie. Zabezpečuje vkladanie bodov návratu do prenášaných blokov dát, ktoré v prípade niektorých komunikačných chýb slúžia na označenie miesta v postupnosti prenášaných dát, odkiaľ sa bude prenos opakovať.

6.2.6                  Prezentačná vrstva.

Využíva služby relačnej vrstvy (resp. niekedy priamo transportnej), poskytuje služby aplikačnej vrstve. Stará sa o prezentáciu údajov (formát a štruktúra dát) zrozumiteľnú pre obidvoch komunikačných partnerov, ich bezpečnosť a napr. aj o kryptovanie. Komunikovať v dohodnutom formáte je základným predpokladom úspešnej komunikácie, keďže už aj pri jednoduchých údajových typoch ako sú napr. celé čísla, rôzne platformy používajú rôzne kódovanie (little-endian a big-endian platforiem Intel Pentium a Sun SPARC).

6.2.7                  Aplikačná vrstva

Využíva služby prezentačnej vrstvy, poskytuje služby koncovým používateľom – aplikačným procesom. Zabezpečuje používateľské rozhranie k sieťovým informačným službám, ktoré zahŕňajú napr. prenos súborov, elektronickú poštu, emuláciu terminálu  a pod. Aplikačná vrstva v podstate zahŕňa tú časť z používateľských procesov, ktorá používa spoločné resp. všeobecne použiteľné prístupy. Napr. pri prenose súborov ich kódovanie do vhodného prenosového formátu, vytvorenie logického spoja – asociácie s adresátom, zrušenie asociácie apod. Služby poskytované vrstvou vlastne odbremeňujú používateľa od implementácie procedúr prístupu do prostredia siete.

6.3              Prepojovacie služby

Jednotlivé vrstvy poskytujú rôzne typy služieb, ktoré možno charakterizovať ako:

·   služby so spojením (connection oriented)

·   služby bez spojenia (connectionless)

·   služby s potvrdením (confirmed)

·   služby bez potvrdenia (unconfirmed)

·   služby spoľahlivé (reliable)

·   služby nespoľahlivé (unreliable).

Pri službe so spojením treba najskôr, pred vlastným prenosom dát, nadviazať spojenie s adresátom. Po ukončení prenosu je potrebné spoj zrušiť. Pri službách bez spojenia sa jednotlivé dáta prenášajú ako samostatné jednotky, z ktorých každá má pripojenú adresu konečného príjemcu. Prenášajú sa ako vzájomne nezávislé časti, ktoré môžu po sieti posielať rôznymi smermi. Služby so spojením sú výhodnejšie pre prenos väčšieho množstva dát, pretože réžia na vlastný prenos je pomerne malá v porovnaní s réžiou pri službách bez spojenia.

Služby s potvrdením, kedy príjemca potvrdzuje vysielaču príjem bezchybných alebo chybných dátových blokov, sa vyžívajú v prostrediach s väčšou pravdepodobnosťou rušenia prenosu príp. tam, kde strata niektorých dátových blokov je neprípustná. Služby bez potvrdenia majú nízku réžiu, používajú sa preto tam, kde možno skôr dovoliť príjem chybných blokov než stratu blokov v dôsledku časovej réžie, ktorá je značná pri potvrdzovaní (napr. prenos hlasu či videa).

Spoľahlivá služba zabezpečuje bezstratový prenos, nespoľahlivá služba zaručuje bezstratový prenos iba s určitou pravdepodobnosťou. Za cenu zvýšenia rýchlosti prenosu môže prísť k stratám prenášaných blokov.

Obr. 36 RM OSI a komunikácia cez medziuzol

Pre realizovanie služby je potrebné, aby medzi jej žiadateľom a vykonávateľom bolo realizované určité rozhranie. Toto je vo všeobecnosti vytvorené pomocou štyroch elementárnych operácií:

·   požiadavka (request)

·   indikácia (indication)

·   odpoveď (response)

·   potvrdenie (confirm)

Na nasledujúcom obrázku je znázornená časová náväznosť elementárnych operácií a ich vzťah k vrstvám. Pre realizáciu niektorých služieb postačujú iba dve príp. tri operácie.

Obr. 37 Elementárne komunikačné operácie

Podľa počtu žiadateľov a poskytovateľov rozlišujeme v princípe komunikáciu na:

·   1:1

·   1:N

·   N:1

·   N:N

Kde v prvom stĺpci je počet žiadateľov a v druhom počet poskytovateľov.

6.4              Prepojovacie prvky

V uzloch koncových používateľov je zvyčajne implementovaný celý sedemvrstvový model. Ak títo komunikujú prostredníctvom iných uzlov – medziuzlov, sú v medziuzloch implementované iba vrstvy sieťovo závislé. Fyzická a spojová vrstva sú zvyčajne realizované na úrovni technického vybavenia (hardvér maximálne firmvér) a ostatné na úrovni programového vybavenia. Prepojovacie resp. spájacie medziuzly rozoznávame v princípe nasledujúce (viď nasledujúci obrázok):

·   na úrovni fyzickej vrstvy – opakovač (repeater) a rozbočovač (hub)

·   na úrovni spojovej vrstvy – most (bridge) a prepínač (switch)

·   na úrovni sieťovej vrstvy – smerovač (router)

·   na úrovni aplikačno-orientovaných vrstiev – brány (gateways), ktoré spájajú viacero rôznych sietí.

Obr. 38 Umiestnenie prepojovacích prvkov sietí v RM OSI

6.4.1                  Opakovač (repeater) a rozbočovač (hub)

V dôsledku útlmu na vedení  vykazujú spojovacie vodiče stratu signálu. Pokiaľ pracujeme s vyššou rýchlosťou,  napríklad 10Mbps, tak použiteľná maximálna vzdialenosť napr. pri koaxiálnom kábli, je približne 500 m. Pri väčšej vzdialenosti musia byť elektrické resp. optické signály rekonštruované pomocou  opakovača. Môžeme použiť len  obmedzený  počet opakovačov, pretože je tiež  obmedzená maximálna dĺžka  siete.

Opakovač nie je vybavený žiadnou inteligenciou, len zosiluje elektrické signály, ktoré prijal. Vôbec nezávisí na protokoloch, dáta odovzdáva bez zmeny. Tok dát nesleduje.

Používateľ nevidí, že sieť tiež obsahuje nejaké opakovače. Segmenty, ktoré sú spojené do siete sa javia ako jedna veľká sieť. Nedostatok inteligencie určuje umiestenie opakovačov v ISO modeli na fyzickú vrstvu. Vnútorne  vykonáva opakovač funkcie zodpovedajúce  maximálne fyzickej vrstve. Segmentu, na ktorý je pripojený aspoň jeden uzol siete hovoríme aktívny segment. Segment, na ktorý nie je nič v tomto zmysle pripojené a slúži len na preklenutie vzdialenosti, sa nazýva pasívny segment.

Je celý rad opakovačov. Ten najjednoduchší proste spája dva segmenty v jeden. Najmodernejšie obsahujú dva poloopakovače. Medzi týmito dvoma polovicami  môže byť optický spoj o dĺžke aj viac kilometrov. Tým sa výrazne zväčší dosah siete. Keď sa  zväčšuje lokálna sieť, prerastie  do siete WAN. Nedá sa dosť dobre určiť, v ktorom okamžiku sa to stane.

Na 1. vrstve OSI modelu pracujú aj rozbočovače, ktoré by sa dali stručne charakterizovať  ako multiportové opakovače. Tieto môžu byť:

·   pasívne - prepájajú viacero počítačov, nemanipulujú s komunikáciou, neregenerujú signál a nie sú napájané z elektrickej siete,

·   aktívne – na rozdiel od pasívnych zosilňujú signál a sú napájané z elektrickej siete,

·   inteligentné – aktívne rozbočovače obsahujúce mikroprocesor a podporu diagnostiky pre sledovanie prevádzky a riešenie chybových stavov.

Rozbočovač sa niekedy označuje aj ako koncentrátor, lebo v najrozšírenejších lokálnych sieťach typu Ethernet slúži ako centrálny bod pripojenia. Všetky zariadenia pripojené na rozbočovač sledujú prevádzku a tak predstavujú jednu kolíznu doménu.

6.4.2                  Most (bridge) a prepínač (switch)

Spojenie medzi dvoma rovnakými sieťami LAN (napríklad Ethernet s Ethernetom) sa realizuje pomocou mostu. Most rozdeľuje sieť na viacero segmentov a na základe MAC adresy (fyzická adresa sieťovej karty) rozhoduje, ktorá komunikácia sa prepustí ďalej. Most je obdoba opakovača. I tu sú spojené segmenty siete, ale most obsahuje určitú inteligenciu a zaisťuje spojenie dát  na 2.  vrstve modelu OSI, t.j. na spojovej/linkovej vrstve. To znamená, že celý dátový rámec je prenesený na druhú stranu mostu, pri čom most musí zaistiť vzájomne rozlíšiteľnú adresáciu. Most kontroluje dátový rámec a ak je to potrebné vykonáva potrebné zmeny. Tieto zmeny sú  len  na úrovni fyzickej  vrstvy. Zároveň vytvorené segmenty (t.j. časti siete), na rozdiel od opakovača, predstavujú samostatné kolízne domény.

Most sa používa pre logické oddelenie dvoch segmentov siete. Most môže kontrolovať toky dát na obidvoch segmentoch a prepúšťať len dáta, ktorých adresát je umiestený na druhom segmente. To značne zvýši výkonnosť siete.

Mosty sa niekedy skladajú z dvoch polovíc, ktoré môžu byť spojené optickým káblom a môžu byť od seba vzdialené aj viac kilometrov (desiatky). Programové vybavenie mostu má určitú inteligenciu. Keď je most umiestený do siete, skúma tok dát a ukladá si adresy uzlov, na jednotlivých segmentoch. Môže sa tak naučiť, ktoré adresy sú na ktorej strane. Preto je jeho inštalácia ľahká.

V súčasnosti sa používajú častejšie tzv. prepínače (switch), ktoré môžu pracovať ako na 2., tak aj na 3. vrstve OSI referenčného modelu. Prepínače pracujúce na 2. vrstve OSI modelu môžeme charakterizovať ako multiportové mosty. Na rozdiel od mostov, ktoré majú zvyčajne 2 porty a rozdeľujú tak sieť na 2 segmenty, prepínače majú portov viac – napr. 5, 8, 16, 24,... a rozdeľujú sieť na príslušný počet segmentov.

6.4.3                  Smerovač (router)

O krok vyššie v OSI modeli je smerovač. Tiež spája dve resp. viacero sietí LAN, ale na úrovni sieťovej vrstvy. Smerovač je riadený  programovo a udržuje si tabuľky obsahujúce aktuálne informácie o sieti. Tieto sa doplňujú buď dynamicky prostredníctvom smerovacích protokolov alebo staticky nastavením údajov administrátorom. Smerovače vedia vyhľadať najvhodnejšiu možnú cestu pre smerovanie paketov v sieti.

Smerovač môže byť tiež použitý v dvoch variantoch:

·        V tej prvej je použitý v sieti pre svoju smerovaciu kapacitu. Vďaka smerovacím tabuľkám pozná informácie o cestách a uzloch v sieti.

·        Druhá možnosť je použiť ho pre spojenie dvoch sietí s rôznymi linkovými vrstvami. Smerovač môže vykonávať zmeny na úrovni linkovej vrstvy. Môže napríklad vykonávať zmeny medzi dvoma sieťami, ktoré umiesťujú adresu v dátových rámcoch iným spôsobom.

Smerovacie tabuľky môže používať smerovač dvojakého typu: statickédynamické. Statické smerovacie tabuľky sú dopredu definované resp. naprogramované a počas behu sa dynamicky nemenia. Toto má za následok síce vyššiu rýchlosť smerovania ale menšiu flexibilitu v prípade dynamických rekonfigurácií siete. Dynamické smerovacie tabuľky naproti tomu sa flexibilne prispôsobujú zmenám v sieti, za čo sa ale platí pomalším spracovaním.

Príklad smerovania si ukážeme na nasledujúcom obrázku. Predpokladajme v uzloch smerovače. V smerovacej tabuľke každého smerovača je okrem sieťových adries umiestnená aj tzv. metrika t.j. hodnota udávajúca logickú vzdialenosť medzi jednotlivými uzlami. V najjednoduchšom prípade napríklad vzdialenosť medzi uzlom 1 a 6 je 2 (cez uzol 3 ale aj cez uzol 4), cez uzol 2 je vzdialenosť 3. Vzdialenosť medzi uzlom 1 a 3 je 1, cez uzol 4 je 2. Na základe toho napr. paket od klienta určený pre Server1 pôjde cez uzol 3 alebo uzol 4 podľa ich vyťaženosti. Paket pre Server2 pôjde priamo na uzol 3. V prípade poruchy na linke medzi uzlami 1 a 3 sa vyberie spojenie s ďalšou najbližšou logickou vzdialenosťou t.j. cez uzol 4. Ak je smerovacia tabuľka v uzle 1 statická, potom sa uzol 1 bude aj počas poruchy vždy najprv pokúšať poslať paket priamo a až prípade neúspechu použije záložnú cestu. V prípade dynamickej tabuľky, je krátko po zistení, že cesta 1-3 je nepriepustná, vyradená táto zo smerovacej tabuľky je potom ako prvá hneď používaná cesta cez uzol 4. Akonáhle sa uzol 3 ozve priamo a definuje sa metrika spojenia t.j. 1, je dynamicky zaradená do tabuľky a ďalšie pakety už pôjdu touto cestou. Tento problém je však z hľadiska rozsiahlych sietí vážnym matematickým problémom a preto nech čitateľ berie tento príklad naozaj len ako veľmi zjednodušený prípad.

Obr. 39 Príklad smerovania v dátovej sieti

Smerovače podobne ako prepínače sú schopné rozdeliť sieť na viacero segmentov tvoriacich samostatné kolízne domény, ale navyše umožňujú vytvárať aj samostatné broadcast domény – t.j. logické skupiny počítačov dosiahnuteľných poslaním rámca na úrovni 2. vrstvy OSI.

6.4.4                  Brána (gateway)

Najdômyselnejšie spojenie dvoch sietí je použitie brány. Pojem „brána“ sa často nesprávne používa k označeniu akéhokoľvek spojenia dvoch rôznych sietí. Tu bude znamenať brána najmä spojenie na úrovni transportnej vrstvy. Zariadenie na tejto vrstve modelu OSI sa nazýva tiež konvertor protokolov.

Brána je komplexné zariadenie, ktoré obsahuje ako technické, tak programové vybavenie. Umožňuje spojiť dve rôzne siete, ktoré sa od seba významne líšia spôsobom prevádzky a protokolom. Môže simulovať celkom  rôzne siete na obidvoch stranách. Brána príliš nezapadá do modelu OSI. Je to preto, že dokáže podporovať i protokoly, ktoré tomuto modelu nezodpovedajú. Sú brány, ktoré spájajú siete DNA (DEC dnes COMPAQ) a SNA (IBM). Obidve tieto  siete sa veľmi líšia architektúrou a tiež  nezodpovedajú štandardu OSI.

Sú tiež brány, ktoré prevádzajú protokoly OSI na protokoly, ktoré nezodpovedajú OSI štandardu. Výhodou brány je i to, že sieti stačí len jedno spojenie s vonkajším svetom. Všetci používatelia konkrétnej siete používajú tú istú bránu ku kontaktu s okolitým svetom. Tento systém vo veľkej miere zvyšuje bezpečnosť pripojenia danej siete k okoliu.

Z hľadiska komunikácie môže byť snaha o ochranu vnútornej siete napr. podniku pred nepovolanými zásahmi zvonku. Tento problém vo väčšom meradle vyplával na povrch rozsiahlejším používaním Internetu firmami a potrebou používať tzv. Intranet. Za účelom ochrany sa potom oddeľujú  lokálne siete od ostatného Internetu pomocou špeciálnych zariadení (firewall), ktoré zabraňujú neautorizovaným používateľom vo vstupe do lokálnej siete. Technológia firewallov nie je zatiaľ štandardizovaná, ale spravidla spočíva v zákaze priamej komunikácie medzi lokálnou a globálnou sieťou. Cieľom je chrániť sieť nielen pred bezprostrednými útokmi, ale aj utajiť jej skutočnú štruktúru. Vedľajším produktom je možnosť použiť v chránenej sieti ‘classless’ adresy, takže sa šetrí adresný priestor. Firewall je spravidla realizovaný kombináciou technických a programových prostriedkov, pričom sa môže jednať o:

·   filtrovanie paketov na základe IP adresy (zväčša na úrovni smerovača, t.j. na 3. vrstve OSI),

·   brány sledujúce spojenia, pokiaľ je spojenie úspešne vytvorené, jednotlivé pakety tohoto spojenia sa už nesledujú (pracujú na 4. vrstve OSI),

·   kombinácia filtrovania paketov a sledovania spojení,

·   aplikačné proxy firewally / aplikačné brány  – analyzujú sa všetky údaje vrátane aplikačnej vrstvy (pracujú na 7. vrstve OSI, ale každá služba potrebuje vlastné proxy).

 


7  Počítačové siete

Multipočítačový (distribuovaný) systém sa skladá z niekoľkých nezávislých počítačov s možnosťou vzájomnej komunikácie. Typickým predstaviteľom distribuovaných systémov sú napr. informačné systémy pracujúce v reálnom čase, do ktorých je možné súčasne vstupovať z viacerých miest, od seba značne vzdialených. Medzi distribuované systémy patria aj počítačové siete. Počítačové siete slúžia na prepojenie rôznych výpočtových systémov za účelom zdieľania informácií alebo technických prostriedkov.

7.1              Rozdelenie počítačových sietí

V princípe môžeme počítačové (resp. dátové siete) rozdeliť podľa niekoľkých hľadísk:

·   podľa rozlohy resp. vzdialenosti

·   podľa vlastníctva

·   podľa štruktúry

·   podľa typu počítačov zapojených do siete

·   podľa rozloženia a funkcie základných uzlov.

Z hľadiska rozlohy resp. vzdialeností rozoznávame siete:

·   LAN (Local Area Network): lokálne počítačové siete,

·   MAN (Metropolitan Area Network): mestské počítačové siete

·   WAN (Wide Area Network): rozľahlé počítačové siete.

Lokálne siete sú siete napr. inštalované v jednej učebni, medzi viacerými kanceláriami, príp. vnútroprevádzkové (vnútropodnikové) siete. Nasledujúci obrázok ukazuje, že koncepcia zavedenia geografickej rozlohy je príliš široká a že neexistuje jednoznačná definícia  lokálnych a rozľahlých sietí, podľa ich rozmerov.

Obr. 40 Rozdelenie počítačových sietí podľa rozlohy (vzdialenosti)

Podľa vlastníctva rozoznávame siete privátneverejné. Ako bolo uvedené vyššie rozľahlá sieť pokrýva veľkú geografickú plochu a v dôsledku toho jej používatelia spolupracujú s organizáciami, poskytujúcimi služby dátovej komunikácie. Môžu to byť národné telefónne spoločnosti alebo mobilní operátori (najčastejšie GSM), ktoré poskytujú svoje infraštruktúry každému, kto o ne požiada. Tieto infraštruktúry umožnia napr. banke prenájom prenosového média tak, aby sa jej kancelárie mohli medzi sebou prepojiť. Takéto využitie infraštruktúry vytvára rozľahlú sieť. Sieť, ktorá je takto vytvorená sa nazýva privátna. Lokálne siete, ktoré sú vo vnútri budov organizácie, spadajú do „jurisdikcie“ danej organizácie. Používajú sa v úradoch, továrňach, nemocniciach, univerzitách, vládnych budovách a pod. Pri verejných sieťach (napr. Internet) mnohé spoločnosti, aby využili svoje siete, ponúkajú a poskytujú účastníkom celý rad služieb. Takejto spoločnosti často hovorí aj poskytovateľ (provider, čítaj provajder). Koncový používateľ sa môže rozhodnúť, ktoré prostriedky(služby) si vypožičia, aby mohol postaviť rozľahlú sieť. Musí zistiť, či potrebuje získať iba infraštruktúru, alebo infraštruktúru zároveň so servisom. Medzi tieto typy patria aj siete využívajúce technológiu Intranetu.

Tretí spôsob, ako rozdeliť siete, je ich konštrukcia a štruktúra: spôsob, akým sú medzi sebou prepojené jednotlivé zariadenia siete. Aby sme použili technický termín, štruktúra je určená topológiou siete. Topológia je geografická štruktúra, podľa ktorej sú prepojené jednotlivé uzly v sieti. Rozoznávame tieto topológie sietí:

·   zbernicová (BUS),

·   hviezdicová (STAR),

·   kruhová (RING),

·   stromová (TREE)

·   kombinovaná (HYBRID)

Obr. 41 Topológie počítačových sietí

Mnoho firiem sa zaoberá vývojom sietí. Postupom času sa vyšpecifikovali rôzne typy sietí. Podľa typu konštrukcie rozoznávame siete:

·        Ethernet ako predstaviteľa buď v základe bus topológie (typ 10BASE2 a 10BASE5) s hlavným prenosovým médiom koaxiálnym káblom alebo startree topológie (typ 10BASE-T, 100BASE-X, 1000BASE-T) na báze štruktúrovanej kabeláže (tzv. krútenej dvojlinky),

·        Arcnet ako predstaviteľa tree a star topológie,

·        Token Ring ako predstaviteľa kruhovej topológie.

V súčasnej dobe sú najviac rozvíjajú štruktúrované siete. Prenos v týchto sieťach prebieha rýchlosťou 10 Mbps, 100Mbs alebo 1Gbps. Aby sme mohli osobný počítač pripojiť k sieti, musíme doň dokúpiť a inštalovať sieťovú kartu podľa typu siete. Pri štruktúrovanej sieti ešte je potrebné prepojovacie zariadenie – rozbočovač alebo prepínač (viď kapitola 6.4). Z hľadiska priepustnosti aj spoľahlivosti siete sa najmä WAN siete budujú ako polygonálne a možných spojení je potom medzi jednotlivými uzlami viac.

Podľa typu počítačov zapojených do siete rozlišuje počítačové siete:

·   homogénne- ak sú všetky počítače rovnakého typu

·   heterogénne – prepojenie počítačov rôzneho druhu s rôznymi operačnými systémami.

Tak ako počítač samotný má svoj operačný systém aj činnosť počítačov vzájomne prepojených v počítačovej sieti  musí riadiť špeciálne programové vybavenie. Môže to byť:

Schematické znázornenie jednotlivých programových vybavení v počítačových sieťach sa nachádza na nasledujúcom obrázku.


Obr. 42 Typy základného programového vybavenia v počítačových sieťach

Podľa rozloženia a funkcie základných uzlov počítačovej siete delíme ešte počítačové siete na:

peer-to-peer (čítaj pír-tu-pír), čo zhruba znamená od uzla k uzlu. Každý uzol je viac-menej rovnocenný a každý môže v danom čase plniť úlohy ako servera tak aj klienta. Typicky sa takýto typ siete používa v kancelárskej praxi, pretože je lacnejší a jednoduchší a pre základné potreby komunikácie postačuje. Tento typ je charakteristický napr. pre základnú sieťovú komunikáciu na platformr MS Windows.

centralizované, čo znamená existenciu jedného silného servera ako centra a množstva menej vybavených klientov (pracovných staníc). Pre náročnejšie prevádzky sa používa najmä táto silnejšia konfigurácia a je charakteristická pre UNIX.

V centralizovaných sieťach rozlišujeme dva druhy počítačov:

SERVER - počítač, ktorý riadi sieť a poskytuje služby používateľom siete. Je to spravidla výkonný počítač vybavený veľkou pamäťou RWM a veľkokapacitnými diskmi. Okrem toho môže napríklad ponúkať tlač na tlačiarni, ktorá môže byť k nemu pripojená. Podľa typu ponúkaných služieb poznáme aj rôzne druhy serverov napr. tlačový, databázový či komunikačný.

PRACOVNÁ STAMICA - počítač (workstation, klient), ktorý využíva služby servera. Je "chudobnejšie" vybavený, napr. nemusí disponovať ani diskovými jednotkami. V sieti môže byť viac pracovných staníc ale aj viac serverov.

Z hľadiska sieťového operačného systému býva každý používateľ zavedený v služobnej databáze SOS (t.j. má definovaný svoj účet). Pri prihlásení je potrebné najprv zadať prihlasovacie meno (LOGIN NAME) a potom heslo (PASSWORD). Potom ste pustení do siete. Pomocou siete je možné potom prenášať rýchlo údaje medzi počítačmi, zdieľať veľkú databázu príp. využívať služby elektronickej pošty.  

Obr. 43 Schematický obrázok počítačovej siete

Spájanie počítačov bolo vždy komplikované. Aby spojenie bolo dokonalé, bolo potrebné  dokonale porozumieť technickému aj  programovému vybaveniu spájaných počítačov. Oblasti, ktorým je potrebné venovať najväčšiu pozornosť sú:

·   fyzické spoje ( kabely, konektory atď.);

·   smerovanie (komunikačných jednotiek údajov);

·   synchronizácia systémov (napr. čas, transakcie...);

·   komunikácia (protokoly, spojenia);

·   pomenovanie entít;

·   kozistencia a replikácia údajov;

·   spoľahlivosť a bezpečnosť.

 

Tieto body robia zo spájania  počítačových komponentov náročnú úlohu, pretože vyžadujú rozsiahle vedomosti. To pochopili tvorcovia sietí a celý problém rozložili do radu dielčích problémov. Rozloženie celkového problému do dielčích sa pri automatizácií používa pomerne často (príkladom tejto techniky je dekompozícia). Tým sa stáva celý problém zvládnutejší  a rad špecialistov sa môže podieľať  na riešení tak, že každý pracuje na svojom poli. Dôsledkom tejto metódy je problém rozčlenenia do vrstiev: tieto vrstvy musia spolupracovať, ale na druhej strane musia zostať pokiaľ možno nezávislé.

Siete môžu mať celý rad foriem aj kvalít. Ich štruktúra, konštrukcia a rozmery môžu byť rôzne. Avšak môžeme tu nájsť určité podobnosti.

Všetky siete sú postavené z viac alebo menej identických častí (komponentov). Tieto časti sú vlastne stavebné bloky sietí. Z hľadiska vlastností, funkcií a aplikovateľnosti poznáme dva druhy komponentov sietí. Prvá skupina komponentov je umiestnená u používateľa systému. Sú to počítače, terminály, pracovné stanice a modemy. Tieto zariadenia tvoria časť siete, ale sú umiestnené u koncového užívateľa. Druhá skupina komponentov je umiestnená v sieti. Veľa používateľov tieto časti nepozná, alebo ich ani nikdy nevidelo. Sú to opakovače, mosty, smerovače a brány, tie hrajú špeciálnu úlohu vo veľkých a pripojených sieťach (viď kapitola 6.4).

7.2              Realizácia sieťovo-závislých vrstiev

Pretože pri rozsiahlych sieťach, ktoré spájajú počítače v rámci veľkých oblastí, fyzicky nie je možné prepojiť každý počítač s každým, vzniká polygonálna sieť, v ktorej je spojenie sprostredkované - niektoré počítače majú počas spojenia funkciu spojovacích uzlov. Ako fyzické spoje sa používajú buď hlasové kanály telefónnej siete (sú pomalé a málo spoľahlivé) alebo zvláštne dátové linky.

Na sprostredkovanie spojenia sa používajú dva princípy:

·        Prepájanie okruhov je analógiou telefónnej siete. Počas celého spojenia je vytvorená cesta medzi koncovými uzlami, ktorá slúži iba pre toto spojenie. Výhodou je minimálne oneskorenie prenášanej informácie, nevýhodou vysoká cena spojenia v prípade, ak nie je využitá plná kapacita spoja. Efektívnejšie využitie je možné dosiahnuť vtedy, ak sieť umožňuje dostatočne rýchle vytvorenie spoja iba pre prenos určitej skupiny správ.

·        Prepájanie paketov pracuje s blokmi údajov s minimálnou prípustnou dĺžkou (pakety). Vysielajúca stanica vysiela pakety spolu s cieľovou adresou do komunikačnej siete. V najbližšom prepájacom uzle je paket dočasne uložený, preskúma sa jeho adresa a potom sa vyšle najvhodnejším smerom ďalej. Postupným opakovaním týchto krokov sa dostane paket k adresátovi. Tento typ siete pracuje pri náhodnom rozložení zaťaženia siete efektívnejšie ako predchádzajúci.

7.2.1                  Prenosové médiá počítačových sietí

Ďalšou funkčnou časťou prepojenia dvoch staníc je prenosová cesta (trasa). Prenosová cesta medzi stanicami sa taktiež nazýva prenosovým médiom alebo dátovým okruhom. Nasledujúci obrázok znázorňuje najjednoduchšie spojenie dátovej komunikácie.

Obr. 44 Prenosová linka

Prenosové médium prenáša dáta medzi stanicami, ktoré spolu navzájom komunikujú. Pretože sa prenosová cesta taktiež nazýva prenosovou linkou, môžeme povedať, že prenosová linka prenáša dáta medzi stanicami.

Teraz sa ponúka otázka, ako môžeme túto prenosovou cestu realizovať? Môžeme vybudovať prenosovú linku s :

·        elektrickým spojením: napr. normálny telefónny kábel alebo tiež koaxiálny kábel. Koaxiálny kábel sa používa taktiež na spojenie rádia a televízie s centrálnou anténou.

·        optickým spojením napr. kábel s optickým vláknom. Informácie prenášané týmto káblom sú prenášané ako svetelné signály. Pre tieto káble je charakteristická ich schopnosť prenášať enormné množstvo informácie za časovú jednotku a ich výnimočná  odolnosť proti rušivým vplyvom.

·        elektromagnetickým spojením napr. rádiové a satelitné prenosy. Pri rádiových prenosoch  je informácia prenášaná pomocou rádiových signálov vysielaných cielene určitým smerom. Satelitné prenosy sú taktiež realizované pomocou rádiových signálov, ale sú šírené pomocou satelitu, umiesteného vo vesmíre. Technológii spojenia bez drôtov sa hovorí aj wireless technológie (Wifi) a s poklesom cien základných komponentov naberá táto technológia na obľube. Vyrábajú sa ako bezdrôtové spojovacie komponenty externého aj interného charakteru.

V súčasnosti najpoužívanejšie prenosové médiá počítačových sietí sú:

·        Telefónne linky - malá prenosová rýchlosť (bežne do 56600 bps, výnimočne až do 512 kbps), malá spoľahlivosť prenosu, prenos na veľké vzdialenosti.

·        Symetrické vedenia - rýchlosť prenosu do 1 Gbps. Spojenie na vzdialenosť < 1 km. Sem patria v súčasnosti populárne krútené dvojlinky (twisted pair) UTP resp. STP (UTP kategórií 6 a 7 dokonca umožňujú aj vyššie prenosové rýchlosti ako je 1 Gbps).

·        Nesymetrické vedenia (koaxiálny kábel) - rýchlosť prenosu 10 - 20 Mbps (špeciálne typy káblov dosahujú aj 100Mbps), spojenie na vzdialenosť rádovo stovky metrov. Je to typické prenosové médium s dobrou odolnosťou proti rušeniu.

·        Optické vlákna – vysoké prenosové rýchlosti (do 1Gbps), spojenie na vzdialenosti rádovo km. Takýto kábel má jadro tvorené skleneným vláknom (stručne nazývaným vlákno) a vďaka jeho optickým vlastnostiam je svetelný signál držaný vo vnútri. Tieto spojenia sú vyrábané zo syntetických materiálov, ktoré veľmi dobre vedú svetlo. Jadro káblu je obklopené izolačnou vrstvou zo skla alebo iného materiálu. Na vonkajšej strane je kábel chránený syntetickou vrstvou chrániacou pred poškrabaním a nárazom.

 

Obr. 45 Optický kábel

Káble s optickými vláknami majú, v porovnaní s koaxiálnymi káblami bezpochyby výhody a sú v súčasnej dobe stále viac používané. Najdôležitejšie výhody sú:

·   väčšie množstvo dát, ktoré môžu byť za jednotku času prenesené káblami s optickými vláknami (vyjadrené v pojmoch telefónneho spojenia toto množstvo predstavuje niekoľko desiatok tisíc hovorov v rovnakom okamžiku),

·   zanedbateľná strata signálu,

·   prenos káblami s optickými vláknami nie je tak citlivý na rušivé vplyvy,

·   prenos je takmer bezchybný,

·   vlákna sú pevné, pružné a  veľmi tenké, ich priemer býva 0,1 mm,

·   je veľmi ťažké napojiť sa na ich signál (tajne).

Majú však aj svoje nevýhody:

·   ku konverzii svetelných signálov na dáta je nutné použiť zdokonalené zariadenie,

·   jeho nákup je relatívne drahší,

·   spájanie káblov s optickými vláknami je oveľa ťažšie a časovo náročnejšie, než jednoduché pájkovanie medených vodičov používaných v galvanických alebo koaxiálnych spojeniach, ťažšia je aj inštalácia zástrčiek optických káblov,

·   poškodenie kábla sa dá veľmi ťažko opraviť.

·        Pozemné všesmerové rádiové kanály - rýchlosť prenosu do 9600 bps. Používané frekvencie l00 MHz až 2GHz. Používajú sa na pripojení mobilných terminálov, počítačov resp. mobilných telefónov.

·        Pozemné smerové rádiové kanály: rýchlosť prenosu do 10Mbps, spojenie do vzdialenosti desiatok km. Používané frekvenčné pásma 4/6GHz a 12/14GHz.

·        Satelitné spoje – prenosové rýchlosti a pásma ako v prechádzajúcom prípade. Spojenie na veľmi veľké vzdialenosti (tisícky km). Je tu značné dopravné oneskorenie (rádovo stovky ms), dôvodom ktorého je vzdialenosť družice od povrchu Zeme. Rádiové prenosy a satelitné spojenia patria do skupiny spojení nazývaných bezdrôtové spojenia. Odlišujú sa od spojení elektrických a optických, ktoré spadajú do kategórie drôtových spojov.

Obr. 46 Schematické znázornenie satelitného spojenia

Tieto spojenia sú veľmi výhodné, pretože umožňujú prenos na veľké vzdialenosti, bez problémov súvisiacich s terénom (stromy, hory a pod.). Sú taktiež menej citlivé. Ich nevýhody sú: spojenia sú nákladné, pretože je potrebná infraštruktúra (vo vesmíre musia byť na pevnej pozícii umiestené satelity), spojenia sú dosť citlivé na iné elektromagnetické signály a rušivé vplyvy zemského magnetického poľa. Poruchy zemského magnetického poľa vznikajú predovšetkým pri erupciách na slnku, kedy dochádza k uvolneniu veľkého množstva energie a elektromagnetického žiarenia a nakoniec dochádza k oneskoreniam, pretože signály pokrývajú veľké vzdialenosti. Napr. signál z New Yorku do Amsterdamu sa cez satelit šíri s oneskorením 0,5 sekundy.

7.2.2                  Metódy prístupu na prenosové médium

Ak je na vytvorenie počítačovej siete použité zdieľané elektrické alebo optické vedenie, pripadne i rádiový kanál, okrem kódovania, je potrebné vytvoriť metódu, ktorá umožní prednášať údaje medzi ľubovoľnými účastníkmi bez toho, aby boli rušení vysielaním inej stanice.

Používajú sa tieto prístupové metódy:

Statické prideľovanie: kapacita prenosového spoja je pevne rozdelená do častí pridelených jednotlivým účastníkom. Rozdelenie môže byť buď frekvenčné alebo časové.

·        Frekvenčný multiplex (FDMA) rozdelí celkovú frekvenčnú šírku kanála do niekoľkých pásiem pridelených jednotlivým staniciam. Tento spôsob je skôr typický pre prenos rôznych typov informácie (hlas, údaje).

·        Časový multiplex (TDMA) prideľuje prenosový kanál na istý čas jednej stanici. Jeden úsek musí byť venovaný synchronizačnej správe, nutnej k jednoznačnej identifikácii príslušných úsekov pre jednotlivé stanice. Časový multiplex sa využíva napr. aj v komunikácii pomocou satelitov. Obidve metódy nedokážu plne využiť prenosovú kapacitu spoja a vedú k oneskoreniu paketov zúžením šírky pásma jednotlivého kanála pri FDMA alebo nutnosťou čakať na príslušný časový úsek pre TDMA.

Centrálne prideľovanie: Ak existuje v sieti jedna centrálna stanica, táto môže byt' poverená úlohou prideľovať kapacitu prenosových kanálov tým podriadeným staniciam, ktoré ju skutočne potrebujú. Výhodou je celkové lepšie využitie prenosovej cesty, časť kapacity je však potrebné venovať na prenos požiadaviek. Existujú dva typy:

·        prideľovanie na žiadosť (request), kedy má každá stanica pre seba vyhradenú malú časť prenosovej kapacity kanála, v ktorej môže kedykoľvek žiadať centrálnu stanicu o pridelenie voľného prenosového kanála. Po potvrdení potom uskutoční prenos údajov, uvoľnenie kanála oznámi opäť centrálnej stanici.

·        prideľovanie na výzvu (pooling) plne riadi centrálna stanica, ktorá sa periodicky spytuje všetkých podriadených staníc, či nemajú údaje na vyslanie. Ak áno, dopytovaná stanica ich hneď odošle. Ak nemá údaje pripravené na vysielanie, odpovie iba potvrdzovacím paketom alebo neodpovie vôbec.

Náhodné prideľovanie resp. náhodný prístup: metódy, ktoré využívajú náhodný prístup nepotrebujú činnosť žiadnej centrálnej stanice. Okamih svojho prístupu na kanál určujú všetky stanice samostatne na základe vlastného odhadu. Nedokážu síce vylúčiť situácie, keď je vysielanie jednej stanice znehodnotené súčasným vysielaním inej stanice, ale snažia sa počet týchto kolízií minimalizovať a udržať čo najväčšiu priepustnosť údajov aj pri veľkom zaťažení kanálov. Metóda CSMA (Carrier Sense Multiple Access} znižuje počet kolízii tým, že pred vysielaním testuje stanica obsadenosť kanála. Ak je kanál voľný, začne vysielať, ak nie, čaká na jeho uvoľnenie. Táto metóda náhodného prístupu sa často uplatňuje v lokálnych sieťach, kde je test obsadenosti kanála ľahký (napr. sieť Ethernet). Je zrejmé, že ani tento prístup nemôže vylúčiť vznik kolízie. Tá vzniká ako dôsledok stavu, ak dve stanice testujú stav kanála v časovom odstupe menšom, ako je doba šírenia signálu medzi nimi. Preto sa používajú rozšírenia základnej metódy (CSMA/CA , CSMA/CD).

Distribuované prideľovanie: metódy, ktoré používajú distribuované prideľovanie, zaručujú bezkonfliktné prideľovanie zdieľaného kanála jednotlivým staniciam tak, že je možné zaručiť aj maximálnu dobu oneskorenia paketu. Pritom nie je potrebná existencia centrálnej stanice, ktorej výpadok by spôsobil zrútenie celej siete. Algoritmus prideľovania kanála sa vykonáva na všetkých zúčastnených staniciach súčasne.

7.2.3                  Druhy prenosov

Metódy spojenia pri komunikačnom spojení určujú, či spojenie umožňuje prenášať dáta v jednom alebo v oboch smeroch. V prípade spojenia umožňujúceho prenos v oboch smeroch určujeme, či umožňuje prenášať dáta v oboch smeroch súčasne. Možné metódy druhy spojenia prenosov z hľadiska smeru toku dát sú:

·        simplexný prenos umožňuje iba jednosmerný prenos dát medzi vysielačom a prijímačom. Okruh  je vhodný iba pre jednosmerný prenos a používa sa iba jedno prenosové médium. Príkladom simplexného prenosu je televízne vysielanie. Informácie môžu byť vysielané len z televíznej stanice k televíznym prijímačom. Distribúcia dát je príkladom simplexného prenosu v oblasti dátovej komunikácie, pretože prenos informácií je potrebný práve v jednom smere, konkrétne z centrálneho počítača (servera) k počítačom (klientom) resp. terminálom používateľov.

·        poloduplexný prenos. Obvykle ľudia, ktorí pracujú so zariadeniami dátovej komunikácie, musia byť schopní výmeny informácii v oboch smeroch. Presnejšie, každá stanica musí byť schopná vysielať a prijímať dáta. Pokiaľ prebieha prenos dát v obidvoch smeroch po jednej prenosovej linke, označujeme tento prenos ako poloduplexný. Takto komunikovali aj napr. staršie modemy, ktoré obsahovali elektronický prepínač. Poloduplexný okruh potom dovoľuje obojsmernú komunikáciu, ale nie v rovnakom okamihu. Ak vysiela stanica A, potom stanica B vysielať nemôže a naopak. Poloduplexný prenos používajú pri svojich operáciách systémy otázok a odpovedí. Pretože  komunikácia sa uskutočňuje prostredníctvom „otázok a odpovedí“, prenos prebieha v obidvoch smeroch, ale nikdy nie súčasne. Ďalším príkladom poloduplexného prenosu je  vysielačka.

·        plne duplexný prenos stručne označovaný ako duplexný prenos, je ďalšou metódou na prenos dát oboma smermi. Pretože pre tento typ spojenia sa používa dva alebo viac kanálov, môže prebiehať prenos v  rovnakom okamžiku oboma smermi. Na duplexné prenosy môžeme pozerať ako na dva simplexné prenosy.

7.2.4                  Odolnosť voči chybám pri komunikácii

Pri prenose paketov po sieti môže dochádzať v zásade k dvom chybovým situáciám:

·        v prvom prípade cieľová stanica síce paket príjme, ale kontrolou kontrolného znaku zistí, že prenos neprebehol správne,

·        v druhom prípade cieľová stanica paket vôbec neprijme, a to buď preto, že bolo poškodené jeho adresné pole, alebo počas vysielania cieľová stanica nebola pripravená na príjem.

Ak je požiadavka na zabezpečenie bezchybného prenosu informácií, musí byť vysielacia strana schopná obe tieto chyby detekovať a vyslanie príslušného paketu zopakovať. Pre tento účel sa najčastejšie používa metóda potvrdzovania správ. Existuje niekoľko metód, ktoré sa v praxi môžu kombinovať a modifikovať.

Pozitívne potvrdzovanie: Prijímacia strana v prípade, že prevzala dátový paket bez chyby, vyšle špeciálny potvrdzovací paket. Na chybne prijatý paket (a samozrejme na neprijatý) stanica  nereaguje. Vysielacia strana po vyslaní paketu musí čakať istú dobu na potvrdzovací paket. Tento čas sa nazýva timeout. Až po jeho prijatí môže pokračovať vysielaním ďalšieho paketu. Ak nepríde potvrdenie do istého času, opakuje vysielanie predchádzajúceho paketu znovu. Daná metóda dokáže vyriešiť aj stratu paketu. Pri jeho strate dôjde k opätovnému vyslaniu. Pozitívne potvrdzovanie je základom v praxi používaných metód. Vo svojej čistej forme má však nevýhody vo veľkom náraste časových oneskorení pri raste chybovosti prenosu a v relatívne veľkom zaťažení siete pri prenose krátkych paketov.

Negatívne potvrdzovanie: Vysielacia strana je upozornená iba na chybne prijaté pakety prijatím špeciálneho paketu. Tento postup rýchle reaguje na chybne prijaté pakety, nedokáže však vyriešiť stratu paketu, preto sa kombinuje s pozitívnym potvrdzovaním. V tejto kombinácii potom rýchle reaguje na chybne prijatý paket, stratený paket je detekovaný uplynutím časového limitu (timeout). Strata potvrdenia vedie k zdvojeniu paketu na prijímacej strane.

Číslovanie paketov: je mechanizmus, ktorý umožňuje prijímacej strane detekovať zdvojený paket. K tomuto dochádza pri strate potvrdzovacieho paketu. Vysielacia strana nie je schopná rozpoznať, či došlo k strate paketu alebo iba k strate jeho potvrdenia a opakuje vysielanie. Aby prijímacia strana rozpoznala, že ide o už prijatý paket, všetky pakety sú vzostupne očíslované. Z praktických dôvodov sa používa modulárne číslovanie, napr. cyklicky čísla v rozsahu 0 až 127. Potom je možné detekovať nielen opakovanú správu (rovnaké číslo), ale aj stratu správ (vynechané číslo). Stratu je možné detekovať za predpokladu, že prepájacia sieť zaručuje dodržanie postupnosti vysielaných paketov. Okrem vysielaných správ môžu byt' číslované aj potvrdzovacie pakety.

Skupinové potvrdzovanie: Potvrdzovaním každého paketu samostatne môžu značne narastať časové straty, najmä pri väčších oneskoreniach v prenosovej ceste. Preto je výhodnejšie potvrdzovať prijatie celej skupiny paketov. Vysielacia strana očakáva potvrdenie až po odvysielaní n paketov. Prijímacia strana potvrdzuje číslom posledného správne prijatého paketu.

Nesamostatné potvrdzovanie: Ďalšie zvýšenie využiteľnosti prenosovej cesty sa dosahuje tým, že v každom vysielanom rámci sa vyhradí zvláštne pole na informáciu o čísle potvrdzovaného paketu. Ak potom prichádza k obojstrannej výmene správ medzi stanicami, potvrdenie skôr prijatého paketu môže byt' súčasťou aktuálne vysielanej správy. Ak prijímacia strana nemá pripravené vlastné údaje na vysielanie, použije samostatný potvrdzovací paket. Väčšina komunikačných protokolov lokálnych sieti používa niektorú formu skupinového nesamostatného potvrdzovania.

7.3              Realizácia aplikačných vrstiev

7.3.1                  Model klient-server

V počítačovej sieti je väčšina sieťových služieb vytvorená pomocou modelu klient-server. Program typu server poskytuje určitú sieťovú službu a program typu klient umožňuje využívať túto službu. Klient zahajuje komunikáciu, požiada server o službu, tento ju vykoná a výsledok pošle klientovi. Samozrejme, že jeden server môže obsluhovať viac klientov (prakticky neobmedzené množstvo). Najjednoduchším príkladom je služba PING, kde klient (príkaz ping) si pomocou siete vyžiada od servera (programu, ktorý iba čaká na požiadavku od klienta) odpoveď. Potom klient vyhodnotí časové oneskorenie príchodu požiadavku. Zložitejším príkladom je napríklad služba WWW. Tu klient podľa voľby používateľa vyšle požiadavku na príslušný server, ktorý podľa požiadavky vyhľadá dokument a pošle ho naspäť, pričom získaný dokument klient spracuje a zobrazí používateľovi. Používateľ opäť podľa potreby vyšle nejakú požiadavku na nejaký server (nemusí to byť stále ten istý). Aby pracoval takýto model sieťových služieb, musí byť server stále pripravený (počítač zapnutý a spustený príslušný program, ktorý očakáva požiadavky klientov).

Aby bol server schopný vytvoriť si na základe komunikácie s klientom určitý jeho profil, sú vytvárané krátke informácie v tvare reťazca meno=hodnota. Týmto informáciám sa hovorí cookies a základe nich môže server reagovať individuálne na každého klienta.

7.3.2                  Typy služieb na báze modelu klient-server

V princípe dnes dominujúcim sieťovým modelom je model klient-server popri ktorom už menej často distribuované aplikácie využívajú aj model peer-to-peer resp. agentový prístup. Dôležité je uvedomiť si, že základnou funkciou každého servera je poskytovanie služieb klientom. Súčasné sieťové technológie, internetové technológie nevynímajúc, pracujú s rôznymi typmi serverov. Medzi najpožívanejšie patria: súborový server, tlačový server, databázový server, WWW/http server, komunikačný server, ftp server, proxy server, poštový server, faxový server a zálohovací server. Tieto servery potom tvoria jednotlivé procesné platformy pre používané služby a technológie.

·        Súborový server (file server) patrí medzi najstaršie druhy serverov. V princípe sa jedná o poskytovanie súborov, ich častí alebo celého súborového systému. Základným princípom tejto služby je umožniť používateľom pristupovať k spoločným súborom. Súborové servery využívajú rôzne optimalizačné techniky na to, aby poskytli požadované údaje čo najrýchlejšie. Medzi takéto techniky patria využívanie vyrovnávacej pamäte, optimalizácia prístupu na disky pomocou priorizácie požiadaviek, technológie RAID (diskové polia) a pod. Úlohou a zároveň výhodou súborových serverov je aj to, že umožňujú zdieľať súbory v nehomogénnych prostrediach, napríklad používateľom používajúcim Unix alebo Linux umožnia pristupovať k súborom používateľov používajúcich MS Windows a naopak. Už dlhé roky patrí k najvýkonnejším aj najstabilnejším súborovým serverom a v súčasnosti patrí tiež na špičku súborový server Novell Netware, ktorý zároveň podporuje asi najširšie spektrum klientov, počínajúc DOS-om, Windows 9x/Me/NT/2000/XP, pokračujúc Apple Macintoshom, OS/2 a Unixom končiac. Aj MS Windows NT/2000/2003 je možné použiť ako súborový server (má porovnateľné vlastnosti ako Novell Netware, ale na dosiahnutie rovnakého výkonu potrebuje výkonnejšiu hardvérovú bázu). Požiadavky súčasných používateľov na poskytovanie súborových služieb klesajú, a teda samotný výkon súborového servera nie je primárnym kritériom. Pokles požiadaviek na výkon súborového servera je spôsobený napríklad aj nástupom databázových serverov, ktoré nahrádzajú klasický súborový prístup k databázam (DBF) prístupom na základe požiadaviek (SQL - Structured Query Language). Špeciálnym typom súborového servera je CD-ROM server resp. DVD-ROM server. Najčastejšie ide o samostatné zariadenie obsahujúce niekoľko CD-ROM mechaník (DVD-ROM) a poskytujúce ich obsah príslušnému množstvu klientov. Je vhodné použiť tieto zariadenia v prípade, že používatelia potrebujú veľmi často pristupovať k veľkému množstvu statických informácií, ktoré sú obsiahnuté na niekoľkých CD-ROM médiách.

·        Databázové servery postupne nahrádzajú v niektorých typoch aplikácií - najmä v informačných systémoch podnikov - klasický súborový prístup. Dôvodom je to, že údaje sú spravované a spracúvané centrálne, čo zvyšuje ich bezpečnosť a jednoducho umožňuje zabezpečiť integritu. Navyše databázové servery sú optimalizované na manipuláciu s dátami, a teda dokážu efektívnejšie splniť požiadavky. Nakoľko klientovi odosielajú iba dáta, ktoré potrebuje, výrazne znižujú záťaž komunikačného média, napr. počítačovej siete, a tým aj celého systému. Použitím databázového servera sa komunikácia redukuje na odoslanie požiadavky, ktorá je veľká niekoľko sto bajtov a prijatie odpovede, ktorej veľkosť je závislá od podmienky požiadavky. Dnes najčastejšie využívaným typom databázových serverov sú tzv. SQL servery (napr. Oracle, Microsoft SQL Server, InterBase, Sybase, MySQL či PostgreSQL). V poslednom čase sa databázové servery začínajú čoraz častejšie využívať ako zdroje dát pre intranetové a internetové servery. Je to spôsobené tým, že okrem klasických dát typu reťazec, číslo, dátum a pod. pribudla možnosť uchovávať aj multimediálne dáta ako zvuky, obrázky a animácie tzv. blob (binary large objects) dáta.

·        Aplikačný server (application server) je pomerne novým typom servera. Na klientovi je prezentačná logika a na serveri je aplikačná logika aplikácie. Oproti súborovému serveru predstavuje aplikačný server rozdiel. Súborový server môže poskytovať miesto pre uloženie aplikácie. V prípade spustenia sa však celá aplikácia vykonáva na strane klienta. Naproti tomu pri aplikačnom serveri  sa mnohé časti aplikácie vykonávajú aj na serveri (napr. rôzne výpočty a kontroly). Výhodou tohto usporiadania je ľahká správa aplikácie vrátane konzistentnej správy nových verzií (upgrade). Tieto typy serverov umožňujú resp. by mali umožňovať aj prenájom aplikácií za podstatne nižšiu cenu ako keby si ich mal zákazník celé kúpiť, ak potrebuje príslušnú aplikáciu len dočasne. Z toho vyplýva aj výhoda pri podnikovom nasadení aplikácie.

·        Tlačový server (print server) poskytuje ďalšiu často požadovanú službu. Ceny bežných tlačiarní dnes klesajú a je občas diskutabilné, či má zmysel inštalovať spoločnú sieťovú tlačiareň alebo je jednoduchšie kúpiť každému používateľovi vlastnú tlačiareň. Používanie sieťovej tlačiarne je však jednoznačne ekonomickejšie a v konečnom dôsledku aj efektívnejšie. Tlačový server zbiera požiadavky používateľov na tlač a pomocou tlačiarní pripojených k nemu ich vybavuje. Okrem tejto základnej úlohy výhody tlačového servera nekončia. Mal by vedieť obslúžiť niekoľko tlačiarní (často aj niekoľko desiatok), mal by zabezpečiť aby v prípade, keď je tlačiareň obsadená, sa dokument vytlačil na inej, administrátorom definovanej tlačiarni. Ďalej by mal zabezpečiť, aby určité tlačiarne mohli používať iba určití používatelia a vedieť sledovať využívanie jednotlivých tlačiarní používateľmi. Mnoho súčasných tlačových serverov však dokáže omnoho viac. Pri menších sieťach častokrát samotný tlačový server nie je potrebný a postačuje len zdieľanie tlačiarní (podobne ako u platformy Windows 9x/Me/NT/2000/XP alebo Linux s nainštalovanou Sambou).

·        Proxy server je špeciálnym typom servera. Aplikuje sa od transportnej vrstvy a svojou účinnosťou patrí do oblastí brán (gateway). Jeho úlohou je vystupovať voči iným serverom v mene klientov. V prípade teda, že klient za proxy serverom chce zo servera ftp.xyz.com prevziať súbor abc.def, potom sa tento klient obráti na svoj proxy server a oznámi mu, že chce daný súbor z daného FTP servera. Proxy server sa potom pripojí na zvolený FTP server a prevezme vybraný súbor a následne ho odovzdá klientovi, ktorý oň žiadal. Tento prístup má viacero výhod. Keďže proxy server „maskuje“ " aktivitu klienta, o klientovi za proxy serverom sa nik nedozvie a tým sa zvyšuje bezpečnosť. Ak zabezpečíme že, všetci klienti pristupujú do vonkajšej siete iba cez proxy server, je možné sledovať, kto a čo robí, prípadne obmedziť prístup na vybrané servery vybraným používateľom, čím sa zlepšuje kontrola. Do proxy serverov sa často zabudováva vyrovnávacia pamäť, ktorá zachytáva najčastejšie navštevované stránky WWW serverov a najčastejšie prenášané súbory z FTP serverov. Keď potom klient požiada o stránku, ktorá sa už medzičasom nahrala do vyrovnávacej pamäte proxy servera, tak proxy server iba skontroluje, či objekty na stránke na WWW serveri sú zhodné s objektmi na danej stránke v jeho vyrovnávacej pamäti a klientovi potom odošle stránku z vyrovnávacej pamäte. To má za následok zníženie záťaže prenosových liniek a zníženie záťaže na často používaných serveroch. Medzi často používané proxy servery v súčasnosti patria Novell Border Manager pre Novell NetWare, Microsoft Proxy Server pre Windows NT a Squid pre Linux. Pri jednoduchších konfiguráciách je možné v prostredí MS Windows použiť program WinProxy.

·        FTP server poskytuje súbory. Možno sa niekomu bude zdať, že je to zbytočná činnosť, pretože to isté zabezpečujú aj súborové servery, no nie je to úplná pravda. FTP servery sa používajú predovšetkým v prostredí Internetu, teda vo veľmi heterogénnom prostredí. V tomto prostredí nie je definovaný štandardný protokol, teda okrem HTTP a FTP, ktorý by umožňoval prenášať súbory medzi takými rozdielnymi systémami, ako sú napríklad Unix a Apple Macintosh. FTP má zabudované vlastnosti, ktoré zabezpečia, že FTP server a jeho obsah budú totožné pre všetkých klientov. Najčastejšie využitie dnes nachádzajú FTP servery v spojení s HTTP servermi, ktoré síce tiež dokážu prenášať súbory, no FTP servery to robia efektívnejšie. FTP server je podporovaný všetkými spomínanými platformami OS. Z hľadiska bezpečnosti však častokrát systémoví inžinieri nepovoľujú túto službu.

·        HTTP server je spojený s protokolom HTTP. Tento protokol a aplikácie s ním spojené, t. j. WWW servery sú príčinou takého rapídneho rozvoja Internetu. WWW server je vlastne súbor stránok s presne určenou štruktúrou. HTTP server tieto stránky dokáže čítať a poskytovať ich klientom. Jeden HTTP server môže obsluhovať viacero WWW serverov. Medzi najpoužívanejšie HTTP servery patria Apache (najviac používaný), Microsoft Internet Information Server (len Windows platforma) a Netscape Enterprise Server (všetky platformy). HTTP servery sa s výhodou používajú pri budovaní vnútorných, intranetových WWW serverov. Na takýchto serveroch je možné jednoduchým spôsobom sprístupniť všetko od základných informácií, ako sú vnútorný telefónny zoznam, organizačná štruktúra organizácie, organizačné normy podniku, až po komplexné aplikácie pracujúce s databázovými servermi poskytujúcimi informácie napr. o finančnej situácii a pod.

·        Poštový server (mail server) zabezpečuje najvyužívanejšiu službu Internetu a to elektronickú poštu. V súčasnosti sa bežne používajú tri základné protokoly na prenos elektronickej pošty: SMTP, POP a IMAP. SMTP je protokol, ktorý sa používa na odosielanie správ a na ich doručenie do používateľských poštových schránok. POP vo verziách POP2 a POP3 a IMAP vo verziách IMAP3 a IMAP4 sa používajú na čítanie správ z používateľských poštových schránok. Z poštových serverov sa dnes vyvinuli tzv. groupware servery podporujúce skupinovú prácu. Tieto servery dokážu udržiavať skupinové kalendáre, sledovať plnenie úloh jednotlivých používateľov, manažovať stretnutia a pod. Príkladmi takýchto serverov môžu byť Novell GroupWise, Microsoft Exchange, ako aj Netscape Collabra a Messaging server. Skupinové nástroje nie sú zatiaľ prístupné zadarmo,  no jednoduchým poštovým serverom pre Windows je aj už spomínaný WinProxy.

·        Faxový server sa používa na manažovanie faxových správ v organizácii. Popularita faxových serverov dnes postupne klesá, pretože ich nahrádza elektronická výmena dokumentov, napr. pomocou už spomenutej elektronickej pošty, no sú prípady, keď je kvalitný faxový server veľkým skvalitnením práce. Bežný prístup k faxovaniu je: vytlačiť alebo inak prichystať stránku a potom odfaxovať. V prípade obsadenosti volaného čísla sa faxovaním zaoberá používateľ pomerne dlho. Takisto nastávajú problémy ak sa podarí odfaxovať len časť dokumentov alebo neúplné strany a pod. Faxové servery odstraňujú potrebu manuálnej manipulácie s dokumentmi. Dokument sa jednoducho priamo z aplikácie pošle na faxový server, čo je úkon podobný zaslaniu elektronickej správy alebo tlače. Navyše je potrebné zadať len adresáta alebo skupinu adresátov a faxový server sa postará o odoslanie dokumentu. Častokrát navyše je možné nastavovať také parametre  ako napr. koľkokrát sa má pokúšať odoslať dokument, aké časové intervaly musia uplynúť medzi týmito pokusmi, či má odoslať iba neodoslaný zvyšok alebo celý dokument a pod. Tieto funkcie dokážu však aj inteligentné faxy, no faxový server môže byť užitočný aj pri prijímaní faxov. Na základe ID odosielateľa alebo na základe zadaného kódu (pomocou DTMF), prípadne na základe iných znakov dokáže faxový server prijaté dokumenty priamo smerovať k príjemcovi, a to napríklad vo forme správy v elektronickej pošte, prípadne sa mu dokument vytlačí na tlačiarni. Takýmto spôsobom možno ušetriť prácu napr. sekretárke, ktorá by musela došlé taxy rozniesť po kanceláriách, a zabezpečí sa aj to, že fax si prečíta iba oprávnená osoba.

·        Zálohovací server umožňuje bezproblémovo zálohovať všetky potrebné údaje na všetkých počítačoch v príslušnej sieti, či už sú to servery, alebo klientské stanice. So zálohovaním je často spojený tzv. recovery plan, teda plán obnovy, ktorého základ tvorí snaha o obnovenie prevádzky kritických častí informačného systému podniku v istom stanovenom časovom limite. Aj keď je možné pomocou zálohovacích serverov zálohovať aj klientské stanice, najčastejšie sa zálohujú iba disky serverov, keďže sa nedá zaručiť, že používateľ napríklad nevypne počítač. Problémom je aj, ako zálohovať. Tento problém zahŕňa voľbu technológie záložného média a aj voľbu metódy zálohovania. Podľa rozsahu je možné použiť CD médiá, magnetické alebo magnetooptické médiá alebo najlepšie magnetické pásky. Výhodou magnetických pások je, že ich možno použiť namiesto jednoduchej mechaniky tzv. changer - výmenníkový automat, ktorý sa stará o automatické zakladanie pások v prípade, že práve používaná páska sa naplní. Takýto "vymieňač" bežne obsluhuje do 10 pások.

7.3.3                  Agentové systémy

Iným príkladom pre model distribuovaného systému sú tzv. agentové resp. multi-agentové systémy (MAS). Pojem multi-agentový systém je v súčasnosti chápaný ako systém skladajúci sa z viacerých autonómnych komponent majúcich nasledovné vlastnosti:

  Multi-agentové systémy (MAS) sa stávajú základnou technológiou v systémoch, kde hrajú dôležitú úlohu vzájomné závislosti komponent, dynamické prostredie, neurčitosť a sofistikované riadenie, pričom ponúkajú možnosť pre modelovanie a teoretickú reprezentáciu týchto systémov.

  Samotné programové agenty môžeme rozdeliť do viacerých skupín, pričom si uvedieme aspoň niektoré:

 

  Z pohľadu počítačových sietí sú najzaujímavejšou skupinou mobilné agenty. Ako už bolo spomenuté, základnými vlastnosťami mobilných agentov je autonómnosť a mobilita. Autonómnosť preto, že po svojom vzniku majú schopnosť samostatného rozhodovania, t.j. ktoré miesta - lokácie - navštívia v rámci svojho prostredia (počítačová sieť) a ktoré akcie budú na týchto lokáciách vykonané. Toto správanie je implicitne definované v zdrojovom texte agenta, alebo prostredníctvom v čase existencie agenta modifikovateľného „cestovného plánu“ (itinerary) agenta. Mobilita je teda charakteristickou vlastnosťou pre schopnosť mobilných agentov premiestňovať sa medzi lokáciami, ktoré predstavujú základné prostredie  pre ich vykonanie a zároveň reprezentujú abstrakciu použitej počítačovej siete a operačného systému.

  Životný cyklus agenta spravidla obsahuje nasledovné udalosti: vznik a zánik, príprava na premiestnenie na novú lokáciu (dispatch), príchod na novú lokáciu (arrival) a komunikáciu, v rámci ktorej mobilný agent obsluhuje prichádzajúce správy od iných agentov. 

  Mobilita samotná však nie je ani nutnou, ani postačujúcou vlastnosťou charakterizujúcou agenta. Mobilné agenty však tvoria samostatnú skupinu a oblasť výskumu v rámci programových agentov z dôvodu svojej autonómnosti a schopnosti spolupracovať na inom princípe, odlišnom od skupiny spolupracujúcich agentov. Samozrejme použitie stacionárnych alebo mobilných agentov závisí v prvom rade od aplikácie, pre ktorú sú určené.

  K motiváciám použitia mobilných agentov patria:

Všeobecnú architektúru systému pre mobilných agentov predstavuje nasledujúci obrázok:

Obr. 47 Všeobecná architektúra systému pre mobilných agentov

  Systémy na báze mobilných agentov sa využívajú hlavne pri správe inteligentných sietí, vyhľadávaní informácií a pri tvorbe sieťových služieb novej generácie pre používateľov mobilných zariadení (mobilné telefóny, PDA, laptopy...), ktorým tradičný model klient-server neumožňuje využiť všetky možnosti.


8  Internet a jeho sieťový model

Internet je obrovský fenomén dneška. Svoj raketový nástup medzi verejnosť datuje do roku 1995, aj keď existoval aj predtým. Názvom Internet sa označuje spojenie všetkých počítačov, ktoré spolu komunikujú cez protokol (predpis komunikácie resp. je to množina všeobecne platných pravidiel komunikácie) TCP/IP. V roku 1969 ministerstvo obrany USA vytvorilo počítačovú sieť s názvom ARPANET, ktorá spájala štyri počítače. Táto sieť bola verejne predstavená v roku 1972. Vtedy sa na ňu pripojili mnohé univerzity aj výskumné organizácie. Špecifikovanie a programovanie druhej generácie sieťového programového vybavenia prebiehalo až do roku 1982, kedy sa aj prvý krát použil pojem Internet pre označenie siete fungujúcej na báze dohodnutých protokolov. Dva hlavné prvky tejto generácie, Transmission Control Protocol (TCP) a Internet Protocol (IP), sa potom použili na pomenovanie celej rodiny protokolov. Protokol TCP/IP sa rozšíril veľmi rýchlo, koncom 80-tych rokov už bolo pripojených 100.000 počítačov a sieť ARPANET sa oficiálne premenovala na Internet. Internet sa dnes prezentuje ako „sieť sietí“ - spojenie mnohých čiastkových sietí, o ktoré sa starajú rôzne organizácie a je to vlastne WAN sieť. Hoci niektoré organizácie plnia úlohy pre celý Internet, predsa len nejestvuje žiadna organizácia, kompetentná a zodpovedná za Internet ako celok. Všetky dôležité štandardy týkajúce sa Internetu sú publikované vo forme voľne dostupných RFC dokumentov (Request For Comments), takže ich môže ktokoľvek implementovať.

Čo sa týka sieťového modelu, predpokladalo sa, že koncepcia sieťovej architektúry daná referenčným modelom OSI bude vo svete dominantná. V  súčasnosti však dominantným zostáva model TCP/IP, a to vďaka celosvetovej sieť INTERNET, v ktorej sa používa. Veľmi často sa označenie TCP/IP chápe iba ako označenie dvoch sieťových protokolov TCP a IP používaných v sieťach s počítačmi s operačným systémom UNIX. V skutočnosti však TCP/IP označuje model sieťovej architektúry, ktorému je priradený súbor protokolov, ktoré nie sú viazané iba na operačný systém UNIX. Model je štvorvrstvový a na nasledujúcom obrázku je porovnanie vrstiev TCP/IP a RM OSI.

Obr. 48 Porovnanie TCP/IP a RM OSI

Pre jednoduchší ďalší výklad pod označením TCP/IP budeme v ďalšom rozumieť množinu protokolov (napr. TCP, UDP, IP, ICMP, RIP, ARP ale najviac používané sú práve TCP a IP), pomocou ktorých sa uskutočňuje prenos v počítačovej sieti. TCP/IP je vrstvená sada protokolov, všeobecne používa 4 vrstvy:

·        aplikačný protokol,

·        transportný protokol (TCP resp. UDP),

·        sieťový protokol IP (poskytujúci základné sieťové služby),

·        protokol na riadenie prenosového média (napr. Ethernetu).

Napríklad pre posielanie pošty je existuje protokol aplikačnej vrstvy SMTP (Simple Mail Transfer Protokol) obsahujúci príkazy, v ktorých sa určuje odosielateľ pošty, príjemca, záhlavie pošty, začiatok a koniec tela pošty a pod. SMTP predpokladá, že existuje spoľahlivé spojenie – teda využíva transportný protokol TCP, ktorý má za úlohu v prípade dlhej pošty túto rozdeliť do tzv. segmentov, prenášať po častiach, na druhej strane spojiť a v prípade neprenesenia niektorého segmentu vyžiadať opätovný prenos. Protokol IP (na úrovni sieťovej vrstvy) má za úlohu samotný prenos datagramov, smerovanie (určenie cesty, kadiaľ má datagram prejsť), udržiavanie smerovacích tabuliek. Posledný protokol je závislý od typu použitého prenosového média a má za úlohu iba preniesť datagram po tom ktorom médiu (vo forme rámcov príslušnej LAN technológie). Každá vrstva si k údajom pridá vlastnú hlavičku, ktorú na druhej strane použije a odstráni.

8.1              Adresácia v Internete

Každé sieťové rozhranie počítača (sieťový adaptér) zapojeného v sieti má pridelenú adresu. V IP protokole verzie 4 má adresa 32 bitov a symbolicky sa označuje pomocou štyroch čísel v rozmedzí 0 až 255 oddelených bodkou, napríklad "147.232.1.11" .

Obr. 49 Príklad lokálnej siete spolu s IP-adresami.

IP-adresa je v skutočnosti rozdelená na adresu siete (Network ID) a číslo počítača v rámci siete (Host ID). Adresa  siete zaberá začiatočné  bity adresy. Počet  bitov určujúcich  sieť je daný  triedou

Obr. 50 Rozdelenie adries na jednotlivé triedy

sieťovej adresy, ktorá bola organizácii pridelená. Zvyšné bity určujú adresu počítača v rámci danej siete. Napr. ak organizácia získa sieťovú adresu triedy C, môže na ňu pripojiť maximálne 254 počítačov (Host ID 0 a 255 majú špeciálny význam). Rozdelenie do jednotlivých kategórií znázorňuje predchádzajúci obrázok. V súčasnosti sa pre možnosť flexibilného vytvárania sietí rôznych veľkostí a lepšieho využitia množiny adries využíva mechanizmus vytvárania podsietí v rámci jednej siete, kedy správca siete môže aplikovaním príslušnej sieťovej masky vytvárať podsiete bez nutnosti získať ďalšiu sieťovú adresu. Adresa počítača sa potom skladá z identifikátora siete (Network ID), identifikátora podsiete (Subnet ID) a identifikátora počítača v rámci podsiete (Host ID).  Samotná sieťová maska je 32-bitové binárne číslo s jednotkami na mieste čísla siete a podsiete (napr. 255.255.224.0) a nulami na mieste čísla počítača, čo spolu s informáciou o triede sieťovej adresy jednoznačne identifikuje podsieť.

  Pre jednoznačné určenie každého sieťového rozhrania každého počítača v Internete je teda administratívne zabezpečené, že každá adresa identifikuje nanajvýš jedno sieťové rozhranie hostiteľského počítača. Komunikácia potom s ľubovoľným počítačom je uskutočňovaná za pomoci týchto adries. Každý počítač, ktorý má viac ako jedno sieťové rozhranie, musí vykonávať aj službu prenášania datagramov, ktoré mu síce nepatria, ale musia ním prejsť, aby dosiahli svoj cieľ. Medzi takéto zariadenia patria most (bridge), prepínač (switch)smerovač (router) - viď kap. 6.4. Spojovacie miesto, ktoré spája sieť Internet s inou sieťou sa nazýva brána– gateway. V Internete sa používajú aj špecializované mosty a smerovače určené iba na túto činnosť, čím sa zvyšuje spoľahlivosť a rýchlosť takýchto uzlov siete.

8.2              Datagramy, segmenty, pakety

Oproti kapitole 6 rozšírime svoje znalosti o pojem, ktorý budeme pri vysvetľovaní TCP/IP používať. V sieti sa informácie neprenášajú v celku (napríklad 1MByte naraz), ale prenos je rozdelený do tzv. datagramov. Datagram sme si síce už skôr definovali, ale zopakujme si. Teda datagram je séria bajtov opatrených hlavičkou. Hlavička obsahuje informácie typu:

·        zdrojová adresa

·        cieľová adresa

·        poradové číslo datagramu

·        identifikačné číslo protokolu

a iné.

Obr. 51 Štruktúra datagramu

Pokiaľ má správa na aplikačnej vrstve väčšiu dĺžku ako je datagram, je rozdelená do niekoľkých datagramov. V cieli sa informácia poskladá naspäť podľa poradového čísla datagramu. Datagram je teda protokolová dátová jednotka (PDU) na sieťovej vrstve a označuje samostatné množiny údajov, ktoré si komunikační partneri posielajú. V Internete sa týmto pojmom označujú aj PDU nespojovaného transportného protokolu UDP. Protokolové dátové jednotky spojovaného transportného protokolu TCP sa označujú ako segmenty, keďže predstavujú časť „prúdu“ údajov, ktoré si komunikační partneri vymieňajú v rámci jedného spojenia.  Pojem paket sa používa väčšinou všeobecne na označenie ľubovoľnej protokolovej dátovej jednotky, niekedy v užšom význame ako PDU transportného protokolu UDP.

8.3              Internet  Protocol (IP)

            IP protokol je sieťovým protokolom v rodine internetovských protokolov (špecifikuje ho RFC 791) a dá sa v stručnosti charakterizovať ako nespojovaná a nepotvrdzovaná datagramová služba. Prvá vlastnosť znamená, že každý datagram je smerovaný nezávisle od ostatných. Z druhej vlastnosti zasa vyplýva, že IP protokol nezaručuje spoľahlivé doručenie datagramu. Hlavnými úlohami IP protokolu sú definovanie základnej prenosovej údajovej jednotky použitej pri prechode Internetom,  smerovanie datagramov a špecifikovanie pravidiel pre prenos datagramov. Formát IP datagramu (IP protokol verzia 4) predstavuje nasledujúci obrázok.

Obr. 52 Formát IPv4 datagramu

8.4              Transmission Control Protocol (TCP)

TCP je transportným protokolom v rodine internetovských protokolov (špecifikuje ho RFC 793), ktorý by sa dal v stručnosti charakterizovať ako spojovaný a spoľahlivý protokol. Prvá vlastnosť znamená, že pred samotným prenosom údajov sa medzi komunikačnými partnermi vytvorí spojenie, ktoré sa zruší až po ukončení prenosu. Keďže transportné protokoly v Internete predstavujú prepojenie aplikačnej vrstvy so sieťovým podsystémom, musí byť pre správne doručenie údajov riešená otázka rozlišovania jednotlivých aplikácií. Na to slúžia tzv. porty. Sú to čísla prideľované operačným systémom pre komunikačné akcie jednotlivých procesov. Situáciu prehľadne znázorňuje nasledujúci obrázok.

Obr. 53 Komunikačné spojenie dvoch procesov pomocou protokolu TCP

Spojenie je dvojica koncových bodov. Koncový komunikačný bod je reprezentovaný dvojicou IP adresa a číslo TCP portu a cez neho majú aplikácie prístup k sieťovým službám. Na identifikovanie portu je vyhradených v TCP segmente 16 bitov (takže ich máme k dispozícii 65536), pričom prvých 1024 je tzv. vyhradených, ktoré sa jednotlivým službám priradzujú dokumentom RFC 1340 („well known“ služby ako e-mail, ftp, telnet, echo, time...). Komunikácia je podobná telefonickému rozhovoru. Jedna strana požiada o spojenie a povie, že je pripravená, pričom je zatiaľ blokovaná. Druhá strana výzvu na spojenie akceptuje alebo zamietne. Do komunikácie s cieľom vytvoriť spojenie sú zapojené obidve jadrá operačných systémov hostiteľských počítačov. TCP udržiava zoznam spojení. Keď sa komunikácia ukončí, obidve strany musia spojenie uzavrieť. Komunikácia je prúdová a obojsmerná.

Druhou vlastnosťou protokolu TCP je spoľahlivosť. Znamená to, že protokol garantuje správne doručenie dát – t.j. poslané údaje komunikačnému partnerovi prídu a to v poradí, v akom boli posielané, resp. protokol vyhlási chybu sieťového podsystému. Teda ak údaje pošleme prostredníctvom protokolu TCP a sieťový podsystém nevyhlási chybu, je doručenie dát v správnom poradí zaručené. Táto vlastnosť sa dosahuje značkovaním jednotlivých segmentov a tzv. pozitívnym potvrdzovaním (obdržanie každého správneho segmentu sa potvrdzuje vysielajúcej stanici, ak takéto potvrdenie nepríde, vysielanie sa opakuje).

8.5              User Datagram Protocol (UDP)

UDP je transportným protokolom v rodine internetovských protokolov (špecifikuje ho RFC 768), ktorý by sa dal v stručnosti charakterizovať ako nespojovaný a nespoľahlivý protokol. Na rozdiel od protokolu TCP sa pre posielanie údajov spojenie nevytvára a každý datagram obsahuje informácie o koncových komunikačných bodoch obidvoch partnerov. Koncový komunikačný bod je opäť charakterizovaný IP adresou a 16-bitovým číslom portu, pričom UDP porty a TCP porty sú navzájom nezávislé. Situáciu prehľadne znázorňuje nasledujúci obrázok.

Obr. 54 Komunikácia pomocou protokolu UDP

Konceptuálne poskytuje UDP službu posielania datagramov aplikačným programom. Datagramy sú po prijatí uložené do vyrovnávacej pamäte, pokým ich odtiaľ neprečíta prijímajúci proces. UDP datagramy majú zdrojovú a cieľovú adresu. Zdrojová adresa sa využije v prípade, ak je potrebná odpoveď. Keď dorazí cez sieťový podsystém rámec, sieťové rozhranie ho prijme, odstráni hlavičku a doručí ho najbližšej vyššej vrstve (IP). IP odstráni svoju hlavičku a doručí paket ďalšej vrstve (UDP). UDP odstráni svoju hlavičku a rozhodne, na ktorý port bude správa doručená. Keď bude používateľský proces čítať z vyrovnávacej pamäte, buď sa zablokuje alebo mu bude nejaká správa z frontu doručená.

Nespoľahlivosť znamená, že odosielateľovi nie je garantované poradie doručenia za sebou odoslaných datagramov a ani samotné doručenie datagramov. Logickou analógiou takéhoto typu komunikačného spojenia je posielanie listov prostredníctvom klasickej pošty. Nespoľahlivosť protokolu UDP je pri porovnaní s TCP kompenzovaná výrazne nižšou réžiou, keďže nie je nutné vytvorenia spojenia a potvrdzovanie správ. Takže ak to povaha distribuovanej aplikácie dovolí (nižšie nároky na spoľahlivosť) resp. ak je sieťový systém vysoko spoľahlivý (napr. lokálne siete), UDP umožňuje vytvárať komunikačne rýchle riešenia.


9  Základné služby Internetu

Doteraz bolo popísané, čo to je Internet a akým spôsobom sa v ňom počítače identifikujú a spájajú. Teraz bude povedané, čo s Internetom vo všeobecnosti je možné robiť, t.j. aké služby ponúka. Niektoré z týchto služieb sú už historické, napriek tomu tu majú svoje miesto. Medzi základné služby patria: menná služba (DNS), elektronická pošta (e-mail), vzdialený terminál (telnet), prenos údajov (ftp), diskusné fóra (netnews), distribuované informačné centrum (gopher), prehľadávanie údajov podľa obsahových kritérií (wais), priama komunikácia používateľov v reálnom čase (irc, mud, icq) a hlavne najrozsiahlejšia informačná služba sprístupňujúca hyper-textové/mediálne dokumenty (www). V nasledujúcich kapitolách v krátkosti budú popísané niektoré z nich.

V súčasnosti je jednoznačne najviac používaný systém elektronickej pošty. Prakticky každý používateľ Internetu má svoju e-mailovú schránku a je teda možné sa s ním spojiť prostredníctvom e-mailu. Druhý najviac používaný systém je systém World Wide Web (WWW), ktorý za posledných pár rokov zaznamenal fenomenálny nárast a v podstate naštartoval záujem o Internet pre bežného človeka. Veľká väčšina virtuálnych systémov na Internete dnes pracuje práve prostredníctvom WWW rozhrania. Jednoduchosť použitia tohoto rozhrania spočíva v tom, že samotná aplikácia zabezpečujúca služby beží na WWW serveri a WWW klientom môže byť ľubovoľný prezerací program (tzv. browser) zodpovedajúci príslušným štandardom.  Okrem týchto dvoch je veľmi silne používaným systémom je aj systém diskusných skupín NET News. Tento systém umožňuje voľné zdieľanie informácií a ideí v rámci diskusných fór na rôzne témy. V poslednej dobe získava popularitu aj ďalší komunikačný systém - ICQ, čo je v princípe kombinácia elektronickej pošty a priamej komunikácie. S rozširovaním kapacity sieťových spojov narastá tiež používanie audio a video programov pre telefonovanie cez Internet

Jednotlivé služby budeme charakterizovať z pohľadu distribuovanej štruktúry, použitých protokolov a používateľského rozhrania.

9.1              Menná služba (DNS)

Jedným zo základných problémov distribuovaných systémov je problém pomenovania. IP protokol verzie 4 identifikuje ľubovoľný počítač (resp. jeho sieťové rozhranie) pomocou 32-bitového čísla. Keďže takýto spôsob identifikácie je vhodný pre strojové spracovanie, ale nevhodný pre ľudí, pre identifikáciu počítačov sa používajú tzv. „ľudsky čitateľné mená“. Tieto mená v Internete majú tvar doménových mien, keďže použitý menný priestor je organizovaný ako strom s jedným koreňom. Názvy uzlov v tomto strome sú obmedzené na dĺžku 63 bajtov a celková dĺžka mena nesmie presiahnuť 255 bajtov. Podstromy sa nazývajú domény a meno obsahujúce názvy všetkých uzlov až ku koreňu sa nazýva doménové meno. Domény sú rozdelené do neprekrývajúcich sa zón (viď Obr. 55). Doména môže byť implementovaná pomocou viacerých zón.

Obr. 55 Menný priestor DNS rozdelený na jednotlivé zóny

 

Každý štát má pridelenú vlastnú top-level doménu (Slovensko SK, Čechy CZ, Rakúsko AT ...) iba USA z historických dôvodov má pridelených viac top-level domén podľa oblasti (komercia COM, školstvo EDU, vojsko MIL, štátna správa GOV...).

Príkladom doménového mena počítača je meno "hornad.fei.tuke.sk".

sk                                   určuje najvyššiu doménu (top-level) pre Slovensko

tuke.sk                       určuje meno domény pre TU Košice

fei.tuke.sk             určuje meno subdomény pre FEI TU Košice

hornad                         je samotné meno počítača.

Vždy, keď existujú paralelne dva prostriedky na identifikáciu tej istej entity, musí existovať spôsob, ako udržať konzistentný stav – t.j. aby zvolené meno a IP adresa označovali to isté sieťové rozhranie. Tento problém v Internete rieši menná služba DNS - Domain Name System. Úloha mennej služby je vo svojej podstate veľmi jednoduchá – odpovedá na dotazy typu: „Aká adresa zodpovedá tomuto doménovému menu?“. Nakoľko sieť nadobúda obrovské rozmery, nie je možné na každom počítači udržiavať tabuľky na prevod mena na adresu. Preto sú tieto tabuľky udržiavané iba na tzv. menných serveroch (name server), ktoré majú na starosti jednotlivé zóny. Udržiava ich správca zóny, ktorý súčasne tieto mená prideľuje a stará sa o to, aby nevznikla nejednoznačnosť v mennom systéme v rámci jeho zóny. Tabuľky jednotlivých domén obsahujú informácie o vlastnej doméne a ak je doména implementovaná prostredníctvom viacerých zón, tak aj odkaz na menné servery týchto subdomén. Menný server odpovedá hlavne na dotazy ohľadom adries počítačov a serverov elektronickej pošty. Štandardnou implementáciou služby DNS na unixovských systémoch je tzv. Berkeley Internet Named Domain (BIND).

  Prevod doménového mena na IP-adresu sa potom vlastne vykonáva buď iteratívne alebo rekurzívne. Procese iteratívneho rozlíšenia doménového mena prebieha nasledovne:

            Požiadavka na prevod sa prenechá tzv. "resolveru", t.j. sieťovej službe, ktorá túto požiadavku predá mennému serveru svojej domény. Tento potom sám zistí adresu a túto vráti resolveru a ten príslušnému programu. Zistenie adresy sa vykoná tak, že meno sa rozloží na domény a najprv sa menný server opýta hlavného menného servera (root servera), ktorý menový server zodpovedá za príslušnú top-level doménu. Potom menný server dá priamo otázku zistenému mennému serveru, ktorý zodpovedá za jeho subdoménu. Toto sa prípadne opakuje pre ďalšie subdomény. Posledný menný server odpovie už konkrétnu hľadanú adresu počítača. Menný server, ktorý sa pýtal, si potom túto informáciu uloží na určitý čas do svojej "cache" pamäte, aby pri opakovanej požiadavke nemusel znovu vykonať celú procedúru.

Obr. 56 Proces iteratívneho rozlíšenia doménového mena na IP adresu

Pri procese rekurzívneho rozlišovania mien sa nedotazuje stále resolver klienta, ale jednotlivé menné servery komunikujú medzi sebou a resolveru odpovedá koreňový menný server s konečnou adresou a nie len s adresou menného servera príslušnej top-level domény.

Pre zabezpečenie spoľahlivosti sú menné servery zálohované (tzv. sekundárnym serverom), to značí, že pri výpadku jedného, ho zastane druhý.

V rámci svojej domény nie je nutné používať úplné doménové meno, stačí použiť jednoduché meno počítača.

Nakoľko priradenie adresy menu počítača sa vykonáva za pomoci komunikácie s tzv. root menovým serverom (v skutočnosti je ich viac - sú tiež zálohované), pokiaľ tento nie je komunikačne dostupný, menná služba prestáva fungovať. V takom prípade je možné používať iba číselné IP-adresy (samozrejme že pôjdu iba počítače, ku ktorým nie je prerušené spojenie).

9.2              Identifikácia používateľov Internetu

Vieme už, čo je IP adresa, doménové meno počítača a portové číslo sieťovej služby. Nevieme zatiaľ označiť používateľa v sieti. Na tento účel existuje tzv. komunikačná adresa. Komunikačnú adresu je možné vytvoriť z loginu používateľa a doménového mena, poprípade IP adresy počítača. Napríklad používateľ s loginom t.j. prihlasovacím menom "sobota" bude mať na počítači "hron.fei.tuke.sk" nasledovnú adresu:

sobota@hron.fei.tuke.sk

Pokiaľ používateľ pracuje na počítači v tej istej doméne, nie je potrebné túto uvádzať:

sobota@hron

Pokiaľ používateľ pracuje na tom istom počítači, stačí uviesť iba jeho login.

sobota

Pre špecifickú komunikáciu prostredníctvom služby elektronickej pošty sa používajú tzv. e-mail adresy. Tie na rozdiel od komunikačných adries nemusia mať odraz v logine a mene počítača, ktorý prevádzkuje príslušný poštový server. Na účel zistenia zodpovedného počítača s nainštalovanou službou elektronickej pošty sa využíva menná služba DNS. Po názve schránky (identifikuje používateľa) nasleduje doménové meno. Napríklad pre vyššie uvedený príklad by to mohlo byť:

sobota@tuke.sk

Z takejto adresy je známe iba reálne meno používateľa a doména tuke.sk, čo vlastne označuje Technickú univerzitu v Košiciach. Pre zistenie adresy počítača obhospodarujúceho schránky v doméne tuke.sk ide najskôr dotaz do mennej služby a až následne po získaní odpovede je  k dispozícii jednoznačná identifikácia počítača, kam sa má poslať správa. Takáto e-mail adresa je "bezpečnejšia" pred snahami o prienik do operačného systému. Má to aj ďalšiu výhodu. Ak dôjde k zmene poštového servera (napr. z hron.fei.tuke.sk na posta.tuke.sk), nie je nutné meniť adresy jednotlivých schránok, ktoré ostávajú v forme menoschránky@tuke.sk. Takže používateľ nemusí pri takejto zmene meniť vizitky a ani pracne oznamovať túto zmenu svojmu okoliu.

9.3              Elektronická pošta (e-mail)

Elektronická pošta (e-mail) umožňuje posielanie správ cez počítačové siete. Správy môžu byť zadávané z klávesnice, ako aj súbory uložené na disku. Väčšina mainframe počítačov, minipočítačov a počítačových sietí má e-mail systém. Niektoré e-mail systémy sú obmedzené na jeden počítač alebo sieť, ale mnohé majú brány do iných počítačových systémov umožňujúce používateľom posielať elektronickú poštu kamkoľvek na svete. Firmy, ktoré sú plne vybavené výpočtovou technikou, využívajú elektronickú poštu veľmi silne kvôli jej rýchlosti, flexibilite a spoľahlivosti. Elektronická pošta bola jednou z prvých služieb implementovaných na Internete.

Väčšina e-mail systémov zahŕňa bežný textový editor na písanie správ, ale mnohé umožňujú editovať správy v ľubovoľnom používateľom zvolenom editore. Správy sa posielajú príjemcovi na jeho adresu elektronickej pošty, ktorá je najčastejšie totožná s jeho úplnou adresou (xx@yy.zz). Je možné poslať tú istú správu naraz viacerým používateľom (tzv. carbon  copy (cc)) alebo všetkým v určitej sieti (tzv. broadcast). Doručenie elektronickej pošty zvyčajne trvá iba pár sekúnd až minút. Preto je to aj veľmi efektívna cesta na oslovenie celej skupiny používateľov, lebo správa alebo dokument môže byť poslaný každému v skupine naraz a veľmi rýchlo.

Prijaté správy sú uložené v elektronickej poštovej schránke, pokým si ich príjemca nevyzdvihne. Aby bol používateľ informovaný, či má novú poštu, musí periodicky kontrolovať svoju e-mail schránku. Mnohé systémy však upozorňujú používateľa na príchod novej pošty. Po prečítaní pošty je možné poštu uložiť, posunúť ju ďalšiemu používateľovi (tzv. forward) alebo zmazať. Ak je k dispozícii tlačiareň, je možné správu vytlačiť na papier.

Princípe elektronická pošta slúži na komunikáciu medzi používateľmi Internetu. V rámci príkazov UNIXu sem patrí príkaz mail. Tento príkaz bol podrobnejšie popísaný skôr. Teraz si najskôr uvedieme procesný model fungovania služby elektronickej pošty v Internete a základné protokoly, ktoré sa na službe podieľajú. Na záver si uvedieme jeden zo spôsobov práce s elektronickou poštou v prostredí OS Unix a to pomocou programu pine. Okrem toho v súčasnosti sa hojne používajú prepracované a používateľsky veľmi príjemné poštové programy na napr. Microsoft Outlook alebo Netscape Messenger.

9.3.1                  Procesný model služby e-mail

Procesný model fungovania služby je typu klient-server a zahŕňa v sebe 4 komunikačných partnerov. Klientmi sú odosielateľ a prijímateľ posielanej správy, ktorí používajú niektorý z programov pre prácu s elektronickou poštou. Stranu servera zastupujú programy serverov elektronickej pošty, ktoré majú na starosti schránky odosielateľa a prijímateľa. Situáciu znázorňuje nasledujúci obrázok:

Obr. 57 Procesný model pre službu elektronickej pošty

9.3.2                  Poštové protokoly

Pre komunikáciu medzi jednotlivými stranami sa v službe elektronickej pošty používajú nasledujúce protokoly:

9.3.2.1                 SMTP

Pôvodná verzia protokolu rodiny TCP/IP pre službu elektronickej pošty SMTP je definovaná dvojicou dokumentov RFC 821 a 822. Každá správa elektronickej pošty sa skladá z dvoch častí – hlavičky obsahujúcej adresy a administratívne údaje a tela, ktoré obsahuje samotnú správu. Údaje v hlavičke majú presný formát definovaný v RFC 822. Formát tela správy je pomerne voľný. Hlavička musí byť oddelená od tela aspoň jedným prázdnym riadkom.

Najdôležitejšie polia hlavičky sú nasledovné:

From:                         e-mailová adresa odosielateľa, poprípade aj jeho meno,

To:                              e-mailová adresa prijímateľa, poprípade aj jeho meno,

Reply-To:               adresa, na ktorú má prijímateľ poslať prípadnú odpoveď,

Subject:                  stručný popis obsahu správy,

Date:                         dátum odoslania správy vrátane údaja o časovom posune vzhľadom

                                      k svetovému času,

Organization:     organizácia, ktorá vlastní počítač, z ktorého bola správa odoslaná,

Message-ID:          poštovým softvérom automaticky generovaný reťazec identifikátora správy,

Received:               každý poštový server na ceste medzi odosielateľom a prijímateľom

                                      (vrátane), ktorý sa danou správou zaoberal, pripojí pod týmto poľom

                                      svoje služobné údaje,

Return-Receipt-To:       ak hlavička obsahuje toto pole, pošle sa po úspešnom doručení do

                                      schránky adresáta potvrdenie na uvedenú adresu.

 Pôvodný dokument RFC 821 obsahoval iba rámcové smernice pre formát tela poštovej správy: znaková sada bola obmedzená na sedembitový ASCII kód a počet znakov na riadok na 1000. Iné znakové sady resp. rôzne binárne súbory museli byť prenášané prostredníctvom externého kódovania do vyhovujúceho tvaru (napr. v prostredí Unixu sa na to používali programy uuencode/uudecode).

Systémovým riešením bola až špecifikácia tzv. rozšírení – Multipurpose Internet Mail Extensions (MIME) definovaná dokumentmi RFC 1521 a 1522. Tieto zavádzajú nové hlavičkové polia, z ktorých najdôležitejšie sú:

Content-Type:                             identifikuje obsah správy v tvare typ/subtyp (viď Tab. 5),

Content-Transfer-Encoding:   identifikuje akým algoritmom bol obsah správy

                                                              spracovaný do podoby vyhovujúcej RFC 821 (napr. 7-bit,

                                                              8-bit, binary, quoted-printable, base64).

Typ

Subtyp

Popis

Text

Plain

Neformátovaný text

HTML

Text obsahujúci HTML príkazy

XML

Text obsahujúci XML príkazy

Image

GIF

Obrázok vo formáte GIF

JPEG

Obrázok vo formáte JPEG

Audio

Basic

Audio, 8-bit PCM vzorkované na 8000 Hz

Tone

Špecificky počuteľný zvuk

Video

MPEG

Video v MPEG formáte

Pointer

Reprezentácia prezentačného zariadenia

Application

Octet-stream

Neprerušená bytová postupnosť

Postscript

Tlačiteľný dokument v postscripte

PDF

Tlačiteľný dokument v PDF

Multipart

Mixed

Nezávislé časti v špecifikovanom poradí

Parallel

Časti musia byť zobrazené súčasne

Tab. 5 MIME – príklady možných typov a subtypov

Príkladmi programov realizujúcich prácu poštového servera v prostredí Unixu sú sendmailpostfix.

 

9.3.2.2                 POP a IMAP

Pre prístup používateľa k správam v schránke, ktorú spravuje poštový server sa využívajú už spomenuté protokoly POP a IMAP. Procesný model fungovanie pre prístup k schránke pomocou protokolu POP je znázornený na nasledujúcom obrázku.

Obr. 58 Procesný model pre prístup k schránke protokolom POP

POP (v súčasnosti sa používa jeho veria č. 3) je relatívne jednoduchý protokol, ktorý umožňuje stiahnuť doručenú poštu na lokálny počítač a tam s ňou ďalej pracovať. Jednotlivé správy sú na strane servera neštruktúrované a v prípade potreby pristupovať ku schránke z viacerých počítačov je k dispozícii jedine možnosť nechávať stiahnuté správy na serveri. Takýto spôsob ale má za následok redundantnú činnosť a po čase neprehľadnosť a nekonzistenciu jednotlivých lokálnych systémov s prístupom ku schránke.

Nevýhodu protokolu POP pri správe schránky z viacerých počítačov odstraňuje komplexnejší protokol IMAP, ktorý okrem prístupu ku schránke poskytuje prostriedky aj na jej štruktúrované udržiavanie, čo v konečnom dôsledku umožňuje konzistentný prístup z viacerých počítačov (napr. pri cestách, z domu, z práce, ...). Podporuje prácu v troch prístupových režimoch:

-         offline – podobný fungovaniu prístupu u protokolu POP,

-         online – prístup, správa a narábanie s poštou na serveri, kde správy aj ostávajú,

-         disconnected – po pripojení sa klienta sa vytvorí kópia vybratých správ a spojenie sa preruší, klient pracuje s kópiami správ, po ich spracovaní sa znovu pripojí a prebehne resynchronizácia so stavom uloženým na serveri.

Niektoré z výhod protokolu IMAP oproti protokolu POP:

-         umožňuje prácu so vzdialenými priečinkami/zložkami (foldrami),

-         podpora hierarchických vzdialených priečinkov,

-         selektívne sťahovanie jednotlivých MIME častí správ,

-         štandardizované stavové príznaky (seen, answered, draft...),

-         určenie štruktúry správy bez jej stiahnutia.

Rozhranie klienta POP resp. IMAP sa nachádza vo väčšine dostupných grafických klientských programoch, akými sú napr. MS Outlook Express, Netscape Messenger alebo Mozilla Thunderbird.

9.3.3                  Program elektronickej pošty PINE

V prostredí operačného systému Unix sú ešte stále obľúbené textové verzie klientských programov elektronickej pošty. Jedným z nich je aj program PINE, ktorému sa budeme v tejto kapitole venovať. Oproti skôr popisovanému programu mail, umožňuje program pine pohodlnú interaktívnu správu elektronickej pošty pomocou menu v pomerne komfortnom celoobrazovkovom režime.

Z hľadiska základného ovládania, ak vám program pine po zadaní určitej požiadavky položí nejakú otázku, môžete na ňu odpovedať buď Y (áno), N (nie) alebo Ctrl-C (zrušenie, stornovanie operácie). V popise bude použitý pojem zložka, v anglickom originály je použitý termín folder.

Spustenie a ukončenie pine

Program pine, slúžiaci najmä na čítanie elektronickej pošty sa spúšťa príkazom pine a stlačením klávesu Enter.

v  pine

Po spustení sa zobrazí nasledujúca obrazovka.

Obr. 59 Úvodná obrazovka programu pine.

Ak chcete program pine ukončiť stlačte v hlavnom menu Q (QUIT) alebo vyberte v hlavnom menu voľbu Q (QUIT). Potom potvrďte Y (yes).

Hlavné menu programu pine

Hlavné menu (Main menu) sa zobrazí po spustení a jeho vzhľad vidíte na predchádzajúcom obrázku. Jednotlivé položky hlavného menu môžete vybrať buď stlačením príslušného klávesu alebo výberom pomocou kurzorových šípiek a potvrdením Enter. Ak sa chcete vrátiť do hlavného menu z podmenu stlačte kláves M.

Vytvorenie správy

Stlačte kláves C a dostanete sa do prostredia Vytvárania správy (Compose Message). Najprv je potrebné vyplniť nasledujúce položky (pohyb kurzorovými šípkami):

 

To: - do tohto políčka napíšte e-mailovú adresu adresáta, a potom stlačte Enter.

Cc: - sem napíšte adresu človeka, ktorému chcete poslať kópiu správy; inak rovno stlačte Enter. Pokiaľ chcete, môžete v predchádzajúcich prípadoch napísať do jednotlivých položiek aj viac adries, oddelených čiarkou.

Attchmnt: - toto pole sa používa v prípade, že chcete do správy vložiť určitý súbor (v tom prípade napíšte jeho názov); stlačte Enter

Subject: - sem napíšete názov posielanej správy (napr. Otázka pre Mira) a stlačte Enter. Toto políčko by nemalo zostať nevyplnené.

Message Text: - samotný text správy.

Poslanie správy

Po napísaní správy stlačte Ctrl-X. Program sa vás opýta, či chcete správu odoslať. Pokiaľ odpoviete áno, správa je odoslaná a jej kópie sa uložia do zložky sent-mail.

 Neodoslanie správy

Pokiaľ si vaše rozhodnutie, že chcete správu poslať, rozmyslíte, je možné ju zrušiť pomocou stlačenia Ctrl-C. Stlačenie Ctrl-O naproti tomu rozpísanú správu uloží a vy ju môžete neskoršie dokončiť pomocou voľby C hlavného menu.

Zoznam správ

Pine uchováva došlé správy v zložke INBOX. Tam zostávajú do tej doby, pokým ich zmažete alebo presuniete do inej zložky.

Čítanie došlej pošty

Do zoznamu došlých správ sa dostanete tak, že v hlavnom menu stlačíte I. Vyberaná správa je zvýraznená. Správy bývajú uvedené písmenom, a to nasledovne:

N - nový

+ - správa prišla priamo vám, nešlo o kópiu, alebo hromadne rozosielanú správu

A - na správu je už odpovedané pomocou príkazu Reply

D - správa je prichystaná na vymazanie

K textu správy sa dostanete tak, že si ju pomocou šípiek označíte a stlačíte Enter. Mimo bežného posúvania textu pomocou šípiek môžete použiť aj tieto klávesy:

P - presunúť sa na predchádzajúcu správu

N - presunúť sa na nasledujúcu správu

I - návrat do zoznamu

Odpoveď na správu

Na správu, ktorú si práve prezeráte, je možné odpovedať pomocou príkazu R (Reply). Program sa vás opýta, či chcete do odpovedi vložiť pôvodný text. Vyberiete áno (Yes) alebo nie (No) a napíšete odpoveď. Pomocou Ctrl-X odošlete.

Zložky

Prichádzajúce správy sa ukladajú do zložky INBOX. Tieto správy je možné si roztriediť do viacerých rôznych zložiek podľa obsahu, odosielateľa a pod. Automaticky pine vytvára tri zložky - INBOX, saved-messages, sent-mail. Nie je dobré mať príliš preplnený INBOX, lepšie je poštu po prečítaní presúvať do iných zložiek alebo mazať.

Pohyb medzi zložkami

Keď spustíte pine a v hlavnom menu zvolíte I (Folder index), objavíte sa v zložke INBOX. Keď ale stlačíte L (Folder list), program vám ponúkne zoznam zložiek: INBOX, saved-messages, sent-mail. Medzi nimi sa pohybujete pomocou šípiek.

 

 

Vymazanie zložky

Vo Folder list si vyberiete danú zložku. Stlačíte D (delete) a pine sa vás opýta, či ju naozaj chcete zmazať. Vyberiete áno (Yes) alebo nie (No).

Premiestnenie správy do inej zložky

Keď správu premiestňujete, máte dve možnosti:

· uložiť ju do saved-messages

· vytvoriť si pre ňu vlastnú zložku

Premiestnenie správy do saved-messages

Na obrazovke Folder index šípkou vyberte správu, ktorú chcete premiestniť a stlačte S (save). Program sa vás opýta, či ju chcete uložiť do zložky saved-messages a vy stlačte Enter.

Premiestnenie správy do inej zložky

Postupujte rovnako ako v predchádzajúcom prípade, ale keď sa objaví SAVE to folder ... [Saved-messages] napíšte meno novej zložky a stlačte Enter. Pokiaľ zložka neexistuje, Pine sa ešte opýta, či ju má vytvoriť.

Preposlanie (forwarding) správ

Správu, ktorá vám prišla, môžete tiež preposlať niekomu ďalšiemu (forwardovať). Na obrazovke Folder index vyberieme šípkou správu, ktorú chceme preposlať a použijeme príkaz F (forward). Program sa vás opýta na rovnaké údaje, ako pri vytváraní novej správy: To:, Cc:,... . K preposlanej správe môžeme pripísať aj vlastný komentár.

Mazanie správ

Vo Folder index vybranú správu označíme klávesom D (delete). Správa sa zmaže, akonáhle opustíme pine.

Použitie adresnej knižky (Adress book)

Niekedy je obtiažne si určitú adresu zapamätať a preto si ju môžete uložiť do adresára (adresnej knižky) a označiť vhodným názvom (alias-om). Do poľa To: potom stačí napísať len alias a program si adresu automaticky doplní. Do adresára sa dostanete tak, že v hlavnom menu stlačíte A (Address Book) a potom @ (add).

Ak chcete poslať správu niekomu zo zoznamu v adresári, vyberiete ho pomocou šípiek a stlačíte C (Compose). Dostanete sa do procesu už skôr popísaného vytvárania správy, len s tým rozdielom, že položka TO: …. Je už vyplnená zvoleným menom.

Nastavenie konfigurácie (Setup)

Setup sa používa na nastavovanie parametrov programu a jeho konfiguráciu. Môžete si tu aj zmeniť prihlasovacie heslo (password) na prihlásenie.

G Pokiaľ používate pine z emulátora terminálu (napr. PC) podľa možnosti nepoužívajte diakritiku. Adresát by správu potom nemusel byť schopný zrozumitelne prečítať.


9.4              Prenos súborov - ftp

Ďalšia služba počítačovej siete je obojsmerný prenos súborov medzi počítačmi. Protokol rodiny TCP/IP, ktorým sa tento prenos uskutočňuje je File Tranfer Protocol (FTP) a jeho špecifikácia sa nachádza v dokumente RFC 859. Potom, čo si najskôr uvedieme procesný model tejto služby sa budeme venovať základným príkazom, ktorými používateľ interaktívne riadi prenos súborov. Pri prenose súborov je vhodné použiť archivačné a kompresné programy na zjednodušenie a zrýchlenie prenosu po sieti. Samozrejme dochádza k tým aj k menšej záťaži siete.

Obr. 60 Procesný model služby FTP

Procesný model služby FTP je opäť typu klient-server, pričom po nadviazaní spojenia medzi klientom a serverom sa používajú dve TCP spojenia. Jedno je riadiace pre prenos príkazov a odpovedí služby FTP, druhé je dátové, ktorým sa realizuje samotný prenos súborov.

 

Základný príkaz na prenos súborov je príkaz ftp, ktorý má tvar

v  ftp [vzdialený_počítač]

Príkaz umožňuje používateľovi na jednom počítači získať súbor z druhého počítača alebo poslať vlastný súbor na druhý počítač. Ochrana je zabezpečená vyžiadaním mena používateľa a hesla na druhom počítači. Po zadaní príkazu sa prejde do príkazového režimu, ktorý je indikovaný výzvou

ftp>

Pokiaľ sa pri zadávaní príkazu zadá vzdialený_počítač, vykoná sa na začiatku aj otvorenie komunikácie s daným počítačom. Otvorenie komunikácie je spojené s vyžiadaním mena a hesla používateľa na vzdialenom počítači. Ftp pozná nasledovné interné príkazy:

? [prík]                                vypíše pomoc na obrazovku.

!                                                  vyvolá shell na lokálnom počítači

! prík                                     vykoná príkaz na lokálnom počítači

quit                                          ukončenie práce v ftp

open vzd._počítač [port]    otvorí komunikáciu so vzdialeným  počítačom. Automaticky sa vyžiada login a heslo k prístupu na vzdialenom počítači (je to možné vypnúť)

user meno_používateľa     prihlásenie sa na vzdialený počítač, vykonáva sa automaticky po príkaze open

close                                        uzatvorenie komunikácie so vzdialeným počítačom

ascii                                        nastaví textový prenos súborov (implic.)

binary                                     nastaví binárny prenos súborov

hash                                          nastaví vypisovanie znaku # po každom prenose 1024 byte

prompt                                     zapne-vypne potvrdzovanie prenosu súborov pri príkazoch mget a mput (impl. zapnuté)

pwd                                             vypíše meno pracovného katalógu na vzdialenom počítači

cd vzd._katalóg               zmena pracovného katalógu na vzdialenom počítači

lcd                                             zmena pracovného katalógu na lokálnom počítači

dir vzd._katalóg [lok._súb.vypísanie obsahu katalógu na vzdialenom počítači, prípadne presmerovanie výpisu do lokálneho súboru

ls vzd._katalóg [lok._súbor]   ako dir

mkdir vzd._katalóg       vytvorí katalóg na vzdialenom počítači

rmdir vzd._katalóg       zmaže katalóg na vzdialenom počítači

get vzd._súbor [lok._súbor]     kopíruje súbor zo vzdialeného počítača na lokálny

put lok._súbor [vzd._súbor]     kopíruje súbor z lokálneho počítača na vzdialený

mget vzd._súbor               kopíruje súbory zo vzdialeného počítača na lokálny, je možné použiť znaky * a ?

mput lok._súbory            kopíruje súbory z lokálneho počítača na vzdialený, je možné použiť znaky * a ?

mdelete vzd._súbory     zmaže súbory na vzdialenom počítači, je možné použiť znaky * a ?

Počas prenosu súboru je možné prerušiť prenos stlačením kombinácie kláves Ctrl-C. Vysielanie je prerušené okamžite, prijímanie až po zaregistrovaní prerušenia na vzdialenom počítači. Na určitých počítačoch je vytvorený tzv. anonymný ftp server. Pri prihlasovaní sa na takýto ftp server je možné zadať miesto mena používateľa meno anonymous alebo ftp. Ako heslo sa potom zadáva buď znova anonymous alebo ftp alebo vlastná e-mail adresa, podľa výzvy ftp servera. Po prihlásení sa sprístupni časť disku vzdialeného počítača, kde bývajú uložené voľne šíriteľné súbory s programami, informáciami a pod. FTP protokol je protokol aplikačnej vrstvy.

Prenos súborov je možné uskutočniť aj pomocou pošty. K počítačovej sieti Internet sú pripojené aj iné siete, ktoré nemusia poskytovať služby ftp, no prenos pošty zväčša každá poskytuje. Samotný prenos pošty je štandardne zabezpečený pomocou sedem bitového kódu, to znamená, že prenos binárnych súborov priamo nie je možný. V súčasnej dobe síce sa už vytvárajú poštové servery, ktoré sú osem bitové a tieto problémy nie sú. V súčasnosti je možné spolu okrem textu elektronickej pošty poslať aj obrázok, zvuk či animáciu. Takisto pribudla požiadavka posielania bezpečných správ t.j. šifrovaných (PGP) a elektronicky podpísaných. Správy podobného formátu nepoužíva len elektronická pošta ale aj napr. protokol HTTP. Tým pádom sa používajú rôzne normy, ktoré rozširujú pôvodný štandard. Tieto rozšírenia sa označujú MIME (Multipurpose Internet Mail Extension).

Preto, pokiaľ by ste však mali problémy preniesť poštou binárny súbor, musíte tento zakódovať na sedem bitový kód. Využívame na to príkazy:

uuencode - na zakódovanie správy

uudecode - na dekódovanie správy

v  uuencode [súbor] vzdialený_súbor

Príkaz uuencode zakóduje binárny súbor (8 bitový) do súboru, ktorý je zložený iba z ASCII znakov (7 bitový), ktorý je už možné prenášať pomocou pošty. Príkaz číta štandardný vstup, pokiaľ nie je zadaný vstupný súbor. Parameter vzdialený_súbor určuje meno súboru na vzdialenom systéme po dekódovaní. Výsledok zakódovania príkaz posiela na štandardný výstup. Zakódovanie súboru zapríčiní expanziu súboru o 35% (3 byte na 4 a kontrolnú informáciu).

Príklad:

Používateľ chce poslať binárny súbor abc poštou na vzdialený systém hornad používateľovi mrkva s tým, že na vzdialenom systéme bude mať súbor názov xyz:

uuencode abc xyz | mail mrkva@hornad.fei.tuke.sk

Vzdialený používateľ potom po príjme pošty a jej uložení do súboru, musí zakódovaný súbor vrátiť do pôvodnej podoby pomocou príkazu:

uudecode [súbor]

Príkaz dekóduje zadaný súbor, poprípade štandardný vstup. Výstupom príkazu je súbor, ktorého meno bolo zadané pri kódovaní príkazom uuencode. Toto meno je možné zmeniť v zakódovanom súbore pomocou editora, pretože toto nie je kódované.

Prístup k súborom na inom počítači je možné riešiť aj inými, ďalšími spôsobmi, ktoré sú zväčša obmenami predchádzajúcich príkazov. Jeden odlišný a celkom zaujímavý spôsob prístupu k súborom na inom počítači je systém NFS (networking file system - sieťový súborový systém). NFS umožňuje vytvoriť tzv. sieťové disky. Jeho bližšiemu popisu sa však venovať nebudeme.

9.5              Telnet

Interaktívnu prácu so vzdialeným terminálom umožňuje z rodiny aplikačných protokolov Internetu protokol Telnet definovaný dokumentom RFC 854. Základné použitie služby Telnet už bolo uvedené v kapitole unixovských sieťových príkazov - 5.7. Na tomto mieste ešte doplníme základný procesný model a stručnú charakteristiku tejto služby.

Obr. 61 Procesný model služby Telnet

Služba Telnet sa okrem základného použitia na prístup ku vzdialenému systému využíva aj ako jednoduché rozhranie k informačným službám – katalógy, databázy... Zároveň je možné využiť túto službu pri procese ladenia textových protokolov (napr. HTTP, SMTP, NNTP, POP...). Nevýhodou služby Telnet je posielanie nešifrovaných údajov (vrátane mena a hesla pri prihlasovaní) a neefektívne využitie TCP spojenia (1 stlačenie klávesy spôsobí poslanie 3 TCP segmentov).

9.6              IRC

Sieťová služba irc (Internet Relay Chat) je systém pre konverzáciu v reálnom čase. Na rozdiel od príkazu talk umožňuje komunikáciu po viacerých "kanáloch" a viacerých používateľov naraz v jednom kanály (irc je činnosťou podobný občianskym rádiostaniciam). Pokiaľ jeden používateľ niečo napíše, prenesie sa jeho správa všetkým ostatným používateľom, ktorí sú práve na tom istom kanály (zobrazí sa im aj od koho prišla správa). Na jednotlivých kanáloch sú diskusie z rôznych oblastí (technických, humanitných, politických atď.), zväčša v angličtine, ale existujú aj kanály, kde sa hovorí v nejakom inom jazyku. Mnoho používateľov prepadne "čaru" tejto sieťovej služby pre možnosť si "poklebetiť" s druhými, nadviazať kontakty a podobne.

Po spustení klienta služby irc sa klient snaží napojiť na implicitný server. Klient prevezme login používateľa ako prezývku, pod ktorou bude známy, pokiaľ nemá nastavenú systémovú premennú IRCNICK. Premenná IRCNAME nahradí reťazec z full-name (reálne meno). Pokiaľ práve na serveri pracuje iný používateľ s rovnakou prezývkou, server si vyžiada novú prezývku. Po prihlásení server žiada od používateľa príkazy (v spodnom riadku). Všetky príkazy začínajú znakom "/". Bez tohoto znaku sa napísaný riadok považuje za text, ktorý sa má poslať do aktuálneho kanálu. Každá prijatá správa má hlavičku, od koho prichádza. Prvý príkaz, ktorý je potrebné zadať, je prihlásenie sa do nejakého kanálu. Kanály s rovnakým menom na rôznych serveroch sú navzájom prepojené a správy sú medzi servermi vymieňané (nemusí to platiť, ak sa prerušilo spojenie medzi servermi).

Niektoré najdôležitejšie príkazy:

/join kanál          prihlásenie sa na príslušný kanál (napr. #CS) meno kanálu vždy začína znakom "#". Pokiaľ je zadané meno neexistujúceho kanálu, vytvorí sa.

/leave kanál        opustenie kanálu

/server                    vypíše zoznam pre klienta známych irc serverov

/server číslo     zmena servera podľa zoznamu z príkazu /server

/help                         vypíše pomoc

/nick prezýv.     zmena prezývky

/who kanál             zobrazí, kto je na zadanom kanáli prihlásený

/names                       zobrazí zoznam aktívnych kanálov na serveri a prezývky práve prihlásených používateľov. Používateľ so znakom "" je administrátor kanálu.

/whois prez.        zistí podrobnejšie informácie o používateľovi

/msg prezývka správa zaslatie správy iba určenému používateľovi

/msg kanál text           zaslatie správy do príslušného kanála

/quit                         ukončenie činnosti v programe IRC

V súčasnosti najmä v prostredí MS Windows sú programy tohto typu pekne spracované a rozhovor s priateľmi je zábavný. Okrem IRC je veľmi populárny ICQ prípadne iné typy priameho napr. akustického (internetová telefónia) aj video-spojenia (internetové videokonferencie).

Obr. 62 Ukážka aplikácie jednoduchého video-spojenia


9.7              GOPHER

Jednou zo zaujímavých služieb Internetu je služba GOPHER. Služba GOPHER je sieťová služba typu klient-server s distribuovanou databázou rôznych informácií na viacerých serveroch, ku ktorým majú klienti prístup, môžu ich čítať, kopírovať, vyhľadávať. Dnes sa používa už veľmi riedko, pretože ju vytlačilo používanie WWW, avšak si ju uvedieme. Syntax je nasledovná:

v  gopher [-s] [-t titulok] [-p katalóg] [server [port]]

S tejto službe je štruktúra informácií podobná stromovej štruktúre katalógom, preto aj ovládanie klienta je veľmi jednoduché (systém do seba vnorených menu-ponúk). Rozloženie informácií po rôznych serveroch je používateľovi čiastočne skryté. V GOPHER-i obdobne ako pomocou WWW je možné nájsť informácie vo forme textového súboru, binárneho súboru, katalógu (podmenu), obrazu alebo zvuku, telefónneho zoznamu (poprípade iného štruktúrovaného súboru). GOPHER umožňuje vyhľadávanie niektorých informácií, poprípade môže byť bránou do iných informačných systémov (WWW,WAIS,ARCHIE,WHOIS) alebo sieťových služieb TELNET a FTP. Každý typ položky je označený na konci názvu. Napríklad "<?>" znamená vyhľadávanie v texte, "/" znamená podmenu, "<Picture>" znamená obraz a "." textový súbor. Aj keď jednotlivé informácie sú na rôznych serveroch, klientovi sa javí, ako keby boli všetky informácie uložené v jednom jednoduchom menu systéme. Základné ovládanie GOPHER-a je nasledovné:

šípka hore        pohyb kurzorom hore

šípka dole        pohyb kurzorom dole

j                               pohyb kurzorom hore

k                               pohyb kurzorom dole

Enter                     potvrdenie voľby príslušnej položky

u                               návrat do predchádzajúceho menu

=                               poskytne systémové informácie o položke

a                               zapíše položku do zápisníka

A                               zapíše aktuálne menu do zápisníka

d                               zmaže položku zo zápisníka

Ctrl-G                  prerušenie činnosti - uzavretie niektorých okienok pri spracovaní, poprípade chybe

q                               ukončenie práce v programe

Ctrl-C                  ukončenie práce v programe

Spracovanie položky je dané podľa typu položky:

menu                       zobrazí sa obsah tohoto menu.

textový súbor pomocou zobrazovacieho programu (danému pri preklade, často page alebo more) je možné prezerať obsah súboru. Po ukončení prezerania je možné klávesom:

                                 m - poslať súbor ako poštu

                                 p - súbor vytlačiť na lokálnej tlačiarni

                                 s - súbor uložiť do súboru

                                 D - súbor preniesť cez terminálovú linku

                                 Enter - vrátiť sa do menu

                        Pri použití lokálneho prezeracieho programu, tieto klávesy sú aktívne už pri prezeraní.

binárny súbor       súbor sa prenesie do súboru na lokálnom počítači.

zvukový súbor      ak to počítač dovoľuje, prehrá sa zvuk.

obrazový súb.       ak to dovoľuje počítač, zobrazí sa obrázok.

telef. zoznam po zadaní vyhľadávacieho reťazca sa prehľadáva databáza.

vyhľadávanie   po zadaní vyhľadávacieho reťazca (ktorý môže obsahovať logické operátory or, and,  not a iné) sa vyhľadáva textový dokument, ktorý obsahuje príslušný text. Výsledkom je menu, ktoré obsahuje zoznam vyhovujúcich dokumentov.

relácia telnet          Pomocou služby telnet sa prejde do iného informačného systému. Zobrazí sa okno, v ktorom je používateľ upozornený, na aký počítač bude prihlásený a aký login má použiť

9.8              World Wide Web (WWW)

Systém World Wide Web (WWW, v preklade celosvetová pavučina) je systém Internet serverov, ktoré poskytujú špeciálne formátované dokumenty v jazyku HTML (HyperText Markup Language, súbory s príponou .HTM resp. .HTML). Tento jazyk podporuje odkazy ma iné dokumenty, ako aj grafické, zvukové a video súbory. To znamená, že môžete prechádzať z jedného dokumentu na iný jednoduchým klikaním myšou na aktívne miesta (hyperlinky).

WWW tiež podporuje formuláre, pomocou ktorých je možné zaslať dáta späť na WWW server. Server tieto dáta spracuje a na ich základe môže dynamicky generovať stránky s požadovanými informáciami alebo vyplniť informácie v databáze.

Existuje niekoľko aplikácií nazývaných Web prehliadače (WWW browser), ktoré uľahčujú prístup na World Wide Web. Dva najpopulárnejšie sú Mozilla FireFox a MS Internet Explorer (popísaný ďalej). Okrem sa používajú ďalšie prehliadače ako Opera, Netscape Navigator či na platforme Linux-u Galeon alebo Conqueror.

    

Obr. 63 Ukážky obrazoviek prehliadačov Opera a Netscape Navigátora

Web prehliadače sa zvyčajne dajú rozšíriť o ďalšie vlastnosti pomocou tzv. plugg_in-ov. Tie sú osobitnými programami komunikujúcimi s používateľom priamo v okne Web prehliadača. Sú pomocou nich implementované napríklad prehrávače video súborov, prehliadače cudzích formátov (PostScript, PDF, DOC, ...) ale aj komplexnejšie aplikácie ako napríklad VRML prehliadač pre zobrazovanie scén virtuálnej reality. Takisto na prezeranie správ v diskusných skupinách pôvodne slúžili špecializované programy, dnes sú však čítače diskusných skupín aj súčasťou bežných prehliadačov (napríklad Netscape Communicatora).

Obr. 64 Ukážka obrazovky Mozilla FireFox

S úspechom služby WWW sa presadila aj koncepcia jednotný a jednoznačný popis Internetových zdrojov. Ide o Uniform Resource Locator, skrátene URL. Na identifikovanie určitej informácie  v Internete je potrebné vedieť: o aký druh informácie ide, na ktorom počítači sa informácia nachádza a kde je na tomto počítači informácia uložená. URL kombinuje tieto tri prvky do usporiadanej podoby a tak umožňuje jednotný popis informačného zdroja. Koncepciu URL je najlepšie vysvetliť na príklade. Zoberme si ho napríklad z predchádzajúceho obrázku (editovací rámec Netsite): http://www.kosice.sk/indexsk.htm

Prvá časť http: označuje druh prenosového protokolu. V tomto prípade je to HTTP (HyperText Transfer Protocol) prenosový protokol pre World Wide Web. Tento protokol je na úrovni aplikačnej vrstvy. Okrem tohto protokolu sa dnes pre zabezpečenie vyššej bezpečnosti používa aj protokol HTTPS – zabezpečený HTTP. Druhá časť ://www.kosice.sk definuje meno servera, na ktorom sa dokument nachádza a teda je potrebné ho osloviť. Tretia časť /indexsk.htm popisuje cestu k príslušnému súboru. Táto časť začína lomítkom a aj jednotlivé časti popisu cesty sa oddeľujú lomítkami (analogicky popisu cesty v operačnom). Tento príklad sa teda odkazuje na súbor indexsk.htm v hlavnom adresári servera www.kosice.sk a na súbor je potrebné sa obrátiť prostredníctvom http prenosového protokolu WWW. Pri použití dnešných WWW prehliadačov postačuje aj napísanie len mena servera (napr. www.kosice.sk) a http protokol sa použije automaticky a takisto sa hľadá implicitný inicializačný súbor index.htm, ak sa tam nenachádza alebo chceme presne špecifikovaný súbor, musí sa napísať aj celá tretia časť URL.

Celkovú organizáciu služby WWW z procesného hľadiska zachytáva nasledujúci obrázok:

Obr. 65 Procesný model služby www

9.8.1                  Internet Explorer

WWW prezerač Microsoft Internet Explorer umožní prezerať a tým preskúmavať čarovný svet Internetu najmä na báze služby WWW. Internet Explorer je v prvom rade WWW prezerač (WWW browser. Ak ste si Internet Explorer nainštalovali (resp. bol automatický nainštalovaný) a máte prístup do siete Internet, potom ho môžete spustiť a prezerať si WWW stránky po celom svete.

Do editovacieho rámca Adresa vložíte URL (pozri predchádzajúcu kapitolu) a stlačíte kláves Enter. V stavovom riadku okna Internet Explorer-a sa vypisujú informácie o stave načítavania želaného dokumentu (niekedy to môže aj dosť dlho trvať podľa priepustnosti Internetu). Po ukončení prenosu sa v stavovom riadku vypíše Hotovo (Done) a želaná WWW stránka sa zobrazí v hlavnom zobrazovacom okne Internet Explorer-a. Potom už len klikaním na hypertextové odkazy (nad hypertextovým odkazom sa kurzor zo šípky zmení na ukazujúci ruku) môžeme prechádzať „pavučinou“ WWW stránok a zbierať a zbierať a zbierať informácie. Na nasledujúcom obrázku vidíme príklad stavu Internet Explorer-a, keď sa ako URL zadalo www.kosice.sk.

 

Obr. 66 Ukážka obrazovky Microsoft Internet Explorer-a

Podobne ako Prieskumník (Windows Explorer) aj Internet Explorer disponuje panelom nástrojov, ktoré sa nachádzajú hneď pod hlavným menu. Niektoré nástroje sú podobné nástrojom Prieskumník-a (Windows Explorer), iné sú špecifické pre Internet Explorer. Pomocou tlačidiel Dopredu (Forward) a Dozadu (Back), môžete postupne prechádzať jednotlivými WWW-stránkami z hľadiska histórie ako ste ich prezerali. Ak sa Vám stane, že komunikácia so serverom pri načítavaní stránky je priveľmi dlhá a už nechcete viac čakať a ukončiť komunikáciu, stlačte tlačidlo Stop. Stlačením tlačidla Domov (Home) sa okamžite vrátite na Vašu domovskú stránku. Ak chcete niečo vyhľadať stlačte tlačidlo Hľadať (Search). Ak máte množinu pre Vás zaujímavých a často navštevovaných adries, máte možnosť si ich uložiť a potom zrýchlene k nim pristupovať pomocou tlačidla Obľúbené položky (Favorites). Ak si chcete obsah načítanej WWW stránky vytlačiť, stlačte tlačidlo Tlačiť (Print). Okrem iného môžete aj riadiť (t.j. posielať a prijímať) elektronickú poštu (e-mail).

9.8.2                  HyperText Transfer Protocol (HTTP)

Na komunikáciu medzi klientom a webovým serverom sa využíva protokol HTTP. Tento aplikačný protokol internetovského sieťového modelu je vo svojej momentálne najpoužívanejšej verzii 1.1 definovaný dokumentom RFC 2616. Tak ako to naznačuje procesný model služby WWW je HTTP vo svojej podstate jednoduchý protokol typu klient-server: klient posiela správu so žiadosťou serveru a čaká na správu s odpoveďou.

HTTP protokol využíva spojenie TCP. Vždy, keď klient posiela žiadosť o dokument, vytvorí sa TCP spojenie so serverom na poslanie tejto žiadosti. To isté spojenie sa využíva na prenos odpovede servera. V HTTP protokole verzie 1.1 je spojenie perzistentné, čo znamená, že jedno TCP spojenie môže byť využité klientom pre viac komunikačných výmen žiadosť-odpoveď.

Protokol HTTP bol navrhnutý ako všeobecný klient-server protokol pre účely obojsmerného prenosu dokumentov. Typ operácie, ktorú klient požaduje je uvedený v správe obsahujúcej žiadosť posielanú strane servera. Najpoužívanejšie operácie, ktoré môže klient požadovať sú uvedené v nasledujúcej tabuľke.

 

Operácia

Popis

Head

Žiadosť o vrátenie hlavičky dokumentu

Get

Žiadosť o vrátenie dokumentu klientovi

Put

Žiadosť o uloženie dokumentu

Post

Poskytuje údaje, ktoré sa majú pridať k dokumentu (kolekcii)

Delete

Žiadosť o zmazanie dokumentu

Tab. 6 Operácie podporované protokolom HTTP

Protokol HTTP predpokladá, že s každým dokumentom môžu byť spojené meta-údaje (napr. čas poslednej zmeny dokumentu), ktoré sú uložené v samostatných hlavičkách posielaných spolu so žiadosťami resp. odpoveďami. Operácia head sa využíva vtedy, keď klient nechce samotný dokument, ale len meta-údaje s ním spojené.

Najdôležitejšou operáciou je get, ktorá sa využíva na samotné získanie dokumentu od servera. HTTP zároveň umožňuje definovať aj isté podmienky (týkajúce sa meta-údajov), za ktorých sa prenos dokumentu zrealizuje alebo nie.

Opačnou operáciou ku get je operácia put, pomocou ktorej môže klient žiadať uloženie dokumentu na strane servera pod definovaným menom, ktoré je prenášané spolu so žiadosťou o uloženie. Táto operácia je však umožnená len autorizovaným klientom.

Operácia post je podobná operácii put s tým rozdielom, že touto operáciou klient požaduje, aby boli posielané údaje pridané k dokumentu alebo kolekcii dokumentov (a nie uložené pod menom, ktoré je posielané spolu s údajmi ako je to u operácie put).

Nakoniec operáciou delete môžu klienti žiadať zmazanie dokumentu na strane servera. Samozrejme takéto žiadosti budú akceptované opäť iba v prípade, že sa jedná o autorizovaných klientov.

Všetky žiadosti o vykonanie týchto operácií a následné odpovede sú posielané prostredníctvom správ. Protokol HTTP pozná iba dva typy správ - žiadosť (request) a odpoveď (response). Žiadosť pozostáva z troch častí (viď nasledujúci obrázok):

  1. riadok so žiadosťou (povinne), ktorý obsahuje operáciu požadovanú klientom, odkaz na dokument asociovaný so žiadosťou a verziu HTTP protokolu, ktorú klient očakáva,
  2. doplnkové hlavičky správy,
  3. telo správy.

Obr. 67 Štruktúra správy obsahujúcej žiadosť protokolu HTTP

Správa odpovede je štrukturovaná analogicky ku žiadosti s tým rozdielom, že povinnou prvou časťou je stavový riadok pozostávajúci z verzie HTTP protokolu, trojciferného kódu odpovede a krátkej textovej frázy vysvetľujúcej stavový kód (napr. kód 200 znamená, že požadovaný dokument bol nájdený a vysvetľujúca fráza je „OK.“).

 

Obr. 68 Štruktúra správy obsahujúcej odpoveď protokolu HTTP

Obidva typy správ (žiadosti i odpovede) HTTP protokolu môžu obsahovať prídavné hlavičky, z ktorých niektoré vo forme názvu, identifikácie odosielateľa a stručného popisu obsahu uvádza nasledujúca tabuľka.

Hlavička

Zdroj

Obsah

Accept

klient

Typ dokumentu, ktorý vie klient spracovať

Accept-Charset

klient

Znaková sada akceptovateľná klientom

Accept-Encoding

klient

Kódovanie akceptovateľné klientom

Accept-Language

klient

Jazyk podporovaný klientom

Authorization

klient

Zoznam oprávnení klienta

WWW-Authenticate

server

Bezpečnostná výzva, na ktorú musí klient odpovedať

Date

obidve

Dátum a čas poslania správy

ETag

server

Tagy asociované s vráteným dokumentom

Expires

server

Čas, ako dlho ostane odpoveď platná

From

klient

E-mail adresa klienta

Host

klient

TCP adresa servera dokumentu

If-Match

klient

Tagy, ktoré má mať dokument

If-None-Match

klient

Tagy, ktoré nemá mať dokument

If-Modified-Since

klient

Dokument má byť vrátený iba ak bol modifikovaný od špecifikovaného času

If-Unmodified-Since

klient

Dokument má byť vrátený iba ak nebol modifikovaný od špecifikovaného času

Last-Modified

server

Čas poslednej zmeny vráteného dokumentu

Location

server

Adresa kam má klient presmerovať svoju žiadosť

Referer

klient

Odkazuje na posledný žiadaný dokument

Upgrade

obidve

Aplikačný protokol na ktorý chce odosielateľ prejsť

Warning

obidve

Informácia o stave údajov v správe

Tab. 7 Niektoré hlavičky správ protokolu HTTP

9.8.3                  Jazyk HTML a tvorba WWW stránok

Ako už bolo v predchádzajúcej kapitole povedané základom WWW služby sú WWW stránky, ktoré sú definované pomocou hypertextového jazyka HTML. Prvá verzia HTML vznikla v roku 1989 v stredisku CERN v Ženeve. Od toho roku jazyk HTML prešiel dlhým vývojom. O štandardizáciu jazyka HTML sa snaží WWW konzorcium, ale mnohé firmy (napr. Netscape či Microsoft) zapracovávajú do jazyka rôzne rozšírenia. Potom nie všetky prehliadače vedia takéto rozšírenia spracovať a neznáme príkazy v rámci jazyka sú ignorované. Pre tvorbu HTML dokumentov existuje celý rad podporných prostriedkov a napr. koniec-koncov aj Microsoft Word 2000 používa tento jazyk ako jeden zo štandardných formátov pre uloženie svojich dokumentov. Podporné prostriedky pre tvorbu WWW stránok môžeme rozdeliť do dvoch typov:

·        špeciálne textové editory umožňujúce okrem písania a editovania textu vkladať celé HTML príkazy.

·        interaktívne grafické editory, ktoré umožňujú priame vkladanie jednotlivých komponentov a tým vizuálnu kompozíciu stránky (napr. FrontPage firmy Microsoft).

Jazyk HTML rozoznáva dva druhy príkazov:

·        Riadiace: tieto majú tvar <príkaz> prípadne príkaz s parametrami, ktoré sú uvedené tiež medzi znakmi <>. Pri písaní príkazov sa nerozlišujú veľké a malé písmená.

·        Formátovacie: tieto sú párované a majú tvar <príkaz> pre počiatok a </príkaz> pre koniec.

9.8.3.1                 Štruktúra HTML dokumentu

Celý dokument sa začína príkazom <HTML> a končí párovým príkazom </HTML>. Dokument sa delí na dve časti: hlavičku a telo dokumentu. Hlavička je ohraničená párovým príkazom <HEAD> a telo párovým príkazom <BODY>. Hlavička dokumentu obyčajne obsahuje názov dokumentu, ktorý je definovaný párovým príkazom <TITLE>. Názov dokumentu sa spravidla zobrazí v priehliadači v záhlaví okna a takisto identifikuje dokument v zozname adries pre hypertextové skoky. Hlavným formátovacím prvkom v rámci tela je odstavec. Pri zobrazovaní HTML dokumentu sa totiž medzery a nové riadky, ktoré idú za sebou, zobrazia ako jediná medzera. Preto, ak je potrebné členiť text na odstavce, potom sa tieto uzavrú do párového príkazu <P>.V otváracom príkaze môžu byť uvedené aj parametre predpisujúce zarovnanie okrajov odstavca. Ako už bolo uvedené, znak nového riadku je prehliadačom ignorovaný. Ak je potrebné v rámci odstavca zalomiť riadok zadá sa príkaz <BR>. Keď je potrebné zabániť zalomeniu textu na konci riadku, potom príslušný riadok sa uvedie v tele párového príkazu <NOBR>. Na vloženie tzv. pevnej medzery sa vloží špeciálny znak &nbsp. Na nasledujúcich riadkoch je zobrazený jednoduchý HTML dokument.

<HTML>

<HEAD>

<TITLE>Pokusny dokument</TITLE>

</HEAD>

<BODY>

<P>Toto je prvy odstavec pokusneho dokumentu v HTML. Za prvym odstavcom bude nasledovat druhy odstavec.</P>

<P>Toto je druhy odstavec pokusneho dokumentu v HTML. Za tymto odstavcom bude nasledovat uz koniec dokumentu.</P>

</BODY>

</HTML>

Ak je potrebné do HTML dokumentu vložiť úsek textu so zachovaním jeho pôvodného formátovania s akceptovaním viac medzier po sebe, tabelátorov resp. nových riadkov potom pre tento účel sa použije párový príkaz <PRE>. Potom v takomto texte je všetko skôr uvedené akceptované, ale použije sa neproporcionálne písmo. Ak je potrebné vložit do textu komentár, ktorý sa nemá zobraziť, použije sa nasledujúca konštrukcia:

<! ... tu sa uvedie komentár ...>

9.8.3.2                 Základné formátovanie textu v HTML dokumente

Prvým formátovacím prvkom HTML dokumentu je schopnosť vystrediť určitý text. Na to sa použije párový príkaz <CENTER>. Ďalej je možné text v rámci odstavca zarovnať vpravo, na stred alebo vzhľadom na obidva okraje. To je možné dosiahnuť pomocou parametra ALIGN v párovom príkaze <P>. Parameter ALIGN môže potom nadobúdať hodnoty right (vpravo), center (na stred) a justify (na obidva okraje). Príklad je na nasledujúcom riadku:

<P ALIGN="RIGHT">Tento dokument je zarovnany vpravo</P>

Text je možné v rámci HTML dokumentu zvýrazniť, čo sa častokrát týka najmä rôznych nadpisov a pod. Nadpis sa definuje párovým príkazom <H#>. Znak # je parameter a je to celé číslo z intervalu 1-6. Potom <H1> predstavuje najvýraznejšie zvýraznenie. Ak je potrebné meniť typ písma ako tučné (bold) alebo kurzívu (italics) HTML nám to umožní. Vo všetkých prípadoch sa použijú príslušné párové príkazy. Niektoré základné z nich sú uvedené v nasledujúcej tabuľke:

Typ písma

Príkaz HTML

Ukážka

Tučné (bold)

<B>text</B>

text

Kurzíva (italics)

<I>text</I>

text

Prešktnutie

<S>text</S>

text

Horný index

<SUP>text</SUP>

texttext

Dolný index

<SUB>text</SUB>

texttext

Veľké písmo

<BIG>text</BIG>

text

Malé písmo

<SMALL>text</SMALL>

text

Neproporcionálne písmo

<TT>text</TT>

text

Blikajúce písmo

<BLINK>text</BLINK>

text

Tab. 8 Základné typy písma v dokumente HTML

Veľkosť písma je možné meniť párovým príkazom <FONT SIZE=#>. Znak # je číslo, ktoré reprezentuje veľkosť písma. Keď je potrebné meniť veľkosť fontu nezávisle na použitom prehliadači, použijú sa relatívne rozmery t.j. číslu # sa predradí plus alebo mínus. V nasledujúcom si uvedieme jednoduchý príklad.

<HTML>

<HEAD>

<TITLE>Pokusny dokument</TITLE>

</HEAD>

<BODY>

<B><FONT SIZE=4><P ALIGN="CENTER">Pokusny dokument</P></B>

<I><P>Tento text je zarovnany vlavo a je pisany kurzivou.</P></I>

<B><FONT SIZE=2><P ALIGN="CENTER">Tento text je centrovany a je pisany tucnym pismom</P></B>

<STRIKE><FONT SIZE=2><P ALIGN="RIGHT">Tento text je zarovnany vpravo a navyse presktnuty</P></STRIKE>

</BODY>

</HTML>

Takýto dokument v prehliadači Microsoft Internet Explorer bude vyzerať nasledovne:

Obr. 69 Ukážka pokusného dokumentu HTML s typmi a zarovnaním písma

9.8.3.3                 Kaskádové štýly

Jazyk HTML bol pôvodne navrhnutý pre popis štruktúry WWW stránok. Preto do neho neboli implementované technológie zaoberajúce sa formou výsledného zobrazenia dokumentu. Postupom času sa však používanie Internetu rozšírilo z vedeckých centier a univerzít, a grafická podoba stránok začala mať väčšiu váhu. HTML bolo obohatené o príkazy a atribúty sledujúce tento trend (príkaz <FONT> apod.), avšak toto riešenie sa ukázalo ako nedostatočné a nesystematické. V současnej dobe je propagováné oddelenie obsahu stránky od definície formy jeho zobrazovania. Doporučovanou technológiou pre úpravu grafického vzhľadu sú kaskádové štýly CSS (Cascading Style Sheets).

Umožňujú pre každý príkaz nastaviť mnoho atribútov ovplyvňujúcich jeho vizuálnu podobu. Niektoré z nich sú podobné štandardným atribútom príkazov jazyka HTML (napr. ALIGN pre definovanie spôsobu zarovnania), iné sú však dostupné len použitím štýlu (napr. BORDER-STYLE pre definíciu štýlu ohraničujúcej čiary pri tabuľkách). Naviac je možné definovať niekoľko rôzne pomenovaných variantov jedného príkazu a pri zápise stránky si vybrať, který z nich chceme použiť.

Zápis definície štýlu sa vykonáva buď priamo do zdrojového textu stránky ako obsah príkazu <STYLE>, alebo do zvláštneho súboru, ktorý sa príkazom <LINK> pripojí ku stránke.

<LINK REL="stylesheet" TYPE="text/css" HREF="styly.css">

Druhý uvedený spôsob je používaný častejšie, pretože umožní využiť jednu definíciu štýlu pre niekoľko dokumentov. Tak je možné jednoducho dosiahnúť jednotného designu celej WWW prezentácie.

Naučiť sa používať CSS nie je príliš zložité. Niektoré programy pre návrh HTML stránok majú integrované nástroje pre tvorbu štýlu, takže si používateľ nemusí pamätať všetky vlastnosti príkazov, len si vyberie zo zoznamu. Príklad obsahu súboru so štýlmi je uvedený v nasledovnom:

P  {   background-color : Green; }

 

H1  {

       font-size : xx-large;

       font-family : sans-serif;

       color : Blue;

       text-align : center;

       background-color : Black;

}

 

A  {   font-size : x-small;  }

 

A:Hover  { font-size : small; }

 

BODY  { background-color : Fuchsia; }

 

.menu  {

       font-family : sans-serif;

       color : Blue;

       font-style : normal;

       font-weight : normal;

       text-decoration : none;

       font-size : medium;

}

.nadpis  {

       font-family : sans-serif;

       font-weight : bold;

       color : Black;

       font-size : medium;

}

 

.malynadpis  {

       font-family : sans-serif;

       font-weight : bold;

       color : Black;

       font-size : small;

}

9.8.3.4                 Zoznamy v HTML dokumente

V HTML dokumente môžem vytvoriť priamo tri typy zoznamov položiek. Každá položka je odsadená od ľavého okraja každá ďalšia položka začína na novom riadku. Jednotlivé riadky zoznamu sú označené podľa typu zoznamu napr. pomlčkou, krúžkom, číslom a pod. Podľa toho teda môžeme rozlišovať nasledujúce typy zoznamov:

·        nečíslovaný zoznam (označenie znakom napr. pomlčka, krúžok a pod. Takýto zoznam vyzerá podobne ako táto časť textu)

·        číslovaný zoznam (označenie poradovým číslom položky)

·        hlavičkový zoznam (označenie hlavičkou t.j. krátkou charakteristikou položky. Text položky začína v riadku pod hlavičkou a je odsadený)

Zoznamy môžu byť vnárané do seba.

Nečíslovaný zoznam sa definuje párovým príkazom <UL>. Každá položka sa uvádza príkazom <LI>, za ktorým nasleduje text položky. Hodnotou parametra TYPE v párovanom príkaze <UL>. Je možné definovať typ označenia položiek napr. TYPE=CIRCLE. V zásade môžu byť použité nasledujúce typy: circle = prázdny krúžok, disc = plný krúžok, square = plný štvorček.

Číslovaný zoznam sa definuje párovým príkazom <OL>. Potom, podobne ako u nečíslovaného zoznamu, každá položka sa uvádza príkazom <LI>, za ktorým nasleduje text položky. Takisto hodnotou parametra TYPE v párovanom príkaze <OL>. Je možné definovať typ označenia položiek napr. TYPE=1. Môžu byť použité nasledujúce typy: 1 = arabské čísla, I = veľké rímske čísla, i = malé rímske čísla, , A = veľké písmená, a = malé rímske čísla. Okrem toho sú tu navyše dva parametre START a VALUE. START definuje od akej hodnoty sa začne číslovať a pomocou parametra VALUE (v príkaze <LI>) je možné meniťaktuálnu hodnotu číslovania položiek.

Hlavičkový zoznam sa definuje párovým <DL>. Každá hlavička položky sa uvádza príkazom <DT>, za ktorým nasleduje text hlavičky položky. Potom nasleduje príkaz <DD>, za ktorým už je samotný text položky. V nasledujúcich riadkoch je ukážka časti HTML textu a vedľa výzor takéhoto zoznamu.

<DL>

<DT>LX100

      <DD>Ihličková tlačiareň

<DT>DJ610

      <DD>Trysková tlačiareň

<DT>LJ6L

      <DD>Laserová tlačiareň

</DL>

LX100

Ihličková tlačiareň

DJ610

Trysková tlačiareň

LJ6L

Laserová tlačiareň

9.8.3.5                 Odkazy v HTML dokumente

Jazyk HTML je predovšetkým, ako to už z názvu vyplýva, hypertext t.j. môže obsahovať odkazy na iné dokumenty alebo objekty. Typy odkazov môžu byť externé a interné. Externé sú odkazy na iné dokumenty alebo objekty mimo aktuálneho dokumentu. Interný odkaz je odkaz v rámci aktuálneho dokumentu. Ak je potrebné vložiť do HTML dokumentu odkaz, použije sa párový príkaz <A> s nasledujúcou syntaxou:

<A HREF=”adresa”>text odkazu</A>

alebo

<A HREF=”adresa”><IMG SRC=”obrazok”></A>

Adresa, ktorá definuje hodnotu parametra HREF je vlastne odkazom na napr. iný dokument. Text odkazu je úsek textu, ktorý sa vzťahuje na tento iný dokument (pri zobrazení je odlíšený od okolitého textu). Okrem tohto textu môže byť použitý aj obrázok, ako ukazuje druhý príklad syntaxe.

Či bude odkaz externý alebo interný, zavisí od toho, kam odkazuje adresa.

Zadanie interného odkazu sa vykoná tak, že návestie, kam sa má v rámci aktuálneho dokumentu skočiť sa definuje parametrom NAME v párovom príkaze <A>.

<A NAME=”navestie”>Sem sa má skočiť</A>

Potom na mieste, odkiaľ sa má skočiť t.j. na mieste odkazu sa vloží

<A HREF=”#navestie”>text odkazu</A>

Zadanie externého odkazu sa vykoná tak, že hodnota parametra HREF definuje názov iného html-dokumentu alebo iného objektu, na ktorý sa má skočiť.

<A HREF=”druhy_dokument.html”>text odkazu</A>

Adresa je v tvare URL. Objektom môže byť napr. aj súbor na lokálnom disku, e-mailová adresa, ftp servra alebo informácie z Gophera. Príklad začlenenia e-mailovej adresy vidíme na nasledujúcom riadku:

Akceptáciu podmienok prijíma<A HREF=”mailto:sobota@tuke.sk”>predseda</A>výboru.

9.8.3.6                 Grafika a HTML dokument

Z hľadiska použitia grafiky a tým pádom obrázkov HTML jazyk podpuruje vkladanie obrázkov do dokumentu. Obrázky je možné do dokumentu uložiť jednak do pozadia, ako podklad dokumentu alebo do popredia ako klasický obrázok. Okrem toho je možné v dokumente použiť jednoduché vodorovné čiary na názornejšie oddelenie odstavcov textu.

Vloženie čiary do dokumentu sa dosiahne príkazom <HR>.Tento môže mať niekoľko parametrov. Parametrom WIDTH sa udáva dĺžka čiary. Hodnotu je možné zadať v bodoch alebo v percentách. Parameter SIZE definuje šírku čiary v bodoch. Parametrom ALIGN (=right alebo = left) sa definuje zarovnanie čiary vpravo alebo vľavo. Uvedením parametra NOSHADE je možné vypnúť tieňovanie čiary.

Nastavenie farby pozadia príp. vloženie obrázku do pozadia dokumentu sa vykoná definovaním parametrov BGCOLOR a BACKGROUND párového príkazu <BODY>. Hodnota farby pozadia pre parameter BGCOLOR sa zadáva v tvare #RRGGBB, kde RR, GG a BB sú hexadecimálne hodnoty jednotlivých zložiek R (červenej), G (zelenej) a B (modrej). Maximálna hodnota každej zložky je FFh t.j. 255 dekadicky. Potom napr. tyrkysová sa zadá ako #00FFFF. Základné farby sa môžu zadávať aj slovne napr. red, yellow, blue ...

Black = #000000

Green = #008000

Red = #FF0000

Blue = #0000FF

White = #FFFFFF

Yellow = #FFFF00

Gray = #808080

Purple = #800080

Silver = #C0C0C0

Lime = #00FF00

Olive = #808000

Maroon = #800000

Navy = #000080

Aqua = #00FFFF

Teal = #008080

Fuchsia = #FF00FF

Tab. 9 Tabuľka základných farieb

Pri defnovaní podkladového obrázku sa parameter BACKGROUND naplní názvom súboru s obrázkom. Obrázok môže byť väčšinou vo formáte GIF alebo JPEG. Ak chceme dať do pozadia napr. obrázok pieskovca, zadá sa

<BODY BACKGROUND=”pieskovec.gif”>

Na nasledujúcom obrázku vidíme vľavo originál obrázku a vpravo náš pokusný dokument s týmto obrazkom umiestneným v pozadí.

                

Obr. 70 Ukážka umiestnenia obrázku do podkladu dokumentu HTML

Ak chceme do dokumentu vložiť obrázok použijeme príkaz <IMG>.Parameter SRC udáva adresu dokumentu resp. zdroja obrázku. Potom výsledok bude nasledovný

... tu bude vložený obrázok<IMG SRC=”obrazok.gif”>a tu pokračuje text ...

Šírku a výšku obrázku môžu definovať parametre WIDTH a HEIGHT. Pre prípad použitia len textového prehiadača HTML dokumentov (napr. LYNX) je výhodné, keď sa definuje alternatívne meno obrázku (parameter ALT), ktoré sa vo forme textu v týchto typoch prehliadačov zobrazí namiesto obrázku. Ak sa použije príkaz na vloženie obrázku, ako bolo uvedené vyššie, potom sa obrázok vloží na dané miesto tak, že spodný okraj obrázku je na tej istej úrovni ako spodný okraj textu pred a za ním. Riadkovanie textu je potom dočasne rozšírené na celú výšku vloženého obrázku. Základné umiestnenie obrázku voči textu definuje parameter ALIGN príkazu <IMG>.Hodnoty parametra ALIGN môžu byť rôzne. V nasledujúcej tabuľke budú uvedené len základné z nich.

Hodnota parametra ALIGN

Umiestnenie obrázku

TOP

Text pred a za obrázkom je na úrovni horného okraja obrázku.

BOTTOM

Text pred a za obrázkom je na úrovni dolného okraja obrázku. Implicitná hodnota. Rovnaký efekt ako bez uvedenia parametra ALIGN.

CENTER

Text pred a za obrázkom je na úrovni stredu obrázku.

LEFT

Obrázok sa zobrazí úplne vľavo a priestor vedľa neho sa vyplní textom bez zmeny riadkovania.

RIGHT

Obrázok sa zobrazí úplne vpravo a priestor vedľa neho sa vyplní textom bez zmeny riadkovania.

Tab. 10 Hodnoty a ich význam parametra ALIGN pre obrázok

Štandardne je text „prilepený“ tesne k obrázku. Na definovanie medzery medzi textom a obrázkom sa použujú parametre HSPACE (medzera vodorovne) a VSPACE (medzera zvslo). Hodnoty parametrov sa udávajú v bodoch. Ak je okolo obrázku požadovaný rámček, je možné použiť parameter BORDER, ktorého hodnota definuje šírku rámčeka. Napríklad

<IMG SRC=”obrazok.gif” ALIGN=”LEFT” BORDER=5>

Teraz si ešte ukážeme jeden príkladový HTML dokument s obrázkami naprv ako vyzerá po zobrazení prehliadačom:

Obr. 71 Príkladová ukážka zložitejšieho HTML dokumentu s obrázkami

A tak vyzerá jej zdrojový tvar:

<HTML>

<HEAD>

<TITLE>Slniečko</TITLE>

</HEAD>

<BODY BACKGROUND="mraky.jpg">

<IMG SRC="slniecko.gif" ALIGN=LEFT>

<IMG SRC="slniecko.gif" ALIGN=RIGHT>

<HR SIZE=6>

<H1><B><FONT SIZE=6><P ALIGN=CENTER>SLNIEČKO</P></H1>

<HR SIZE=6>

<B><FONT FACE="Times New Roman" SIZE=4><P ALIGN="CENTER">Takto vyzerá slniečko<BR>

a skladá sa z týchto častí</P></B>

<FONT SIZE=5>

<TT>

<OL TYPE=1><LI><P ALIGN=LEFT>Modré očičká</P>

<LI><P ALIGN=CENTER>Ružový noštek</P>

<LI><P ALIGN=RIGHT>Červené ústočká</P>

</OL>

</TT>

<HR SIZE=2>

<FONT SIZE=2>

<BLINK>

<A HREF="mesiacik.htm">Ak chceš vidieť ako vyzerá mesiačik klikni sem</A>

</BLINK>

</BODY>

</HTML>

9.8.3.7                 Tabuľky v HTML

Tabuľka sa do HTML stránky vkladá pomocou párového príkazu <TABLE>. Vnútri tohto párového príkazu potom postupne definujeme a zapisujeme jednotlivé bunky tabuľky. Názov resp. označenie tabuľky sa udáva vo vnútri párového príkazu <TABLE> pomocou párového príkazu <CAPTION>. To, kde bude názov tabuľky uvedený, definuje parameter ALIGN prikazu <CAPTION> (ALIGN=TOP nad tabuľkou, ALIGN=BOTTOM pod tabuľkou). Tabuľka sa definuje najprv po riadkoch a potom po stĺpcoch. Riadok tabuľky je definovaný párovým príkazom <TR>. Jednotlivé bunky v riadku, t.j. vlastne stĺpce, sa definujú párovými príkazmi <TD> alebo <TH>. Párový príkaz <TD> sa používa pre normálnu bunku a príkaz <TH> sa používa pre bunky v hlavičke tabuľky. Bunky hlavičky sa zobrazujú tučným písmom a sú centrované. Zápis jednoduchej tabuľky je nasledovný:

<TABLE>

    <CAPTION ALIGN=BOTTOM>Vesmírne telesá</CAPTION>

    <TR>

        <TH>Teleso</TH>

        <TH>Veľkosť</TH>

        <TH>Svietivosť</TH>

    </TR>

    <TR>

        <TD>Slniečko</TD>

        <TD>veľká</TD>

        <TD>350</TD>

    </TR>

    <TR>

        <TD>Mesiačik</TD>

        <TD>stredná</TD>

        <TD>230</TD>

    </TR>

    <TR>

        <TD>Hviezdička</TD>

        <TD>malá</TD>

        <TD>150</TD>

    </TR>

</TABLE>

Tak bude potom tabuľka takto definovaná vyzerať:

Teleso

Veľkosť

Svietivosť

Slniečko

veľká

350

Mesiačik

stredná

230

Hviezdička

malá

150

Vesmírne telesá

Obr. 72 Príklad jednoduchej tabuľky v HTML

Zjednodušene je možné tú istú tabuľku zapísať aj nasledovne:

<TABLE>

<CAPTION ALIGN=BOTTOM>Vesmírne telesá</CAPTION>

<TR><TH>Teleso            <TH>Veľkosť        <TH>Svietivosť

<TR><TD>Slniečko          <TD>veľká <TD>3

<TR><TD>Mesiačik          <TD>stredná        <TD>2

<TR><TD>Hviezdička                  <TD>malá <TD>1

</TABLE>

Pokiaľ chceme mať v tabuľke mriežku (okraj) oddeľujúcu jednotlivé bunky uvedie sa v príkaze <TABLE> parameter BORDER. Navyše je možné definovať aj hrúbku tohto okraja uvedením jeho veľkosti v bodoch t.j. napr. BORDER=6. Vzdialenosť jednotlivých buniek v tabuľke sa riadi hodnotou parametra CELLSPACING=“X“, kde X predstavuje vzdialenosť buniek v bodoch. Vzdialenosť obsahu bunky od jej okraja je definovaná parametrom CELLPADDING. Definuje sa obdobne predchádzajúcemu atribútu.

V prípade, že je potrebné zlúčiť niekoľko buniek dokopy (napr. spoločný nadpis pre viac stĺpcov alebo riadkov), potom sa v príkaze <TH> alebo <TD> uvedie parameter COLSPAN="X", kde X znamená počet následne zlúčených stĺpcov. V prípade zlučovania riadkov sa použije parameter ROWSPAN=“X“.

Zarovnanie textu bunky sa dosahuje parametrami ALIGN (LEFT, CENTER, RIGHT pre vodorovné zarovnanie) alebo VALIGN (TOP, MIDDLE, BOTTOM pre zvislé zarovnanie). Obsahom bunky môže byť aj obrázok. Umiestnenie resp. zarovnanie celej tabuľky v rámci textu je takisto riadené hodnotou parametra ALIGN ale v príkazu <TABLE>. Veľkosť tabuľky je možné riadiť parametrami WIDTHHEIGHT v rámci príkazu <TABLE>.

V nasledujúcom uvedieme príklad HTML kódu tabuľky

<HTML>

<HEAD>

<TITLE>Tabuľka vesmírnych telies</TITLE>

</HEAD>

<BODY>

<TABLE  BORDER=5   ALIGN=CENTER     WIDTH=50%  CELLSPACING="8"  CELLPADDING="5">

    <CAPTION ALIGN=BOTTOM>Vesmírne telesá</CAPTION>

    <TR>

     <TH>Teleso</TH>

<TH>Tvar</TH>

     <TH COLSPAN="2">Veľkosť a svietivosť</TH>

    </TR>

    <TR>

      <TD>Slniečko</TD>

<TD ALIGN=CENTER><IMG SRC="slniecko.gif" WIDTH=30 HEIGHT=30></TD>

     <TD>veľká</TD>

     <TD>350</TD>

    </TR>

    <TR>

     <TD>Mesiačik</TD>

<TD ALIGN=CENTER><IMG SRC="mesiac.gif" WIDTH=30 HEIGHT=30></TD>

     <TD>stredná</TD>

     <TD>230</TD>

    </TR>

    <TR>

     <TD>Hviezdička</TD>

<TD ALIGN=CENTER><IMG SRC="hviezda.gif" WIDTH=30 HEIGHT=30></TD>

     <TD>malá</TD>

     <TD>150</TD>

    </TR>

</TABLE>

</BODY>

</HTML>

a takto bude uvedená tabuľka vyzerať:

Obr. 73 Ukážka zobrazenia HTML tabuľky

9.8.3.8                 Rámce v HTML

Technika rámcov umožňuje rozdeliť okno prehliadača na niekoľko častí a v každej časti potom môže byť zobrazená iná stránka. Navyše je možné definovanie odkazu v jednom rámci tak, aby vykonalo načítanie stránky do iného rámca. Týmto spôsobom je možné napríklad umiestniť na stránku napr. navigačnú ponuku. Rámce sú dnes už podporované spravidla väčšinou prehliadačov. Nakoľko je táto problematika obtiažnejšia, bude jej tu venované širšie miesto.

Definovanie rámcov a ich rozloženie na stránke sa vykoná v jednom HTML dokumente. Tento následne bude odkazovať na ďalšie dokumenty, ale už príslušne zobrazené do definovaných rámcov. Dokument resp. stránka obsahujúca definíciu a rozloženie rámcov musí obsahovať klasický párový príkaz <HEAD> a potom samotnú definíciu rozloženia rámcov pomocou párových príkazov <FRAMESET>. Párové príkazy <FRAMESET> môžu byť do seba vnárané. Telo stránky definované párovým príkazom <BODY> nemusí byť uvedené a je zobrazované len v tých prehliadačoch, ktoré rámce nepodporujú. Sem je potom možné umiestniť odkaz napr. na alternatívnu verziu dokumentu, ktorá rámce neobsahuje.

Pri použití príkazu <FRAMESET> sa používajú dva parametre: ROWS (riadky, vodorovne) a COLS (stĺpce, zvisle). Hodnoty týchto parametrov sú zoznamy veľkostí jednotlivých vodorovných alebo zvislých rámcov oddelených čiarkami. Počet položiek v danom zozname určuje počet rámcov, ktoré sa vytvoria. Obvykle sa používa len jeden z parametrov a pokiaľ sa použijú obidva, vytvorí sa vlastne matica rámcov, ktorých počet odpovedá súčinu počtu vodorovných a zvislých častí. Hodnoty jednotlivých prvkov zoznamu môžu byť zadané absolútne v bodoch, percentuálne alebo je možné použiť dvojznak X* (kde X je číslo, ak nie je uvedené je X=1). Potom pri rozdeľovaní voľnej plochy sa najprv priradí priestor rámcom definovaných bodovo alebo percentuálne. Zvyšná plocha sa rozdelí medzi rámce definované *. Plocha je rozdelená proporcionálne podľa čísel uvedených pred príslušnými hviezdičkami.

<FRAMESET ROWS=50%,50%>

  definícia rámca A

  definícia rámca B

</FRAMESET>

<FRAMESET COLS=*,40%,*>

  definícia rámca A

  definícia rámca B

  definícia rámca C

</FRAMESET>

<FRAMESET ROWS=50,*>

 definícia rámca A

   <FRAMESET COLS=20%,*>

     definícia rámca B

     definícia rámca C

   </FRAMESET>

</FRAMESET>

<FRAMESET ROWS= *,2*,50

          COLS=50%,50%>

   definícia rámcov A-F

</FRAMESET>

Obr. 74 Príklady definovania rámcov

Samotná definícia jednotlivých rámcov sa vykoná pomocou  príkazu <FRAME>. Tento príkaz má nasledujúce parametre:

Parameter

Význam

SRC

Definuje stránku, ktorá sa prvotne zobrazí v príslušnom rámci napr.

<FRAME  SRC=”stranka. html”>

NORESIZE

Zabraňuje používateľovi meniť veľkosť rámca

SCROLLING

jeho hodnota rozhoduje o tom, či rámec bude doplnený o posúvač (posuvnú lištu) umožňujúci používateľovi pohyb po dlhších stránkach zobrazených v rámci. Implicitne je hodnota = AUTO. Hodnotou YES je posúvač vnútený, hodnotou NO zakázaný.

FRAMEBORDER

definuje okolo rámca orámovanie. Ak nechceme orámovanie nastavíme tento atribút na 0. Toto je však nutné vykonať aj pre všetky susedné rámce.

MARGINWIDTH

definuje vzdialenosť obsahu rámca vľavo a vpravo od jeho okraja. Udáva sa v bodoch (pixeloch)

MARGINHEIGHT

definuje vzdialenosť obsahu rámca hore a dolu od jeho okraja. Udáva sa v bodoch (pixeloch)

NAME

definuje meno rámca. Je to dôležitý parameter. Na toto meno je možné sa potom odvolávať napr. v hypertextovom odkaze. Tým sa dosiahne to, že aktivácia odkazu v jednom rámci, vykoná načítanie stránky v inom rámci. Meno rámca môže byť ľubovoľné, malo by však začínať písmenom.

Tab. 11 Parametre príkazu <FRAME>

Následne je možné meno využiť v jednotlivých stránkach pomocou parametra TARGET. Jemu priradíme meno rámca, v ktorom chceme zobraziť stránku, ktorá je definovaná odkazom alebo inak, vlastne definujeme, do ktorého rámca podľa jeho mena sa má daná stránka zobraziť. Parameter TARGET sa najčastejšie používa s <A REF=....>. Ak sa budeme odkazovať na ten istý rámec v dokumente, je možné definovať v časti záhlavia stránky (<HEAD>) bázický rámec a potom už nie je nutné pri všetkých odkazoch implicitne definovať hodnotu parametra TARGET. Definovanie bázického cieľového rámca sa dosiahne príkazom <BASE> s následne uvedením cieľa TARGET napr. <BASE TARGET=ramecA>. Okrem takto definovaných mien rámcov je možné použiť pre hodnotu TARGET aj niektoré preddefinované možnosti, ako ukazuje nasledujúca tabuľka:

Hodnota

Význam

_blank

Stránka (dokument) sa zobrazí v novom nepomenovanom okne.

_top

Stránka (dokument) sa nahrá do celého okna prehliadača a všetky rámce sa zrušia

_self

Stránka (dokument) sa zobrazí v rovnakom okne. To je možné s výhodou využiť v prípade, že v dokumente (stránke) je použitý príkaz:

<BASE TARGET=meno_rámca>

_parent

Stránka (dokument) sa nahrá do rámca alebo okna, ktoré obsahuje najbližší nadradený príkaz <FRAMESET>

Tab. 12 Niektoré preddefinované hodnoty parametra TARGET

Záverom ešte niečo k prehliadačom, ktoré nepodporujú rámce. Okrem už spomínaného spôsobu  (v tele dokumentu) je možné ešte použiť aj párový príkaz <NOFRAMES>. Jeho obsah sa zobrazí len v prehliadačoch, ktoré rámce nepodporujú.

Príklad: Aby bola táto problematika jasnejšie pochopená uvedieme si zložitejší príklad s použitím rámcov. Predpokladajme, že chceme vytvoriť katalóg nebeských telies a to tak, že vľavo bude menu s ponukou jednotlivých telies a v pravej časti sa nám majú tieto telesá zobraziť. Vhodné je využiť rámce. Vytvoríme si teda nasledujúcu štruktúru:

Obr. 75 Príkladová štruktúra HTML dokumentov

Potom jednotlivé zdrojové kódy budú vyzerať nasledovne:

súbor KATALOG.HTM

<HTML>

<HEAD>

<TITLE>Katalóg nebeských telies</TITLE>

</HEAD>

<FRAMESET COLS="30%,*" >

<FRAME SRC="zoznam.htm" NAME="LAVE">

<FRAME SRC="hlavicka.htm" NAME="PRAVE">

</FRAMESET>

<NOFRAMES>

Tato stranka je pisana pre prehliadac podporujuci ramce

</NOFRAMES>

</HTML>

súbor ZOZNAM.HTM

<HTML>

<HEAD>

<TITLE>Zoznam nebeských telies</TITLE>

</HEAD>

<BODY TEXT="#000000" BACKGROUND="mraky.jpg" BGCOLOR="#78ADD5">

<B><P ALIGN="CENTER">Zoznam</P></B>

<HR SIZE=3>

<UL>

<LI><A HREF="slnko.htm" TARGET="PRAVE"><FONT SIZE=4>Slniečko</FONT></A></LI>

<LI><A HREF="mesiac.htm" TARGET="PRAVE"><FONT SIZE=4>Mesiačik<BR></FONT></A></LI>

<LI><A HREF="hviezda.htm" TARGET="PRAVE"><FONT SIZE=4>Hviezdička<BR></FONT></A></LI>

</UL>

<CENTER><IMG SRC="mrakico.gif" ALIGN=CENTER WIDTH=60 HEIGHT=50></CENTER>

</BODY>

</HTML>

súbor HLAVICKA.HTM

<HTML>

<HEAD>

<TITLE>Hlavička</TITLE>

</HEAD>

<BODY BACKGROUND="mraky.jpg" BGCOLOR="#78ADD5">

<HR SIZE=6>

<IMG SRC="mrakico.gif" ALIGN=LEFT >

<H6><B><FONT SIZE=8><P ALIGN=CENTER>Nebeské<BR>telesá</P></H6>

<HR SIZE=6>

<FONT SIZE=2><P ALIGN=CENTER>Prekvapujúco dobrý katalóg nebeských telies</P></FONT>

</BODY>

</HTML>

súbor SLNKO.HTM

<HTML>

<HEAD>

<TITLE>Slnko</TITLE>

</HEAD>

<BODY BACKGROUND="mraky.jpg" BGCOLOR="#78ADD5">

<B><FONT SIZE=5><P><HR SIZE=6><CENTER>SLNIEČKO</CENTER><HR SIZE=6></P>

</FONT></B>

<CENTER><IMG SRC="slniecko.gif" WIDTH=40% HEIGHT=50%></CENTER>

</BODY>

</HTML>

súbor MESIAC.HTM

<HTML>

<HEAD>

<TITLE>Mesiac</TITLE>

</HEAD>

<BODY BACKGROUND="mraky.jpg" BGCOLOR="#78ADD5">

<B><FONT SIZE=5><P><HR SIZE=6><CENTER>MESIAČIK</CENTER><HR SIZE=6></P>

</FONT></B>

<CENTER><IMG SRC="mesiacp.gif" WIDTH=40% HEIGHT=50%></CENTER>

</BODY>

</HTML>

súbor HVIEZDA.HTM

<HTML>

<HEAD>

<TITLE>Hviezda</TITLE>

</HEAD>

<BODY BACKGROUND="mraky.jpg" BGCOLOR="#78ADD5">

<B><FONT SIZE=5><P><HR SIZE=6><CENTER>HVIEZDIČKA</CENTER><HR SIZE=6></P>

</FONT></B>

<CENTER><IMG SRC="hviezda.gif" WIDTH=40% HEIGHT=50%></CENTER>

</BODY>

</HTML>

 

Potom celkovo bude stránka v úvode vyzerať tak ako ukazuje nasledujúci obrázok vľavo. Ak napríklad klikneme v prehliadači  na položku Hviezdička v zozname v ľavom rámci, potom to bude vyzerať tak, ako je zobrazené na nasledujúcom obrázku vpravo.

Obr. 76 Ukážka zobrazenia stránky s rámcami

9.8.3.9                 Formuláre v HTML

Formuláre predstavujú pokročilejšiu technológiu na internetových stránkach. Pomocou formulárov môže používateľ vyplniť určité údaje a tieto sú potom následne odoslané serveru na ďalšie spracovanie. Odpoveďou servera môže byť napr. ďalšia stránka. Typickým a častým prípadom využitia formulárov je vkladanie registračných údajov na serveroch, ktoré poskytujú zdarma kontá elektronickej pošty. Komplexné spracovanie tvorby a vyhodnocovania formulárov je pomerne rozsiahla záležitosť a tak sa v nasledujúcom budeme venovať len základom.

Formuláre môžu obsahovať niekoľko typov objektov. Najpoužívanejšie objekty sú:

·        textové pole – objekt obsahujúci jedno- (text) alebo viacriadkové (textarea) textové pole pre zadávanie údajov.

·        tlačidlo – výkonný objekt, ktorý má pre svoju následnú činnosť buď preddefinovaný význam (napr. odoslanie alebo resetovanie obsahu formulára), alebo mu môže byť jeho činnosť naprogramovaná.

·        zaškrtávacie políčka  - predstavujú typ objektov, ktoré umožňujú vybrať z daných možností buď práve jednu (radio) (napr. pri pohlaví), alebo niekoľko (checkbox)(napr. výber koníčkov).

·        zoznam (menu) – ponúka voľby, z ktorý môže používateľ vyberať (napr. výber dosiahnutého vzdelania).

·