Interface - Rozhraní

Periferie jsou všechna zařízení, která lze připojit k základní desce počítače. Slouží k těmto účelům: • • • vstup dat výstup dat zápis dat mimo operační paměť

Vnější rozhraní Je to standardizace připojení (respektuje vlastnosti jednotlivých technických zařízení - periférií z hlediska vstupu a výstupu). Vnitřní rozhraní Jsou to inteligentní vstupní - výstupní obvody, které jsou většinou programovatelné. Příklad vnitřního rozhraní:

Port je propojení na zadní straně počítače. Porty: • • sériové paralelní

Rozdíl je ve způsobu vyměňování informací. U sériového se přenášejí bit po bitu po jednom drátě u paralelního se přenášejí informace po bytech přes osm drátů současně. Sériové RS232: Používají se dva typy konektoru: 1. CANON 25 (25 - pinový)

Přiřazení pinů: Pin Funkce

1 2 3 4 5 6 7 8 9

Ochranná zem Přenos dat (výstup) Příjem dat (vstup) Žádost k vysílání dat (výstup) Připravenost pro příjem (vstup) Připravení dat na vysílání Signálová zem Zachycení linkového signálu Přenosové hodiny

20 Zachycení ukončení dat 22 Kruhový indikátor Ostatní jsou uzemněny 2. CANON 9 (9 - pinový)

Přiřazení pinů: Pin Funkce 1 2 3 4 5 6 7 8 9 Zachycení linkového signálu Příjem dat Přenos dat Zachycení ukončení dat Zemnění Připravenost dat pro vysílání Požadavek na přenos Připravenost pro příjem Kruhový indikátor

Tuto činnost při přenosu a příjmu dat zajišťuje speciélní programovatelný obvod typu UART pod označením 8250, 8251. Je to v podstatě paralelně sériový převodník. Obecný princip sériového procesu

Pro vlastní přenos se přidávají k platným datům další informace a to startbit, parita, počet stop bitů.

UART

RS 232 je digitální rozhraní, komunikace asi do 15m, stav na lince ON +3 V , OFF - 3 V. Každou linku řídí jedna nebo druhá strana např. linku 2 vnímá jedna strana jako vstup a druhá strana jako výstup. Rychlost přenosu je možno programovat. Rozhraní: • • DTE DCE

Na DTE jsou samčí konektory, na DCE samičí. UART dohlíží na sériovou komunikaci PC. Dnes se většinou používají rychlejší čipy pod označením 16450, 16550. Na rozdíl od starších UARTů, kdy se ukládaly informace byte po bytu RS 232 je navržen tak, aby spojoval DTE a DCE. Spojení mezi počítači - oba mají rozhraní DTE. Podle standardu nemůžeme takto přímo propojit dvě rozhraní DTE. Propojení je možné přes kabel tzv. modemový eliminátor. Paralelní rozhraní typu CENTRONICS U novějších tiskáren se používá 36pinový CENTRONICS:

Slouží např. pro připojení tiskárny, ZIP disku, propojení dvou počítačů. Informace jsou přes paralelní port přenášeny paralelně, tzn. že je vždy zároveň přenášena určitá sada bitů.

Klávesnice
Je vnější zařízení systému PC, skládá se z rozhraní, kabelů a klávesnice. Rozhraní je tvořeno konektorem DIN. 1 - data 2 - nevyužit 3 - uzemnění 4 - napájení 5 - hodiny U funkční klávesnice je ss napětí mezi kolíky 1-2-3 nebo 5 (2-5,5 V). Každá klávesa má přiřazen SCAN kód, po stisku klávesy je tento kód na portu klávesnice, odkud si ho vezme obsluha přerušení. Ta jej převede do ASCII a uloží do vyrov. bufferu klávesnice příslušné hodnoty.

SCAN kód určuje fyzické tlačítko na klávesnici např. když obsluha přerušení přečte z portu klávesnice hodnotu 44, jedná se o písmeno z. Ve SCAN kódu se nerozlišuje malé a velké písmeno (např. klávesa z má stejný SCAN kód jako klávesa Z). Podle stavu klávesy CAPS LOCK, příp. SHIFT se rozliší, zda se jedná o velké nebo malé písmeno. ASCII kód je množina 256 čísel, které reprezentují jednotlivé znaky. Extended ASCII CODE: Pro některé klávesy, které nemají přiřazenou žádnou hodnotu v tabulce ASCII (funkční klávesy) se vygeneruje rozšířený ASCII. Vyrovnávací paměť klávesnice (buffer) je oblast paměti o velikosti 32 B v datové oblasti BIOSu. Těchto 32 B tvoří kruhovou frontu, do které se ukládají znaky stisknuté na klávesnici v pořadí ASCII a SCAN kód. Ukládajíli se znaky rychleji, než dokáže PC zpracovat, buffer se zaplní a počítač vydá zvukový signál. Příznaky klávesnice jsou 2 B, které jsou obrazem současného stavu klávesnice. Tyto adresy jsou součástí datové oblasti BIOSu.

Typy klávesnic • • standardní - 84 kláves rozšířené - 101 (102) kláves

Principy u starších klávesnic - spínačové

Na sloupcové vodiče je multiplexně přiváděn určitý potenciál, který se při zmáčknutí objeví na příslušném řádkovém vodiči. Ze sloupce a řádku je identifikováno příslušné tlačítko. U klávesnic IBM je kapacitní princip, kdy na spodní straně klávesnice je vytvořena kapacitní plocha, stiskem příslušné klávesy dojde na ploše ke změně kapacity, toto je vyhodnoceno a identifikována klávesa. Klávesnici podporuje mikroprocesor na bázi ROM, jehož hlavní činností je identifikace SCAN kódu. Životnost klávesnice se udává v počtu stisků, u dnešních až 80 miliónů stisků.

Mikroprocesory
INTEL 8086 Technologie NMOS, 16-ti bitový, adresovatelný prostor 1 MB Vnitřní struktura 8086:

Registry jsou to paměťová místa umístěná v mikroprocesoru. 8086 má 14 16-ti bitových registrů. 1.Všeobecné AH BH CH DH AL BL CL DL střadač báze čítač data

Lze je používat jako dvojice 8-bitových registrů: AH je pro vyšších 8 bitů, AL je pro nižších 8 bitů. Tyto registry se používají převážně pro aritmetické operace. Speciálně je pro ně určen registr AX (akumulátor), řada instrukcí pracuje převážně jen s tímto registrem. BX se používá především k výpočtu adresy v některých adresových módech. CX je čítač, používá se u instrukcí s opakováním. DX je datový registr a nemá speciální funkci. 2. Indexové a ukazatelové registry SP BP SI DI ukazatel zásobníku ukazatel báze index zdrojové adresy index cílové adresy

Registry se nejčastěji používají pro adresaci dat. Indexové registry mají specifikovaný způsob využití. SP (ukazatel zásobníku) obsahuje hodnotu offsetu zásobníku mikroprocesoru a používá se při práci se zásobníkem a voláním podprogramu. BP je určen k adresování dat hlavní paměti. Při spolupráci s vyšším programovacím jazykem je využíván jako ukazatel na parametry volané procedury. SI a DI se využívají při přenosech boku dat a při přístupu do paměti. 3. Segmentové registry CS segmentový registr programu (Code Segment) DS segmentový registr dat (Data Segment) SS segmentový registr zásobníku (Stack Segment) ES pomocný registr (Extra Segment)

CS je nejdůležitější, jelikož obsahuje segmentovou část adresy právě běžícího programu. DS je určen k adresování dat v hlavní paměti, tzn., že pokud instukce pracuje s daty v hlavní paměti, je určen právě tento registr. SS ukazuje na segment strojového zásobníku. SS a SP je přesná adresa strojového zásobníku v hlavní paměti. Je využit u instrukcí, které pracují se zásobníkem. ES je využíván při přesunech dat, jinak je volně k dispozici. IP - tento registr obsahuje offsetovou část adresy právě zpracovávané instrukce. Příznakový registr - FLAGS Obsahuje jednobitové indikátory, které určují okamžitý stav mikroprocesoru. Jednotlivé bity tvoří dvě skupiny: - TF, IF, DF - OF, ZF, SF, AF, PF, CF TF (Trap Flag) - Tento příznak se používá pro účely ladění, jeho nastavení způsobí, že procesor po provedení každé instrukce vygeneruje přerušení INT1 IF (Interrupt Flag) - Povoluje externí přerušení DF (Direction Flag) - Určuje směr zpracování řetězců. Je-li nastaven v jedničce, obsah registrů SI a DI se po provedení řetězcové operace sníží (řetězec se zpracovává odzadu). OF (Overflow Flag) - Příznak se zastaví do jedničky, došlo-li v průběhu provádění instrukce k aritmetickému přeplnění, tzn., že výsledek se nevejde do určeného místa. SF (Sign Flag) - Je-li výsledek operace záporný, příznak se nastaví do jedničky. Je to v podstatě kopie nejvyššího bitu výsledku. ZF (Zero Flag) - Příznak se nastaví, je-li výsledek operace nulový. PF (Parity Flag) - Příznak se nastaví, jestliže dolních 8 bitů výsledku prováděné instrukce má sudý počet jedniček (neznamená, že číslo je sudé). CF (Carry Flag) - Příznak se nastaví, jestlliže při provádění operace došlo k přenosu z nejvyššího bitu. Používá se také při instrukcích posunu a rotace. AF (Auxiliary Flag) - Příznak se používá při BCD v aritmetice a to při přenosu z 3. do 4. bitu.

Vytváření adresy: Šířka adresové sběrnice je 20 bitů (adresuje 1 MB), adresa má dvě části - segment a offset. Vytvořená adresa se skládá ze dvou šestnáctibitových částí. Z této tzv. logické adresy se fyzická vytváří tak, že se nejprve posune o 4 bity vlevo (odpovídá násobení 16) a k takto vzniklému číslu se přičte offset. Tím vzikne 20-ti bitová adresa, ukazující na konkrétní místo v paměti. Důsledkem adresování je paměť rozdělena na jednotlivé bloky o velikosti 64 kB (segmenty). Segmentová část adresy po vynásobení šestnácti (připsání čtyř nul na nejnižší bity) ukazuje na začátek segmentu a offset je pozice v segmentu vzhledem k jeho začátku. Segmentové registry udávají segmentovou část adresy. Adresace pomocí segmentových registru:

80386 Procesor má 32-bitovou adresovou sběrnici, maximální velikost operační paměti 232 B = 4 096 MB. Má poměrně složitý systém řízení paměti, kde se adresa, použitá v programu složitým způsobem vypočítává na skutečnou. Systém řízení paměti má dvě úrovně: segmentování, stránkování. Segmentování je vyšší úroveň. Systém registrů je převzat z 8086, jsou rozšířeny o další, jsou 32-bitové, kromě segmentových. Aplikační registry jsou určeny programátorovi, jsou zcela přístupné. • • • Šest 16-bitových Osm 32-bitových Dva řídící 32-bitové

VM (Virtual 8086 Mode) Je-li tento přepínač nastaven na 1, pracuje mikroprocesor ve virtuálním režimu 8086. IOPL (IO Priority Level) Toto pole je dvoubitové a udává prioritu potřebnou k provádění vstupů a výstupů. Je-li priorita programu, který provádí v/v operaci nižší (numericky vyšší) než obsah pole IOPL, operace se neprovede a namísto toho se vyvolá přerušení. 80486 Má interní paměť CACHE o velikosti minimálně 8 kB, interní koprocesor, rychlost dle typu 25 - 120 MHz. CACHE paměť je rozdělena na čtyři bloky po 2 kB. Systémově má dvě části - TAG, DATA. Když v TAG jsou uvedeny informace o pohybu dat této paměti, znamená to, že procesor vždy sáhne do TAG a v DATA vybere hledaná data. Motorola 68040 Patří do architektury CISC (Complete Instruction Set Computer). V této architektuře obsahuje již mikroprocesor vpodstatě miniaturní počítač včetně programů. Tento počítač pak vyhodnocuje vlastní instrukce. Výhoda: instrukce mohou být komplikované, tzn. že jedna instrukce zajistí určité komplexní služby. Pentium Struktura mikroprocesoru Pentium

Současně nejmodernější procesor řady INTEL, na ploše 1,6 x 1,6 cm je asi 3,1 miliónů tranzistorů. K provedení jednoho taktu je nutná 1/66 - 1/150 milióntina sekundy, což je potřebná doba k provedení jedné operace. Nejvíce prostoru zabírají paměťové obvody (CACHE, atd.). Data přicházejí z pracovní paměti počítače přes DATABUS do jednotky BUS INTERFACE LOGIC. Zde se rozhoduje, zda jde o příkazové (CODE) nebo hodnotové (DATA) informace. Podle toho jsou pak data převedena do CODE CACHE nebo DATA CACHE. Obě jednotky (akumulační jednotky) jsou řízeny jednotkami TLB. Jsou to vpodstatě mikroprocesory uvnitř čipu. Taktovací frekvenci udává CLOCK DRIVER. Příkazová data jsou nejdříve přivedena do jednotky INSTRUCTION FETCH a pak dekódována INSTRUCTION DECODE. V jednotce pro předpověď se odhaduje, jaká budou příští příkazová data (BRANCH, PREDICTION LOGIC). Většina příkazů zahrnuje výpočty a ty se provádějí v centrálním číslicovém oddělení (SUPERSCALAR INTEGER EXECUTION UNITS) nebo (PIPELINED FLOATING POINT). PIPELINED FLOATING POINT - instrukce se zpracovávají v několika fázích. Mikroprocesor je přizpůsoben tak, že jakmile je jedna fáze nad nějakou instrukcí hotová, může se okamžitě přejít na další instrukci (částečně zpracovaná instrukce přejde do další fáze). DATABUS - je sběrnice informací procesoru. Pentium přenese najednou paralelně 64 bitů. Znamená to, že je-li jeden příkaz tvořen z 8 bitů, pak za jeden takt zpracuje 8 B. Ve verzi MMX byly přidány další instrukce pro lepší zpracování multimediálních dat. Ve verzi Pentium III byly přidány i instrukce pro rychlejší zpracování 3D dat (vedle dalších architektonických vylepšení). DEC vyvinula čip pod označením ALPHA s architekturou typu RISC. U této architektury se zpracovávají odlišně data a příkazy jsou zredukovány. Je to v podstatě nejrychlejší procesor a špičkově zpracuje 400 miliónů příkazů za sekundu. Je to 64 bitový procesor a má 4 miliard krát větší adresovací prostor než 32-bitové čipy IBM. Obvody RISC produkují při špičkovém výkonu značné teplo.

Modemy

Modem je modulátor - demodulátor, transformuje digitální signál vysílaný počítačem do signálu analogového vhodného pro telefonní linky. Transformace signálu je modulací. Její efektivnost se určuje v bitech za sekundu míra přenosu informace. BAUD - jednotka měří počet změn stavu signálu za sekundu, např. signál 2400 baudového modemu změní svůj stav (amplitudu, frekvenci, fázi) 2400x za sekundu. K vysílání jednoho bitu jsou nutné dvě změny. Všechny rychlejší modemy uvádějí počet baudů menší než přenosovou rychlost. Technika modulace umožňuje vysílat více bitů při jedné změně signálu, tzn. na jeden baud. Např. fázovou modulací se vysílají 4 bity/baud. Modulační protokoly: Jsou definovány výborem CCITT, je součástí mezinárodní telekomunikační unie. Komunikační protokoly: V21 - 300 b/s; V22 - 600, 1200 b/s; modemy jsou 600 baudové, modulace 4 bity/baud V22bis - 2400 b/s; V32 - 4800, 9600 b/s; pracuje na 2400 baudech, 2 nebo 4 bity/baud; V32bis - multistandardní 14400 b/s. V90 - až 56kb/s Oprava chyb: Na telefonních linkách se projevují parazitní šumy, proto jsou zavedeny technologie k opravě přenosových chyb. Protokoly MNP2-4; skládají se z šumového filtru a korektoru postižených dat. Korekce chyb má velký vliv na přenosovou rychlost. Komprese dat: Je zmenšení velikosti přenášených zpráv odstraněním redundance. Technologie MNP5 a V42bis používá metody RLL. Protokoly pro přenos souborů:

Xmodem přenáší 128 bytové pakety + jeden podpůrný verifikační bit pro přijímací systém ke kontrole správnosti přenosu. Formát - 8 bitů/znak. Ymodem pro přenosy velkých souborů - data v blocích 1 kB. Zmodem - 512 bytové bloky pro přenos. UART je čip odpovědný za dohlížení na sériovou komunikaci. Když posílá informace, BIOS vkládá data do převodního registru UARTu. Když je UART připraven na vysílání, přesune data do posuvného datového registru a posílá je bit po bitu po vedení. Přijímací sériový port také obsahuje UART, jako přijímač bere bity z vedení (odstraní start a stop bity) a vkládá je do přijímacího posuvného registru. Když přijme celý byt, přesune ho do přijímacího registru, který je zpřístupněn přes BIOS. Při chybě přenosu se nastaví příznaky ve stavovém registru a ohlásí chybu BIOSu. Sériová komunikace je komunikace mezi UARTy. Propojení je přes 25 pinový a 9 pinový konektor:

Při komunikaci se dvě sériová zařízení musí shodnout na rychlosti a dalších parametrech (start, stopovací bity, zapnutí - vypnutí echa). U asynchronního přenosu přijímač tzv. hlídá linku, start bit způsobí změnu linky, upozorní, že jsou nějaká data k přenosu. Vysvětlení diod na modemu: HS - High Speed - svítí, pracuje-li na plný výkon; AA - Auto Answer - modem odpovídá samostatně na telefonní výzvy; CD - Carner Detect - při komunikaci je úspěšně připojen k jinému počítači; OH - Off Hook - modem přebral kontrolu nad telefonní linkou; RD - Receive Data - předává data počítači; SD - Send Data - počítač posílá data; TR - Therminal Ready - modem přijal signál Therminal Ready; MR - má zapojen napájení a je připraven.

Telefonní vedení je označeno barvami červenou, zelenou, žlutou a černou, používá se červená a zelená. Ta dává 48 V stejnosměrných, při zvonění 100 V. Optická vlákna dosahují rychlosti až 2 GB. Volba telefonního čísla: • pulsní: číslice jsou kódovány počtem impulsu;

tónová: různé tóny frekvence.

Programové vybavení: Počítač vysílá modemu příkazy ve speciálním formátu, je používán speciální jazyk AT (attention) příkazy. Modem pracuje ve dvou režimech: 1. příkazový - posíláme AT příkazy 2. přenosový - nelze posílat AT příkazy.

Optické disky
Rozdělení: • • • CD ROM Magnetooptický disk Minidisk

1. CD ROM Princip:

Standardní disk CD ROM má průměr 120 mm (4,72 ´´) s otvorem uprostřed průměru 15 mm (0,6 ´´). Tlouš?ka disku je 1,2 mm. Oproti klasickým diskům má CD ROM jednu spirálovou stopu, která je rozdělena na stejně dlouhé sektory. Šířka stopy je 600 nm. Ta dává hustotu 16 000 závitů na palec. Data ve spirálové stopě jsou ve formě malých prohlubní (pity), proloženými rovnými oblastmi nazývanými pole. Čtecí hlava (optické zařízení) s galium-arzenistým laserem a fotoelektrodou načítá pity a pole. Zařízení zaměřuje laserový paprsek přes polopropustné zrcadlo na povrch disku. Pole laserový paprsek odrážejí zpět, pity jej rozptylují. Zrcadlo přesměruje vracející se paprsek na fotodiodu. Disk je technologicky vytvořen z průhledné polykarbonátové vrstvy, na kterou výrobce nanáší šablonu s poli a pity. Základní vrstva je překryta odrazivým filmem z hliníku, na který je nanesen ochranný lak. Disk se čte ze spodu přes polykarbonátovou podložku. Tento materiál je odolný proti slunečnímu záření. 2. Magnetooptický disk Využívá spojení světla a magnetismu. Proces ovládání dat je jiný než u CD ROM. Aby byla zajištěna popisovatelnost pamě?ového média, nejsou provedeny destrukční změny na povrchu disku. Médium je vytvořeno ze silných magnetických materiálů. Princip: Strukturu magnetických částic u silně magnetických materiálů nelze za normálního stavu měnit. Materiál se musí zahřát na Currieho bod (151 oC) a pak je možná manipulace s magnetickými částmi. Horký laser ohřeje pamě? ové médium v oblasti zápisu, magnetická hlava změní směr magnetických částic. Při čtení dopadá laser na magnetický zorientovaný materiál a podle směru magnetických částic se změní fáze odráženého světla. Ve fyzice je to tzv. Kerrův efekt. Na základě rozdílných otočení směrů paprsků čte magnetooptická jednotka informace. 3. Osmicentimetrový CD - mini CD Je přibližně stejně velký jako 3,5 ´´ disketa, ale pojme až 200 MB dat. Využití je zejména v noteboocích, jelikož mechaniky CD ROM jsou lehčí. Jeho největší výhodou je, že jej mohou číst i velké mechaniky CD ROM (lze číst v mechanice standardní, 2x a více rychlostní).

Paměti CACHE
1. Softwarová Odebírá hlavní paměti určitý malý prostor a používá ji k ukládání dat, které procesor potřebuje z diskové paměti. Pokud procesor potřebuje data, prohledává nejdříve takto vytvořenou CACHE. Pokud tam jsou, nejsou vyhledávána na pomalém disku. 2. Hardwarová

Tyto paměti jsou umístěny na základní desce PC mezi procesorem a hlavní pamětí. Jsou klasifikovány jako CACHE druhé úrovně. Vyrovnávají rozdíly v rychlosti mezi procesorem a hlavní pamětí. Jsou vytvořeny ze statických polovodičových pamětí SRAM s přístupovou dobou 20 až 25 ns. Není nutno provádět REFRESH a procesor nemusí zařazovat tzv. čekací cykly. Základní filozofie je založena na rychlém přístupu k datům. Předpokládá se, že data, která potřeboval v minulém cyklu, bude využívat i v následujícím čase. Podle tohoto předpokladu jsou data do paměti CACHE přemísťována (načítána). O jejich pohybu v paměti CACHE jsou vedeny informace v řadiči CACHE. Tato filozofie předpokládá asi 90 % úspěšných zásahů v CACHE. 3. Procesorová Je umístěna přímo v procesoru, na čipu je implementován také řadič CACHE. Je nejrychlejší, jelikož data nejsou přenášena po pomalé vnější sběrnici mezi procesorem a pamětí, ale přímo po vnitřní sběrnici procesoru, např. procesor 486 má CACHE o velikosti 8 kB. Z praxe procesor 486 SX o 25 MHz je rychlejší než 386 s 33 MHz. Typické je to rozpoznat např. u WINDOWS, které používají pevný disk jako rozšíření hlavní paměti. 90 až 95 % zisku rychlosti procesoru se dosáhne prvními 64 kB externí CACHE. U víceúčelových systémů např. NOVELL, UNIX je nutné alespoň 512 kB externí CACHE. ad1) Snížení počtu I/O diskových operací: Jedná se omezení pomalých diskových operací tím, že se vytvoří v operační paměti vyrovnávací paměť pro tyto operace. Uvedením v config.sys položky BUFFER se nainstaluje vyrovnávací paměť, která je využita pro operace s diskem. Lépe se vytvoří BUFFER pomocí ovladače SMARTDRV.SYS. Výhody oproti DOS BUFFERům: může vytvořit BUFFER do velikosti 8 MB, má dynamickou úpravu (může měnit svou velikost). Instalace: DEVICE=C:\DOS\SMARTDRV.SYS velikost velikost se uvádí v kB, např. 2048 (2MB)

RAM disky Jsou simulované disky, vytvořené v paměti RAM. Disk má vlastní znak pro přístup na disk. Rozdíl oproti pevným diskům je v tom, že informace se ukládají dočasně (při vypnutí počítače se informace ztratí).

Paměti
• • • lokální operační velkokapacitní

Lokální pamětí jsou součástí mikroprocesorů a jsou to střadače, registry, cache. Operační paměti jsou tvořeny většinou z polovodičových pamětí různých velikostí. Velkokapacitní paměti představují většinou různé typy disků.

1. Dynamická RAM Základní princip:

Dynamická paměť RAM je založena na fyzikálním principu nabíjení kondenzátoru. Takto vzniklý potenciál, který je ekvivalentní napětí, odpovídá logické 0 nebo 1. Jelikož vlivem svodů (svodový odpor) je tento potenciál vybíjen, je nutno tuto operaci v paměťové buňce obnovovat (refresh). Obnova probíhá tak, že jsou paralelně sejmuty obsahy paměťových buněk na řádku, v budiči zesíleny a opět zapsány na původní místo. Rychlost obnovy paměťových míst je několik setkrát za sekundu. Tyto paměti jsou levnější než statické. V současné době máme dva typy SIMM a SIPP. Přístupová doba SIMM 60-70ns. Použití : operační paměti 2. Statická RAM

Jednotlivé paměťové buňky bývají uspořádány do matice, jejich výběr je prováděn přes řádkové a sloupcové vodiče. Paměť je tvořena klopným obvodem se dvěma stavy. Přes výběr řádků je zapsaná informace připojena na datové vodiče. Adresace paměťové matice je zajišťována přes dekodér řádku a dekodér sloupců. Data jsou v budících obvodech a přivedená na datovou sběrnici. Součet řádkových a sloupcových vodičů udává šířku adresového slova. Není nutná obnova informace jako u DRAM. Přístupové doby jsou 15-35 ns. Použití: pro rychlé paměti cache 3. Paměť ROM Určená jen pro čtení, většinou se programuje přímo u výrobce, nedá se přeprogramovat, je energeticky nezávislá. Použití: pro BIOS, pevné paměti atd. 4. Paměť PROM Programovatelná, energeticky nezávislá. Programuje se na speciálním zařízení programátora a princip je v destrukci vodivých cest, tzn., že je propálená propojka výstupního obvodu. 5. Paměť EPROM Je programovatelná ultrafialovým zářením, dá se přeprogramovat. 6. Paměť EEPROM

Dá se mazat a programovat elektrickým proudem, oproti EPROM je doba programování řádově v ms. V počítači s PENTIEM je tzv. flash EPROM, kdy může uživatel disketou u výrobce.

Pevné disky
Využívají principu magnetizace materiálu a pracují se dvěma stavy informace - 0, 1.

Princip zápisu:

Cívka, kterou prochází proud, vytváří magnetické pole, které je vedeno přes jádro zapisovací hlavy v magnetické vrstvě. V místě štěrbiny prochází magnetické pole na materiál, magnetizuje ho. Směr magnetizace závisí na směru zápisového proudu. Velikost zmagnetování závisí na šířce štěrbiny.

Princip čtení:

Je založeno na principu elektromagnetické indukce. Na vývodech cívky, která se nachází v magnetickém poli, lze naměřit napětí vždy ve chvíli, kdy se toto pole mění. Tzn. při přechodu 0 na 1 a z 1 na 0 se indukuje v cívce napětí. Z tohoto napětí se získává (odvozuje) zapsaná informace.

Pamě?ové médium se skládá z nosné části (disk) a z citlivé vrstvy (oxid kovu). Disková jednotka je zařízení, které umožňuje operačnímu systému využívat pamě?ové médium pro zápis a čtení. Skládá se: disk s vrstvou citlivého materiálu, synchronní motorek, vystavovací mechanismus, čtecí a záznamové hlavy. Hlavičky jsou

přemís?ovány pomocí motorku nad definovaná místa nad diskem. Pro vystavení se používají dva různé mechanismy: - krokové motorky - systém nemá naváděcí mechanismus, má jen indikátor stopy 0. Při vyhledávání najede nejprve na stopu 0 a pak krok po kroku k vyhledávané stopě. - lineární motorek - je používanější, rychlý a přemís?uje hlavy na základě informací, které jsou uvedeny na pevném disku.

Základní pojmy: Cylindr je souhrn všech stop daného čísla na všech površích. Sektor je oblast disku vytvořená při fyzickém formátování. Stopa - každá strana je rozdělena do soustředných stop. IBM formát pro sektor má velikost 512 B.

DOS organizuje data po sektorech. Disky jsou rozděleny do absolutních sektorů a sektory jsou spojovány do clusteru (alokační jednotky pamě?ového prostoru).

1.Master Boot Record - obsahuje informace o rozdělení disku, zaváděcí instrukce, cylindry, které obsahují operační systém 2. FAT 3. Alokace 4. Soubor 6. Kořenový adresář

Položka, uvedena v adresáři se vztahuje k 1.clusteru daného souboru

Adresář: Jméno Přípona Atributy např. ZIDEK DAT žádné 5.11.95 3:20:25p 40,00 11271,00 Datum posl. změny Čas posl.změny 1.cluster Délka souboru

40,00 = ukazatel do tabulky FAT Tabulka FAT 39,00 40,00 41,00 43,00 44 45,00 68,00 69,00 Tabulka FAT obsahuje: číslo...............cluster EOF...............konec souboru BAD..............vadný sektor EOF 41,00 42,00 44,00 BAD 68,00 69,00 EOF

Prokládání disku: Při pravidelném rozdělení sektorů dochází k tomu, že je načten jeden sektor do BUFFERU řadiče disku. Provádí se kontrola správnosti přečtených dat (parita atd.). Při rychlosti otáčení 3600 až 7200 ot/min se nestihne čtení následujícího druhého sektoru, protože čtecí hlava je už nad dalším sektorem (muselo by se čekat až se celý disk znovu otočí, což by zpomalovalo čtení) Proto se používá posunuté rozložení tzv. prokládání např. 1 : 3, 1 : 6 atd. Data jsou zapisována do každého n-tého sektoru Příklad prokládání 1 : 6 Příklad prokládání 1 : 1

Některé řadiče disků používají prokládání 1:1. Čtení probíhá na principu, že do bufferu řadiče je načtena celá stopa (cylindr) a řadič pak data zpracuje. Tento systém se nazývá bufferizace stopy.

Přenosné počítače

1. Rozdělení portables - přenosné počítače závislé na napájení ze sítě laptops (počítače na klín) - napájení z baterií notebooks (zápisnikové počítače) - malá hmotnost závislá na vybavení (A4) palmtops (počítač do ruky) PCS - Pen Based - počítače bez klávesnice, ke styku uživatele s počítačem dochází dotykem elektronického pera na displej LCD 2. Kritéria výběru • • • • • • • rozměr, hmotnost čitelnost displeje v závislosti na maximálním kontrastu a rozlišovací schopnosti konstrukční provedení (odolnost proti nárazu atd.) provozuschopnost počítače na jedno nabití akumulátoru při provozu pevného disku softwarová kompatibilita a soft.vybavení výkonnost a rychlost prováděných instrukcí vybavení (modem, CD-ROM...)

3. Parametry přenosných počítačů • • • • • • • • • • typ procesoru (šířka datové sběrnice 16, 24, 32, 64 bitů) rychlost MIPS (udává v miliónech počet instrukcí, provedených za sekundu) kapacita operační paměti kapacita rozšiřující paměti (velikost rozšíření uvedené základní paměti) typ grafického adaptéru displej (úhlopříčka, rozlišovací rastr, LCD, odrazový, prosvícený, TFT, CRT, počet barev, analogový, digitální, ...) kapacita pevných disků počet I/O portů výkon napájecího zdroje hmotnost zařízení

4. Typy přenosných počítačů Laptop a notebook je označení pro přenosný počítač, který svým výkonem odpovídá zhruba výkonu stejného stolního počítače. Rozdíl v názvu je spíše marketinkový, nikdo nedokáže přesně určit kde je hranice mezi laptopen a notebookem. Obecně se označení laptop používá pro starší, větší přenosné počítače. V současné době se používá hlavně označení notebook. I zde však dochází k dalšímu dělení - kategorie subnotebook je počítač o něco menší a lehčí než je u notebooků obvyklé, ale za cenu kompromisů (např. menší display, neobsahuje CD-ROM...) Další kategorií jsou tzv. Palmtop počítače (i když označení se liší u každé firmy). Obecně se jedná o počítače do dlaně. V poslední době se rozšířila další kategorie postavená okolo operačního systému Microsoft WindowsCE (operační systém (OS) navržený speciálně pro přenosná a méně výkonná zařízení-velice podobný svému "většímu bratrovi" Windows 95/98). Počítače používající tento OS jsou buď Pen-based (tzn. nemají klávesnici a k ovládání se používá elektronické pero, s kterým se píše po obrazovce) nebo jsou to malé počítače i s klávesnicí připomínající větší organizéry. Tyto počítače jsou díky OS kompatibilní s MS Windows, existují i pro ně stejné verze programů, i když trochu upravené pro tyto počítače (Word, Excel...). Jejich největším konkurentem (a zatím úspěšnějším) je počítač PalmPilot se svým vlastním operačním systémem a dále organizer od firmy Psion (rovněž svůj vlastní operační systém). Laptopy a notebooky Charakteristický vzhled, v odklápěcím víku je vestavěn displej z tekutých krystalů (odrazový nebo se spodním nebo bočním prosvětlením). V zadní části je umístěna veškerá elektronika včetně disketové jednotky. Zabudovaný jepevný disk . Klávesnice je menší než je standardní klávesnice u stolního PC, v zadní části je umístěna baterie, příp. vyvedeny výstupy pro přídavné desky. Rozměry jsou zhruba jako formát papíru A4 (proto označení notebook = sešit), váha 1kg až 5 kg. Displej je jednou z nejdůležitějších částí.

Pasivní displeje jsou černobílé (při pohledu z boku obraz buď zmizí, nebo se přemění na inverzní). Barevné displeje (DSTN) se používají pro běžné programy, mají dobré zobrazení - užití pro kancelářské aplikace. Aktivní barevný displej (TFT) má vyšší kontrast obrazu a rychlejší zobrazování informací, má větší spotřebu a větší hmotnost. Principem je, že pro každý zobrazený bod jsou většinou využity tři tranzistory, které obsahují barevný filtr. Rozlišovací schopnost: 640x480 nebo 800x600 rozlišovacích bodů Procesory Intel 386 (dnes už pouze ve výprodejích) až po nejnovější z řady Pentium nebo AMD. Procesory jsou speciálně navržené pro notebooky, mají menší příkon. Pevný disk je relativně levnější část notebooku - 800 MB a pro složitější grafické programy je vyžadováno až 1,35 GB. Polohovací zařízení - ovládá kurzor (obdoba počítačové myši) • • • trackball - tzv. myš na zádech, ovládá kurzor pomocí kuličky 16, 19, 25 mm, nevýhoda - nabalování nečistot trackpoint - malý joystick touchpad - destička před klávesnicí - neobsahuje žádné mechanické prvky

Lze připojit i klasickou myš. Baterie • • • NiCd - až 500 nabíjecích cyklů (nevýhoda - pamě?ový efekt) NMH - niklmetalhydridové Lithioiontové - jsou nejlepší (nevýhoda - možnost poškození při přebíjení)

Notebook - 2 až 3 hodiny nepřetržitého provozu. Pamě?ový efekt - zdroj nelze nabít na maximální kapacitu, pokud není zcela vybit. Většinou se používají nízkopříkonové obvody CMOS (nejmenší energetická náročnost, spotřeba), napájecí napětí je v rozsahu 7 - 14 V. Power management - správa odběru elektrického proudu, schopnost notebooku optimálně nastavit časy, po jejichž uplynutí se uvedou do klidového stavu momentálně nevyužívané části. 5. Doplňková zařízení porty, zvuková karta, CD ROM, PCMCIA (PC card) - je standardní rozhraní pro připojení externích zařízení (faxmodem, sí?ová karta), které mají formát kreditních karet. Docking station - zařízení, do kterého se připojuje notebook (je vybaveno zdrojem a jsou k němu připojena všechna doplňková zařízení). Notebook se do tohoto zařízení zasadí a máme plnohodnotný stolní počítač, pokud jedeme někam na cestu, notebook zase vyjmeme a používáme jako notebook. Výhoda: data zůstávají na jednom místě, není potřeba je kopírovat z notebooku na stolní PC a obráceně. Penbased - PCS Jsou bezklávesnicové notebooky a lze je ovládat perem, dotýkajícím se displeje LCD. Pero funguje nejen jako ukazatel (myš), ale mohou se s ním psát na displej např. znaky, počítač je sejme, rozpozná a zobrazí na displeji standardní znaky. Obrazovka nemá žádné ukazovátko (kurzor) indikující, kde lze začít psát. Uživatel může začít psát a kreslit na displeji, kde chce. Z toho je odvozen i název - zápisnikové počítače. Rozměry jsou stejné jako u notebooku, ale hmotnost je výrazně menší.

Scannery
Požadavky na konfiguraci - 80486, 16 MB RAM, rychlý disk, z důvodu, že při skenování se převádí množství dat, např. při rozlišení 300x300 dpi formátu DIN A4 - 26 MB. Doba naskenování je čas od počátku skenování až po vytvoření obrazu na monitoru (v minutách). Barevná hloubka - většinou 24 bitů, pro každou barvu 8 bitů. Základní barvy: červená, modrá, zelená. Barevný skener umí pracovat i černobíle, lze převést do odstínu šedi.

Rozhraní - většinou paralelní nebo SCSI. Jelikož se požadavky někdy odlišují, řada výrobců dodává jako součást i hardwarové karty. Softwarové zabezpečení - každý skener má vlastní softwarový balík.

Princip: Obrazová předloha je po řádcích osvětlována a odražené světlo je vedeno přes optický systém k přijímači, který je tvořen senzory, nebo prvky na bázi fotobuněk. Přijímač pak převádí obrazovou informaci na digitální signál a posílá ji dále počítači. CCD - Change Coupled Device (řádkový postup) Přijímač je složen ze stovek fotobuněk. Elektrický signál je úměrný síle světla, které dopadá na buňku. Signál, který odpovídá jednom pixelu v obraze, je přeměněn na binární číslo. Tmavá místa, která reflektují méně světla, obdrží nízká čísla, opačně pak světlá místa. Standardem je CCD s 256 stupni šedi, nebo stupni světlosti. Pro rozlišení 300x300 dpi na předloze DIN A4 jsou potřebné řádky CCD asi s 2600 prvky. U dražších skenerů (bubnových) se používají fotonásobiče. Jako zdroj světla se většinou používají zářivky. Senzory jsou u černobílých i barevných stejně. U barevných je obrazová předloha snímána třemi různými barvami. Ze tří dílčích skenů pak vznikne výsledný obraz. U stolních: • • 3 pass postup 1 pass postup

3 pass postup - celá plocha je nasnímána 3x s různými barevnými filtry. Tzv. true color skenery registrují při každém průchodu 8 datových bitů na pixel, tzn. barevná hloubka 24 bitů, zobrazení 16,7 mil. barev.

1 pass postup - je rychlejší, předloha je snímána po řádcích všemi třemi barvami, touto metodou pracují vtahovací skenery. HP používá 3 přijímače CCD a každým z nich je snímána informace pro jednu určitou barvu, přičemž obraz je osvětlován dvěma bílými zářivkami a reflektované světlo se dostává k senzorům před dva filtry.

Tiskárny
Požadavky: • • • • kvalita tisku rychlost tisku podpora české národní sady cena

Rozdělení podle principu tisku • • impact printers (přítlak raznice nebo jehliček na pásku) non - impact printers

Impaktní tiskárny Nejrozšířenější jsou jehličkové tiskárny. Jehličkové tiskárny Výhody: jednoduchost obsluhy, nízká cena. Princip: v tiskové hlavě jsou umístěny jehličky s elektromagnety. Ty jsou propojeny s elektronikou plochým kabelem. Z řídící elektroniky jsou přiváděny proudové impulzy, kterými jsou vystřelovány jehličky na základě tvaru tištěného znaku. V daný okamžik jsou přitlačeny k barvící pásce a za ní se nacházejícímu papíru. V současné době se používají vícejehličkové (9 - 24) - každé lince v rastru přísluší vždy jedna jehla. Znak je vytvářen pohybem hlavy zprava doleva v krocích, které odpovídají vždy jednomu sloupci v rastru. Některé pracují i s obousměrným tiskem. Platí, že kvalita tisku je tím větší, čím více jehliček je obsaženo v matici. Výšky znaků, vytvořené 9 a 24jehličkových tiskáren jsou stejné, 24jehličková hlava používá na znak více teček. Proto vytváří více kvalitní obraz. Neimpaktní tiskárny Laserové tiskárny

Princip: vychází se z technologie elektrostatického kopírování. Na začátku si tiskárna vezme list papíru z podavače a papír se nejprve pokryje elektrostatickým nábojem. Na tiskový buben se přivádí vysoké napětí (6 kV). Laser prochází po fotocitlivém válci a umisťuje na něj přesné signály, které odpovídají tištěným znakům. To je jediná funkce laseru, jinak nepřijde s papírem do styku. Až laser uloží signály na válec, tiskárna vypustí toner, který se přitáhne k nabitým oblastem válce a vytvoří tištěné znaky. Papír, který je nabit na opačnou polaritu, se vsune pod válec a toner se přenese na papír. Papír pak projde závěrečnou fází, ve které lampy o vysoké intenzitě trvale spojí toner s papírem. Náboj je přenášen pomocí velmi tenkého drátu - koronační drát. Dělení laserových tiskáren: • • • podle rozlišení: 300 dpi a více podle rychlosti: 4,5 str./min. a více podle velikosti paměti: 0,5 MB a více

Testování: systémový autotest po zapnutí, testuje se: ROM s programy, ROM s vestavěnými fonty, rozhraní tiskárny, led diody. Tryskové tiskárny Kvalitou tisku se tyto tiskárny blíží laserovým tiskárnám. Princip: tiskárna vytváří znaky na papíru kapkami inkoustu, které vyletují z jemných trysek uspořádaných v tryskové hlavě. Uspořádání je sloupcové a barvivo je stříkáno ze zásobníku, který je umístěn za nimi. Soustava je tvořena systémem piezokeramických trubek, které jsou schopny stříkat 80 tis. kapek/sec. Soustava trubek je přímo spojená se zásobníkem barviva, který u hlavice s 24 trubičkami postačí pro vytisknutí asi 3 mil. znaků. Proti zaschnutí inkoustu je čelo trysek vybaveno vzduchotěsným uzávěrem. Uzávěr se otevírá automaticky před započetím tisku a uzavírá po skončení. Pro případ, že se některá tryska zanese, jsou některé tiskárny vybaveny speciální rutinou, která po stisknutí určitých ovládacích tlačítek pročistí zanesené trubky tlakem inkoustu. Princip stříkání kapek je takový, že elektrický impuls přivedený na odporový tepelný článek způsobí ohřátí v určitém místě trubičky, tímto ohřátím dochází k odpaření inkoustu ve formě bublinek. Ty vyvolají tlak, jenž vytlačí kapičku inkoustu z trysky na papír. Po skončení impulsu se teplo ztrácí a bublinky se smršťují, tím vzniká podtlak, který způsobí nasátí nového inkoustu do trubičky. Kompletní konstrukce hlavy je jednoduchá a hlavice se vyrábí spolu se zásobníkem jako jeden celek. Tryskové tiskárny Kvalitou tisku se tyto tiskárny blíží laserovým tiskárnám. Princip: Tiskárna vytváří znaky na papíru kapkami inkoustu, které vyletují z jemných trysek uspořádaných v tryskové hlavě. Uspořádání je sloupcové a barvivo je stříkáno ze zásobníku, který je umístěn za nimi. Soustava je tvořena systémem piezokeramických trubek, které jsou schopny stříkat 80 tis. kapek/sec. Soustava trubek je přímo spojená se zásobníkem barviva, který u hlavice s 24 trubičkami postačí pro vytisknutí asi 3 mil. znaku. Proti zaschnutí inkoustu je čelo trysek vybaveno vzduchotěsným uzávěrem. Uzávěr se otevírá automaticky před započetím tisku a uzavírá po skončení. Pro případ, že se některá tryska zanese, jsou některé tiskárny vybaveny speciální rutinou, která po stisknutí určitých ovládacích tlačítek pročistí zanesené trubky tlakem inkoustu. Princip stříkání kapek je takový, že elektrický impuls přivedený na odporový tepelný článek způsobí ohřátí v určitém místě trubičky, tímto ohřátím dochází k odpaření inkoustu ve formě bublinek. Ty vyvolají tlak, jenž vytlačí kapičku inkoustu z trysky na papír. Po skončení impulsu se teplo ztrácí a bublinky se smršťují, tím vzniká podtlak, který způsobí nasátí nového inkoustu do trubičky. Kompletní konstrukce hlavy je jednoduchá a hlavice se vyrábí spolu se zásobníkem jako jeden celek.

Barevné tiskárny Barva (barevné světlo) je elektromagnetické vlnění o vlnové délce mezi 60 až 700 nm. Např. vlnová délka kolem 400 nm odpovídá fialové barvě, 500 nm zelené apod. Realizace záření na těchto vlnových dékách: • • přímý zdroj záření odrazem - bílé světlo (žárovka) dopadá na povrch a je odraženo. Odrazí se právě ta část spektra, která odpovídá barvě předmětu.

Používají se dvě metody:

1. aditivní (monitory)
2. substraktivní (tiskárny) Principem je interakce tří primárních substraktivních barev - azurová, purpurová a žlutá (cyan, magenta, yellow). Příslušný odstín se získá překrytím těchto barev v tiskovém bodě. Překrytím se získá 8 základních barev: azurová, purpurová, žlutá, modrá, červená, zelená, bílá, černá. Pokud tam není žádná ze základních barev, dostaneme bílou. Pokud jsou všechny tři, dostaneme černou. Princip překrytí - je označován jako CMY. Mnoho tiskáren obsahuje ještě separátní černou barvu, principem překrytí je pak CMYK. Parametry: • • • dpi, počet vytištěných bodů na palec, pro kvalitní tiskárny 300 dpi a více lpi, počet tiskových řádek na palec počet barev - kolik barevných odstínu je tiskárna schopna zpracovat.

Přenos barevného bodu na papír: Jehličkové - kromě standardní černé pásky obsahuje ještě čtyřbarevnou (CMYK). Kromě základních barev lze odstínu dosáhnout překrytím základních barev. Výsledný obraz vzniká po řádcích, kdy při jednom projetí hlavy je nanášena jedna barva. Nevýhoda: malá rychlost a ulpívání (zanechávání) barev na jehličkách. Inkoustové - tisk vzniká vystříknutím kapky Pro tisk se používají dvě technologie: • • INJEKT (piezoelektrická) BUBBLEJET (odpařovací)

INJEKT Principem je řízená změna objemu piezoelektrického krystalu. Když dojde elektrický impuls na destičku krystalu, jeho přední strana se vymrští dopředu a protlačí tryskou inskoust. BUBBLEJET

Tisková hlava je vybavena komůrkami pro inkoust a příslušnými topnými tělísky. Tělísko je prudce ohřáto a v komůrce nad ním, která je naplněna inkoustem příslušné barvy, vznikne bublinka, přetlak, a inkoust se vytlačí. Kvalitní tisk je jen na kvalitním papíře (rozpíjení). Voskové tiskárny Tepelný přenos vosku.

Nejrozšířenější tiskárny s profesionálními nároky. Barvonosným médiem je fólie z umělé hmoty, na které jsou za sebou v barevných plochách naneseny buď tři barvy CMY nebo čtyři barvy CMYK. Princip: papír se přesně zachytí v bubnu, který se pomalu otáčí. Přes takto upnutý papír přejíždí barvonosná fólie, ze které se přenáší barvivo (barevný vosk) v bodech, kde se má tisknout. Tisk je 3 nebo 4 průchodový. Při každém průchodu (jedna otáčka bubnu) se přenáší jedna základní barva. Tisková hlava je tvořena topnými keramickými tělísky v jedné řadě (asi 300 na palec). Barvonosný vosk se roztaví a přenese na papír. Tělísko přenese v daném tiskovém bodě buď více nebo 100 % primární barvy. Celé barevné spektrum, tzn. vytvoření libovolného barevného tónu se provádí tak, že v matici tiskových bodů, např. 5x5 se vyplňují některé jejich body jednou ze čtyř základních barev (tzv. modifikace rastru, nebo polotónování). Laserové barevné tiskárny Používá se standardní postup, toner je tvořen jemnými zrnky barvy a obsahuje čtyři barevné náplně CMYK. Na válec se vypálí obraz vždy jedné barevné složky, kde k nabitým místům se přichytí částečky barevného toneru a obraz se přenese na papír. Sublimace barev Jsou nejkvalitnější barevné tiskárny. Přincip je obdobný jako u voskových, médiem je fólie, která nese 3 nebo 4 barvy, ale jejich chemické složení je jiné. Barvy mají tu vlastnost, že při zahřátí se uvolňuje barvonosný plyn v množství, které je přímo úměrné teplotě. Tzn., že lze přenést libovolné zastoupení barevné složky do tiskového bodu. Barevné plotry Obvykle realizují 8 nebo 12 barev a obsahují sestavu per, naplněných inkoustem. Nedovedou tvořit barevné odstíny. Fonty (písma) na tiskárnách Parametry: • • • typ (Courier, ...) řez (tučné, šikmé, ...) velikost

Fonty mohou být: • • vnitřní - jsou implementovány přímo v tiskárně (deska řídící elektroniky - ROM, PROM) nahraditelné - na disketách v souboru, zavádí se do paměti tiskárny

Tisk na síťových tiskárnách: Řádkové příkazy: • • • NPRINT (tisk do souboru) CAPTURE (přesměrovává port na síť) ENDCAP (zruší CAPTURE)

PSC

Menu příkazy • • • PCONSOLE PRINTCON PRINTDEF

Hlavní pojmy: Sdílená tiskárna - tiskárna připojena k serveru, na níž lze tisknout z jiných stanic Tiskový server - je program běžící na serveru (.NLM modul) nebo vyčleněné stanici (EXE soubor), může obsluhovat jednu až šestnáct tiskáren Tiskové fronty - jsou fronty tiskových úloh na serveru, může být libovolný počet tiskových front, zakládá je supervizor pomocí PCONSOLE Jméno tiskové fronty - je znakový řetězec, jednoznačně identifikující tiskové fronty v rámci jednoho serveru Tisková úloha - obsahuje kopii souboru, který se má vytisknout a požadavky na způsob vytisknutí (počet kopií, jméno formuláře). Zadává se přes NPRINT, CAPTURE a PCONSOLE. BANNER je úvodní identifikační stránka z výstupu tiskové úlohy, obsahuje: jméno uživatele, číslo spojení stanice, ze které byla úloha zadání se serverem , jméno tištěného souboru, jméno adresáře, jméno tiskové fronty, jméno tiskového serveru, který provedl tisk, datum a čas tisku. Konfigurace tiskové úlohy - definuje se v PRINCON. Formulář - definuje se v PRINTDEF, přiřazuje se mu jméno a číslo. Tisk v síti je založen na vytváření tiskových front (queue), které jsou tvořeny na serveru jako mezisklad požadavků uživatelů. NPRINT název souboru PRINT Q_O Na serveru adresář PRINT Q_O Supervizor musí: • • • vytvořit fronty provést konfiguraci PRINT serveru provést aktivaci PRINT serveru

Typy uživatelů: Operátor tiskového serveru - má právo ovládat tiskový server, fronty, formuláře tiskáren atd. Operátor tiskové fronty - má právo ovládat tiskovou frontu, měnit pořadí úloh, zastavovat frontu Uživatel tiskové fronty - smí posílat do fronty nebo v ní rušit své tiskové úlohy Připojení tiskáren: • • paralelní sériové

Paralelní rozhraní- používají na napětí a na jiné sledy signálů pro navazování spojení. Při použití sériového rozhraní je nutno nastavit správné přenosové (komunikační) parametry. • • • • Rychlost (1.200, 1.400, 2.800, 9.600 atd.). Parita (sudá, lichá, žádná). Počet datových bitů (7 nebo 8). Počet stopbitů (1 nebo 2).

Parametry jsou v příručce o technické obsluze tiskárny. C:\MODE COM 1:9600,N,8,1,P MODE LPT 1=COM 1

První příkaz nastavuje sériový port na stejné hodnoty jako má tiskárna. Druhý příkaz sdělí DOSu, že jeho tiskové zařízení je na prvním sériovém portu a ne na paralelním (autoexec.bat).

ÚVOD DO ASP
Technologie Active Server Pages (ASP) se na Internetu stala běžným pojmem, i přestože se dá říci, že je docela nová. Poskytuje efektivní dynamické generování stránek, dokázala zčásti vytlačit i takové technologie jako CGI a PHP. V tomto článku se dozvíte něco do úvodu o programování ASP Na Internetu jste se již určitě setkali s dokumentem, který měl příponu ASP. Pro koncového uživatele se soubor jeví jako obyčejné HTML. Jak je to ale na straně serveru? ASP je skript, který dynamicky generuje dokument formátu HTML. Obsah výsledného dokumentu je závislý na mnoha věcech. Může to být například: • • zadaná data do formuláře a posléze poslaná skriptu aktuální datum, čas... (hlášení typu Dobré ráno, Dobré odpoledne)

Každý dokument se generuje individuálně. Tzn. odkáže-li se uživatel na dokument s příponou ASP, je dokument nejprve vygenerován a teprve poté poslán uživateli. Nyní si ukážeme, jak takový ASP skript pracuje. Nejprve si prohlédněte toto jednoduché schéma, abyste měli představu o průběhu vytváření výsledného dokumentu:

Toto schéma je příkladem funkce skriptu, který generuje uvítací zprávu pro návštěvníky stránky v závislosti na aktuální čas (na serveru). Hlavní výhodou skriptu je to, že jeho obsahem je HTML dokument, do něhož jsou pouze vloženy příkazy pro generování proměnných částí stránky. Skript ASP najde využití hlavně při práci s databázemi. V praxi to může vypadat tak, že uživatel do formuláře ve svém prohlížeči zadá hledaný výraz. Obsah fomuláře se odešle skriptu, ten prohledá databázi a vygeneruje výsledný dokument HTML, který obsahuje výsledek hledání. Pro tvůrce WWW stránek je však důležité promyslet si, pro co využít obyčejného HTML dokumentu a pro co nasadit ASP skript. Každé otevírání dokumentu ASP totiž může hodně zatěžovat server, který musí vykonávat příkazy pro generování dokumentu. Mnoho příkazů se může přenést prohlížeči k uživateli např. v podobě JavaScriptu, který může sám vykonat již zmíněný příklad (viz. schéma výše). Dále je nutno optimalizovat kód skriptu, tedy stažit se vytvořit skript co nejrychlejší, aby byl server co nejméně zatížen. Za výhodu ASP lze považovat i volnost při výběru skriptovacího jazyka. ASP lze totiž programovat prakticky v jakémkoliv programovacím jazyku, server ho však musí ovládat. Standartně se používa jazyk VisualBasicScript (zkráceně VBScript), který se jen nepatrně odlišuje od programování ve Visual Basicu (umíte-li Visual Basic a HTML, nebude to vůbec těžké vytvořit ASP skript), dále je to JScript, který je obdobou JavaScriptu. Jak se v ASP odlišuje HTML od skriptovacích příkazů? Příkazy se uzavírají mezi znaky <% a %>. A zde si ukážeme příklad, jak vypadá vnitřek originálního, ještě serverem nezpracovaného, ASP souboru. Příkaz response.write slouží k výpisu následující proměnné nebo výrazu a funkce Now vrací aktuální datum a čas na serveru. Dnešní datum a čas je <% response.write Now() %> V tomto příkladu se nezávisle na skutečnostech do výsledného dokumentu vygeneruje text "Dnešní datum a čas je" a dále následuje obsah proměnné Now(). U uživatele tedy může přijmutý dokument vypadat takto: Dnešní datum a čas je 28/06/1999 15:47:36

Dalším příkladem si ukážeme, jak by mohl vypadat skript, který vykonává příkazy uvedené ve schématu. Musíme ještě uvést, že příkaz Dim vytváří novou proměnnou, funkce Hour vrací hodinu z proměnné času. Příkaz If slouží k vykonání příkazů, je-li slněna podmínka. Struktura příkazu If: If podmínka then příkazy při splněné podmínce ElseIf podmínka 2 then příkazy při nesplněné předchozí podmínce a splněné podmínce 2 Else příkazy pří žádné nesplněné podmínce End If Teď jste se seznámili s některými příkazy a funkcemi a nyní již ke slíbenému příkladu: Růžičkova stránka o růžích <% Dim Hodina Hodina = Hour(Now) If Hodina >= 8 And Hodina <= 18 Then %> Dobrý den <% ElseIf Hodina >= 18 And Hodina <= 21 then%> Dobrý večer <% Else %> Dobrou noc. Ještě nespíte? <% End If %> Opět nás někdy navštivte, nashledanou. Bude-li 10 hodin, zobrazí se vám tato stránka: Růžičkova stránka o růžích Dobrý den Opět nás někdy navštivte, nashledanou. Užití ASP je samozřejmě velice široké, protože široké jsou schopnosti skriptovacích jazyků. Lze využívat funkcí systrémových knihoven, ActiveX objektů a dalších programů, pracovat s databázemi a dalšími soubory. Zde jsou obecné příklady využití: • • • • • • vypisování hlášek v závisloti na datumu a čase výpis položek databáze podle zadaných kritérií posílání registračních informací a jejich následné automatické zpracování odpovídač na různé dotazy hledání souborů, HTML dokumentů posílaní vzkazů

Toto je pro začátek k úvodu do ASP skriptu pro začátečníky. Máte-li jakékoliv dotazy, napiště, abych věděl, o čem mám psát v dalším díle. ASP A FORMULÁŘE Jediným způsobem, jak pro potřeby skriptu ASP získat od uživatele konkrétní data je odeslat je pomocí formuláře tomuto skriptu. Skript však musí umět tyto informace zpracovat. Jak na to, se dozvíte v tomto článku na praktické ukázce. Už jste asi viděli mnoho formulářů, které po vyplnění odeslaly vámi zadaná data na server a poté se objevila odpověď či vyhodnocení vašich údajů. V tomto článku najdete popis, jak na to jednoduše a rychle. K otestování výsledku vámi vytvořených formulářů a skriptů však budete potřebovat server, protože zde použité ASP skripty v jazyku VBScript potřebují ke své práci Web Server. K tomu účelu může samozřejmě posloužit Microsoft Personal Web Server, který je nabízen zdarma.

ASP (Active Server Pages) jsou skripty, které obsahují kód buď VBScript, nebo JavaScript. Slouží ke zpracování, vyhodnocení a výpisu výsledků dle toho, co jim bylo zadáno. K předání zadaných informací slouží dvě metody. Za prvé metoda GET, která informace předá jako parametry. Příklad: http://www.server.cz/delej.asp?parametr1=hodnotax&parametr2=hodnotay V tomto případě budou ASP předány parametry parametr1 (s hodnotou "hodnotax") a parametr2 (s hodnotou "hodnotay") Druhá metoda se nazývá POST - údaje jsou předány přímo. Popis užití a příklady budou popisovány s metodou GET a v jazyce VBScript. Nejprve založíme formulář, např. takto vypadající:

Zde je jeho zdrojový kód: <form METHOD="GET" ACTION="Doit.asp"> <p><select name="action" size="1"> <option value="1">Převod na velká písmena</option> <option value="2">Převod na malá písmena</option> </select><input name="data" value="Text" size="33"><input TYPE="submit" VALUE="Převést"></p> </form> Tato řádka popisuje, že při odeslání formuláře (tlačítkem Převést) bude použita metoda GET a data budou poslána souboru Doit.asp: <form METHOD="GET" ACTION="Doit.asp"> Popis základních funkcí jazyka VBScript použitých v tomto příkladě: Dim IsNumeric UCase LCase Request.QueryString(parametr) Zde je zdrojový kód souboru DOIT.ASP <% @Language="VBScript"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Výsledek dotazu</title> </head> <body> <% Dim Req, Act, Nazev, Dat,x Act = Request.QueryString("action") Dat = Request.QueryString("data") If not IsNumeric(Act) Then %> <p>Chyba: Parametr Action musí být číselná hodnota!<%Else If Act = 1 Then založení promněnné zjišťuje, zda promněnná obsahuje numerickou hodnotu převod na velká písmena převod na malá písmena vrátí hodnotu parameru předaného metodou GET

Req = UCase(Dat) Nazev = "Převod textu na velká písmena (funkce UCase)" ElseIf Act = 2 Then Req = LCase(Dat) Nazev = "Převod textu na malá písmena (funkce LCase)" Else%> </p> <p>Chyba: Tuto akci skript nepodporuje (<%=Act%>)<% End If If Act > 0 And Act < 3 Then %></p> <table border="1" width="391"> <tr> <td width="85">Akce:</td> <td width="294"><% =Nazev %> </td> </tr> <tr> <td width="85">Původní text:</td> <td width="294"><% =Request.QueryString("data") %> </td> </tr> <tr> <td width="85">Výsledek:</td> <td width="294"><% =Req %> </td> </tr> </table> <% End If End If %> </body> </html> Tento ASP skript provede zvolenou operaci a vrátí vygenerovanou hodnotu. Převede text na malá či velká písmena. Příklad výsledku dotazu: Akce: Původní text: Výsledek: Převod textu na malá písmena (funkce LCase) Text převáděný na MALÁ PÍSMENA text převáděný na malá písmena

Funkční formulář i s vyhodnocením můžete najít na hlavní stránce o ASP.

ASSEMBLER - jazyk symbolických adres
Program je tvořen dvěma druhy klíčových slov: • • direktivami instrukcemi.

Direktivy nevytvářejí kód programu, ale řídí činnost překladače. Instrukce jsou symbolickým zápisem strojových instrukcí procesoru. Syntaxe zápisu instrukce:

návěští instrukce cíl, zdroj ; komentář Návěští je symbolické jméno, které označuje offset v daném segmentu. Návěští: blízká (NEAR) vzdálená (FAR) Blízká návěští představují pouze offsetovou část adresy. Používají se v případě, že se na návěští odkazujeme v rámci segmentu, ve kterém je definováno. Identifikátor blízkého návěští se od instrukce odděluje dvojtečkou. Vzdálená návěští představují kompletní adresu. Pro definici vzdáleného návěští se používá direktiva LABEL. Cíl a zdroj jsou operandy instrukce. Operandem může být registr, konstanta, paměťové místo. Komentář je libovolný text, oddělený od instrukce středníkem. Direktivy nemají přesnou syntaxi zápisu. Pro označení proměnných, návěští, konstant se používají symbolická jména - identifikátory. V assembleru je identifikátor libovolné slovo složené ze znaků: $, % , - , ?, A...Z, a...z, 09. Identifikátor nesmí začínat číslicí a nelze pro ně použít rezervovaná slova. Malá a velká písmena se v assembleru nerozeznávají. Paměť je rozdělena na segmenty o velikosti 64 kB. Každý segment je určen segmentovou adresou, která je uložena v některém ze segmentových registrů. Velikost adresy je 16 bitů. Posunutí v segmentu je relativní adresa, vzhledem k jeho počátku, určuje offset. Instrukce programu leží vždy v segmentu označeném registrem CS. Direktiva MODEL umožnuje automatické definování segmentů a jejich vlastností. Syntaxe: MODEL paměťový model Paměťový model blíže určuje jedno ze slov, slovo určuje velikost programu.: • • • • • • • • • TINY SMALL MEDIUM COMPACT LARGE HUGE THUGE TPASCAL FLAT

např. MODEL TINY Všechny segmenty začínají na stejné adrese a velikost programu nesmí překročit 64 kB, tj. jeden segment. Tento model je nutno používat pro programy typu .com. Šablona pro psaní programu typu .com: IDEAL; zvolení režimu překladače MODEL tiny; určení velikosti programu DATASEG; označení datového segmentu CODESEG; STARTUPCODE; <zde bude umístěn kód programu> EXITCODE; ukončení programu END • • • • • IDEAL - zvolení režimu překladače. STARTUPCODE - direktiva pro označení začátku programu. Zajistí naplnění segmentových registrů. CODESEG - označuje segment, ve kterém je umístěn kód programu. DATASEG - označení datového segmentu. EXITCODE - ukončení programu a návrat do operačního systému.

DATA Pro definici dat je syntaxe: [jméno] direktiva [výraz [, výraz...]]

Jméno je identifikátor, který označuje paměťové místo, je to ukazatel na místo v daném segmentu. Obsahuje adresu a instrukce o velikosti dat. Velikost určuje direktiva: Direktiva Velikost DB DW DD DQ DF DP 1 byte 2 byte (slovo) dvojslovo (32 bitů) čtyřslovo (64 bitu) 6 bytů (80386 ukazatel FAR) 6 bytů (80386 ukazatel FAR)

DT 10 bytů (pro reálná čísla) Výraz: definuje obsah paměťového místa. V případě, že nechceme inicializovat, uvedeme ?. Když ano, uvedeme libovolnou číselnou hodnotu nebo výraz, který se vyhodnotí na číselnou hodnotu. U direktivy DW lze inicializaci provést pomocí řetězce znaků, uzavřeného v úvozovkách nebo apostrofech. Jednotlivé znaky se nahradí ascii hodnotami, kde se pro každý znak vytvoří místo o velikosti 1 B. Výrazy se vyhodnocují při překladu zdrojového textu. Základem výrazu jsou konstanty. Číselné konstanty se mohou zapisovat ve dvojkové, osmičkové, desítkové a šestnástkové soustavě. Číslo musí vždy začínat číslicí. Implicitní soustava je určena direktivou RADIX. Číslo v jiné než implicitní soustavě se napíše tak, že se za něj napíše základ (znak). RADIX Syntaxe: RADIX základ Základ - 2, 8, 10, 16. Soustava Znak Dvojková Osmieková Desítková Šestnáctková B O,Q D H

Postup při vytváření programu typu .com: 1. 3. Vytvoříme v některém z editorů soubor .asm. Příkazem TLINK jméno souboru / t vytvoříme soubor .com a spustíme.

2. Přeložíme příkazem TASM jméno souboru - vznikne soubor .obj (relativní program).

Větvení programu: Ve vyšších programovacích jazycích se provádí příkazy IF, GOTO, atd. U asembleru se větvení provádí pomocí instrukcí skoku. Instrukce skoku: podmíněné, nepodmíněné. Nepodmíněný skok Syntaxe: JMP [vzdálenost] cíl Cíl je návěští, na které chceme skočit, pokud skáčeme uvnitř segmentu, je vzdálenost NEAR, jinak FAR. Např. JMP NEAR Reet .. .. Reet: MOV DX, OFFSET BUFFER Podmíněný skok Syntaxe: J podmínka návěští Provádí se na základě nastavení jednotlivých bitů v registru příznaků. Návěští u podmíněného skoku musí být ve vzdálenosti -128 až +127 bytů od instrukce skoku. Podmínka určuje, kdy se skok provede. Před provedením instrukce podmíněného skoku je nutno nastavovat bity v příznakovém registru. Provádí se instrukcí CMP.

Např. CMP BL,2 JA ERROR .. .. ERROR:MOV DX,OFFSET MESSAGE MOV AH,09H INT21H

CMP Syntaxe: CMP cíl, zdroj Instrukce odečte zdroj od cíle a podle toho nastaví bity v příznakovém registru, obsah cíle ani zdroje se nemění. Cykly V assembleru se realizují pomocí instrukcí skoku. Pomocí JNZ je realizován cyklus DO - WHILE. Příklad: CODESEG .. návěští: <tělo cyklu> JNZ návěští Cyklus FOR (for i =1 to 10): MOV CX,1 LOOP1,<tělo cyklu> INC CX CMP CX,10 JNZ LOOP1 Jeden z registrů se použije jako čítač, který při každém průchodu dekrementuje nebo inkrementuje a před podmíněným skokem porovnáváme s nějakou hodnotou. Instrukční soubor 80386 NOP Syntaxe: NOP Prázdná instrukce, neprovádí nic, změní jen obsah čítače programu. INC Syntaxe: INC reg Instrukce přičte ke svému operandu jedničku a výsledek do něj opět uloží. DEC Syntaxe: DEC reg Instrukce odečte od svého operandu jedničku a výsledek do něj opět uloží. DIV Syntaxe: DIV oper Instrukce dělí celá čísla bez znaménka, má jen jeden operand, výsledkem dělení je dvojice čísel: celočíselný podíl, celočíselný zbytek. Velikost operandu Dělenec Dělitel Podíl Zbytek 8 bitů 16 bitů 32 bitů AX DX:AX operand AL AH operand AX DX

EDX:EAX operand EAX EDX

Např. při bytovém dělení je dělenec v registru AX, podíl v AL a zbytek v AH. Znamená to, že umístění dělence, podílů a zbytků závisí na velikosti operandů. Zásobník LIFO (Last In First Out)

Ukládají se přechodně: obsahy registrů, návratové adresy. Údaj naposled vložený do zásobníku zaujímá vždy nejnižší adresu. Zásobník je vymezená souvislá část paměti RAM. Nejnižší adresa je vrchol zásobníku. Adresa vrcholu zásobníku je obsažena v ukazateli SP. Údaje jsou do zásobníku vkládány v pořadí. Na vrcholu je vždy údaj, který byl vložen jako poslední. Zásobník se plní směrem k nižším adresám a vyprazdňuje směrem k vyšším adresám. Zvyšování nebo snižování obsahu provádí mikroprocesor při instrukcích, pracujících se zásobníkem. Vyjmutí ze zásobníku: POP Syntaxe: POP oper Instrukce vyjme slovo nebo dvojslovo ze zásobníku a uloží ho do operandu. Pak se k obsahu registru SP přičtou 2, pokud je vybíráno slovo nebo 4, pokud je vybíráno dvojslovo. Při vybírání ze zásobníku se adresa SP zvyšuje. Příklad: POP AX POP A Instrukce vybírá 8 základních registrů ze zásobníku: DI, SI, BP, SP, BX, DX, CX, AX. Lze ji nahradit osmi instrukcemi POP. Ukládání na zásobník: PUSH Syntaxe: PUSH oper Instrukce uloží obsah registru, paměti nebo přímo hodnotu na zásobník. Ukazatel vrcholu zásobníku ukazuje na naposledy uloženou položku. Nejprve se odečtou od obsahu registru SP 2 (ukládáme-li slovo) nebo 4 (ukládámeli dvojslovo), takže registr SP ukazuje na volné místo. Pak se zapíše obsah registru, paměti nebo konstanty. Při ukládání do zásobníku se adresa registru SP snižuje. PUSH A Instrukce ukládá 8 základních registrů do zásobníku: AX, CX, DX, BX, SP, BP, SI, DI. Po provedení této instrukce je obsah registru AX na nejvyšší adrese v zásobníku a DI je na nejnižší adrese v zásobníku. ADD Syntaxe: ADD oper1, oper2 Instrukce provádí součet dvou operandů. oper1 = oper1 + oper2 Např:

MOV AX,2 MOV BX,3 ADD AX,BX ; AX [5]

MOV Syntaxe: MOV oper1, oper2 Instrukce naplní operand oper1 operandem oper2, přitom oper2 zůstane beze změny. Např: MOV BX,4 MOV BX,AX

MUL Syntaxe: MUL oper1 Instrukce provádí násobení celých čísel bez znaménka. Velikost 1. činitel 2. činitel Součin 8,00 16,00 AL AX operand operand operand AX DX:AX EDX:EAX

32,00 EAX 1. oper1 je 1B

Oper1 se vynásobí registrem AL a výsledek se uloží do AX. Když je výsledek větší než 1B, nastaví se příznaky OF a CF, jinak se oba příznaky nulují. 2. oper1 je slovo Oper1 se vynásobí registrem AX a výsledek se uloží do DX a AX tak, že nižší část výsledku je v registru AX a vyšší v DX. Je-li výsledek větší, nastaví se OF a CF. 3. oper1 je dvojslovo Oper1 se vynásobí registrem EAX a výsledek se uloží do EDX a EAX tak, že nižší část výsledku je v registru EAX a vyšší v EDX.

SUB Syntaxe: SUB oper1, oper2 Instrukce provádí odčítání celých čísel. oper1 = oper1 - oper2 Logické instrukce AND Syntaxe: AND oper1, oper2 Instrukce provádí logický součin operandů podle vzorce. oper1 = oper1 AND oper2 Instrukce AND 1. bit 0 0 1 2. bit 0 1 0 Výsledný bit 0 0 0

1

1

1

NOT Syntaxe: NOT oper1 Instrukce provádí negaci všech bitů operandu oper1 tak, že bit s hodnotou 1 bude nulový a naopak. Příklad: NOT BX OR Syntaxe: OR oper1, oper2 Instrukce provádí logický součet operandů podle vzorce. oper1 = oper1 OR oper2 Instrukce OR 1. bit 0 0 1 1 2. bit 0 1 0 1 Výsledný bit 0 1 1 1

XOR Syntaxe: XOR oper1, oper2 Instrukce provádí neekvivalenci operandů podle vzorce. oper1 = oper1 XOR oper2 Instrukce XOR 1. bit 0 0 1 1 2. bit 0 1 0 1 Výsledný bit 0 1 1 0

Procedury Procedura je libovolná část kódu programu, která je ukončena instrukcí RET. Návěští označuje začátek procedury. CALL Syntaxe: CALL oper1 Instrukce provede vstup do podprogramu tak, že nejprve se na zásobník uloží návratová adresa a pak se provede skok do podprogramu. Návratová adresa: segment - vyšší část adresy, offset - nižší část adresy. V závislosti na tom, zda podprogram ve stejném segmentu jako hlavní program je i: NEAR - na zásobník se uloží jen offsetová část adresy. Podle typu volání je i instrukce RET: RETN, RETF. Instrukce RET způsobí návrat z procedury. RET Syntaxe: RET oper1 Oper1 udává, kolik bytů se odstraní ze zásobníku po vyjmutí návratové adresy. CODESEG .................. CALL NEAR PROC1 .................... PROC1: ;zde bude kód procedury RETN Schéma procedury v ASM

Volání direktivou PROC Schéma volání .. .. CODESEG .. .. CALL PROC2 .. PROC PROC2 ;zde budou instrukce procedury RET Při použití direktivy MODEL nemusíme specifikovat, zda je procedura blízká nebo vzdálená. Překladač vybere správný typ podle zadaného modelu. Předávání parametrů pomocí zásobníku: na zásobník se umístí předávané parametry instrukcí PUSH. Např: MOV AX,PARAM1 PUSH AX MOV AX PARAM2 PUSH AX CALL PROC2 Adresa Obsah SP SP + 2 Návratová adresa Parametr 2

SP + 4 Parametr 1 Po návratu z procedury je nutno hodnoty ze zásobníku vyjmout. Provádíme instrukci POP.

Bridge
Lokální pocítacové síte se v poslední dobe cím dál tím více zproneverují svému prívlastku "lokální"; jejich dosah se zacíná merit spíše na kilometry než na metry a pocet jejich uzlu se mnohdy místo na jednotky pocítá na desítky až stovky. Budování takovýchto sítí pak ale již zacíná narážet na ruzná technická omezení, vyplývající z použitého druhu kabeláže. O tom, jak je tomu pri použití koaxiálního kabelu, jsme se již zminovali v predchozích vydáních této rubriky - jakmile je treba propojit uzlové pocítace na vetší vzdálenost, než dovoluje jeden souvislý segment kabelu (tj. 500 metru u tzv. tlustého ci 185 metru u tzv. tenkého koaxiálního kabelu), nebo je třeba zapojit více stanic, než kolik je prípustné pripojit k jednomu segmentu (tj. 100 u tlustého a 30 u tenkého kabelu), je zapotrebí použít více kabelových segmentu. Ty je ovšem nutné mezi sebou vhodne propojit. Jak jsme si již také naznacili, takovéto propojení je vždy realizováno "krabickou", která ale muže fungovat více ruznými zpusoby. Minulý díl této rubriky jsme venovali jedné z možností, spocívající v prubežném zesilování signálu, prenášených jedním nebo druhým smerem, a v jejich nezbytné regeneraci. Šlo tedy o prípad, kdy zmínená "krabicka" funguje jako pouhý digitální zesilovac, který všechno, co "zaslechne" z jedné strany (tj. z jednoho kabelového segmentu), okamžite "zopakuje" druhé strane (druhému segmentu, resp. všem ostatním segmentum, které jsou na nej napojeny). Proto se takto fungujícímu zarízení ríká opakovac (repeater). Pokud bychom chteli opakovac zaradit do nekteré z vrstev, které se dnes u pocítacových sítí s tak velkou oblibou rozlišují, pak by nutne šlo o tu nejnižší z nich (oznacovanou jako fyzická). Opakovac totiž skutecne pracuje na nejnižší možné úrovni, na které rozlišuje pouze jednotlivé bity (resp. diskrétní stavy císlicových signálu), ale nijak nevnímá jejich význam. A práve to je jeho velkou výhodou i nevýhodou soucasne. Jelikož se opakovac nemusí zdržovat interpretací jím procházejících dat, muže být velmi rychlý - muže pracovat "v reálném case" a okamžite predávat z jedné strany na druhou skutecne vše, co kde zaslechne. To ale není zdaleka vždy výhodné. Predstavme si jednoduchý príklad: dva kabelové segmenty spojené opakovacem a ctyri uzlové pocítace A, B, C a D pripojené tak, že uzly A a B jsou na jednom segmentu a uzly C a D na druhém. Ted si predstavme, že uzel A práve komunikuje s uzlem B. Jelikož se oba tyto uzly nachází ve stejném segmentu, mohla by veškerá jejich komunikace zustávat pouze "uvnitr" tohoto segmentu a vubec by nemusela být prenášena i do druhého segmentu, kde navíc brání prípadné soubežné komunikaci uzlu C a D. Pokud jsou ale oba segmenty spojeny opakovacem, ten není schopen rozpoznat, co by mohlo zustat lokální,

a co nikoli, a proto musí prenášet z jednoho segmentu do druhého skutecne vše. Nevhodnost takovéhoto zpusobu fungování opakovace je v sítích typu Ethernet ješte umocnena podstatou jejich prístupové metody, která pripouští možnost tzv. kolizí (neboli situací, kdy více uzlu zacne vysílat najednou - viz CW 33/93). V ethernetovských sítích kolize opakovaci prochází, a šírí se tak z jednoho segmentu do všech ostatních (i když její prícina muže mít Lokální charakter). Pokud bychom chteli, aby "krabicka" mezi dvema kabelovými segmenty sama dokázala rozpoznat, co musí prenést z jedné strany na druhou, a co naopak nemusí, pak je treba ji vybavit urcitou mírou inteligence. Pokud tato inteligence stací práve na to, aby se "krabicka" dokázala sama rozhodnout, zda data mohou zustat lokální v urcitém segmentu (a pak s nimi jednoduše nic nedelat), nebo zda nikoli (a pak se zachovat jako opakovac a rozeslat je do všech ostatních segmentu), pak jde o tzv. bridge (cesky: most, nekdy též: mustek). Kdybychom tento požadavek ješte zprísnili a chteli, aby "krabicka" v tomto druhém prípade nerozesílala data do všech ostatních segmentu, ale vybrala z nich jen jeden (ten, který leží na ceste ke konecnému príjemci), pak by již šlo zase o jiný druh "krabicky" (o tzv. smerovac, o kterém si budeme povídat príšte). Most tedy ke své funkci potrebuje znát formát prenášených dat, a to alespon natolik, aby si z nich dokázal odvodit, kdo je jejich príjemcem a kdo odesilatelem. Krome toho pak potrebuje i informaci o tom, které uzly se nachází ve kterých segmentech. Tuto druhou skupinu informací muže most získat ruznými zpusoby. Jednou z možností je apriorní "vyplnení tabulky", kterou most ve vhodné forme dostane pri svém spuštení a podle které pak pracuje, aniž by ji sám jakkoli menil. To je jiste velmi robustní rešení, vhodné pro takové síte, jejichž konfigurace se mení jen zcela výjimecne. V praxi je ale toto rešení používáno jen velmi málo, protože existují jiná, ješte výhodnejší rešení. Jedním z nich je nezadávat mostu apriorne umístení jednotlivých uzlu síte v konkrétních segmentech, ale ponechat na nem, at si tuto informaci zjistí sám. To je možné, protože most musí analyzovat každý prijatý blok dat a sledovat, kdo je jeho odesilatelem a kdo jeho príjemcem. Most si tedy muže dát do souvislosti adresu odesilatele se segmentem, ze kterého príslušný blok dat prijal, a z toho si odvodit, že odesílající uzel se nachází práve v tomto segmentu. Takto se most dokáže postupne sám naucit vše, co ke své práci potrebuje. Na pocátku je sice "úplne hloupý", ale tím není nijak narušena korektnost jeho fungování - je pouze méne efektivní, a to ješte jen na relativne velmi krátkou dobu. Jestliže totiž most na pocátku ješte nedokáže rozpoznat, že urcitý blok dat by mohl zustat lokální v príslušném segmentu, rozešle jej i do všech ostatních segmentu. Z první odpovedi se však již dokáže náležite poucit. Takovýto zpusob fungování mostu se oznacuje jako transparentní (transparent bridging), a príslušné mosty se pak podle toho oznacují jako transparentní. Nekdy se v této souvislosti používá i výstižný prívlastek samoucící (self-learning). Mosty tohoto typu jsou velmi oblíbené zvlášte v sítích typu Ethernet, kde se jiné druhy mostu prakticky nepoužívají. Pro korektní funkci mostu je ovšem velmi duležitý jeden predpoklad: jednotlivé kabelové segmenty síte nesmí být propojeny pomocí mostu tak, aby zde vznikaly cykly (tj. musí jít o acyklický graf, resp. o dusledne stromovitou strukturu). Jinak by totiž samoucící se most mohl "zaslechnout" jeden a tentýž blok dat (tj. od jednoho a téhož odesilatele) z více stran a nedokázal by si správne odvodit, ve kterém segmentu se tento odesilatel nachází. Mosty samozrejme lze vybavit další inteligencí, která jim umožní rozpoznat a odstranit prípadné zacyklení síte. O tom si ale povíme zase až nekdy príšte.

Brouter, gateway
Pojmy opakovac (repeater), most (bridge) a smerovac (router), kterými se to v dnešních pocítacových sítích jen hemží, mají jednu velkou prednost - jejich interpretace je vzácne jednotná. Když se napríklad rekne opakovac, je ihned jasné, že jde o takové zarízení, které propojuje dva ci více segmentu pocítacové síte, a samo pracuje na úrovni fyzické vrstvy. Most také propojuje dva ci více segmentu, ale pracuje na úrovni bezprostredne vyšší, tj. na úrovni linkové vrstvy, zatímco smerovac pracuje na ješte vyšší úrovni, a to na úrovni sítové vrstvy. Existuje dokonce i prechodný typ mezi smerovacem a mostem - zarízení, kterému se v anglictine ríká brouter (jako složenina od: bridge/router). Zpusob fungování tohoto zarízení vychází vstríc takovým protokolum, které vubec nepocítají s existencí sítové vrstvy, a klasický smerovac, který pracuje práve na úrovni této sítové vrstvy, by si s nimi nedokázal poradit. Príkladem je obstarožní protokol NetBIOS pocítacu PC, ale obdobne je na tom napríklad i protokol LAT firmy DEC. S takovýmito protokoly si však dokáže poradit zmínený brouter - pokud narazí na takový protokol, který pocítá s existencí sítové vrstvy a je možné jej tzv. smerovat, pak se brouter chová jako smerovac. Pokud však narazí na jiný protokol, který nedokáže smerovat (tj. zpracovat na úrovni sítové vrstvy), pak se zachová jako most (bridge). Existuje však ješte další termín, který se v souvislosti se vzájemným propojování sítí velmi casto používá: gateway (cesky: brána). Tento termín již nemá zdaleka takové štestí, jako opakovac, most, smerovac i brouter -

jeho interpretace se casto dosti ruzní. Nekdy je tento pojem používán jako spolecný zastrešující termín pro všechny ostatní termíny: v tom smyslu, že napríklad most je takový druh brány, která pracuje na úrovni linkové vrstvy, zatímco smerovac je taková brána, která pracuje na úrovni sítové vrstvy. Jindy je brána (gateway) ztotožnována jen se smerovacem. Význacným príkladem je terminologie sítí na bázi rodiny protokolu TCP/IP: zde se pod pojmem gateway (brána) bežne rozumí smerovac. V soucasné dobe se ale i zde zacíná místo nesprávného pojmu gateway používat mnohem správnejší termín IP router (IP smerovac). V užším slova smyslu se ale bránou rozumí takové zarízení, které pracuje na úrovni ješte vyšší, než je vrstva sítová (tj. na transportní až aplikacní vrstve). Pro správné pochopení významu bran je dobré si uvedomit jednu významnou skutecnost: pocítacové síte nejsou všechny stejné. Práve naopak, často se mohou i velmi významne lišit. Na tom, jak dalece se liší, pak závisí i možnosti jejich propojení na úrovni jednotlivých vrstev. Obecne platí, že cím vetší je odlišnost, tím vyšší je vrstva, na které je možné realizovat jejich vzájemné propojení. Z tohoto pohledu pak brána slouží k propojování tech nejvíce odlišných sítí. Velmi casto pracují brány až na úrovni nejvyšší, tj. aplikacní vrstvy, kde zajištují prevod dat mezi jednotlivými aplikacemi. Príkladem mohou být ruzné druhy poštovních bran (mail gateways), které umožnují predávat elektronickou poštu z jedné síte do druhé. Ruzné síte totiž mohou používat ruzný formát jednotlivých zpráv (hlavne hlavicky), jiný zpusob adresování, a napríklad i jiný zpusob kódování jednotlivých znaku v tele i hlavicce zprávy. Zajistit potrebnou konverzi pak dokáže až brána, pracující na aplikacní úrovni, protože pouze na této úrovni muže "vnímat" strukturu prenášených dat, a dokáže tak rozpoznat jednotlivé zprávy a správně interpretovat (a zkonvertovat) jejich obsah. Pro brány, pracující na nižší úrovni, by šlo jen o souvislý proud dat, jejichž význam by na této úrovni již nebyl znám.

Hub
Jedním z nejtvrdších oríšku naší soucasné pocítacové terminologie je bezesporu vhodný preklad anglického termínu hub. Ne ani tak proto, že i v anglictine je obsah tohoto pojmu znacne široký - problémem je spíše ubránit se jeho doslovnému poceštení, které v sobe skýtá opravdu netušené možnosti: jak by se vám napríklad líbily sebevedomé reklamní slogany typu: "Naše huby jsou ty nejlepší!" ci nabídky nových služeb, hlásající: "Opravujeme rozbité huby". Kdoví, možná by na to prispela i Všeobecná zdravotní pojištovna, když podle soucasných zákonu uživatelé fakticky platí zdravotní pojištení i za výpocetní techniku, kterou si museli porídit z cistého zisku své firmy, a odepisovat ji mohou jen postupne. Nebo že by tato služba prišla nekdy vhod tomu, kdo to takhle vymyslel? Vratme se ale radeji zpet k meritu veci. V minulém vydání této rubriky (na téma: transceiver, drop cable, AUI a BNC) jsme si popisovali, jakým zpusobem se v sítích sbernicového typu pripojují na spolecné prenosové médium jednotlivé uzly. Pritom bylo podstatné, že tímto prenosovým médiem byl koaxiální kabel, umožnující vytváret vícebodové spoje. Co ale delat v prípade, kdy chceme použít jiný druh prenosového média – napríklad kroucenou dvoulinku ci optické vlákno - které umožnuje vytváret pouze dvoubodové spoje? Tedy které umožnuje propojit mezi sebou práve a pouze dva úcastníky? Zde jsou v principu vylouceny jakékoli odbocky prímo na vlastním spoji a jediným rešením se stává vytvorení odbocek ješte v rámci výstupních obvodu (budicu a prijímacu), ke kterým se prenosové spoje teprve pripojují. Vlastne to znamená vytvorit pro každý jednotlivý dvoubodový spoj samostatné prípojné místo, s vlastními budici a prijímaci, vlastním konektorem atd. Pokud pak budeme chtít vytvorit sít s kruhovou topologií, budeme potrebovat, aby každý její uzel mel dve takováto prípojná místa - po jednom pro spoj s každým ze svých dvou sousedu. Pro stromovou topologii (odpovídající binárnímu stromu) bychom potrebovali v koreni dve prípojná místa, v listech bychom vystacili s jediným, ale ve všech ostatních uzlech bychom potrebovali tri. Podobne pro hvezdicovou topologii - zde bychom ve všech uzlech krome stredového vystacili opet s jediným prípojným místem, ale ve stredovém uzlu jich potrebujeme tolik, kolik je ostatních uzlu. No a práve zde by asi již nebylo únosné (predevším z konstrukcních duvodu), aby všechna tato prípojná místa, se všemi souvisejícími obvody a konektory, byla zabudována do vlastního uzlového pocítace (to muže být únosné pro dve ci ctyri místa, ale již asi ne pro 32, 64 atd.). Zde se stává výhodnejším rešit tato prípojná místa jako samostatný konstrukcní celek, který ve své podstate funguje jako rozbocka a nahrazuje odbocky prímo na vlastním spoji odbockami vytvorenými ješte v rámci budicích obvodu. No a práve takovémuto konstrukcnímu celku se v anglictine ríká hub. V doslovném prekladu znamená anglické "hub" náboj ci hlavu kola, hrdlo trubky nebo zarážku a v preneseném významu pak hlavu, stred ci centrum (napr. "up to the hub" - až po krk, "a hub of commerce" stredisko obchodu apod.). Své místo má i ve slangu: napríklad mestu Boston se nekdy ríká "Hub of the Universe". "Pocítacový" hub je pak obecne jakékoli zarízení, které slouží k rozvetvení kabeláže v pocítacových sítích, resp. k soustredení více individuálních spoju do jednoho místa. Proto je asi vecne nejsprávnejší prekládat tento anglický termín jako rozbocovac ci rozvetvovac, méne vhodne pak jako koncentrátor (protože tento pojem již je používán k oznacování neceho jiného - viz dále). V praxi ovšem existuje široká škála ruzných hubu

(pardon: rozbocovacu). Ty nejjednodušší jsou pouze pasivními rozbockami, které nijak neupravují prenášený signál a ani jej nezesilují. Ponekud dokonalejší verze rozbocovacu pak mohou soucasne fungovat i jako digitální zesilovace a zesilovat prenášený signál (aniž by jej jakkoli logicky vyhodnocovaly ci zpracovávaly). S temito dvema druhy rozbocovacu se mužeme setkat napríklad u sítí ARCnet, kde jsou oznacovány jako pasivní, resp. Aktivní rozbocovace. Huby (rozbocovace) jsou ovšem i tzv. jednotky MAU (Multistation Access Unit), používané v sítích Token Ring firmy IBM. Jde o samostatné "krabicky", ke kterým lze pripojit až 8 uzlových pocítacu (pokud tento počet nedostacuje, lze pridávat další jednotky MAU). Zajímavé je to, že jednotlivé uzlové pocítace se pripojují prímo na jednotky MAU tak, jako kdyby šlo o sít s hvezdicovou topologií (v jejímž stredu je jednotka MAU). Ve skutecnosti ovšem jde o kruhovou topologii - jednotlivé uzly se sice pripojují jediným kabelem, ale ten je tvoren dvema spoji, které s pomocí propojení uvnitr jednotek MAU vytvárí kruh. Jakou to má logiku? Zkuste si predstavit "normální" kruh, ve kterém z každého uzlu vedou dva kabely, každý na opacnou stranu. A ted si predstavte, že s tímto uzlem se neco stane - at již se samotným uzlovým pocítacem, nebo s kabely, které jej propojují s obema jeho sousedy. Závada na tomto jediném uzlu vyradí z cinnosti celý kruh. Náprava není principiálne težká - nejprve je třeba lokalizovat závadu a pak docasne preklenout místo, kde k ní došlo (napr. natažením provizorního kabelu, který opet uzavre prerušený kruh). Pokud je ale kruhová topologie realizována fyzickým usporádáním do hvezdy, je mnohem snazší hledat závadu na jediném míste (v jednotce MAU) a odstranit ji jednoduchým odpojením té prípojky, která závadu zpusobuje. Navíc je možné vybavit jednotku MAU vlastní inteligencí, která jí umožní, aby sama lokalizovala prípadné závady, a dokonce i to, aby sama prijala nezbytná nápravná opatrení, odpojila vadné uzly, a informovala o tom správce. V síti, která má nekolik málo uzlu, je to možná zbytecný luxus, ale když máte na starosti sít se stovkami ci tisíci uzlu, pak jiste velmi oceníte, když se sít dokáže o sebe postarat sama. Další výhodou centralizovaného propojení s využitím rozbocovacu je ivetší flexibilita - prípadné zmeny v kabelových rozvodech lze provádet velmi snadno, pouhým odpojením od jednoho prípojného místa a pripojením k jinému. Velká výhoda je i v tom, že samotné rozbocovace (huby) lze zapojovat do stromu, a tak velmi jednoduše rozširovat pocet prípojných míst tam,kde jsou zapotrebí. Práve toto zrejme byl hlavní duvod, proc se použití rozbocovacu výrazným zpusobem prosadilo i do sítí typu Ethernet, které predpokládají sbernicovou topologii. Souvisí to i s nástupem tzv. kroucené dvoulinky jako alternativy ke koaxiálnímu kabelu, pro který byl standard Ethernetu puvodne vyvinut. Zatímco ale koaxiální kabel umožnuje vytváret vícebodové spoje, kroucenou dvoulinku lze použít jen pro spoje dvoubodové. Proto si její nasazení prímo vynutilo používání rozbocovacu (hubu), což ale zase na druhé strane umožnilo vytváret kabelové rozvody se stromovitou ci ruzne kombinovanou strukturou místo jednoho souvislého kabelu, který musel procházet kolem všech jednotlivých uzlu a který stacilo prerušit v jediném bode, aby celá sít byla mimo provoz. Vybavení nekterých rozbocovacu vlastní inteligencí pak prineslo cetné další výhody v oblasti správy síte, a také tím zvýšilo její celkovou provozní spolehlivosti. Pro správné pochopení pojmu "hub" je dobré si ješte naznacit, v cem se liší od zarízení, kterému se obecne ríká koncentrátor. Zkusme si predstavit instalaci zvonku v dome s mnoha byty. Z každého bytu v urcitém patre vede od zvonku dvojice vodicu na chodbu, kde se pridávají obdobné dvojice vodicu z ostatních bytu, a spolecne ústí do jednoho spolecného kabelovodu, který je pak vede až k panelu se zvonkovými tlacítky. Tento kabelovod lze prirovnat ke koncentrátoru, nebot soustreduje jednotlivé dvojice vodicu a dále je vede spolecne, i když každý z nich si zachovává samostatnou existenci. Když pak stlacíte urcité zvonkové tlacítko, zacne zvonit zvonek v jednom konkrétním byte. Rozbocovaci (hubu) by naopak odpovídal jediný dvoužilový kabel, na který by byly z jedné strany pripojeny dvojice vodicu od všech zvonku v jednotlivých bytech, a na druhé strane jediné zvonkové tlacítko. Po jeho stlacení by pak zvonily zvonky ve všech bytech. Koncentrátor je tedy zarízení, které sdružuje n vstupu do jediného výstupu takovým zpusobem, který je vratný (tj. který umožnuje jednotlivé kanály od sebe zase kdykoli oddelit). Príkladem mohou být takové koncentrátory, které po jediném spoji prenáší data pro nekolik terminálu (tj. na jednom fyzickém spoji vytvárí více logických spojení, pro každý terminál jedno), ci ruzné druhy koncentrátoru používaných v telefonní technice (a umožnující prenášet více telefonních hovoru po jediném kanálu). Naproti tomu rozbocovac (hub) sdružuje jednotlivé své vstupy nevratným zpusobem - vlastne všechno okamžite "promíchá". Pokud je vybaven vlastní inteligencí, ta se soustreduje na dohled nad funkcností jednotlivých vstupu (napríklad na kontrolu, zda nekterý z nich není zkratován apod.), na sber ruzných statistických údaju, na dynamickou rekonfiguraci (odpojení některých vetví) apod., ale nijak netransformuje data, která jsou rozbocovacem prenášena.

Metoda Bubble sort a Quick sort
Bubble Sort na pole čísel Postup: 'Předpokládá se, že položka numbers je pole číselných hodnot

For i = 1 To UBound(numbers) - 1 For j = 1 To UBound(numbers) - 1 If numbers(j) > numbers(j + 1) Then temp = numbers(j) numbers(j) = numbers(j + 1) numbers(j + 1) = temp End If Next Next Základní pojmy Řadící metoda Je obecně postup, jehož provedením získáme setříděný výsledek podle daného kritéria. Každá řadící metoda má svůj odlišný postup, jakým dá setříděná data na výstup. Přirozenost metody Řadící metoda se nazývá přirozená, jestliže doba potřebná k seřazení již seřazené podmnožiny údajů je menší, než doba potřebná na seřazení zbývající neuspořádané podmnožiny. Pokud tato podmínka není splněna, pak se metoda označuje za nepřirozenou. Stabilita algoritmu Algoritmus je stabilní, jestliže zachovává stejné pořadí záznamů se stejným klíčem. Tato vlastnost je požadována v těch případech, ve kterých skupiny záznamů se stejnou hodnotou klíčové položky ještě uvnitř řadíme podle jiného klíče. Rychlost algoritmu Někdy také nazývána algoritmická složitost, lze chápat jako počet provedení porovnání klíčových položek, která jsou nutná pro získání uspořádaní posloupnosti. Algoritmická složitost pro N záznamů je: • • • • • logaritmická O(log N) lineární O(N) polynomiální O(P(N)) (např. kvadratická O(n2), nebo kubická O(n3) ) exponenciální O(2N) faktoriální O(N!), nebo O(NN)

Už snad jenom pro upřesnění, časově nejvýhodnější je složitost logaritmická, nejhorší případ je složitost faktoriální a jí podobné. Metoda přímého výběru Předpokládejme, že část pole od indexu 1 až po K je seřazená a část od K+1 do N neseřazená. V posloupnosti od K+1 do N nalezneme minimální prvek (nechť je nalezen na pozici M). Potom tedy prohodíme M-tý prvek s K+1ním prvkem a za seřazenou považujeme posloupnost od 1 do K+1. Na začátku je uspořádaná posloupnost prázdná, tj. hledáme minimum z prvků od 1 do K+1 a nalezený prvek prohodíme s 1. položkou. Metoda nepatří mezi stabilní, a ani není žádným rychlíkem. var i, j, k: index; x, pom: prvek; a: array [index] of prvek; begin for j:=1 to n do begin x:=a[j]; k:=j; for i:=j+1 to n do if x<a[i] then begin x:=a[i]; k:=i; end; pom:=a[i]; a[i]:=a[k]; a[k]:=pom; inc(j);

end; end. Metoda přímého vkládání Předpokládejme, že část pole od indexu 1 až po K je setříděná. Vezmeme K+1 prvek a vložíme jej na správné místo do již uspořádané posloupnosti a za seřazenou považujeme posloupnost od 1 do K+1. Na začátku považujeme za uspořádanou posloupnost pouze prvek 1. Metoda se chová přirozeně a je stabilní. Avšak mezi rychlé metody zrovna nepatří. var i, j: index; x: prvek; a: array [index] of prvek; begin for i:=2 to n do begin x:=a[i]; a[0]:=x; j:=i-1; while x<a[j] do begin a[j+1]:=a[j]; dec(j); end; a[j+1]:=x; end; end.

Quick Sort Metoda Quick Sort je založená na rekurzi. Využívá principu dělení řazeného pole. Řazené pole rozdělíme na dvě části A a B, pro které bude platit, že všechny prvky z A jsou menší než libovolný prvek z B. Toto provádíme rekurzivně tak dlouho, dokud celé pole není seřazené. Část algoritmu, která provádí rozdělování pole na části A a B, může pracovat např. tak, že hledá zleva nejbližší další prvek, který je větší nebo roven dělící hodnotě x, a hledá zprava nejbližší další prvek, který je menší nebo roven dělící hodnotě x. Tyto prvky se vzájemně vyměňují. V této činnosti se pokračuje tak dlouho, dokud proti sobě postupující indexy, pomocí kterých se prochází řazená část pole, nepřekříží. Hodnota x se obvykle volí jako prostřední prvek. (tzv. medián) Metoda není stabilní a nepracuje přirozeně. Je však jednou z nejrychlejších řadících metod, i když může být někdy na obtíž přítomná rekurze. var a: array [index] of prvek; n: index; procedure rozdel(l: index; var i,j: index; r: index); var w: prvek; begin i:=l; j:=r; x:=a[(l+r) div 2]; repeat while a[i]<x do inc(i); while x<a[j] do dec(j); if i<=j then begin w:=a[i]; a[i]:=a[j]; a[j]:=w;

inc(i); dec(j); end; until i>j; end; procedure trid(l,r: index); var i,j: index; begin rozdel(l,i,j,r); if l<j then trid(l,j); if i<r then trid(i,r); end; BEGIN trid(1,n); END. Bubble Sort Bublinkové třídění je v principu podobné jako metoda přímého výběru, rozdíl je ve vyhledávání minima a jeho záměna s prvním prvkem neseřazené podposloupnosti. Neseřazená část pole se prochází zprava doleva a porovnávají se postupně každé dva sousední prvky pole - nejsou-li vzájemně seřazeny ve smysly výsledného řazení, vymění se. Co se týče rychlosti, jde snad o nejhorší řadící metodu. Vhodná je jenom k otestování, zda daná posloupnost je uspořádaná, neboť v takovém případě metoda projde posloupností pouze jednou. var i,j: index; x: prvek; a: array [index] of prvek; begin for i:=2 to n do for j:=n downto i do if a[j-1]>a[j] then begin x:=a[j-1]; a[j-1]:=a[j]; a[j]:=x; end; end. Zapisovací a přepisovací CD-RW mechaniky ukládají data na CD-R a CD-RW média. Na trhu je dnes několik desítek značek a druhů médií, které se liší cenou i délkou. Původní specifikace CD hovoří o délce média 74 minut. Toto číslo vzniklo zřejmě proto, aby se na tehdy nové médium vešla celá Beethovenova Devátá symfonie, která má délku právě necelých 74 minut. Čtyřiasedmdesátiminutová CD-R a CD-RW média jsou dnes standardem, jejž akceptovali všichni výrobci. Na takové médium se vejde přibližně 650 MB dat, i když vzhledem ke struktuře souborů nemusí být toto číslo zcela přesné. Postupem času se začala vyrábět média také v jiných délkách. Nejdříve se objevily malé disky s průměrem pouhých 8 cm, na která se vejde 21 minut záznamu, což odpovídá asi 200 MB dat. Pomineme-li to, že jsou menší, přenosnější a vypadají velmi exoticky, jen stěží najdeme mnoho důvodů pro jejich koupi. Jsou nejen relativně tedy vůči své kapacitě ale většinou také absolutně dražší než média běžných délek a v některých přehrávačích mohou způsobovat problémy. Před několika lety se začaly objevovat CD--R disky s kapacitou 80 minut, které pojmou kolem 700 MB dat. Původně byly použitelné především pro zálohování či kopírování originálních CD s délkou mezi 74 a 80 minutami, dnes se však pomalu stávají standardem a některé zprávy hovoří dokonce o tom, že na ně výrobci

přejdou ze 74minutových. S 80minutovými CD-R médii nejsou žádné problémy s kompatibilitou, drtivá většina přepisovacích i CD mechanik je schopna s nimi pracovat, a ani ve spotřební elektronice se nesetkáváme s potížemi. Zvláštní variantou disků jsou tzv. Audio CD-R, která mají garantovanou kompatibilitu s audiozapisovačkami v domácích systémech a jsou také snadno čitelné v CD přehrávačích. Rovněž na poli CD-RW médií se s příchodem vysokorychlostních vypalovaček udála malá revoluce. Změnou struktury a chemického složení aktivní vrstvy CD-RW se rozdělila média na klasická a tzv. High Speed CD-RW. Zajímavé však je to, že High Speed CD-RW jsou použitelná pouze v High Speed CD-RW mechanikách s rychlostí zápisu 4x až 10x a nelze na ně zapisovat v běžných CD-RW jednotkách. Ač je to k nevíře, kompaktní disky jsou vynálezem starým už téměř dvacet let. Prvotně byly určeny pouze jako hudební nosiče, ale postupem času se zjistilo, že je možné použít jich také jako nosičů datových. Na začátku 90. let pak technologie postoupila tak daleko, že bylo možné vytvořit CD bez lisování, speciálním zápisem na prázdné medium. Tato technika se záhy začala nazývat CD Recordable (CD-R).

CD-RW
Přepisovatelné disky CD-RW jsou dalším pokračováním úspěšné ságy kompaktních disků. Stejně jako u jiných kompaktních disků je jako nosné médium použit drážkovaný polykarbonátový substrát, na kterém je naneseno několik vrstev, z nichž ta nejdůležitější je slitina Ag-In-Sb-Te. Protože princip jejich čtení je shodný s jinými typy CD, i zde se musí využívat různé odrazivosti materiálu. Slitina při běžné teplotě může setrvávat ve dvou stavech amorfním a krystalickém. Při čtení míst s krystalickou fází laser prostoupí až k reflexní vrstvě a odrazí se, zatímco v místech s amorfní fází se rozptýlí. Zápis na CD-RW se provádí laserovým paprskem s vlnovou délkou 780 nebo 650 nm, který ohřeje slitinu aktivní vrstvy na teplotu 500-700 st. Celsia. Slitina se tak velmi rychle začne tavit a při následném ochlazení dojde k fázové přeměně do amorfního stavu. Mazání média se provádí zahřátím slitiny pod teplotu tání avšak nad krystalizační teplotu (200 st. Celsia) po dostatečně dlouhou dobu. Po ochlazení se fáze slitiny navrátí zpět z amorfní do základní krystalické, a médium se chová jako prázdné. Tato technologie opakovaných, teplem vyvolaných změn fáze slitiny Ag-In-Sb-Te se nazývá "Phase Change". Většina vypalovacích programů dovede disk vymazat buď vcelku, což trvá několik desítek minut, nebo je možné za pár minut smazat z disku pouze TOC. Také to způsobí, že se médium chová jako prázdné, avšak zbytky dat na povrchu CD-RW mohou být bezpečnostním problémem v místech s požadovaným utajením. Následné čtení je stejné jako čtení disků CD-ROM nebo CD-R, jen s tím rozdílem, že čtecí mechanika musí být uzpůsobena k práci s médii s nižší odrazivostí. Touto vlastností jsou vybaveny všechny nově prodávané CDROM mechaniky. S CD-RW přišel také nový způsob zápisu. Aby bylo možné použít CD-RW stejně jako disketu, používá se tzv. Packet Writing. Při zápisu touto metodou se nevytvářejí tracky a sessions stejně jako při klasickém zapisování, ale data se ukládají do malých paketů s různou nebo stejnou velikostí (podle typu Packet Writingu). Pakety jsou uzavřeny pouze v bajtech servisních kódů, a proto se výrazně omezují nepříjemné ztráty prostoru na CD při zápisu metodou Multi-session. Jestliže je však potřeba takto zapsané médium číst v klasické CD mechanice, software uzavře paketový zápis do několika sessions běžného zápisu ISO 9660. Také ceny CD-RW médií se od svého uvedení posunuly směrem dolů a dnes je možné koupit jeden kus v cenách kolem 100 Kč. CD-RW disky se výborně hodí na dlouhodobé zálohování, neboť garantovaná doba životnosti bývá uváděna nad 30 let. Bohužel však v tomto případě vychází cena uloženého megabajtu dat dost vysoko, a proto je pro dlouhodobé zálohy lepší použít levnější, avšak stejně odolná média CD-R. Na krátkodobé zálohy, případně zálohy, které se musejí často nahrazovat novými verzemi, zvlášť s důrazem na možnost čtení v moderních CD-ROM mechanikách, jsou CD-RW disky tím pravým. Životnost Jak jsme již poznamenali, u CD-RW médií je běžně udávaná doba životnosti 30 let. CD-R média se poslední dobou v tomto parametru dost zlepšila, a dnes se odhaduje životnost vypálených dat na 70 až 200 let. Velké rozdíly v tomto směru jsou způsobeny různými metodami matematické modelace životnosti materiálu, které provádějí různí výrobci. V současnosti se vyvíjí norma ANSI pro přesnější a porovnatelnější odhady životnosti dat na CD-R. V každém případě ještě dnes nelze s jistotou tvrdit, jak dlouho data na CD-R vydrží, neboť technologie je to příliš mladá, než aby se nějaké větší množství disků již stihlo "zkazit".

Závěrem Technologie CD-R a CD-RW jsou obrovským průlomem do oblasti osobního i firemního zálohování. Jejich velkou výhodou je až na výjimky skvělá kompatibilita se stávajícími mechanikami CD-ROM. Také cena zapisovacích mechanik, CD-R a CD-RW médií i kvalitního softwaru nahrává jejich většímu rozšíření. Velmi dobře vypadající životnost záznamů je dalším trumfem v boji o zákazníka, který si cení svých dat a zálohuje. Jestli se na obzoru rýsuje nějaká hrozba pro CD, pak je to jedině DVD a DVD-RAM/RW. Na to si však budeme muset ještě nějakou dobu počkat.

BIOS
Slovo BIOS je zkratka z angličtiny (Basic Input Ouput Systém) a znamená to: Základní vstupně výstupní systém. Jinými slovy tvoří rozhraní mezi hardwarem a vyššími vrstvami programového vybavení. Programy které však přímo kontaktují hardware jsou nepřenositelné a málo univerzální vůči typu počítače. BIOS je pak programová část počítače velice závislá na typu počítače a jeho technickém uspořádání. Kvůli tomu je pak pro každý typ a složení třeba jiný BIOS. A tudíž je z toho jasné že je součástí každého počítače typu PC. Jeho velkou výhodou je , že představuje standardizované programové rozhraní. jelikož vstupní body a parametry procedur jsou jednoznačně definovány, tedy nezávisí na typu obsluhované periférie, nebo na vývoji počítače ani na vývoji Biosu samotného. Tento standart ze strany vyšších vrstev je dána tím, že pro přístup k Biosu je vyhrazená část přerušovacích vektorů, (programové přerušení, realizované instrukcí INT). přičemž jsou pro BIOS vyhrazeny vektory přerušení: 5H,10H-1FH a 40H-5FH, z nichž část je určena pro přístup k datovým strukturám. Toto pak umožňuje daný podprogram úplně změnit pouhým přesměrováním vektorů přerušení. Při čemž BIOS musí plnit i jiné funkce: - provádí úvodní text po spuštění počítače - umožňuje nastavit základní parametry počítače - zavádí operační systém - poskytuje operačnímu sytému prostředky pro realizaci víceúrovňového prostředí Aby se činnost Biosu a počítače vůbec spustila musí být BIOS umístěn do pevné paměti počítače v oblasti v níž mikroprocesor začíná svou činnost po přivedení napájení. Po zapnutí provádí BIOS šest základních kroků: nastaví konfiguraci počítače z CMOS paměti, provede autonomní test počítače, inicializace periférie, nainstaluje obslužné rutiny přerušení Biosu, vyhledá svoje rozšíření na přídavných deskách a provádí instalaci těchto rozšiřujících rutin a konečně spustí zavádění operačního systému.

1. 1.1 Standard CMOS Setup

Nastavení SETUP BIOSU

Time (hodiny, minuty, sekundy) Nastavení času Date (měsíc, den, rok) Nastavení datumu Floppy Drive A, B None, 360K – 2,88M Určení disketové mechaniky, která je v počítači. Primary Master/Slave and IDE Secondary Master/Slave Tato položka obsahuje následující submenu Type Auto, User Type HDD, CD-ROM, LS-120, ZIP-100 Normal, LBA, Large, Manual, Match Partition Table

Translation Method

Normal – tento mód podporuje pevné disky do velikosti 528 MB LBA (logické adresování bloků) – dřívější módy LBA podporují disky do kapacity 8,4 GB a tento mód používá odlišnou metodu k vypočítání pozic dat na disku, která jsou přístupná. Large – Když počet cylindrů přesahuje 1024 a Dos není schopen tento disk podporovat, nebo operační systém nepodporuje mód LBA, můžeme vybrat tento mód. Manual – Uživatel si sám disk nastaví Kapacita Tato položka zobrazuje velikost disku. Cylinder Určuje počet cylindrů pevného disku. Head Určuje počet hlav pevného disku. CHS Capacity Ukazuje maximální kapacitu v módu CHS. Maximum LBA Capacity Ukazuje maximální kapacitu v módu LBA. Sector Určuje počet sektorů pevného disku.

1.2 Advanced Setup Page Trend ChipAwayVirus Enabled, Disabled Antivirová ochrana chránící počítač proti zásahům. Quick Boot Enabled, Disabled

Spustí počítač pouze s nezbytně nutnými testy POST, zrychluje start počítače. 1st Boot Device Floppy, CD-ROM, IDE-0, IDE-1, Zip, None Nastavuje bootovací sekvenci 2nd Boot Device Floppy, CD-ROM, IDE-0, IDE-1, Zip, None Nastavuje bootovací sekvenci Try other boot device Yes, No

Pokud se nepodaří nabootovat ze nastavených jednotek, zkouší najít jednotku sám S.M.A.R.T. for Hard Disks Enabled, Disabled

Umožní IDE harddiskům podporu SMART BootUp NumLock On, Off

Nastavuje, zda-li se při startu nastaví NumLock na ON či OFF Floppy Drive Swap Enabled, Disabled

Pokud jsou nainstalovány dvě disketové mechaniky můžeme je mezi sebou přehodit Floppy Drive Seek Enabled, Disabled

Kontrola disketové mechaniky v průběhu testu POST Primary Display VGA/EGA

Natavuje jaký monitor máte připojený k počítači Password Check Setup, Always

Nastavuje zdali a kdy se bude počítač tázat na heslo Boot to OS/2 Over 64MBYes, No Umožňuje bootovat OS/2 pokud máte více nežli 64MB operační paměti Internal Cache Enabled, Disabled

aktivuje vnitřní systémovou cache procesoru L1. Musí být vždy zapnuto! CPU bez cache je jako turbo motor bez... turba External Cache Enabled, Disabled

aktivuje externí (i když je někdy uvnitř chipu- Celerony, K6-3...) cache procesoru L2. Pokud je Disabled ztrácíte asi 20-30% výkonu. Lepší je nižší frekvence se zapnutou keší než overclockovaný systém s vypnutou Systém BIOS Cacheable Enabled, Disabled Dovolí kešovanie BIOSu do RAM. Povolení kešovaní by mělo výrazněji ovlivnit výkon. Ak sa za sebou často opakuje volanie rovnakej služby, nie je potrebné ísť až do BIOSu, stačí si dáta prečítať z vyrovnávacej pamete

1.3 Power Management Setup Page Toto nastavení ovlivňuje chování počítače v úsporném stavu - suspend, sleep. Power Management - základní nastavení celého systému šetření energie. Volba Max Saving nastaví hodnoty pro maximální úsporu energie. Po určené době nečinnosti vypne systém napájení disků, vypne monitor, sníží frekvenci procesoru. Další volbou je Min saving - tuto volbu Vám doporučuji. Veškeré timeouty jsou natolik dlouhé, aby práce byla příjemná a nebyla rušená neustálým vypínáním disků, monitoru... Volba Disabled vypne veškeré šetřící funkce - projeví se to i ve Windows! ACPI function - zapnutí moderního automatického managementu a konfigurace periferii. Teprve budoucí operační systémy využijí jeho služeb naplno (i když jakýsi zárodek funkčnosti ACPI je i v současných Win98 není však dotažen do konce). V dnešní době můžete funkci ACPI klidně vypnout - v budoucnu uvidíme... Win 2000. Ostatní položky menu souvisí se systémem "probouzení" a "uspávání" počítače. Například volby Resume by... umožňují zapnutí/ probuzení počítače při aktivitě toho kterého zařízení. ATX-ový počítač lze takto zapnout aktivitou na síti, externím modemem apod... 2.4 PNP /PCI Configuration Ovlivňuje hospodaření s prostředky IRQ a DMA: PnP OS Installed: No - pokud BIOSu sdělíme, že je nainstalován operační systém podporující PnP - nebude BIOS inicializovat zařízení Plug and Play (PnP) a ponechá inicializaci na Windows. Resources Controlled By: Pokud nastavíme tuto volbu na Auto, nastaví BIOS všechny parametry IRQ a DMA sám, bez ohledu na případné starší karty ISA. Pokud máme tyto karty a znáte IRQ, musíme nastavit na Manual + zakázat přidělení těch IRQ a DMA nastavením na Legacy ISA. Například: IRQ 7 = Legacy ISA pro staré SB Pro... Reset Configuration Data: po instalaci nového HW nastavíme na Enabled - systém provede při příštím restartu nové přidělení prostředků. PCI IDE IRQ Map To: tato volba vám umožní zvolit IRQ pro přístup mezi sběrnicemi PCI a IDE. Asign IRQ for VGA: přidělí kanál IRQ grafické kartě. Bohužel mnoho moderních karet vyžaduje přidělení IRQ. Nastavte na Auto. Asign IRQ for USB: přidělí kanál IRQ sběrnici USB. Pokud používáte USB musíte zapnout. 2.5 Load Optimal Settings Nastaví BIOS počítače na režim, kdy by měl fungovat v každém případě se vším harwarem. Je to však na úkor výkonu stroje. 2.6 Load Best Performance Settings Nastaví BIOS počítače na nejrychlejší režim. Musí však všechna zařízení být 100% kompatibilní a fungovat správně. 2.7 Hadrware Monitor Page Zde se dozvíme všechny důležitý údaje o teplotě procesoru, teplotě základní desky, rychlosti otáček chladiče procesoru, rychlosti otáček chladiče základní desky, voltáže vycházející ze zdroje

2.8 Change Password Umožňuje změnit nastavené heslo pro přístup do Setupu či pro přístup do celého počítače. 2.9 Exit Umožňuje opustit Setup Biosu buď s potvrzením a uložením změn nebo bez uložení provedených změn.

Disková rozhraní ROZDĚLENÍ • • • • • ST 506 ESDI SCSI IDE Enhanced IDE

ST 506 Používalo se u prvních počítačů PC, je to analogové rozhraní, kdy impulsy jsou vedeny plochým kabelem z hlavy disku do řadiče a zpět, kde jsou vyhodnocovány. Z tohoto důvodu musí být kabely velmi krátké. Propojení je dvěma datovými kabely 2 x 20 vodičů. Používaná modulace je MFM. Rozhraní se používá pro disky do kapacity 40 MB. Možnost napojení dvou disků. ESDI Je digitální, používá modulaci RLL, 34 sektorů na jednu stopu. Jedná se o sériovou komunikaci mezi řadičem a diskem. SCSI Je to systém, kdy do základní desky je zasunut řadič speciální sběrnice, ke kterému jsou připojovány jednotlivé disky. Sběrnice je tvořena 50-ti žilovým kabelem. Maximální vzdálenost mezi propojením zařízení je do 6 m, při větších vzdálenostech se používá spínač sběrnice. Hostitelský adaptér je iniciátor komunikace i adresát, bývá připojen do rozšířené sběrnice základní desky. Iniciátor komunikace je libovolné zařízení, které požaduje komunikaci se zařízením jiným. U normálních konfigurací je iniciátorem základní deska. Adresát je pevný disk s řadičem. Tento systém umožňuje, aby jako jeden adresát bylo pomocí jednoho adaptéru propojeno až 8 periférií. SCSI obsluhuje: pevné disky, tiskárny, optické disky, scanery. Příkladem nestandardního použití sběrnice jsou adaptéry tiskáren, které přemění rozhraní centronix na SCSI. Je to 8 bitové rozhraní. SCSI 2 Vychází z SCSI, je výkonnější (16-ti a 32 bitová komunikace), možnost napojení různých typů zařízení. IDE Nejrozšířenější rozhraní, pro disky WD, řadič umístěn většinou na spodní straně disku. V rozšiřující sběrnici je zasunuta karta pro oddělení signálů. Řadič je jednoduchý, používají se tzv. kombinované řadiče, které obsahují porty k připojení: dvou pevných disků, dvou pružných disků, dva sériové porty COM, jeden až dva paralelní porty LPT, game port. Dva pevné disky jsou obsluhovány jako MASTER-SLAVE. Řadič spolupracuje se standardním BIOSem. Enhanced IDE Vylepšené rozhraní IDE odstraňující některé z nedostatků rozhraní IDE. Umožňuje zapojení až čtyř zařízení, zapojení i jiných zařízení než jsou pevné disky (např. CD-ROM, páskové mechaniky apod.). Eliminuje omezení kapacity disku na 512 MB a využívá vyšší přenosovou rychlost.

JAVASKRIPTY
K čemu jsou skripty a k čemu je použít na webové stránce

Použitím skriptu můžete své webové stránky přeměnit ze staticky vyhlížejících na dinamické, které reagují na podměty uživatelů přímo v jejich počítači aniž by došlo k znovu načtení ze strany webového serveru.To má za následek odlehčení serveru od neustálého spojení s klientským počítačem a v konečném důsledku i rychlejší komunikaci s uživatelem internetu. Pomocí skriptů určitě upoutáte případné návštěvníky Vašich stránek, na kterých jistě pobudou díky ním déle a neodsurfují někam jinam.Skripty můžete ovládat,měnit jakoukoliv část Vašich stránek bez zásahu ze strany serveru po načtení dané stránky.Změnit můžete třeba obrázek, blok textu nebo na stránky umístit nějaký zajímavý vizuální efekt. Skripty v prohlížeči Internet Explorer Internet Explorer je nejrozšířenějším webovým prohlížečem u nás a proto doporučuji psát skripty určené pro zpracování tímto prohlížečem.Samozřejmě, že můžete upravit skript tak, aby ho bylo možné bez chybně zobrazit také v prohlížeči Netscape Navigatoru.Ten ale používá nepatrná část uživatelů.Pokud se rozhodnete své skripty na stránkách zpřístupnit i uživatelům, kteří používají tento browser, budete muset provést, ne vždy určité úpravy ( to se bude hlavně týkat JS scriptu).Ale pokud se rozhodnete psát skripty pouze pro Internet Explorer nemělo by to nějak uškodit Vašim webovým stránkám. Internet Explorer podporuje tyto dva skriptovací jazyky Microsoft Visual Basic Scripting Edition (VBScript) a upravenou verzi Java Scriptu pojmenovanou Jscript. Dále ho můžeme doplnit o podporu dalších skriptovacích jazyků jako je například velice známý jazyk Perl.Prohlížeč funguje totiž jako skriptovací hostitel.Toho lze hlavně využít u aplikací, které používá omezený počet uživatelů a jenž mohou mít všichni nainstalován příslušný skriptovací stroj. VBScript Tento skriptovací jazyk vycází z programovacího jazyka Microsoft Visual Basic, s kterému je velmi podobný.Internet Explorer je zatím jediným prohlížečem, který ho podporuje.Používá se hlavně na serverech Microsoft Internet Information Server (IIS) za použití technologie Active Server Pages (ASP).V prohlížeči Internet Explorer není VBScript součástí minimální instalace, ale v případě potřeby se automaticky nahraje z Internetu. Java Script a Jscript Programovací jazyk Java Script byl vyvinut společností Netscape Communications.S jazykem Java sdílí některé konstrukce a část syntxe.Jscript je verze Java Scriptu , která je Implementována v prohlížeči Internet Explorer.Zvětší části by však měl Jscript odpovídat Java Scriptu.Prohlížeče Internet Explorer 4.0 a Netscape Navigator 4.06 a vyšší podporují standart ECMA-62, ve kterém jsou obsaženy hlavní funkce z jazyků Jscriptu a Java Script, aby nedocházelo k nekompatibilitě. Skripty se dají poměrně rychle naučit a snadno použít.Obsahují, ale některá omezení, zejména bezpečnostní opatření.Neumožňují totiž číst a zapisovat soubory na pevném disku klientského počítače, to proto, aby nedošlo za nevědomosti uživatele k případné ztrátě či zničení jeho dat. Pokud, ale chceme pracovat se souborovým systémem počítače, přistupovat k disku lze použít technologii Windows Scripting Host ke spuštění samotného skriptu mimo prohlížeč pomocí prvku Active X File Systém, který si musí uživatel nainstalovat a aktivovat. Další omezení se týká příliš pomalého provádění u algoritmicky náročných operacích, které bývají ještě navíc poměrně složité. Skripty lze dále použít k ověřování formuláře, multimediálním operacím nebo pro oběktový model dokumentu (DHTML). Z pohledu uživatele jsou skripty transparentní a neviditelné.Vytvořený skript lze ihned vyzkoušet v prohlížeči, bez nutnosti převedení do strojového kódu počítače jako tomu je je třeba u jazyka C++. Skriptovácí jazyky VBScript a JScript jsou ve své podstatě komplikované a jejich úplné pochopení není příliš snadné, protože

vycházejí s programovacích jazyků a jsou s nimi doslova prorostlé.Ale pro vytvářeni skriptů na webové stránky nám poskytují velmi výkonný a jednoduchý nástroj.

Software Engineering
Programování je umění - tak to alespoň tvrdí mnozí, kteří se programováním zabývají. Přitom mají v mnohém pravdu, programování skutečně může být uměním - dokud jsou vytvářené programy takového rozsahu, že je bez problémů zvládne napsat jediný člověk, v dostatečně krátkém čase, a navíc za takovým účelem, kdy "krása a elegance" je ceněna více než funkčnost a hlavně spolehlivost celého programu. Jde vlastně o takové programování, které by bylo možno s jistou mírou nadsázky označit jako "programování v malém". Ale jak to potom vypadá s "programováním ve velkém"? Jak dopadají velké softwarové projekty, na kterých musí spolupracovat celé týmy programátorů a dalších odborníků a na jejichž výsledku pak mnohdy bytostně závisí normální fungování nejrůznějších úřadů, nemocnic, letišť, továren a kdoví čeho ještě? Dopadají většinou naprosto stejně jako mnohé projekty srovnatelného rozsahu v různých průmyslových odvětvích - například ve stavebnictví, strojírenství, zemědělství apod. Tedy končí později, než předpokládal původní plán, stojí více, než na kolik zněl původní rozpočet, a mnohdy ani příliš nesplňují představy toho, kdo jejich vypracování zadal. Dokonce jsou známy i takové softwarové projekty velkého rozsahu, které musely být ještě v průběhu svého řešení zcela zrušeny; již proinvestované prostředky pak bylo třeba jednoduše odepsat. Ve světle skutečného postupu realizačních prací se totiž ukázalo, že původní odhady složitosti, pracnosti a náročnosti těchto projektů (včetně finanční náročnosti) jsou zpracovány "špatně" ne o nějaká malá procenta či desítky procent, ale o celé tisíce procent! Jak se ale takových situací vyvarovat? Jak zajistit, aby i "programování ve velkém" dopadalo dobře, aby výsledky splňovaly představy zákazníka i dodavatele a měly dostatečnou kvalitu? Mnozí významní lidé kolem počítačů si poměrně brzy uvědomili, že cesta vede jedině přes utužení disciplíny neboli přes zavedení určitého řádu a přes aplikaci systematických metod a postupů do toho, co bylo až do té doby chápáno spíše jako umělecká záležitost, stojící na individuálních schopnostech jedinců - zvláště pak, jde-li o softwarové projekty většího kalibru. Tento tlak vyšel poněkud překvapivě z akademických kruhů, koncem šedesátých a počátkem sedmdesátých let, a souvisel jistě i s tím, že práv ě v té době se objevovaly takové prostředky a metodologie, které většímu dodržování disciplíny v programování vycházely účinně vstříc (viz minulý příspěvek na téma "Strukturované programování"). Myšlenka, na které bylo navrhované řešení postaveno, je velmi jednoduchá - nechť se i při řešení velkých softwarových projektů důsledně uplatňují takové postupy a metody, které se v jiných oblastech průmyslu úspěšně používají pro řešení projektů srovnatelného či ještě většího rozsahu. Dovedeno téměř ad absurdum: udělejme z "programování ve velkém" průmyslovou výrobu, a používejme pak obdobné nástroje a postupy, jaké se používají tam. Samozřejmě se vším, co k tomu patří - od důkladné analýzy potřeb zadavatele přes projekční fáze, organizační a řídicí postupy při vlastní realizaci, pro důslednou kontrolu kvality, testování, školení uživatelů, řízený přechod na používání nového systému, podporu při provozu atd. Jde tedy vlastně o důslednou aplikaci vědeckých poznatků, znalostí, postupů a zásad při programování ve velkém a o ústup od nesystematického přístupu ve stylu "programování je umění". Jde tedy o aplikaci toho, čemu se v angličtině obvykle říká dosti široce "engineering" a co se pak, aplikováno na tvorbu programových celků, označuje jako software engineering (neboli softwarové inženýrství).

Structured programming
Máte rádi noviny a časopisy, které vás na první stránce nalákají spoustou lákavých titulků, dále vám nabídnou několik prvních vět příslušného článku, a pak už vás jen odkáží na stránku xy, kde najdete pokračování? Také se vám stává, že když vás nějaký titulek a prvních pár vět zaujme a vy se pustíte do hledání další části slibného článku, že v průběhu tohoto hledání buď zapomenete, co to vlastně hledáte, nebo "po cestě" zaujme vaši pozornost něco úplně jiného? Těm, kteří noviny píší a vydávají, se nedivte - vždyť jejich cílem je prodat co možná nejvíce výtisků, a tak se snaží vtěsnat na titulní stránku co možná nejvíce bombastických titulků a slibných úvodů, které čtenáře nalákají. Příliš se však již nestarají o to, pomoci čtenáři, aby při čtení "udržel myšlenku". Má ale takovýto přístup obdobu i ve světě počítačů? Bohužel ano, a mnohdy ne malou. Povšimli si toho mnozí již v dávných dobách začátků programování, a to v souvislosti s používáním příkazu GOTO, který ve vyšších programovacích jazycích realizuje skok v programu. Tedy vlastně přenesení řízení z jednoho místa na místo jiné, které se může nacházet "blízko", ale stejně tak dobře "na hony daleko". Počítači, který takovýto program provádí, to nijak nevadí - on svou "myšlenku" (představovanou obsahem registrů, paměti atd.) dokáže udržet bez problémů. Ale co člověk, který takovýto program teprve píše, který jej ladí nebo který se v něm snaží alespoň nějak orientovat? Pro něj takovýto skok může představovat dosti značnou změnu, při které už pro něj může být

nemalým problémem "udržet myšlenku" a zůstat nadále "v obraze". V důsledku toho se pak také dopouští více chyb, než by mělo být obvyklé. A co teprve když takovýchto náhlých skoků bude celá řada, budou na sebe postupně navazovat a půjdou vysloveně "na přeskáčku"? Tím, kdo poprvé veřejně upozornil na nevhodnost takovéhoto přístupu, byl známý holandský profesor Edsger Dijkstra - bylo to v dopise, který poslal redakci prestižního časopisu Communications of the ACM a který v něm byl otištěn v březnu roku 1968 pod titulkem "Příkaz GOTO je považován za škodlivý" ("GOTO statement considered harmful"). Profesor Dijkstra v tomto článku vyjádřil názor, že kvalita programátorů (a tím i jejich programů) je nepřímo úměrná počtu použitých příkazů GOTO. Tedy že čím více příkazů GOTO je v nějakém programu použito, tím hůře je takovýto program srozumitelný pro samotného autora i kohokoli jiného, tím více v takovémto programu bývá chyb, tím hůře se v něm tyto chyby hledají a odstraňují a tím hůře se takovýto program v budoucnu upravuje, rozšiřuje atd. Zmíněný článek profesora Dijsktry odstartoval rozsáhlou polemiku odborné veřejnosti. Ta nakonec vyústila ve formulování zásad, jejichž dodržování vnáší do vytvářených programů určitý řád, podporuje jejich celkovou "průhlednost" a srozumitelnost, a tím současně i snižuje riziko chyb, pomáhá při potřebě ladění, usnadňuje pozdější upravování apod. Tyto zásady ve své podstatě říkají, že programy by neměly být sestavovány "tak, jak někoho právě napadne", nekoordinovaným "splácáním" všeho možného, s následným řešení všech důsledků, které takovýto nekoordinovaný a nesystematický přístup přináší. Místo toho požadují, aby základními stavebními kameny programů byly takové části, které jsou dostatečně malé a "průhledné" (například bloky po sobě jdoucích elementárních příkazů), a větší celky pak byly sestavovány z menších celků výhradně pomocí takových pravidel (resp. s využitím takových programových konstruktů), které zachovávají potřebný řád a strukturu (jako například podmíněné příkazy, různé druhy cyklů apod.). Naopak tato pravidla požadují, aby byly v maximální možné míře vyloučeny takové mechanismy a konstrukty, které do programů vnáší chaos (jako právě nešťastný příkaz GOTO). Programy psané důsledně podle takovýchto zásad zcela automaticky a vlastně úplně "zadarmo" získávají velmi přehledné a systematické vnitřní členění (též: vnitřní sktrukturu). Proto jsou také tyto zásady označovány jako zásady strukturovaného programování (structured programming).

Macro
Programování může být i fyzicky náročnou záležitostí - považujeme-li za fyzicky náročné intenzivní bušení do klávesnice. Někdy se totiž může stát, že naprogramování něčeho konkrétního dá opravdu hodně práce, resp. vyžádá si „naťukání" opravdu velkého kusu zdrojového textu. Přitom samozřejmě velmi záleží na schopnostech a stylu konkrétního programátora, ale nezanedbatelný vliv zde má i výrazová schopnost použitého programovacího jazyka. Není jistě těžké nahlédnout, že čím vyšší je úroveň programovacího jazyka, tím větší je semantický obsah jednotlivých syntaktických elementů tohoto jazyka. Neboli, řečeno srozumitelnější mluvou: tím více znamená to, co v daném jazyce napíši. Zdaleka „nejukecanějšími" jsou proto programy v jazyku symbolických adres, neboli v asembleru. Zde se mnohdy člověk dříve upíše, než něco skutečně smysluplného naprogramuje. Není proto divu, že lidé se brzy začali ohlížet po takových mechanismech, které by jim usnadnily psaní rozsáhlejších zdrojových textů, a tuto mnohdy dosti monotónní činnost co možná nejvíce zefektivnily. Vcelku logicky se pak takovéto mechanismy vyvinuly a došly největšího uplatnění u těch „nejukecanějších" programovacích jazyků, tedy u nejrůznějších asemblerů. Společným charakteristickým rysem všech těchto mechanismů je skutečnost, že fungují na textové úrovni - můžeme si je představit jako automatické dosazování celých kusů textu na určená místa. A to ještě dříve, než překladač (asembler) začne doopravdy překládat zdrojový text. V souvislosti s těmito mechanismy se používá výstižný termín makro (angl.: macro). Jako tzv. tělo makra se označuje vzor textu, který má být na určité místo zdrojového programu dosazen. Takovýchto vzorů ale může být více (samozřejmě různých), a tak každý z nich musí mít vhodné označení - tzv. jméno makra. Vše pak funguje následujícím způsobem: pokud nechceme nějaký text vypisovat vícekrát, napíšeme jej jen jednou, jako vzor, a opatříme jej vhodným jménem. Tím tzv. definujeme makroinstrukci (též: makropříkaz, zkráceně jen makro). Když pak někde potřebujeme napsat stejný text, nemusíme jej skutečně vypisovat - stačí místo něj uvést jméno, které jsme přiřadili příslušnému makru (makroinstrukci, makropříkazu). Toto se většinou označuje jako volání makra (macro call), i když to není příliš výstižné: volání by totiž naznačovalo odskok na jiné místo v programu, zatímco zde k žádnému odskoku nedochází. Zde se naopak vezme příslušný text, a dosadí se na místo, kde bylo makro voláno. Pokud je makro tímto způsobem voláno například na deseti místech, je efekt stejný, jako kdyby byl příslušný text desetkrát rozepsán na zmíněných deseti místech (a existoval v deseti exemplářích). Místo

„rozepsání" se však hovoří o tzv. rozvoji makra (macro expansion). Naproti tomu při skutečném volání by příslušný podprogram existoval jen jednou. Jak jsme si již naznačili, možnost používat makra vznikla nejprve u různých překladačů jazyka symbolických adres, neboli asemblerů. Příslušné překladače se pak ale již označovaly jako makroasemblery , což mělo zdůraznit právě jejich schopnost práce s makoinstrukcemi (makry). Pro správné pochopení jejich podstaty je vhodné si představit, že jde o běžný překladač-asembler, před který se předřadí ještě jeden pomocný překladač, fungující jako textový preprocesor. Jeho úkolem je provedení všech rozvojů maker, neboli dosazení textů, tvořících těla maker, na místa jejich volání. V praxi přitom nejde o skutečně samostatný předřazený překladač, ale pouze o samostatný průchod překladače zdrojovým textem, při kterém dochází výhradně k rozvoji maker, zatímco k vlastnímu překladu dochází až při dalším průchodu (či průchodech). Jednotlivá makra přitom nemusí zdaleka představovat jen „neměnné" kusy texty. Ve většině konkrétních případů mohou mít makra i různé parametry, mohou se větvit v závislosti na různých podmínkách, jejich rozvoje se mohou předčasně ukončovat, makra se mohou do sebe vnořovat apod. Vždy samozřejmě záleží na konkrétním makrojazyku, který určuje přesná pravidla pro definice, volání a rozvoje maker. Zdůrazněme si ale jednu velmi podstatnou skutečnost, která je klíčová pro správné pochopení celé podstaty maker a jejich odlišení od mechanismu podprogramů - makra jsou výhradně záležitostí zdrojového textu, a s jeho překladem zanikají. Naproti tomu podprogramy překlad „přežijí", a existují i v přeložených a spustitelných programech. Makra, makrojazyky a možnost používání makroinstrukcí však nejsou výhradní záležitostí programování na úrovni asembleru - analogické mechanismy dnes mají zabudovány i překladače mnohých vyšších programovacích jazyků. Jejich cílem je přitom totéž, co bylo cílem na úrovni asembleru: zefektivnit práci programátora, který píše zdrojový text. Programování na nejrůznějších úrovních však není zdaleka jedinou činností, při které lidé musí vykonávat neustále se opakující činnosti - které je zcela zákonitě přestávají bavit, jakmile je mají dělat vícekrát. A jakmile člověka něco nebaví, příslušnou činnost dělá pomalu, s chybami, nepřesně atd. Není proto divu, že i tvůrci nejrůznějších aplikací zabudovali do svých výtvorů obdobu „maker". Setkáme se s nimi například v textových editorech, ve spreadsheetech a v mnoha dalších aplikacích. Někdy jde jen o skromné prostředky, umožňující předem „nahrát" sekvenci příkazů a pak je následně přehrát. Jindy jde až o celé propracované makrojazyky, které umožňují vybudovat nad daným produktem úplně novou aplikaci, šitou na míru konkrétním specifickým potřebám.

Mirror, cache, proxy server
Jakákoli přenosová kapacita je vždy příliš malá - tak by asi mohla znít moderní parafráze jedné velmi známé pravdy, aplikovaná na prostředí počítačových sítí a komunikací. Skutečností je, že soudobé síťové aplikace mají obrovský apetit, a přenosovou kapacitu konzumují doslova ve velkém. Svou troškou, mnohdy dosti velkou, přitom může přispět i nevhodná konfigurace různých síťových prvků, která ve svém důsledku způsobuje zcela zbytečný přenos čistě režijních dat. Ovšem zdaleka největší „nadměrnou konzumaci" dostupné přenosové kapacity může mít na svědomí nevhodné chování uživatelů - mnohdy ne ani tak jejich snaha přenášet relativně velké objemy dat, jako spíše způsob, jakým tak činí. V čem ale takovéto nevhodné chování může spočívat? Představte si například skupinu uživatelů, kteří se nějakým způsobem dozví o existenci zajímavého souboru, umístěného na veřejně přístupném archivu (anonymním FTP serveru) někde v Internetu - nejlépe až za mořem, například v USA. Pokud si každý z těchto uživatelů pro zmíněný soubor „dojde" až do USA (tj. nahraje si jej k sobě až z archivu v USA), bude to znamenat, že celý soubor se bude n-krát přenášet přes oceán, resp. bude přenášen mezikontinentálním spojem, a bude vesele konzumovat jeho vzácnou a drahou přenosovou kapacitu. Stejná úvaha ovšem platí i pro všechny ostatní spoje, které jsou sdíleny více uživateli - například i pro spoje, kterými je naše republika připojena k okolnímu světu. Kdokoli si bude „od nás" stahovat něco z okolního světa, bude spotřebovávat omezenou přenosovou kapacitu těchto spojů, a může nemalou měrou přispět k jejich zahlcování. Jak ale z této situace ven? Existuje nějaké rozumné a prakticky realizovatelné řešení? Naštěstí ano. Možné, a v praxi skutečně používané řešení, spočívá v replikování nejvíce navštěvovaných zdrojů - například obsah oblíbeného anonymního FTP archivu, nacházejícího se za mořem, se přenese na vhodný (hlavně dostatečně velký) server někde v Evropě, či na několik takovýchto serverů na různých místech po celé zeměkouli. Uživatelům se pak dá na vědomí, že všechno to, co je k dispozici na původním „mateřském" serveru, najdou i na jeho replikovaných kopiích - kterým se pak říká mirrors (doslova: zrcadla). Celá věc ovšem má dva háčky - uživatelé se musí o existenci zrcadel (mirrors) dozvědět, a dále musí existovat vhodný mechanismus, který bude průběžně zajišťovat aktuálnost všech replik (mirror-ů). Pokud jde o informovanost uživatelů, zde může napomoci osvěta. Ještě více však může pomoci samotný „mateřský" server

tím, že svým uživatelům sám oznámí, kde se nachází jeho repliky (mirrors). No a pokud se k tomu ještě přidá obvyklé přetížení dálkových spojů, uživatel brzy sám pozná, kam je pro něj výhodnější se obracet. Pokud jde o průběžné udržování aktuálnosti replik (zrcadel, mirror-ů), ani toto nemusí být velkým problémem zejména jde-li o pouhé archivy souborů, ze kterých dochází pouze k jednosměrné distribuci. Zde skutečně není žádný velký problém pravidelně (například jednou za den či týden) distribuovat z mateřského serveru na jeho repliky všechny přírůstky za dobu od poslední aktualizace. Vytváření zrcadlových replik (mirror-ů) je oblíbeným a častým řešením v případě velkých anonymních FTP serverů. Kdyby všichni naši uživatelé Internetu věděli, že většina nejznámějších světových FTP archivů má svá zrcadla i u nás (někdy i několik), nemuseli by si stahovat tolik souborů soubory ze zahraničí, a našim mezinárodním spojům by se hodně ulevilo. Poněkud jiné řešení se ale používá u jiných síťových služeb, než jakými jsou anonymní FTP archivy se svou jednosměrnou distribucí celých souborů. Služby jako Gopher či WWW (World Wide Web) mají přeci jen interaktivnější povahu, a ke změnám na nich dochází mnohem častěji. Proto by u nich nebylo tak snadné zajistit potřebnou aktuálnost případných replik. Přesto je ale i u těchto služeb velmi žádoucí minimalizovat objem dat, které se po dostupných přenosových cestách skutečně přenáší. Svým významným dílem může přispět i samotná aplikace, která tyto služby zpřístupňuje. Například u klientů (klientských programů) služby WWW je běžné, že si po určitou dobu pamatují obsah těch stránek, které jejich uživatel navštívil, a které si tudíž „stáhnul" z příslušného WWW serveru. Pokud se pak později uživatel rozhodne znovu navštívit tutéž stránku, klientský program to pozná, a použije ten obsah stránky, který si uchoval ve své speciální vyrovnávací paměti - označované jako paměť cache. Aby ovšem vše rozumně fungovalo, a uživateli se promítly i případné změny na původním WWW serveru, nesmí jednou navštívené stránky v cache paměti jeho klientského počítače setrvávat příliš dlouho - po nějakém čase (obvykle volitelném) musí „vyčichnout". Ještě další možné řešení se používá tam, kde je k Internetu připojena celá lokální počítačová síť, a její provozovatelé se pojistili proti neoprávněnému přístupu z vnějšího světa - svou síť oddělili od divokého Internetu tím, co se dnes běžně označuje jako tzv. firewall. Cílem přitom bývá propouštět veškerý provoz jen takovými místy, která jsou k tomu určena, a která umožňují zabránit jakémukoli nežádoucímu provozu. V případě služby WWW se tohoto cíle dosahuje tak, že mezi „lokální" uživatele a jejich klientské programy na jedné straně a WWW servery v Internetu na straně druhé se postaví přechodový bod, fungující jako tzv. proxy server. Místní uživatelé se pak se svými žádostmi o přístup k vnějším WWW serverům obrací ve skutečnosti na tento proxy server, který si pak sám „dojde" ke vzdálenému WWW serveru, získá od něj požadovaná data, a ta pak předá svému místnímu uživateli. Přitom si ale tato data také sám zapamatuje v paměti, kterou má k dispozici a která funguje jako jeho vyrovnávací (cache) paměť - takže když se na něj někdy později obrátí ten samý či jiný uživatel, resp. klient z místní lokální sítě, dokáže mu požadovaná data poskytnout přímo ze své cache paměti.

Multimediální prvky pro PC

Popis multimediálních prvků pro PC

Je důležité rozlišovat mezi dvěma základními druhy nosičů multimediální informace. Nosiče informace lze rozdělit na média statická (časově nezávislá) a dynamická (měnící se s časem). Příkladem statických médií mohou být texty, grafika a nepohyblivé obrázky, dynamických naopak obrázky pohyblivé, animace a zvuky.

Multimediální PC (MPC) by mělo mít minimálně tyto výkonnostní parametry: • • • • • • • • CPU odpovídající procesoru Intel 80486DX s taktovací frekvencí 50 MHz pamě? RAM 4MB kapacitu pevného disku 230 MB 3,5" diskovou jednotku s kapacitou 1.44 MB, porty paralelní a sériové, myš, game port , MIDI port s funkcí I/O MPC kompatibilní zvukovou kartu, MPC kompatibilní mechaniku CD-ROM, systémový sw kompatibilní s Windows Multimedia Extension.

Je nutno dodat, že tyto požadavky jsou opravdu minimální a že v současné době by člověk asi těžko sháněl takto zastaralý počítač. Pro přijatelnou práci by bylo možná lepší doporučit procesor alespoň Pentium 133 (pro náročné hry až Pentium III nebo AMD K7), pevný disk alespoň 1 GB (spíše více), grafickou kartu s minimálně 4 MB video paměti, CD-ROM alespoň 8x speed, zvukovou kartu, software podporující většinu multimediálních formátů a standardů Zvuková karta DAC (Digital-analog conversion) Jádrem každého digitálního zařízení vyrábějícího analogový signál, v našem případě zvuk, je digitálněanalogový převodník. To je elektronický obvod, jež v pravidelných časových intervalech převádí číslicový údaj na analogový. Jednoduše řečeno z nějakého čísla, které obdrží na vstupu, vyrobí na výstupu napětí, jež je tomuto číslu přiřazeno. Například číslu 255 přiřadí hodnotu napětí 10 V a co je mezi tím se postupně rozdělí, v našem případě každá jednotka bude znamenat zvýšení napětí o 10 V / 255 = 0,0392 V. Uvedený příklad odpovídá převodníku s 8bitovým rozlišením (8 bitů znamená čísla od 0 do 255). Pokud budeme mít převodník s rozlišením 16 bitů, budou jim odpovídat čísla od 0 do 65535 a v našem případě napě?ové schůdky budou velké 10 V / 65535 = 0,00015 V. ADC (Analog-digital conversion) Je to jen opačný postup než DAC. Je však realizován jiným obvodem, než byl předchozí. Od jeho rychlosti závisí tzv. frekvence vzorkování, množství odměrů přicházejícího signálu za sekundu během nahrávání. Chcete-li například převést napětí 4,72 V na nějaké 8bitové číslo, může se to provést tak, že postupně necháte na nějaký pomocný DA převodník posílat čísla od 0 do 255 a to, které se bude po převodu na napětí nejvíce blížit sledované hodnotě, prohlásíte ho za jeho převod. V našem případě to tedy bude číslo 120, protože 120 x 0,0392 = 4,704, což je nejblíže 4,72 V. Z toho je vidět, že jsme na odměření tohoto vzorku potřebovali 120 kroků. Ve skutečnosti je pro převod 8bitového slova potřeba právě jen 8 kroků. Avšak i zde vzniká tzv. kvantovací chyba 4,72 - 4,704 = 0,016 V. Dnešní karty používají AD převodníky, jež pracují s vzorkovací frekvencí až 44,1 kHz při snímání mono, obvykle s 22 nebo 44,1 kHz pro stereo. U PC však není největším problémem rychlost převodníků, ale rychlost DMA přenosu, který je použit pro ukládání nasnímaných dat. To znamená při frekvenci 44,1 kHz, stereo a 16bitové kvalitě se jedná o 172,3 kB/s. Zvuková kvalita se přibližuje nebo dosahuje koncertní kvality. Starší 8,16bitové karty používají FM syntetizér, který pracuje na principu napodobení reálného tónu pomocí přehrávání jednoho zvuku různou rychlostí. Novější karty používají Wave Table syntézy - jednotlivé nástroje jsou nasnímány v CD kvalitě a uloženy na disku. Při přehrávání se daný nástroj nahraje do paměti zvukové karty a přehraje se. Tímto způsobem se dá dosáhnout koncertní kvality výsledného zvuku. Nevýhoda nástroje: zaberou na disku velký prostor (7-10 MB). MIDI (Musical Instrument Digital Interface) Označuje standard pro výměnu dat mezi elektronickými hudebními nástroji. Hardwarově je MIDI druh sériového rozhraní, které přenáší data rychlostí 31250 bitů za sekundu. Spojením rozhraní MIDI klávesnice se

syntetizátory, skupinou bicích nástrojů a přístrojů vyrábějících efekty, ovládá hudebník nebo skladatel celý orchestr. Vedením MIDI nejsou vysílány žádné hudební signály, ale instrukce pro hraní. Data MIDI jsou rozdělena do tzv. Events (událostí). Nejdůležitější Events se jmenují Note On a Note Off. Není to však nic jiného než příkazy k zahrání určitého tónu určité délky a síly na zadaném kanálu MIDI. Kanály MIDI (je jich 16) si můžeme představit jako rozhlasové kanály. Umožňují přímé adresování určitého zařízení MIDI nebo výběr tónu na syntetizátoru. Pomocí jednoho PC a vhodného programu (sekvenceru) se nahrává hudba po záznamových stopách, přičemž jsou jednotlivé melodické posloupnosti předehrávány počítači nástrojem MIDI, například syntetizátorem. Na rozdíl od magnetofonových snímků se zaznamenaná data skládají z jednotlivých hracích instrukcí, které se dají dodatečně zpracovat až do nejmenších podrobností. Vedle událostí Note On a Note Off existuje celá řada dalších příkazů pro řízení příslušného nástroje. Jedním z nejdůležitějších je program Change. Tento Event vybírá jiný tón nazývaný také Pantch nebo Program), nebo? většina syntetizátorů ovládá podstatně víc než pouhých 16 rozdílných zvuků. Všechny zvukové karty se v zásadě skládají ze tří víceméně navzájem nezávislých částí: • • • digitální části zdroje zvuku rozhraní MIDI.

Digitální část (A/D a D/A převodník) je určena pro digitální nahrávání a reprodukci tónu a zvuku. Uplatní se např. při řízení hlasu nebo při přehrávání souboru .WAV. Nemá jako jediná vůbec nic společného s MIDI. Druhou částí je zdroj zvuku (syntetizátor), který jen nereprodukuje hrané zvuky, ale podle pokynů pro programování sám uměle vyrábí tóny a hluky. To je hlavně třeba pro napodobování hudebních nástrojů k hudebnímu podmalování počítačových her nebo pro reprodukci souborů MIDI. V syntetizátoru se moderní zvukové karty liší nejvíc. Jednodušší modely pracují s čipem OPL 2 nebo OPL 3 firmy YAMAHA.Oba čipy pracují na základě frekvenční modulace (FM), což znamená, že se zvuky vytvářejí z jednoduchých nebo několikanásobně se překrývajících vlnových tvarů. Mezi nejznámější patří SoundBlaster, Diamond Monster Některé karty mají integrované i radio přijímače. K dobrému zvukovému zážitku patří i reproduktory vybavené pro prostorový zvuk (3D Sound) zvyšující zážitek z multimediálních aplikací a her. Video karty umožňují rychlé překreslování obrazovky (a tak zrychlují celý počítač...) a přehrávání videa na obrazovce. Jsou vybaveny videopamětí, která slouží k urychlení karty (čím více paměti, tím lépe). V současné době se prodávají ještě tzv. 3D akcelerátory (Voodoo, TNT), které vedle video karty zrychlují hlavně 3D objekty (nejčastější použití ve hrách). Některé video karty mají integrované i přijímače televizního signálu.

Počítačové viry a ochrana proti nim
Počítačový virus je zvláštní program, který je schopný vytvářet své kopie. Aby zabezpečil své spuštění, připojuje se k souborům na disku, ukládá se do systémových oblastí apod. Počítačové viry tvoří dvě velké skupiny: • • boot viry souborové viry.

Existují i viry kombinované nebo jiného typu ( např. adresářové ). Boot viry Tělo viru je umístěno v boot sektoru diskety nebo v MBR pevného disku. Aktivuje se po zavedení systému z napadeného disku. Pokud je virus aktivní, může napadnout každou disketu, nechráněnou proti zápisu, se kterou pracujeme. Z diskety na pevný disk se virus přenese jen po zavedení systému z napadené diskety. Napadená disketa nemusí být pouze systémová. Souborové viry Souborový virus se připojuje nebo přepisuje spustitelné soubory (.COM, .EXE), nebo soubory, které obsahují spustitelný kód ( .BIN, .OVL aj.). Tento virus se aktivuje, po spuštění napadeného souboru.

Zvláštní skupinu souborových virů tvoří viry, které kromě souborů napadají i MBR pevného disku, ne však boot sektor disket. Takový virus se aktivuje kromě spuštění napadeného souboru i po zavedení systému z napadeného pevného disku. Viry můžeme dále dělit na: • • pamě?ově rezidentní (po aktivaci jsou trvale umístěny v paměti) nerezidentní

Nerezidentní virus způsobí nákazu jen po spuštění napadeného souboru. Běžně nakazí několik souborů obvykle v aktuálním adresáři. Rezidentní virus se po spuštění napadeného souboru umístí v operační paměti. Nejčastěji to bývá v konvenční paměti, pomocí přerušení INT 12 zajistí, aby nebyl přepsán jiným programem. Rezidentní virus se může nacházet v konvenční paměti, v paměti EMS a v prvním 64 kB segmentu paměti extended (tedy 0-1088 kB). Rezidentní virus může napadnou libovolně velký počet souborů. Obecná činnost vykonávána viry Viry vykonávají během svého životního cyklu mnoho akcí (pořadí bývá u každého viru individuální, nemusí být použity všechny akce): • • • • • • • • • • převzít kontrolu nad procesorem zkontrolovat aktuální stav prostředí nainstalovat se do paměti přesměrovat přerušení provést test na podmínku spuštění škody (datum, počet spuštění...) vykonat škodlivou činnost najít místo pro vytvoření své kopie zkontrolovat, zda místo neobsahuje kopii vložit svou kopii uskutečnit úpravy napadeného místa ( zakódování )

Způsoby přenosu virů mezi počítači Viry se šíří v rámci jednoho počítače i mezi počítači. Existuje několik možných přenosových médií mezi počítači: Běžné média • • • • • diskety sí?ové linky ( při zapojení v síti ) telefonní linka ( při použití modemu ) výměnné pevné disky disky CD ROM

Nepříliš častá média • • • sériová linka ( při propojení počítačů ) uveřejněný zdrojový text viru paměti EPROM

Postup při napadení počítače virem 1. 2. 3. Vypneme počítač. Zavedeme systém z čisté DOS diskety chráněné proti zápisu. Z diskety spustíme antivirový program. Pokud chceme spouštět antivirový program z napadeného disku, nejprve ho zkopírujeme z diskety na pevný disk. Antivirový program spuštěný z pevného disku poskytuje větší možnosti při léčení, jeho práce je rychlejší.

4. 5.

6.

7. 8.

Jestliže se jedná o souborový virus, napadené soubory necháme" vyléčit", pokud máme soubory zálohované, je vhodnější napadené soubory smazat a nainstalovat nové. Po vyléčení i lepším antivirovým programem ne vždy soubory pracují korektně. Jestliže jde o boot virus, necháme provést obnovu boot sektorů antivirovým programem, nebo příkazem SYS si provedeme obnovu sami (SYS spouštíme z diskety). Jestliže se jedná o virus v MBR, zálohujeme si nejprve všechny systémové oblasti a zkontrolujeme funkčnost záložních kopií. Antivirové programy občas poškodí při odstraňování tohoto viru tabulku partition, čímž způsobí ztrátu dat. Jestliže dokáže náš antivirový program virus v MBR odstranit, nebo umí sektor obnovit z diskety, provedeme jeho obnovení. Zkontrolujeme všechny diskety. Informujeme o nákaze uživatele, se kterými si vyměňujeme diskety

Ochrana před počítačovými viry • • softwarová hardwarová

Softwarová ochrana Softwarová ochrana je realizována antivirovými programy. Služby, které antivirové programy poskytují lze rozdělit do tří skupin: • • • konkrétní antivirové techniky obecné antivirové techniky preventivní ochrana

Konkrétní antivirové techniky vyhledávají pouze známé viry podle virové databáze, kterou je nutné aktualizovat. Většinu takto nalezených virů je možné ze souborů nebo z boot sektorů také odstranit, a to buď s použitím informací o viru, který příslušný soubor infikoval nebo s použitím původních informací o souboru, které popisují, jak vypadal před infekcí. Největší výhodou této metody je její rychlost, tato metoda se tedy používá pro pravidelné kontrolování pevného disku. Známé viry je také možné vyhledávat v každém spouštěném, kopírovaném, otevíraném souboru a v zaváděcích sektorech všech disket, které do počítače vkládáme. K tomu je určen rezidentní ovladač, který lze zavádět vždy po spuštění počítače. Tento ovladač se zavádí v config.sys a je tedy v paměti ještě dříve, než se načte command.com (což je obvyklá základna většiny virů). Samozřejmě nechybí možnost prohledat pamě? na přítomnost rezidentních virů. Obecné antivirové techniky se snaží najít a pokud je to možné i odstranit neznámý virus. První metodou, jak najít neznámý virus je tzv. srovnávací test. Při prvním spuštění tohoto testu si program zapíše důležité informace o souborech (velikost, datum, čas, atributy a kontrolní součty). Při dalších spuštěních porovnává tyto informace s aktuálním stavem. Pokud v těchto údajích došlo ke změně většího rozsahu, je pravděpodobné, že počítač byl napaden virem. Antivirový program AVG obsahuje i heuristickou analýzu. Heuristická analýza podrobně analyzuje obsah souborů na pevném disku a vyhledává v něm různé podezřelé konstrukce (přímé zápisy na disk, převzení kontroly nad operačním systémem apod.). Heuristická analýza je obecně fungující metoda, není tedy závislá na virové databázi. Automaticky se při této metodě provádí test i na známé viry. Pokud je tedy soubor označen za napadený, prohledává se v databázi virů a jméno viru je vypsáno, v opačném případě je virus označen jako neznámý. Program obsahuje tzv. plnou heuristickou analýzu (heuristická analýza s emulací kódu), kdy se antivirový program přímo pokouší emulovat činnost počítače při spuštění programu. Nevýhoda metody je v tom, že často dochází k falešným poplachům, kdy některé soubory jsou označovány jako napadené. Avšak vzhledem k zvětšování počtu stále složitějších virů, bude v budoucnu tato metoda nejčastěji používaná. Test prostředí na souborové viry spočívá v tom, že program vygeneruje na disk soubory typu .com a .exe, potom je kopíruje a provádí s nimi různé operace, přičemž vždy kontroluje jejich obsah. Pokud se při manipulaci s nimi změní jejich obsah, je velmi pravděpodobné, že se na návnadu právě chytil virus. Obdobně je program schopen vygenerovat na disketu prázdný zaváděcí sektor a poté kontrolovat, byl-li nějak změněn. Preventivní antivirové techniky se doporučí využívat pokud možno ještě předtím, než se virus v počítači usídlí. Spočívají v zálohování některých důležitých informacích o počítači, podle nichž bude v případě potřeby možné obnovit původní stav. Pomocí programu si můžeme uložit obsah paměti CMOS, tabulku rozdělení pevného disku apod. Po napadení počítače lze tyto informace zpětně obnovit. Jiné antivirové programy (F-PROT, SCAN) obsahují další užitečnou funkci - vkládání vlastních virových řetězců. Tato metoda se však neuplatní v případě polymorfního viru.

Hardwarová ochrana Kromě softwarové ochrany před viry existuje i možnost hardwarové ochrany. Ta je realizována pomocí rozšiřující karty. Karta obsahuje pamě? ROM se speciálním softwarem. Základní funkce: • • • • • • • bezpečnost je zajištěna pomocí několikastupňového ochranného systému přístup k počítači je pomocí šifrovaného hesla uživatele je možné rozdělit podle přístupových práv, které si sami navrhneme pro pevné disky a diskety je možno nastavit přístupová práva (jen čtení, zápis apod.) dlouhodobé sledování provozu počítače včetně registrace všech pokusů o porušení přístupových práv karta obsahuje baterii zálohovanou pamě?, ve které jsou uložena všechna přístupová práva a nastaveny parametry kartu je možné doplnit o nadstavbové moduly pro zálohování, kódování apod.

Automaticky je zajištěna ochrana boot sektorů proti přepsání a formátování.

Přerušovací systém
Princip přerušení:

n -1, n atd. jsou adresy instrukcí. Pokud při běhu programu dojde k žádosti o přerušení, dokončí se právě probíhající instrukce a systém zajistí úklid kontextu do zásobníku pro přerušení. Kontext obsahuje obsahy střadače registrů v době přerušení a dále je uložena návratová adresa n +1 hlavního programu. Je proveden odskok na adresu instrukce pro obslužnou rutinu (podprogram), přerušení je obslouženo. Instrukce konec přerušení zajistí přepsání kontextu zpět do registru (dojde k vyprázdnění zásobníku pro přerušení a přes návratovou adresu hlavního programu je tento spuštěn a dále běží. Přerušení může být: • • vnitřní (chyba při běhu programu) vnější (žádost některé periferie o obsluhu dat)

Dále se dělí: • • vektorové maskovatelné

Maskovatelné je druh přerušení, které závisí na nastavení klopného obvodu tzv.masky, který podle stavu na výstupu povolí nebo nepovolí přerušení. K tomu je určen v příznakovém registru bit IF (Interupt flag), který při nastavení do jedničky zajistí maskovatelné přerušení.

Jelikož periferních zařízení je více než dvě, přidává se k procesorům řadič přerušení, který je řadí podle důležitosti (priority) a sděluje procesoru o jaký druh přerušení jde. Při každém přerušení se volá obslužná rutina, která je k tomu určena. Procesor pracuje s vektorovým systémem přerušení. Tabulka vektorů je uložena v operační paměti, většinou od adresy 0 a každý vektor má velikost 4B. Je to celá adresa (segment i offset) a v operační paměti zabírá asi 1kB. Procesor rozezná 256 přerušení (0-255). Některé vektory jsou pevně určeny a nelze je měnit. Tabulka vektoru: 00000 Dělení nulou 00004 00008 00012 Krokování Nemaskovatelné přerušení INT 3 Aritmetické přetečení 27 rezervovaných vektorů 224 volných vektorů U maskovatelného přerušení dodá řadič přerušení i číslo vektoru, které specifikuje některou z periferií. 27 vektorů si rezervovali tvůrci systému a většinou nejsou využity.

vektor 0 vektor 1 vektor 2 vektor 3 vektor 4

Repeater
Natáhnout odnekud nekam kabel nemusí být nijak težké. Pokud ale potrebujete vybudovat kabelový rozvod pro lokální pocítacovou sít typu Ethernet a rozhodnete se tak ucinit pomocí koaxiálního kabelu, budou vám v ceste stát nekterá významná omezení, vyplývající jednak z fyzikálních vlastností samotného kabelu a jednak ze zpusobu komunikace v ethernetovských sítích. O tom, že v sítích typu Ethernet lze používat ruzné druhy kabelu, jsme se již nekolikrát zmínili v drívejších vydáních této rubriky. Již dríve jsme si také uvedli, že pro ruzné druhy kabeláže byly vypracovány samostatné standardy (resp. doplnky standardu), a to organizací IEEE (Institute of Electrical and Electronic Engineers). V soucasné dobe jsou nejvýznamnejší standardy 10Base-T (pro tzv. kroucenou dvoulinku) a 10Base-5 (pro tzv. tenký koaxiální kabel), zatímco puvodní standard pro tzv. tlustý koaxiální kabel (oznacovaný také jako 10Base-5) postupne ztrácí na své aktuálnosti, protože se používá cím dál tím méne. Není ostatne divu - tzv. tlustý koaxiální kabel má sice vetší dosah, ale je o hodne dražší než kabel tenký a dosti špatne se instaluje, protože je velmi tuhý a težko ohebný (jeho dovolený polomer ohybu je 25 cm). Principiálne nejjednodušší je situace u kroucené dvoulinky – ta umožnuje vytváret pouze dvoubodové spoje, které tudíž mohou vést jen mezi koncovým uzlem a prípojným místem nejbližšího rozbocovace (hub-u, viz minulý príspevek této rubriky). Navíc maximální vzdálenost je cca 100 metru. Oba druhy koaxiálních kabelu však umožnují vytváret mnohobodová spojení, tj. mohou na ne být pripojeny více než dva uzly. Nemuže jich ovšem být libovolne mnoho, ale nejvýše 100 (na jeden segment tlustého koaxiálního kabelu), resp. 30 (v prípade tenkého kabelu). Dalším omezením je i minimální odstup mezi dvema sousedními uzly, který ciní 2,5 metru u tlustého kabelu a 0,5 metru u tenkého kabelu. Nejvetším omezením však bývá maximální délka souvislého segmentu kabelu, a to 500 metru u tlustého a 200 metru (presneji 185) u tenkého kabelu. Jak se ale zachovat v prípade, když se dostanete do konfliktu s temito omezeními? Minimální odstup mezi dvema uzly asi nebude vetším problémem, ale co když potrebujete pripojit víc než povolený maximální pocet uzlu? Nebo – a to je zrejme nejcastejší prípad - potrebujete preklenout vetší vzdálenost než maximálních 500, resp. 200 metru? Možných rešení tohoto problému existuje více. Všechna predpokládají použití dvou (ci více) souvislých segmentu kabelu, mezi které se vloží jako propojující clánek zvláštní "krabicka". Rozdíl mezi jednotlivými rešeními je pak v tom, jak tato "krabicka" funguje. Dnes se podrobneji zastavíme u jednoho z možných rešení, které predpokládá, že príslušná "krabicka" funguje jako digitální zesilovac, a oznacuje se jako repeater (cesky: opakovac). Jedním z hlavních duvodu, proc musí být maximální délka souvislého kabelu omezena, je skutecnost, že šírí-li se kabelem signál, dochází k jeho útlumu (tj. k zeslabení). Má-li být signál dopravován na vetší vzdálenosti, musí být po ceste vhodne zesílen. Práve toto je hlavní úkol opakovace. Při troše dobré vule si lze predstavit, že vše, co toto zarízení "zaslechne" (na jednom segmentu kabelu), zase ihned "zopakuje" (do druhého, resp. do všech ostatních segmentu) - odsud také jeho název. Další významnou funkcí opakovace je i dohled nad "cistotou" digitálního signálu. Pri prenosu kabelem totiž krome útlumu dochází i k ruzným deformacím a zkreslením signálu, a ty má opakovac za úkol kompenzovat (a prijímaný signál před jeho opetovným odesláním vhodne vytvarovat). Podstatné je ovšem to, že opakovac funguje v reálném case a je vlastne plne "pruchozí". Nemá žádnou pamet a vše, co z jedné strany prijme, zase ihned vyšle, a to všemi ostatními smery, které pro nej existují. Díky tomu se také nemusí zajímat o to, co vlastne skrz nej prochází. A práve tím se opakovac odlišuje od jiných druhu "krabicek", které se již snaží interpretovat to, co z ruzných stran

"slyší", a na základe toho se pak dokáží rozhodnout, co mají propustit, a co nikoli. Zpusob fungování opakovace je tedy analogický k funkci rozbocovace (hub-u), kterým jsme se zabývali v minulém vydání této rubriky. Tomu odpovídá i konstrukcní provedení opakovacu - ty nejjednodušší sice umožnují propojit mezi sebou práve a pouze dva segmenty koaxiálního kabelu, ale tzv. vícevstupové opakovace (multiport repeaters) nabízí více pripojných míst, z nichž ke každému lze pripojit jeden kabelový segment. Použití opakovacu v lokálních sítích typu Ethernet však má i jedno duležité omezení: mezi žádnými dvema uzly nesmí být více než dva opakovace. Duvodem je prístupová metoda (CSMA/CD, viz CW 33/93), založená na možnosti detektovat kolize a na predpokladu, že kolizi dokáží rozpoznat všechny uzly. Použití opakovacu totiž vnáší nezanedbatelné zpoždení do celkové doby, kterou signálu trvá, než urazí cestu z jednoho konce síte na druhý. Pokud by tato doba presáhla urcitou hranici, mohlo by dojít k velmi zajímavé, ale bohužel velmi nežádoucí situaci: kolize by byla detektovatelná jen v cásti síte, a nikoli v celé síti (napríklad jen "uprostred", a nikoli "na koncích"). Podmínka, že mezi žádnými dvema uzly nesmí být více než dva opakovace (spolu s maximální délkou souvislého segmentu kabelu), zajištuje takovou dobu šírení signálu, která práve naznacenou situaci vylucuje. Znamená ovšem tato podmínka soucasne i to, že v žádné ethernetovské síti nesmí být více než dva opakovace? Odpoved je naštestí záporná. Jedním duvodem je skutecnost, že toto omezení platí jen do nejbližší "krabicky", která funguje jiným zpusobem než jako opakovac (jak, o tom bude rec príšte). I bez této jiné "krabicky" však lze najít takovou topologii síte, ve které muže být opakovacu více, ale zásada maximálne dvou opakovacu mezi libovolnými dvema uzly bude dodržena – rešením je nám již dobre známá sbernicová topologie, v jejímž rámci se jednotlivé segmenty kabelu pripojují pres opakovace na spolecný páterní segment.

Router
V posledních dvou vydáních této rubriky jsme se zabývali pojmy opakovac (repeater) a most (bridge). Rekli jsme si, že v obou prípadech jde o "krabicku", která vzájemne propojuje dva ci více kabelových Segmentu lokálních pocítacových sítí. Rozdíl mezi opakovacem a mostem pak spocívá v tom, jak vlastne fungují: opakovac je pouhým digitálním zesilovacem, kterýzesiluje a regeneruje prijímané signály a okamžite je vysílá i do všech ostatních kabelových segmentu, které jsou na nej pripojeny. Naproti tomu most (bridge) se chová inteligentneji, a snaží se zbytecne neplýtvat prenosovou kapacitou jednotlivých segmentu. Jeho hlavní funkce spocívá v odfiltrovávání takových dat, která mají svého odesilatele i príjemce v jednom a témže segmentu, a která tudíž není nutné predávat i do Jiných segmentu. Další funkcí mostu je pak cílené predávání dat jen do toho segmentu, ve kterém se nachází jejich skutecný príjemce (pokud jsou k mostu pripojeny více než dva segmenty). Aby mohl tuto svou úlohu plnit, musí být schopen interpretovat prenášená data alespon do takové míry, aby z Nich poznal odesilatele a príjemce. Jestliže jsme si opakovac minule zaradili v rámci vrstvových sítových modelu do nejnižší, tzv. fyzické vrstvy, pak most je nutné zaradit do vrstvy bezprostredne vyšší, neboli vrstvy linkové. Na úrovni této vrstvy jsou prenášené bloky dat oznacovány jako rámce (frames) a jsou vybaveny adresou svého odesilatele a príjemce. Konkrétní forma této adresy pritom závisí na druhu síte, resp. na použité prenosové technologii. Napríklad v sítích typu Ethernet se na úrovni linkové vrstvy používají 48bitové adresy, zatímco napríklad v sítích Arcnet jsou tyto adresy jednobytové. Podstatné je ovšem to, že v rámci linkové vrstvy jsou jednotlivé rámce prenášeny vždy jen mezi dvojicemi uzlu, které spolu bezprostredne sousedí (v tom smyslu, že mezi nimi existuje prímé spojení). Most, který pracuje na úrovni linkové vrstvy, proto "vnímá" skutecnou topologii síte jen "na prímou viditelnost", a o existenci takových uzlu, se kterými nemá prímé spojení, nic netuší. Tretím druhem "krabicky", která muže propojovat dva ci více kabelových segmentu, je tzv. smerovac (router). Ten si již uvedomuje topologii celé síte, a díky tomu je pak schopen rozhodnout, kudy vede cesta do nejakého vzdáleného uzlu. Prijme-li nejaký blok dat, umí se rozhodnout, kterým smerem jej poslat dál, aby se nakonec (po prípadném pruchodu dalšími mezilehlými uzly) dostal až ke svému konecnému adresátovi. K tomu ovšem smerovac nevystací se stejnými informacemi, jaké má k dispozici most (bridge), ale musí se do prenášených bloku dat dívat hloubeji. V praxi to znamená, že smerovac pracuje na úrovni tzv. sítové vrstvy, která je bezprostredne nad vrstvou linkovou. Na této úrovni se prenášeným blokum dat ríká obvykle pakety (packets). Ty jsou opatreny jiným druhem adres, než jaké se používají na úrovni linkové vrstvy, a jsou vkládány do rámcu linkové vrstvy (proto se smerovac musí dívat do prenášených dat "hloubeji"). Hlavním úkolem smerovace je tedy rozhodnout, kterým smerem posílat jednotlivé pakety tak, aby se dostaly až ke svým koncovým adresátum. Tomuto rozhodování (a jeho praktickému naplnování, tj. posílání paketu ve zvoleném smeru) se ne náhodou ríká smerování (routing). Smerovac pritom vychází ze znalosti topologie síte a na ni pak v jednotlivých prípadech aplikuje algoritmus volby dalšího smeru prenosu. Tomuto algoritmu se ríká metoda smerování. Muže mít mnoho ruzných podob - od neadaptivních statických algoritmu, které vychází z predem dané tabulky a nijak nereagují na jakékoli zmeny stavu síte, až po takové algoritmy, které se dynamicky prizpusobují zmenám v topologii síte, pretížení jednotlivých prenosových cest i jiným zmenám. Mezi opakovacem na jedné strane a mostem se smerovacem na strane druhé existuje zásadní rozdíl v tom, že opakovac prenáší data v reálném casu, zatímco most a smerovac nikoli. Ty totiž musí nejprve nacíst celý paket ci rámec (nebo alespon jeho cást) do své vyrovnávací pameti, a teprve pak se podle jeho obsahu mohou

rozhodnout, co s ním. Mezi mostem a smerovacem pak existuje další zásadní rozdíl v tom, že most je pro ostatní uzly neviditelný, zatímco existenci smerovace si ostatní uzly musí plne uvedomovat. Most totiž funguje na principu odposlechu - odesilatel adresuje svuj rámec skutecnému príjemci, o kterém se domnívá, že s ním má prímé spojení (tj. že se nachází ve stejném segmentu jako on sám). Ve skutecnosti ale jde pouze o iluzi, kterou vytvárí most. Ten totiž toto vysílání zachytí, rámec prijme sám a na základe v nem obsažených adres jej zase vyšle do toho segmentu, ve kterém se skutecný príjemce doopravdy nachází. Naproti tomu smerovac, který pracuje na úrovni bezprostredne vyšší vrstvy, je pro odesilatele již plne viditelný. Pokud nejaký uzel potrebuje odeslat paket príjemci v jiném segmentu, opatrí jej adresou tohoto príjemce a vloží jej do rámce linkové vrstvy, který ale pošle smerovaci! Ten rámec "rozbalí", najde v nem paket sítové vrstvy a v nem adresu koncového príjemce. Podle ní se pak rozhodne, kudy paket poslat dál. Když tak uciní, paket znovu vloží do rámce linkové vrstvy a pošle jej ve zvoleném smeru. Príjemcem tohoto rámce pak muže být bud konecný adresát paketu (pokud se v príslušném segmentu již nachází), nebo opet další smerovac, ve kterém se celý proces opakuje.Na rozdíl od mostu jsou tedy smerovacum jednotlivé pakety explicitne adresovány. Zásadní rozdíl je tedy i v tom, jakou iluzi vytvárí jednotlivým uzlum most a jakou smerovac. V prípade mostu je výsledný efekt takový, že jednotlivé kabelové segmenty logicky splývají v jeden celek (a most, který tuto iluzi vytvárí, je sám o sobe neviditelný), zatímco pri použití smerovace si jednotlivé segmenty z pohledu ostatních uzlu ponechávají svou vlastní identitu a smerovac je plne viditelnou bránou mezi nimi.

Transceiver, drop cable, AUI, BNC
Predstava sbernicové topologie u lokálních pocítacových sítí (napríklad u sítí typu Ethernet) je vcelku jednoduchá – na jedno spolecné prenosové médium se "navesí" jednotlivé uzlové pocítace. Jakým konkrétním zpusobem se ale toto "navešení" musí udelat? Je možné již existující kabel prestrihnout ci alespon naríznout, vzít jiný kus kabelu a pripojit jej jako odbocku? Tak jednoduché to bohužel není, ale je dobré vedet proc. Když jsme si v CW 32/93 povídali v této rubrice na téma Ethernet, rekli jsme si, že síte tohoto typu mohou používat dva druhy koaxiálních kabelu (tzv. tlustý a tenký), nebo tzv. kroucenou dvoulinku. Koaxiální kabel vdecí za svuj název tomu, že jej tvorí dve vodivé vrstvy - jedna má formu stredového vodice, a druhá válcového plášte, který stredový vodic obepíná (samozrejme je mezi nimi ješte tenká nevodivá vrstva). Oba vodice, jak stredový tak i vodivý plášt, tak mají shodné osy, a proto se príslušnému kabelu ríká souosý (anglicky: co-axial, odsud: coaxial cable neboli koaxiální kabel). Každý druh kabelu (nejen ten koaxiální) má vždy urcité obvodové vlastnosti, které urcují jeho schopnost prenášet nejruznejší signály. U koaxiálního kabelu je nejduležitejší obvodovou charakteristikou odpor, který kabel klade strídavému proudu, nebo-li tzv. impedance. Ta se udává v Ohmech, a v sítích typu Ethernet se používají koaxiální kabely s impedancí 50 Ohmu. Této impedanci jsou pak prizpusobeny i všechny obvody ( predevším budice), které se na koaxiální kabel pripojují. Mnohem duležitejší než konkrétní hodnota impedance (a také dalších obvodových velicin), je spíše to, aby obvodové vlastnosti kabelu byly všude stejné. Jen tak je totiž možné zajistit optimální šírení prenášeného signálu. A zde je práve kámen úrazu: pokud bychom na koaxiálním kabelu udelali odbocku, výrazne bychom tím zmenili jeho obvodové vlastnosti (v míste odbocky i v jejím okolí). S lokální zmenou obvodových vlastností kabelu by se pak zmenil i zpusob prenosu "užitecných" signálu celým kabelem, neboť by docházelo napríklad k nežádoucím odrazum signálu v míste prípojky, k interferenci prímého a odraženého signálu, k útlumu a k dalším nežádoucím jevum, jejichž konecným efektem by bylo výrazné zhoršení prenosových schopností celého kabelového rozvodu. S homogenitou obvodových vlastností kabelu pak souvisí ješte jeden duležitý moment, který si uživatelé lokálních sítí často vubec neuvedomují: nutnost zakoncit každý konec koaxiálního kabelu správným zakoncovacím clenem. Pokud bychom totiž ponechali konec koaxiálního kabelu "ve vzduchu", jeho obvodové vlastnosti by se zde menily skokem, a v dusledku toho by na tomto konci docházelo k výrazným odrazum prenášeného signálu. Již pomerne základní znalosti z elektrotechniky však stací na odvození toho, že odrazum na konci kabelu lze zamezit, pokud se oba vodice na jeho volném konci zkratují odporem stejné hodnoty, jakou má impedance kabelu. A práve toto je úkolem tzv. zakoncovacích clenu (anglicky: terminator), na které se ale velmi casto zapomíná, a jejichž neexistence je pak zdrojem mnoha nepríjemným problému (protože bez nich neprenesete sítí prakticky nic). Vratme se ale zpet k naší puvodní otázce: jakým zpusobem pripojovat jednotlivé uzly na sítový rozvod koaxiálním kabelem, když jsme si práve naznacili, že na nem vlastne nesmíme delat žádné odbocky? Odpoved je ruzná podle toho, zde používáme tzv. tlustý, nebo tenký koaxiální kabel. V prípade tlustého kabelu budeme potrebovat zvláštní zarízení, oznacované jako transceiver (což je termín, vzniklý jako slovní spojení anglického: TRANSmitter and reCEIVER, neboli: vysílac a prijímac). Jde totiž skutecne o obvod, který v sobe sdružuje funkci vysílace a prijímace signálu, prenášených po daném typu koaxiálního kabelu. Lze jej chápat jako jednobitový budic (a prijímac) pro jednobitovou sbernici, jakou koaxiální kabel ve své podstate je. V prípade tlustého kabelu se transceiver nejcasteji zapojuje tak, že se vloží mezi dva volné konce kabelu (resp. souvislý kabel se preruší, a oba vzniklé konce se pripojí na transceiver). Existuje však ješte jedna další možnost, která sice není príliš rozšírená, ale zato má velmi pekné oznacení: vampire tap, doslova: upírí odbocka. Spocívá v tom, že souvislý tlustý kabel se neprerušuje, ale pouze se nabodne dvojicí tenkých hrotu

(vycnívajících z transceiveru), které se musí "propíchnout" až na stredový vodic resp. jeho vodivý plášt tak, aby se dosáhlo vodivého spojení. Toto sice urcitým zpusobem porušuje homogenitu obvodových vlastností kabelu, ale príslušné zmeny mohou být zanedbatelne malé. Základním úkolem transceiveru je tedy vysílat po koaxiálním kabelu jednotlivé bity, a stejne tak je zase prijímat. Jeho dalším úkolem je pak i detekování kolizí (tedy situací, kdy více uzlu prostrednictvím svých transceiveru vysílá najednou). Data, která má transceiver vysílat, dostává od uzlového pocítace, se kterým je spojen kabelem - tzv. transceiverovým kabelem, mnohem casteji ale oznacovaným jako drop kabel (drop cable). Tento kabel je vícežilový (obvykle je tvoren nekolika páry kroucených vodicu), a slouží jak pro sériový prenos dat z/do transceiveru, tak i pro signalizaci kolize (od transceiveru smerem k pocítaci), a v neposlední rade i pro napájení transceiveru. transceiver je tedy napájen z pocítace, a díky tomu, že sám funguje jako zesilovac, muže být zmínený drop kabel pomerne dlouhý - až do 50 metru. Co je velmi podstatné: délka tohoto drop kabelu se nepocítá do celkové maximální délky jednoho kabelového segmentu (která v prípade použití tlustého koaxiálního kabelu nesmí prekrocit 500 metru). Transceiver je nekdy oznacován také jako zarízení MAU (Media Attachment Unit). Jeho rozhraní pro pripojení drop kabelu je standardizováno, a je oznacováno jako AUI (Attachment Unit Interface). Druhý konec drop kabelu se pak pripojuje k té cásti pocítace, která vytvárí sítové rozhraní. Nejcasteji jde o samostatnou sítovou kartu (napr. u pocítacu PC), oznacovanou též jako NIC (Network Interface Card), ale stejne tak je možné, aby príslušné obvody pro pripojení k síti byly zaintegrovány již v systémové desce (tak tomu často bývá u Unixových pracovních stanic). Sítová karta (resp. Její zabudovaný ekvivalent) samozrejme musí být vybavena príslušným rozhraním AUI pro pripojení drop kabelu. Na druhé strane ale již nemusí sama obsahovat budice a prijímace, které již jsou v transceiveru. V prípade použití tzv. tenkého kabelu je strategie pripojování ponekud odlišná. Zde se predpokládá, že príslušné výstupní budice a prijímace (jinak obsažené v transceiveru), jsou již prímo zabudovány v sítové karte, a koaxiální kabel se musí dovést až k této karte. V míste pripojení karty se tenký kabel preruší, a udelá se v nem velmi krátká odbocka - pomocí speciální spojky ve tvaru písmene T (lidove nazývané: técko), na jejíž dva konce se pripojí rozpojený kabel, a tretí konec se pripojí ke konektoru, který vycnívá ze sítové karty. Samotná propojka musí mít velmi presný tvar a provedení, aby zpusobovala co možná nejmenší narušení homogenity tenkého koaxiálního kabelu. Oba konce tenkého kabelu se však nejprve musí osadit konektory bajonetového typu, které se pak nasunou na ramena spojky ve tvaru písmene T, a pootocením zajistí. Obdobný zpusob uchycení je pak mezi spojkou a samotnou sítovou kartou. Príslušné konektory jsou oznacovány jako BNC konektory, což je údajne zkratka od: Bayonet-Neill-Concelman. Pokud si tedy budete nekdy kupovat do svého pocítace sítovou kartu pro sít typu Ethernet, dejte si pozor, aby mela správné rozhraní. Pokud je osazena pouze tzv. BNC výstupem (resp. BNC konektorem bez bajonetového uzáveru, nebot ten je na T spojce), pak má v sobe již zabudovány potrebné výstupní budice (ekvivalent transceiveru), a mužete ji prímo pripojit na kabelový rozvod tenkým koaxiálním kabelem. Nikoli ovšem na jiný druh rozvodu (napr. tlustým koaxiálním kabelem cikroucenou dvoulinkou). Dnes prodávané sítové karty pro pocítace PC jsou ale casto vybaveny (vedle BNC výstupu) i rozhraním AUI. Duvod je jednoduchý -pro výrobce je to skoro zadarmo, a užitná hodnota sítové karty je mnohem vyšší. Rozhraní AUI totiž ve své podstate není nic jiného, než vyvedené spojení mezi zabudovaným ekvivalentem transceiveru a ostatními obvody Sítové karty. Pokud toto rozhraní použijeme, a pres drop kabel pripojíme samostatný transceiver, vlastne tím pouze odpojíme výstupní obvody, zabudované prímo do sítové karty. Pokud vlastníte sítovou kartu, která má pouze rozhraní AUI (a nikoli BNC výstup, a tudíž ani zabudovaný transceiver), presto se stále mužete napojit i na kabelový rozvod tenkým koaxiálním kabelem. Transceivery totiž existují i v provedení pro tenký kabel, a jsou zakoncené príslušnými BNC konektory. Pokud takovýto transceiver použijete a pomocí drop kabelu jej pripojíte ke své sítové karte s rozhraním AUI, je výsledný celek funkcne ekvivalentní jedné sítové karte s BNC výstupem (jen s tím rozdílem, že se skládá ze dvou fyzických celku, které je treba propojit drop kabelem). Krome prípadu, kdy jiná možnost není (tj. má-li vaše sítová karta pouze rozhraní AUI), se toto rešení používá zcela zámerne i v situacích, kdy vznikají problémy s omezenou délkou souvislého kabelového segmentu (která u tenkého kabelu ciní 185 metru). Pokud totiž pripojíme na tenký kabel transceiver (tedy tzv. BNC transceiver), mužeme od nej vést drop kabel až do vzdálenosti 50 metru, a délka tohoto drop kabelu se pritom nepocítá do celkové délky segmentu tenkého kabelu! Kdybychom toto rešení nepoužili, museli bychom místo drop kabelu vést vlastní tenký koaxiální kabel, a to tam a zpet, neboli v délce 2x50 metru!! Termín "drop kabel" se však používá ješte v jedné další souvislosti. V poslední dobe se stalo velmi oblíbeným používání zvláštních zásuvek (tzv. EAD zásuvek, v odborném žargonu: krabicek), ne nepodobných telefonním ci zásuvkám 220 V, které ale slouží potrebám rozvodu pocítacových sítí. Tyto zásuvky se používají pro rozvod tenkým koaxiálním kabelem, tj. tímto kabelem jsou mezi sebou propojeny, a jsou opatreny speciálním konektorem, do kterého se zasouvá príslušný protikus. Pokud zasunut není, je zásuvka pruchozí, tj. pouze propojuje mezi sebou oba konce tenkého kabelu, které jsou na ni pripojeny. K zásuvce je nutné si prikoupit zvláštní EAD kabel, tvorený dvojicí soubežne vedených tenkých koaxiálních kabelu, které vytvárí smycku - na jednom konci jsou totiž spojeny T spojkou (Která se zasouvá do sítové karty pocítace), zatímco na druhém konci drop kabelu je speciální konektor, který se zasouvá do zásuvky. Zasunutím EAD kabelu dochází uvnitr zásuvky k rozpojení obou koncu kabelu, které tvorí sítový rozvod, a k jejich napojení na oba tenké kabely v rámci EAD kabelu. Na první pohled to sice vypadá tak, jako kdyby s v

míste zásuvky vytvárela odbocka (ve tvaru písmene T), ale ve skutecnosti jde o smycku. Do celkové délky kabelového segmentu je pak samozrejme nutné pocítat délku EAD kabelu dvakrát. Výhodou použití EAD zásuvky a kabelu je predevším velká flexibilita - kabel je možné pripojovat i odpojovat za chodu síte, aniž by jí to jakkoli vadilo. Další nezanedbatelnou výhodou je i prehlednost a elegance místo zmeti kabelu. Menší terminologickou nepríjemností je pak to, že EAD kabelu se obvykle ríká "drop kabel", tedy stejne, jako kabelu mezi sítovou kartou a transceiverem.

Rozdělení počítačů a jejich využítí
Informace je význam jaký člověk přisuzuje údajům. Údaje (data) mohou mít různý tvar např. čísla, znaky, příkazy, povely atd. Fyzikální veličina nesoucí informaci se nazývá signál. Způsoby zpracování a využití signálů se zabývá informatika. Z hlediska počítačů jsou informace vstupující do počítače - informace vstupní a informace výstupní. Počítače dělíme • • • analogové číslicové hybridní

analogové - Pracují se spojitě měnícími se signály (veličinami) např. proud a napětí. číslicové - Počítače vyjadřují veličiny číslicemi, které se zobrazují elektrickými veličinami. hybridní - Spojují v sobě číslicové i analogové části počítače. ANALOGOVÉ POČÍTAČE Pro svoji činnost využívají modelování na základě matematických podobností. Dělí se z mnoha hledisek. Nejrozšířenější jsou elektronické a hlavní funkce vykonávají tzv. operační jednotky. Mohou být v provedení jak ss tak i v st. Pro vlastní modelování se používají ss. K jeho základním jednotkám patří tzv. pasívní jednotky (sčítací odpory, kondenzátory, derivační a integrační články). K aktivním částem patří operační zesilovač. Spojení aktivních a pasívních částí jsou tvořená vlastní operační jednotkou, které jsou určitý děj schopny modelovat. Podle funkce se dále dělí analogový počítač na matematické stroje, simulátory, trenažéry (pro výcvik pilotů letadel, lodí). Analogové počítače se neustále zdokonalují a slouží v technické praxi. ČÍSLICOVÉ POČÍTAČE Tyto počítače pracují se dvěma stavy 0 a 1. Od roku 1952 dominuje ve výpočetní technice Van Neumanova architektura, která se vyznačuje minimálními hardwarovými nároky a částečně i velmi jednoduchými softwarovými strukturami. Z těchto důvodů představuje tato architektura stále ještě páteř dnešní výpočetní techniky. CPU má střadač pro zpracování aritmetických a logických funkcí, instrukční registr pro čtení a dekódování instrukcí, čítač instrukcí pro řízení adresové sběrnice a indexový registr pro krátkodobé uchovávání dat při zpracování numerických a logických operací. pro vstup a výstup dat jsou navíc ještě zapotřebí odpovídající rozhraní I/O porty (input, output).

Princip: mikroprocesor přečte instrukci tak, že nejprve vyšle adresu na adresovou sběrnici, přitom reaguje programovatelná pamě? vysíláním datové informace pro datovou sběrnici. Mikroprocesor přečte instrukci z datové sběrnice a uloží ji do registru instrukce, kde je dekódována a pak prováděna. V první fázi se instrukce čte a dekóduje, ve druhé fázi se provádí vlastní funkce instrukce. Nevýhoda je v tom, že se musí čekat, než se provede první instrukce. Teprve potom se může dekódovat další instrukce (postupným zpracováváním). Tuto nevýhodu částečně odstraňuje pipeling, který dekóduje instrukce předem. Číslicové počítače • • CISC RISC

CISC Systémy s rozsáhlým komplexním souborem instrukcí jsou založeny na architektuře CISC (Complex Instruction Set Computer). Jsou to např. procesory VAX firmy Digital Equipment, série mikroprocesorů 80X86 Intel a 680X0 firmy Motorola. Pro tyto procesory je typická implementace architektury pomocí mikroprogramování. Výsledkem je velký počet specializovaných typů instrukcí, z časového pohledu mohou trvat až 300 strojových cyklů. Mikroprogramování poskytuje možnost nabízet spektrum strojů se stejnou architekturou, ale přesto rozdílnou hardwarovou realizací. S rostoucím objemem sady instrukcí však bylo pro překladače překládající programy do strojového kódu využít celou škálu speciálních instrukcí. Z toho vyplývá, že komplexní instrukce jsou používány jen zřídka. Při zpracování programu z vyššího programovacího jazyka se velká část času spotřebuje na čtení informace z pracovní paměti a naopak. Tyto poznatky vedly ke vzniku nové architektury s redukovanou sadou instrukcí (RISC) RISC I RISC procesor vystačí pouze se 30 typickými instrukcemi. RISC počítač musí s tímto souborem pracovat častěji než CISC, ale díky většímu počtu registrů může program proběhnout rychleji, protože většina operací se koná přímo mezi registry a pamětí. CISC CPU má sadu obvykle 16 registrů, zatím co RISC má až 100 volných registrů. Z toho důvodu není centrální jednotka vůbec zatěžována a mimo to je mikrokód zbytečný. Instrukce jsou implementovány hardwarově (nejsou dekódované). Podstatné vlastnosti RISC - architektury umožňující vysokou propustnost dat, mají malý počet jednoduchých instrukcí, instrukce s pevnou délkou a pevným formátem, přímá hardwarová interpretace instrukcí, jednocyklový příkazový režim a díky internímu režimu Pipeling překrývané provádění po sobě následujících instrukcí. Hlavní nárůst rychlosti RISC byl dosažen použitím velkého množství registrů. Tím, že odpadly mikroprogramy, mohla být uvolněna celá oblast na povrchu čipu, která byla tradičně používaná pro mikroprogramy a použitá pro velmi rychlou pamě?. U procesorů RISC je jednodušší a rychlejší změna návrhu čipu, než u komplikovaných a komplexních struktur CISC. Počítač RISC se nevyznačují jen vysokou rychlostí, ale také silnou orientací na operační systém UNIX. Tato kombinace dnes běžných počítačových systémů se na trhu PC pevně usadila. Architektura RISC má slabinu ve výpočtech v plovoucí desetinné čárce, proto byl zaveden speciální koprocesor pro numerické výpočty.

Softwarová instalace pevného disku, program FDISK

Formátování 1. 2. 3. nízkoúrovňové formátování - ověření komunikace mezi řadičem a pevným diskem, vytvoření struktury disku vytvoření partition - rozdělení disku vysokoúrovňové formátování s případnou instalací operačního systému

Nízkoúrovňové formátování Z dokumentace je nutno znát základní parametry pevného disku (stopy, hlavy, sektory na stopu a počáteční stopu pro předkompenzaci zápisu). Předkompenzace zápisu se používá od určité stopy směrem ke středu disku, jelikož sektory mají menší plochu pro zapsání dat, jako vně disku.Proto se zapisuje jinou hodnotou zápisového proudu. Nutno mít zaváděcí disketu se softwarem pro nízkoúrovňové formátování.Program pro nízkoúrovňové formátování je uložen v ROM řadiče.Vyvolání příkazem DEBUG,po promptu se zadá G=XXXX:YYYY, kde XXXXh je startovací adresa programu (většinou bývá uvedena v dokumentaci k řadiči). obvykle C800:0005h nebo C800:0006h pro primární disk nebo D00:0005h nebo D00:0006h pro sekundární disk Ukončení : CTRL+ BREAK Konec programu DEBUG - Q Program se provede a jeho výstupem je informace o nízkoúrovňovém naformátování s upozorněním na vytvoření partition a formátováním na vysokou úroveň. Druhým způsobem je toto možné provést programem Disk-manažer. Vytvoření partition (rozdělení disku) Příklad rozdělení disku: Pevný disk 320MB • • Primární oblast 200MB (Primární disk) --> C:200 MB Rozšířená oblast 120MB (vytvoří se logické disky) --> D:80 MB , E:40 MB

Provádí se programem FDISK. Základní volby programu FDisk: 1. 2. 3. 4. Create DOS partition or logical DOS drive (vytvoření DOS partition nebo logic.disku) Set active partition (nastavení aktivní partition) Delete DOS partition or logical DOS drive (smazání partition nebo logic jednotky) Display partition information (zobrazení info o partition)

Jednotlivé položky se vybírají z nabídky zadáním čísla a enter. Program se ovládá z příkazové řádky a není pro začátečníka velice intuitivní. Nevýhodou je, že pokud změníme partition existujícího disku, přijdeme o všechna data. Proto je nutné data nejdříve zálohovat nebo použít některý z komerčních programů, který umí změnit partions "za běhu" bez ztráty dat (např Partition Magic) Program FDISK má své ekvivalenty i na jiných operačních systémech (Linux-Fips...) Vysokoúrovňové formátování Vytvoří se zaváděcí záznam prázdné FAT a základního adresáře a zjistí se správná komunikace s jednotlivými clustery disku. V další části může být instalace jádra operačního systému do zaveditelné partition pevného disku. Realizace příkazem FORMAT nebo pomocí programu Disk-manažer.

Co je to TeX?

Úvod Snad se moc nezmýlíme, pokud budeme tvrdit, že největší část strávená prací s počítačem se týká zpracování textu. Od vynálezu knihtisku roku 1450 Gutenbergem se toho, pravda, hodně změnilo, ale snaha efektivně a esteticky předávat informace zůstala. V současné době většina uživatelů prochází jakousi pyramidou programů na zpracování textů. Většinou začíná s T602 nebo nějakým podobným jednoduchým editorem. Může se ale stát, že potřebuje používat větší množství fontů, začlenit do textu obrázek, graf nebo tabulku. Pak má ovšem velmi bohatou nabídku, zejména pokud se týká textových procesorů běžících pod MS-Windows (AmiPro, MS Word, WinText602, WordPerfect atd.). Pokud ani to uživateli nestačí, jsou pro něj těsně pod vrcholem pomyslné pyramidy připraveny DTP programy jako Ventura Publisher, PageMaker, 3B2 nebo QuarkXPress. Pokud by uživatel absolvoval tuto dlouhou cestu formou legálně zakoupených programů (jak jinak by také mohl), přišlo by ho to na pěkných pár desítek tisíc. A to ještě nedosáhl vrcholu pyramidy. Co se na něm skrývá? Ano, odpověď můžete naleznout v názvu článku, je to TeX. Slovo TeX se čte "tech", pochází totiž z řeckého (dovednost, umění). Zvídavý čtenář, který slyší o TeXu poprvé si asi položil otázku, proč by nejdokonalejší měl být program, o kterém v žádném z mnoha počítačových magazínů, které čte, nebylo ani písmenko. O typografických kvalitách TeXu se vás pokusím přesvědčit v následujících odstavcích článku. S kvalitou souvisí i cena, která je pro většinu uživatelů důležitá. Tento program je "public domain", byl vytvořen na půdě Stanfordské university a jeho autor Donald Ervin Knuth ho věnoval široké veřejnosti k používání. Komerčně se šíří pouze některé speciální verze. Mezi TeXem a ostatními textovými editory jsou velké rozdíly. U většiny editorů se text píše a průběžně zobrazuje už tak, jak bude vypadat (tzv. WYSIWYG -- What You See Is What You Get -- "co vidíš, to dostaneš"). Narozdíl od nich TeX potřebuje na svůj vstup text připravený v podstatě libovolným ASCII editorem, který kromě vlastního textu obsahuje příkazy, které určují jak se má s textem pracovat, tj. určují typ použitého písma, druh zarovnávání atd. Někdy se tedy můžeme setkat s označením WYWIWYG (What You Want Is What You Get -- "co chceš, to dostaneš"). Už nyní je tedy patrné, že zatímco z našich obvyklých programů dostaneme pouze to, co vidíme, z TeXu obdržíme to, co opravdu potřebujeme. Vznik a historie TeXu Už samotný důvod vzniku TeXu může našinci připadat zvláštní. Na začátku roku 1977 byl Knuth nespokojen se sazbou své knihy "The Art of Computer Programming", která byla připravována nedokonalou analogovou fotosazbou. O pár týdnů později se seznámil s možnostmi digitální fotosazby, změnil plány na příští rok a rozhodl se vytvořit jazyk počítačové typografie TeX. Na podzim roku už byla hotova verze programu, která potvrdila možnost vytvoření takového programu. Pro nově vzniklý software bylo důležité ujmout se a získat budoucí uživatele. TeX je určen především pro sazbu náročných matematických textů, a proto Knuth 4. ledna 1978 přednesl pro Americkou matematickou společnost přednášku, kde vyzdvihl možnosti a přednosti TeXu. V srpnu 1978 se TeX dostal k prvním uživatelům. Dnes je tato verze označována jako TeX 78. O dva roky později, 22. února 1980, byla založena organizace, sdružující uživatele TeXu, která se jmenuje TUG (TeX Users Group) a téměř současně s jejím vznikem začal vycházet TUGBoat -- časopis plně věnovaný problematice TeXu. Později vznikaly i lokální organizace TUG, u nás existuje CSTUG, který mimo jiné čtyřikrát ročně vydává "Zpravodaj Československého sdružení uživatelů TeXu". Další významnou verzí je TeX82, který byl rozšířen o vylepšenou skupinu fontů Computer Modern. V roce 1989 byl Knuthem TeX přepracován tak, aby mohl pracovat se vstupním souborem, který obsahuje znaky s kódem 0-255 (do té doby podporoval pouze 128 kódů). Tak vznikl TeX 3.0, který je navíc multilinguální, tj. v jednom textu lze dělit slova podle pravidel různých jazyků. TeX je velice mocný a dokonalý "formátovač" zejména pro matematické texty. Z této jeho specializace a veliké flexibility vyplývá pro začínajícího uživatele nepřátelskost a složitost celého programu. Aby bylo usnadněno zpracování textu, byly vytvořeny soubory maker, které uživateli mnohé usnadní. Nejznámějšími jsou PlainTeX, LaTeX, AmSTeX a LamSTeX. PlainTeX je nejjednodušší nadstavba a všechna ostatní makra ji používají jako svůj základ. LaTeX je určen zejména pro sazbu rozsáhlých publikací, a to nejen matematických, podporuje tvorbu obsahu, rejstříku a křížových referencí. AmSTeX je uzpůsoben pro sazbu složitých kratších matematických dokumentů a v LamSTeXu je patrná tendence rozšiřovat makra o nové další funkce a tím je vlastně sbližovat; je to totiž jakýsi "míšenec" AmSTeXu a LaTeXu. Způsob tvorby stránky Je velmi obtížné nějak stručně popsat způsob tvorby stránky TeXem, neboť v originální dokumentaci je tomuto tématu věnováno skoro 100 stran. Dopustíme se tedy na tomto místě mnoha zjednodušení, které však nic nemění na komplikovanosti a dokonalosti sázecího algoritmu TeXu.

Tvorba stránky má dvě fáze, které probíhají téměř současně. V první fázi se čte vstupní soubor a každému znaku se přiřadí jeho kategorie. Ze vstupního textu jsou zároveň vypuštěny přebytečné mezery a komentáře. Druhou fází je vlastní sazba stránky. Obecně lze říci, že se postupuje od nejjednodušších objektů k složitějším. Přitom za nejjednodušší objekt považujeme písmeno, které je charakterizováno svou šířkou, výškou nad účaří a hloubkou pod účaří. Tato písmenka jsou pak na základě těchto údajů skládány do slov a ta (s pomocí mezer, které mají definováno kromě své optimální velikosti i to o kolik mohou být smrštěny či roztaženy) do řádků, ty pak postupně do odstavců a ty po složení dají již konečný objekt -- stránku. Z předchozího vypadá popis tvorby stránky velmi jednoduše, ve skutečnosti jsme ale opomněli spoustu možností, jako umístění tabulek na stránku, obtékání textu kolem obrázků, sazbu do sloupců, horní a dolní záhlaví, poznámky pod čarou a spoustu dalších. Vzhledem ke komplikovanosti sazby se TeX automaticky podle potřeby pohybuje mezi šesti režimy práce. Každý z režimů má na starost specifické úkoly: skládání písmenek na řádku a do slov, skládání řádek do odstavců, skládání odstavců na stránku (i do více sloupců), doplňování stránky o záhlaví, sazbu matematických vzorců atd. Velice zajímavý je například způsob tvorby odstavce. TeX nejprve zkusí vysázet odstavec tak, aby nemusel použít dělení slov. Tato fáze je velmi rychlá, protože nemusí zjišťovat, jak je které místo slova vhodné k dělení. Pokud se mu to nepodaří (není-li šířka řádky příliš malá, stane se to málokdy), doplní slova o údaje o vhodnosti dělení a celý odstavec zpracuje znovu již s možností dělit slova. TeX kontroluje i spoustu takových maličkostí, jako je to, aby odstavec nezačínal na poslední řádce stránky, nebo naopak nekončil na první řádce stránky. Dále TeX kontroluje, aby poslední slovo odstavce nebylo na samostatné řádce, a spoustu dalších "maličkostí", které ve skutečnosti velmi pozvednou estetický vzhled dokumentu. Cyklus zpracování textu TeXem Zpracování textu probíhá v cyklu, který se skládá ze tří částí. První část je příprava vstupního textu pomocí libovolného textového editoru. Tento vstupní soubor obsahuje kromě textu i řídící posloupnosti, které určují vzhled dokumentu, tj. formát řádky, odstavce a stránky, a které mohou ovlivnit mnoho dalších parametrů. TeX obsahuje asi 300 primitivních funkcí; další složitější posloupnosti mohou být definovány v průběhu zpracování textu (například již zmíněné balíky maker jako PlainTeX a další). Tak narozdíl od běžných textových procesorů, kde se pro tisk speciálních matematických symbolů, řeckých písmen apod. používají různé klávesnice, TeX obsahuje makra pro jejich sazbu; pokud tedy chceme například napsat , stačí do vstupního souboru zapsat $\alpha$. Protože TeX vznikl v USA, jsou názvy řídících posloupností většinou odvozeny od anglických slov nebo jejich zkratek. Primitivní funkce je možné podle jejich činnosti zařadit do několika skupin: • • • • • • • • primitivní funkce řídící zlom a zarovnávání odstavců, a to včetně prostředků pro ovlivnění dělení slov; primitivní funkce ovlivňující celkový formát stránky -- velikost a umístění, zlom stránky, horní a dolní záhlaví, poznámky pod čarou, umístění obrázků a tabulek; primitivní funkce řídící velikosti mezer -- mezi písmeny, slovy, odstavci a symboly v matematických vzorcích; primitivní funkce pro speciální zarovnávání textu -- tabulky, matice atd.; primitivní funkce umožňující definováních nových řídících posloupností; primitivní funkce měnící chování TeXu; primitivní funkce ovládající práci TeXu; primitivní funkce umožňující pracovat s externími soubory -- začleňovat je do vstupního souboru, měnit je a vytvářet nové.

Takto připravený vstupní soubor potom necháme přeložit TeXem, ten vytvoří .dvi soubor (device independant), který popisuje vzhled jednotlivých stránek tak, že stránka je soubor kódů znaků a příslušných fontů s údajem o jejich umístěná na stránce. Z těchto údajů pak může být dokument vytištěn nebo zobrazen na libovolném výstupním zařízení; tento soubor je tedy naprosto nezávislý na výstupním zařízení. To je také jedna ze silných stránek TeXu -- možnost tisknout dokumenty na čemkoliv, počínaje devítijehličkovou tiskárnou a konče osvitovou jednotkou s rozlišovací schopností několik tisíc dpi. O vlastní zobrazení dokumentu, tj. .dvi souboru, se stará ovladač příslušného zařízení, který z informace obsažené v .dvi souboru a bitových map jednotlivých písmenek vytvoří konečnou podobu dokumentu a zobrazí ji na obrazovce nebo tiskárně. Sazba matematiky

Rozebírat zde podrobně všechny možnosti matematické sazby nemůžeme, a proto si jen na jednoduchém příkladu ukážeme, jak se to dělá. Dejme tomu, že potřebuje vysázet následující vzorec:

Do vstupního souboru stačí zapsat: $$ \lim_{n \rightarrow \infty} \left(1 + {1 \over n} \right)^n = e $$, což není vůbec nepodobné tomu, jak by vám tento vzorec v Americe nadiktovali do telefonu. Začleňování grafiky do TeXu Co se týče začleňování grafiky do textu, je na tom TeX na první pohled poněkud hůř. Umožňuje pouze vynechání místa pro začlenění obrázku, popř. může do tohoto místa uložit informaci o obrázku pro ovladač výstupního zařízení. Vysvětlení pro toto chování TeXu je jednoduché. TeX vytváří .dvi soubor, který je na výstupním zařízení nezávislý, kdežto grafický obrázek je vždy určen pro výstupní zařízení s určitou rozlišovací schopností. Je tu však je ještě jedna možnost, vhodná zejména pro technické obrázky a grafy průběhu různých matematických funkcí: pomocí METAFONTu, programu na generování fontů pro TeX, vytvořit font, který obsahuje požadované obrázky. S nimi se pak pracuje jako s jednotlivými písmeny, které jsou stejně jako ostatní písmena nezávislá na výstupním zařízení. Poslední dobou se objevuje mnoho programů, které umožňují, většinou až na úrovni ovladače obrazovky nebo tiskárny, začlenit do dokumentu obrázek v některém z rozšířených grafických formátů (PCX a jiné), nebo z různých programů (např. MATHEMATICA). Kromě bitmapových obrázků lze do dokumentu zařazovat i obrázky v PostScriptu (EPS), při jejichž použití není ztrácena nezávislost na rozlišovací schopnosti výstupního zařízení. A jak je to s češtinou? Přizpůsobení nějakého softwaru pro určitý jazyk můžeme rozdělit do několika stupňů: 1. 2. 3. 4. zpracování národních znaků, tj. pro češtinu znaků s akcenty (háček, čárka, kroužek a případně přehláska a stříška); národní speciality -- třídění, formát data a měny a ustálené typografické zvyklosti; dělení slov podle pravidel příslušného jazyka; převedení příkazů a klíčových slov do národního jazyka -- tento bod nacionalizace je velmi diskutabilní, neboť s jeho splněním padá kompatibilita se systémy pro jiná národní prostředí.

Nejdůležitější věc, práce s českými písmy, je na první pohled velmi elegantně vyřešená už v původní anglofonní verzi TeXu. Písmo Computer Modern totiž obsahuje tzv. létající akcenty, samostatné znaky, které mohou být umístěny nad kterýmkoliv jiným písmenem. Bohužel kvůli malé zkušenosti D.E. Knutha s jazyky, které používají háček, není tvar tohoto znaménka příliš povedený. Mnohem větším nedostatkem je ale algoritmus používaný pro umísťování akcentů nad písmena. TeX to řeší nejjednodušším možným způsobem, akcent umístí nad logický střed boxu písmenka. To bohužel vždy není opticky nejlepší, zejména u větších fontů, zvláště pak skloněných (slanted a italica). Jisté problémy jsou ještě se znaky jako `ť' a `ď', neboť apostrof se nechová jako typický akcent. Jediné úplné řešení je tedy vytvořit nové fonty, které budou obsahovat znaky s již umístěnými akcenty (tyto fonty ovšem budou nekompatibilní s ostatními), a používat TeX 3.0, který umožňuje zpracovat osmibitovou vstupní abecedu. Na setkání uživatelů CS-TeXu v červenci, byla přednesena přednáška o nové verzi programu (ten byl zároveň rozšířen mezi členy sdružení CSTUG), která mimo jiné obsahuje zmíněné osmibitové fonty s již umístěnými akcenty. Jelikož je TeX velmi variabilní systém, není problém předefinovat takové věci jako je formát data a typografické zvyklosti. Tuto novou definici například obsahuje styl czech.sty. Dělení slov je jednou z nejobtížnějších částí každého systému na zpracování textu. Pro češtinu, stejně tak jako pro většinu jazyků, neexistují zcela jednoznačná pravidla pro dělení. Při dělení slova v češtině má přednost

dělení mezi příponou (případně předponou) a kořenem slova, slovo se může dělit po slabikách, ale jak bezpečně rozeznat slabiku. Navíc ještě čeština obsahuje slabikotvorné souhlásky, které celou situaci značně komplikují. Existuje samozřejmě mnoho dalších kritérií pro dělení slov, ale nemá smysl je zde jmenovat. V současné době existují dva způsoby dělení slov, pomocí algoritmického popisu pravidel dělení a pomocí tabulky dělení. TeX využívá druhou možnost, tj. algoritmus dělení řízený tabulkou. Ten poskytuje docela slušné výsledky a dokonalost řádkového zlomu TeXu navíc omezuje potřebu dělení slov na minimum. Na závěr se ještě zmíníme o jednom typografickém pravidlu, specifickém pro češtinu. Na konci řádky nesmí zůstat neslabičná předložka. To lze v TeXu snadno vyřešit pomocí tzv. aktivního znaku `~', který představuje mezeru, ale v místě použití zakazuje lámat řádku. Existuje krátký program vlnka.exe, který ve vstupním textu za všechny neslabičné předložky automaticky doplní tento znak. Závěr O tom, zda používat TeX, či nikoli, musí rozhodnout každý uživatel sám. Pokud je se svým stávajícím systémem na zpracování textu spokojen, není důvod, proč měnit, zvláště když je TeX, díky své zcela odlišné filozofii od jiných systémů na zpracování textů, poměrně komplikovaný. Pokud však potřebujete sázet spoustu matematiky, jinou možnost ani nemáte -- nic lepšího ještě dlouho existovat nebude.