čtení - Publi.cz

Transkript

čtení - Publi.cz
POČÍTAČOVÉ SYSTÉMY
URČENO PRO VZDĚLÁVÁNÍ
V AKREDITOVANÝCH STUDIJNÍCH
PROGRAMECH
CYRIL KLIMEŠ
ČÍSLO OPERAČNÍHO PROGRAMU: CZ.1.07
NÁZEV OPERAČNÍHO PROGRAMU:
VZDĚLÁVÁNÍ PRO KONKURENCESCHOPNOST
OPATŘENÍ: 7.2
ČÍSLO OBLASTI PODPORY: 7.2.2
INOVACE VÝUKY INFORMATICKÝCH
PŘEDMĚTŮ VE STUDIJNÍCH PROGRAMECH
OSTRAVSKÉ UNIVERZITY
REGISTRAČNÍ ČÍSLO PROJEKTU: CZ.1.07/2.2.00/28.0245
OSTRAVA 2013
Tento projekt je spolufinancován Evropským sociálním fondem a státním
rozpočtem České republiky
Recenzent: Prof. Ing. Radim Farana, CSc.
Název:
Autor:
Vydání:
Počet stran:
Počítačové systémy
doc. Ing. Cyril Klimeš, CSc.
první, 2013
300
Jazyková korektura nebyla provedena, za jazykovou stránku odpovídá
autor.
© Cyril Klimeš
© Ostravská univerzita v Ostravě
OBSAH
1.
PRINCIPY ČINNOSTI PRÁCE ČÍSLICOVÉHO POČÍTAČE ..........8
1.1
ÚVOD ...................................................................................................8
1.2
VON NEUMANNOVO SCHÉMA POČÍTAČE ...............................................9
1.3
ZOBRAZENÍ INFORMACE V POČÍTAČI ..................................................15
1.3.1 Číselné soustavy a kódy.................................................................15
1.3.2 Kódování ve dvojkové soustavě .....................................................20
1.3.3 Zobrazení instrukcí ........................................................................22
1.3.4 Zobrazení abecedně-číslicových znaků .........................................25
1.3.5 Pevná a pohyblivá řádová čárka ...................................................26
1.4
METODY URČOVÁNÍ OPERANDŮ .........................................................27
1.4.1 Přímé adresování ..........................................................................27
1.4.2 Přímý operand ...............................................................................27
1.4.3 Nepřímé adresování ......................................................................28
1.4.4 Implicitní adresování.....................................................................28
1.4.5 Implicitní operand .........................................................................29
1.4.6 Modifikované adresování ..............................................................29
1.4.7 Relativní adresování ......................................................................29
1.4.8 Výběr podle obsahu (asociativní výběr) ........................................30
1.5
ODLIŠNÁ SCHÉMATA POČÍTAČŮ..........................................................31
2.
BOOLEOVA ALGEBRA .......................................................................36
2.1
LOGICKÉ PROMĚNNÉ A LOGICKÉ FUNKCE ...........................................37
2.1.1 Základní logické operátory ...........................................................37
2.1.2 Zákony a pravidla Booleovy algebry ............................................39
2.2
DEFINICE LOGICKÉ FUNKCE ................................................................40
2.2.1 Pravdivostní tabulka .....................................................................40
2.2.2 Zápis logické funkce ......................................................................41
2.3
LOGICKÁ FUNKCE N-PROMĚNNÝCH ....................................................43
2.3.1 Funkce jedné proměnné ................................................................43
2.3.2 Funkce dvou proměnných..............................................................43
2.3.3 Funkce více proměnných ...............................................................45
2.4
ZJEDNODUŠOVÁNÍ ZÁPISU LOGICKÉ FUNKCE ......................................46
2.4.1 Algebraická minimalizace .............................................................46
2.4.2 Grafická – Karnaughova metoda ..................................................46
2.4.3 Zjednodušení úplně zadané funkce ................................................47
2.4.4 Zjednodušení neúplně zadané funkce ............................................49
2.5
OBVODOVÉ ZNÁZORNĚNÍ BOOLEOVY ALGEBRY .................................50
2.5.1 Shefferova algebra ........................................................................51
2.5.2 Pierceova algebra .........................................................................51
2.5.3 Převod Booleovy algebry na Shefferovu algebru ..........................52
3. REPREZENTACE ZÁKLADNÍCH LOGICKÝCH FUNKCÍ
ELEKTRONICKÝMI OBVODY ..................................................................53
3.1
3.2
3.3
3.4
FYZIKÁLNÍ PODSTATA SIGNÁLŮ..........................................................53
TECHNOLOGIE TTL (TRANZISTOR-TRANZISTOR LOGIC) .....................55
SYSTÉMY MOS/CMOS ......................................................................59
LOGICKÁ HRADLA S TŘEMI STAVY .....................................................63
Počítačové systémy
4.
ZÁKLADNÍ LOGICKÉ ČLENY.......................................................... 65
4.1
INVERTOR .......................................................................................... 65
4.2
AND.................................................................................................. 66
4.3
OR ..................................................................................................... 66
4.4
NAND ............................................................................................... 67
4.5
NOR .................................................................................................. 67
4.6
OSTATNÍ LOGICKÉ ČLENY .................................................................. 68
4.6.1 Nonekvivalence – XOR ................................................................. 68
4.6.2 Ekvivalence - NOXOR .................................................................. 68
5.
KOMBINAČNÍ LOGICKÉ OBVODY ................................................ 70
5.1
KÓDOVÁNÍ, DEKÓDOVÁNÍ A PŘEVODY KÓDŮ ..................................... 70
5.1.1 Převod desítkových číslic do kódu 8421 ....................................... 70
5.1.2 Převod z kódu 8421 na desítkové číslice ...................................... 72
5.1.3 Převod do Grayova kódu .............................................................. 74
5.1.4 Multiplexor ................................................................................... 76
5.1.5 4-vstupý multiplexor ..................................................................... 76
5.1.6 Dekodér......................................................................................... 77
5.2
POROVNÁNÍ DVOJKOVÝCH INFORMACÍ .............................................. 78
5.2.1 Rovnost dvou proměnných ............................................................ 78
5.2.2 Jednobitový porovnávací obvod ................................................... 79
5.2.3 Dvoubitový porovnávací obvod .................................................... 79
5.3
PARITA .............................................................................................. 80
5.4
SEČÍTAČKY A ODEČÍTAČKY................................................................ 82
5.4.1 Sčítačka MODULO 2.................................................................... 82
5.4.2 Jednobitová neúplná sečítačka ..................................................... 83
5.4.3 Jednobitová úplná sečítačka ......................................................... 83
5.4.4 Jednobitová úplná odečítačka ...................................................... 84
5.4.5 Polosčítačka .................................................................................. 85
5.4.6 Úplná sčítačka .............................................................................. 86
6.
SEKVENČNÍ LOGICKÉ OBVODY .................................................... 87
6.1
KLOPNÝ OBVOD RS ........................................................................... 88
6.2
KLOPNÝ OBVOD J-K .......................................................................... 90
6.3
KLOPNÝ OBVOD TYPU T(RS-T) ......................................................... 91
6.4
KLOPNÝ OBVOD TYPU D .................................................................... 91
6.5
DVOJČINNÝ KLOPNÝ OBVOD J-K TYPU MASTER-SLAVE ..................... 92
6.6
FUNKCE POSOUVÁNÍ A ČÍTÁNÍ ........................................................... 93
6.6.1 Čítače kmitočtu ............................................................................. 93
6.6.2 Posuvné registry ........................................................................... 97
6.6.3 Kruhový registr ............................................................................. 99
7.
ÚLOHA OPERAČNÍCH SYSTÉMŮ ................................................. 100
7.1
SLUŽBY OPERAČNÍHO SYSTÉMU ....................................................... 101
7.2
STRUKTURA OPERAČNÍHO SYSTÉMU ................................................ 103
7.2.1 Monolitická architektura operačního systému ........................... 104
7.2.2 Víceúrovňová architektura operačních systémů ......................... 105
7.2.3 Architektura operačního systému s virtuálními počítači ............ 108
7.2.4 Architektura operačního systému s modelem klient-server ........ 109
7.2.5 Charakteristiky moderních operačních systémů ......................... 110
4
Počítačové systémy
7.3
HISTORIE OPERAČNÍCH SYSTÉMŮ .....................................................110
7.3.1 Operační systémy Windows .........................................................111
7.3.2 Operační systémy UNIX ..............................................................113
7.3.3 Operační systémy Mac OS a Mac OS X ......................................114
7.3.4 Operační systémy Linux ..............................................................116
ARCHITEKTURA OPERAČNÍCH SYSTÉMŮ ...............................119
8.
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
SPRÁVA PROCESORŮ/PROCESŮ .........................................................121
SPRÁVA (HLAVNÍ, OPERAČNÍ) PAMĚTI ..............................................121
SPRÁVA I/O SYSTÉMU ......................................................................122
SPRÁVA SOUBORŮ ............................................................................122
NETWORKING, DISTRIBUOVANÉ SYSTÉMY ........................................123
SYSTÉM OCHRAN ..............................................................................123
UŽIVATELSKÉ ROZHRANÍ - INTERPRET PŘÍKAZŮ ...............................123
VNITŘNÍ SLUŽBY OPERAČNÍHO SYSTÉMU .........................................124
9. ALGORITMY ČINNOSTI JEDNOTLIVÝCH SPRÁVCŮ
OPERAČNÍHO SYSTÉMU .........................................................................126
9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
10.
SPRÁVA PROCESORŮ/PROCESŮ .........................................................127
SPRÁVA (HLAVNÍ, OPERAČNÍ) PAMĚTI ..............................................138
SPRÁVA I/O SYSTÉMU ......................................................................143
SPRÁVA SOUBORŮ ............................................................................149
NETWORKING, DISTRIBUOVANÉ SYSTÉMY ........................................150
SYSTÉM OCHRAN ..............................................................................150
INTERPRET PŘÍKAZŮ .........................................................................151
VNITŘNÍ SLUŽBY OPERAČNÍHO SYSTÉMU .........................................153
HIERARCHICKÁ VRSTVOVÁ ARCHITEKTURA .....................................153
HARDWARE OSOBNÍHO POČÍTAČE PC .................................156
10.1 ZÁKLADNÍ DESKA .............................................................................158
10.1.1
Sběrnice ...................................................................................159
10.1.2
Sériový a paralelní přenos ......................................................161
10.1.3
Další rozhraní .........................................................................161
10.1.4
Procesor ..................................................................................164
10.1.5
Části procesoru .......................................................................164
10.1.6
Charakteristiky procesoru .......................................................165
10.1.7
CISC a RISC ............................................................................166
10.1.8
Další zvyšování výkonu ...........................................................168
10.1.9
Vývoj procesorů.......................................................................169
10.1.10 Využití procesorů.....................................................................170
10.2 PAMĚTI.............................................................................................170
10.2.1
Vnitřní paměti ..........................................................................171
10.2.2
RAM .........................................................................................172
10.2.3
ROM ........................................................................................173
10.2.4
BIOS ........................................................................................173
10.2.5
Vnější paměti ...........................................................................175
10.2.6
Pevný disk ................................................................................175
10.2.7
Fyzická struktura disku ...........................................................177
10.2.8
Diskové souborové systémy .....................................................178
10.2.9
Formátování ............................................................................179
10.2.10 Fragmentace............................................................................180
5
Počítačové systémy
10.2.11 Kontrola a bezpečnost údajů .................................................. 180
10.2.12 Kompaktní disky (CD) ............................................................ 181
10.2.13 DVD ........................................................................................ 183
10.2.14 Disketa .................................................................................... 184
10.2.15 Flash paměti ........................................................................... 185
10.2.16 Ostatní paměťová média ......................................................... 186
10.2.17 Cenová dostupnost .................................................................. 188
10.3 VSTUPNÍ ZAŘÍZENÍ ........................................................................... 188
10.3.1
Klávesnice ............................................................................... 188
10.3.2
Myš .......................................................................................... 190
10.3.3
Mikrofon ................................................................................. 191
10.3.4
Skener ..................................................................................... 191
10.4 VÝSTUPNÍ ZAŘÍZENÍ ......................................................................... 195
10.4.1
Zobrazování údajů .................................................................. 195
10.4.2
Grafická karta......................................................................... 195
10.4.3
3D grafické karty (akcelerátory) ............................................ 198
10.4.4
Videokarta............................................................................... 200
10.4.5
Televizní karta ........................................................................ 201
10.4.6
Monitory ................................................................................. 201
10.4.7
Vlastnosti monitorů................................................................. 202
10.4.8
Dataprojektory........................................................................ 204
10.4.9
Tiskárny .................................................................................. 207
10.4.10 Parametry tiskáren ................................................................. 212
10.4.11 Zvuková karta ......................................................................... 213
10.5 OSTATNÍ VSTUPNĚ-VÝSTUPNÍ ZAŘÍZENÍ ........................................... 215
10.6 ZAŘÍZENÍ UMOŽŇUJÍCÍ PŘIPOJENÍ K POČÍTAČOVÉ SÍTI ...................... 218
10.7 CHLAZENÍ ........................................................................................ 218
10.8 TYPY POČÍTAČOVÝCH SYSTÉMŮ ...................................................... 219
10.8.1
Stolní počítače ........................................................................ 219
10.8.2
Přenosné počítače ................................................................... 221
10.9 VYSOKOVÝKONNÉ POČÍTAČE........................................................... 222
10.10
PRŮMYSLOVÉ POČÍTAČE .............................................................. 223
11.
SOFTWARE OSOBNÍCH POČÍTAČŮ PC .................................. 225
11.1 OPERAČNÍ SYSTÉM........................................................................... 226
11.2 DĚLENÍ OPERAČNÍCH SYSTÉMŮ ........................................................ 227
11.3 POROVNÁNÍ OPERAČNÍCH SYSTÉMŮ................................................. 228
11.3.1
Unix......................................................................................... 228
11.3.2
Linux ....................................................................................... 230
11.3.3
Mac OS ................................................................................... 231
11.3.4
MS DOS .................................................................................. 231
11.3.5
Ostatní operační systémy ........................................................ 232
11.4 WINDOWS ........................................................................................ 232
11.4.1
Souborový systém.................................................................... 234
11.4.2
Objekty a nastavení................................................................. 236
11.4.3
Nejpoužívanější systémové nástroje ....................................... 241
11.5 APLIKAČNÍ SOFTWARE ..................................................................... 242
11.5.1
Rozdělení aplikačního softwaru.............................................. 243
11.5.2
Kancelářské balíky.................................................................. 244
12.
6
KOMPRIMACE DAT ...................................................................... 272
Počítačové systémy
12.1 KOMPRIMAČNÍ PROGRAMY ...............................................................273
12.2 PARAMETRY KOMPRIMAČNÍCH PROGRAMŮ A JEJICH TESTY ..............274
12.3 ZÁKLADNÍ DRUHY A PŘÍSTUPY V KODOVÁNÍ ....................................276
12.4 BEZZTRÁTOVÁ KOMPRIMACE ...........................................................279
12.4.1
RLE (Run – length Encoding) .................................................279
12.4.2
Lempel-Ziv-Welch algoritmus .................................................281
12.4.3
Huffmanovo kódování a jemu podobné algoritmy ..................284
12.4.4
Shannon-Fanovo kódování ......................................................286
12.4.5
Aritmetické kódování ...............................................................287
12.5 ZTRÁTOVÁ KOMPRIMACE .................................................................290
12.5.1
Metody ztrátové komprese obrazu...........................................290
12.5.2
Druhy obrázků JPEG ..............................................................292
12.5.3
Kompresní algoritmus JPEG ..................................................292
12.5.4
Vlnková transformace (wavelet transfomation) .....................294
12.5.5
Fraktální komprese (Fractal Image Compression) .................295
12.5.6
Skalární a vektorová kvantifikace ...........................................296
12.5.7
Metody ztrátové komprese videa a audiosignálu ....................296
13.
POUŽITÁ LITERATURA A DALŠÍ ZDROJE .............................299
7
Počítačové systémy
1. Principy činnosti práce číslicového počítače
V této kapitole se dozvíte:
•
•
•
•
Z jakých podsystémů se skládá číslicový počítač?
Jaké jsou hlavní funkce jednotlivých podsystémů počítače?
Jak se zobrazují jednotlivé informace v počítači?
Jakými metodami se určují operandy v instrukcích počítače?
Po jejím prostudování byste měli být schopni:
•
•
•
Charakterizovat činnost počítače, rozumět samočinnému způsobu
zpracování programů v číslicovém počítači.
Znát způsob zobrazování jednotlivých typů informací ukládaných
v paměti počítače. Porozumět dvojkové soustavě a základním operacím
v této soustavě, pochopit zobrazování v pevné a pohyblivé řádové
čárce.
Popsat různé metody určování operandů instrukcí což je velmi důležité
pro pochopení některých algoritmů operačních systémů.
Klíčová slova této kapitoly:
Von Neumannovo schéma počítače, operační paměť, operační jednotka, řadič,
vstupní a výstupní zařízení, instrukční cyklus řadiče, dvojková soustava,
instrukce, operand.
Doba potřebná ke studiu: 6 hodin
Průvodce studiem
Studium této kapitoly je poměrně náročné zejména pro ty z Vás, kteří dosud
nemají žádné znalosti z oblasti architektury číslicových počítačů. V takovém
případě Vám zřejmě některé principy činnosti počítače budou připadat obtížně
pochopitelné, ovšem nenechte se tím odradit, neboť pochopením této části se
Vám usnadní studium následujících kapitol.
Na studium této části si vyhraďte alespoň 6 hodin. Doporučujeme studovat
s přestávkami vždy po pochopení jednotlivých podkapitol. Po celkovém
prostudování a vyřešení všech příkladů doporučujeme dát si pauzu, třeba 1
den, a pak se pusťte do vypracování korespondenčních úkolů.
1.1 Úvod
Číslicové počítače zpravidla chápeme jako stroje na zpracování informace.
Obecně počítače jsou především matematickými stroji, jejichž úkolem je
transformace číselných (diskrétních) vstupních hodnot, vstupních údajů. Jsou
dále stroji elektronickými, což určuje fyzikální podmínky realizace úkolů
transformace číselných údajů. Konečné jsou stroji samočinnými, což znamená,
že uvedený úkol realizují bez přímé účasti člověka. Základem pro samočinnost
funkce je existence paměti počítače, v níž je uchován návod pro řešení
(program) a řídící jednotky, která dokáže tento návod interpretovat v postup.
8
Počítačové systémy
Činnost počítače lze charakterizovat principiálně takto:
• Počítač přijímá na svém vstupu texty nad vstupní abecedou,
transformuje je na texty nad vnitřní abecedou (kódování vstupní
informace do vnitřní reprezentace) a ukládá je do paměti.
• V paměti provede zpracování.
• Zpracované texty transformuje do výstupní abecedy (interpretace
informace zachycené ve vnitřní reprezentaci) a vydává je na svém
výstupu.
Okolí počítače
Text nad
vstupní
abecedou
Počítač
Text nad
výstupní
abecedou
Text nad
vnitřní
abecedou
Vazba počítače s okolím
K tomu, aby počítač mohl komunikovat s okolím je nutný společný jazyk
počítače a jeho okolí. Jedná se o jazyk, kterému obě strany jednoznačně
a shodně rozumějí, tzv. formální jazyk. Vymezíme tři jeho určující složky:
• abecedu, tj. výběr přípustných základních symbolů,
• syntaxi, skladbu, tj. soubor pravidel, podle nichž lze ze symbolů
abecedy tvořit přípustné vyšší tvary (výrazy, slova, věty),
• sémantiku, tj. význam, který shodně obě komunikující strany
syntaktickým tvarům přiřazují.
Poznamenejme zde, že i počítače s grafickým uživatelským rozhraním pracují
shodně. Jejich řídícím jazykem může být kliknutí myši nad ovládacím prvkem
s následnou akcí, např. rozbalení nabídky či zavření okna.
1.2 Von Neumannovo schéma počítače
Von Neumannovo schéma bylo navrženo roku 1945 americkým matematikem
(narozeným v Maďarsku) Johnem von Neumannem jako model samočinného
počítače. Tento model s jistými obměnami zůstal zachován dodnes.
9
Počítačové systémy
Vstupní
jednotka
Operační paměť
Výstupní
jednotka
ALU
Řadič
Procesor
Von Neumannovo schéma
Podle tohoto schématu se počítač skládá z pěti hlavních modulů:
• Operační paměť: slouží k uchování zpracovávaného programu,
zpracovávaných dat a výsledků výpočtu.
• ALU – Arithmetical and logical Unit (aritmetickologická jednotka):
jednotka provádějící veškeré aritmetické výpočty a logické operace.
Obsahuje sčítačky, násobičky (pro aritmetické výpočty) a komparátory
(pro porovnávání).
• Řadič: řídící jednotka, která řídí činnost všech částí počítače. Toto
řízení je prováděno pomocí řídících signálů, které jsou zasílány
jednotlivým modulům. Reakce na řídící signály, stavy jednotlivých
modulů, jsou naopak zasílány zpět řadiči pomocí stavových hlášení.
• Vstupní jednotka: zařízení určená pro vstup programu a dat.
• Výstupní jednotka: zařízení určené pro výstup výsledků, které počítač
zpracoval.
Ve von Neumannově schématu je možné ještě vyznačit další modul vzniklý
spojením předcházejících modulů. Jedná se o procesor (CPU - Central
Processing Unit - centrální procesorová jednotka), který vznikne spojením
řadiče a aritmetickologické jednotky.
Princip činnosti počítače podle von Neumannova schématu:
1. Do operační paměti se pomocí vstupních zařízení přes ALU umístí
program, který bude provádět výpočet.
2. Stejným způsobem se do operační paměti umístí data, která bude
program zpracovávat.
3. Proběhne vlastní výpočet, jehož jednotlivé kroky provádí ALU. Tato
jednotka je v průběhu výpočtu spolu s ostatními moduly řízena řadičem
počítače. Mezivýsledky výpočtu jsou ukládány do operační paměti
a nebo registrů procesoru.
4. Po skončení výpočtu jsou výsledky poslány přes ALU na výstupní
zařízení.
Z hlediska systémového se počítač skládá z:
1. paměťového podsystému,
10
Počítačové systémy
2. operačního podsystému,
3. řídícího podsystému,
4. vstupního a výstupního podsystému.
Centrálním podsystémem je paměť. Přejímá informace od vstupního
podsystému a předává je výstupnímu podsystému. Řídící podsystém (řadič)
získává z paměti instrukce programu a přiděluje ostatním podsystémům
postupně úkoly. Operační podsystém získává podle pokynů řídícího
podsystému z paměťového podsystému data, zpracovává je a vrací zpět do
paměti.
Paměťový podsystém je schopen si zapamatovat, tj. uchovat beze změny určité
množství informací. Podsystém tvoří:
• blok adresovatelných paměťových buněk,
• adresový registr paměti (registr adresy paměti – RAP),
• údajový registr paměti (registr dat paměti – RDP),
• řadič paměti.
PAMĚŤOVÉ BUŇKY
NAJDI
ADRESU
ŘADIČ
PAMĚTI
ADRESOVÝ
REGISTR PAMĚTI
- RAP
NASTAV
ADRESU
HOTOVO
VYBER
ULOŽ
ADRESA
ÚDAJOVÝ
REGISTR PAMĚTI
- RDP
NASTAV
ÚDAJ
START
ÚDAJ
Paměťový podsystém počítače
Funkce každé paměťové buňky je dána následujícími předpoklady:
• Obsahuje jedno slovo – slabiku – byte.
• Při získání údaje čtením se obsah neporuší.
• Lze do ní zapsat novou informaci s podmínkou že se zruší existující
informace.
• Má jednoznačně přidělenou adresu.
Adresový registr paměti (RAP) uchovává adresu buňky, se kterou paměť
v daném okamžiku pracuje. Tyto adresy získává z některých jiných
podsystémů. Na základě signálu „NASTAV ADRESU“ od zdrojového
podsystému se paralelně (najednou celá adresa) zapíše do RAP. Údajový
registr paměti (RDP) uchovává data. Při výběru informace z paměti zde řadič
11
Počítačové systémy
paměti dočasně uchovává údaj z buňky, na kterou odkazuje adresový registr
paměti. Údaj zde uchovaný je dostupný pro žádající podsystém v okamžiku,
kdy řadič vyšle signál "HOTOVO". Při ukládání informace do paměti se údaj
ze zdrojového podsystému posílá do registru dat paměti na základě signálu
"NASTAV ÚDAJ". Jakmile se nalezne místo, na které odkazuje adresa v
adresovaném registru paměti, odešle se řadičem paměti obsah registru dat do
této buňky.
Řadič paměti řídí cyklus paměti. Jednotka, požadující spolupráci s pamětí,
informuje, zda jde o výběr nebo vkládání informace, při čemž je do RAP
uložena adresa korespondující buňky. Při ukládání do paměti se naplní RDP
požadovanou informací. Řadič paměti uzavře přístup k oběma registrům RAP
i RDP, najde buňku a sleduje tok informace mezi registrem dat paměti
a zvolenou buňkou. Jakmile je úkol paměti hotov, řadič paměti generuje signál
o ukončení "HOTOVO" a může začít další cyklus paměti.
Požadavky, které se v počítačovém systému kladou na paměť se nedají
ekonomicky splnit jedinou pamětí. Čím větší je kapacita paměti, tím větší je
totiž i její cena. Podobně roste cena i se zkracováním vybavovací doby. Proto
rychlé paměti (s krátkou vybavovací dobou) mají obvykle malou kapacitou,
pomalé paměti (s delší vybavovací dobou) mají velkou kapacitu. Začlenění
jednotlivých úrovní paměti do hierarchie je naznačeno na obrázku.
ŘADIČ
ŘÍDÍCÍ PAMĚŤ
ZÁPISNÍKOVÁ
PAMĚŤ
ALU
OPERAČNÍ (HLAVNÍ) PAMĚŤ
VSTUP / VÝSTUP
VNĚJŠÍ
VELKOKAPACITNÍ
PAMĚŤ
•
•
•
VNĚJŠÍ
VELKOKAPACITNÍ
PAMĚŤ
•
•
•
Hierarchie paměťového podsystému
Operační podsystém provádí všechny aritmetické a logické operace. Přitom
spolupracuje s pamětí, z níž vybírá operandy a ukládá do ní výsledky. Operaci,
12
Počítačové systémy
která se má provádět, určuje řídící jednotka. Typické složení operační jednotky
je na následujícím obrázku.
REGISTR A - STŘADAČ
Z PAMĚTI
1. operand
P
Ř
E
P
Í
N
A
Č
RESITR B - BÁZE
2. operand
REGISTR Q - PODÍL
P
Ř
E
P
Í
N
A
Č
sčíta
čka
DO
PAMĚTI
VÝSLEDEK
řízení posunů
řízení přepínačů
ŘADIČ ALU
Operační podsystém (ALU) počítače
Tři registry, každý na jedno slovo, tvoří zápisníkovou paměť. Registry
uchovávají operandy, mezivýsledky i konečné výsledky. Označení registrů
vychází z jejich funkce:
• RA - střádač (acumulator),
• RB - báze (base),
• RQ - podíl (quotient).
ALU obsahuje dále sčítačku, která má i prostředky pro vytváření doplňkových
kódů, čímž umožňuje odčítání. Přepínač řídí tok informací a umožňuje přímý
zápis informace z jednoho registru do druhého, průchod informace ze dvou
registrů sčítačkou, přesun údaje z paměti do některého registru apod. Řadič
ALU je autonomní. Dohlíží na činnost ALU. Jakmile se mu předá instrukce,
která se má provést, řídí a časově sleduje provádění příslušného algoritmu.
(Pozn. ALU současných procesorů obsahují podstatně větší počet registrů.)
Řídící podsystém (řadič) řídí, resp. dohlíží na veškerou činnost a spolupráci
všech podsystémů počítače tak, aby celý systém počítače pracoval podle
zadaného programu. Dostává instrukce programu, zpracovává je a transformuje
je na posloupnost příkazů pro ostatní části počítače. Těmito příkazy přiděluje
úkoly jiným podsystémům. Přitom je stále informován o okamžitém stavu
všech podsystémů. Základní funkční jednotky řídícího podsystému jsou
uvedeny na obrázku.
13
Počítačové systémy
RAP
RDP
RAP
ŘÍDÍCÍ
REGISTR
OK
ČÍTAČ
INSTRUKCÍ
ADRESA
Ústřední řadič
Dekodér
instrukcí
ČASOVÁNÍ A
ŘÍZENÍ PŘEPÍNAČŮ
(PŘENOSŮ)
Řídící podsystém počítače
Řídící podsystém pracuje ve dvou fázích: výběrové a prováděcí.
START
Výběrová
fáze řadiče
Prováděcí
fáze řadiče
STOP
Výběrová a prováděcí fáze řadiče
Výběrová fáze (fetch):
Obsah čítače instrukcí se přepíše do adresovaného registru paměti (RAP).
V paměti se najde specifikovaná adresa, na níž je uložena instrukce. Instrukce
se z tohoto místa přepíše do registru dat (RDP) a odtud se uloží do řídícího
registru.
Prováděcí fáze (execute):
Vybraná instrukce, uložená v řídícím registru, se analyzuje, čímž se určí, co se
má dělat. Pokud se při zpracování požaduje operand, přepíše se adresová část
instrukce do adresového registru paměti. Vybraný údaj se pak odesílá registru
dat paměti na místo určení, např. do operační jednotky. Jakmile se operand
dostane na místo svého určení, řídící podsystém odešle příslušnému
podsystému požadavek na zpracování úkolu a kontroluje jeho provádění.
14
Počítačové systémy
Nakonec připraví adresu další instrukce, např. zvětšením obsahu čítače
instrukcí o jedničku a zahájí se nová výběrová fáze. V případě provádění
instrukce skoku se adresová část instrukce přepíše do čítače instrukcí a tím se
určí nová adresa vybírané instrukce
Vstupní a výstupní podsystém počítače je spojovacím článkem mezi
přídavnými zařízeními a ostatními podsystémy počítače a zahrnuje v sobě
logiku řízení vstupů a výstupů. Požadavky na připojení vstupních a výstupních
zařízení nejsou vždy známé nebo se nedají dostatečně přesně předvídat při
návrhu počítače, a proto se základní vstupní a výstupní funkce z hlediska
organizace a připojení přídavných zařízení zajišťují univerzálně.
1.3 Zobrazení informace v počítači
Informace, které číslicové počítače zpracovávají, musí být kódovány
a s ohledem na technickou realizaci je nutné k jejich vyjádření nalézt levné
a spolehlivé prvky. Z tohoto hlediska jsou zatím stále nejvhodnější prvky se
dvěma jednoznačně rozlišitelnými stavy. Tak se dostáváme k dvojkové číselné
soustavě, která je dominující soustavou strojového zpracování informací.
Dvojková číslice (0 nebo 1) je bit (elementární informace). Znaky (alfabetické
a numerické) se vyjadřují většinou osmibitovou skupinou. Pro tyto
několikabitové skupiny se používá termín slabika nebo byte. Nejbližší větší
skupina s pevně stanoveným počtem bitů je slovo. Délka slov bývá 4 slabiky,
tj. 32 bitů nebo 8 slabik, tj. 64 bitů. Je-li v počítači pro všechny operace slovo
uložené vždy v jedné buňce paměti, pak jde o počítač slovně orientovaný.
1.3.1 Číselné soustavy a kódy
Zobrazení čísla v poziční číselně soustavě o základu b je dána pravidlem
(...a3a2a1a0a-1a-2...)b = ... a3b3+ a2b2+ a1b1+ a0b0+ a-1b-1+ a-2b-2...
Pro b=10 dostáváme tradiční desítkovou (dekadickou) soustavu. Méně obvyklé
jsou soustavy se základem b>1, b je přirozené a různé od 10.
Ve výše uvedeném zápisu znamená každé ak "číslici", představující celé číslo
0 ≤ ak < b .
Čárka mezi a0 a a-1 se nazývá „řádová poziční čárka“ (v angličtině se užívá
tečky).
Dále se budeme zabývat zejména soustavami:
- dvojkovou (binární) kde b=2,
- osmičkovou (oktalovou) kde b=8,
- šestnáctkovou (hexadecimální) kde b=16.
Ve dvojkové soustavě vystačíme se dvěma číslicemi: 0,1.
V osmičkové soustavě potřebujeme 8 číslic: 0,1,2,3,4,5,6,7.
V šestnáctkové soustavě potřebujeme 16 číslic:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
15
Počítačové systémy
Z číselných soustav je nejběžnější dvojková, která jak z hlediska technického,
tak i programového vybavení stroje má značné výhody. Z hlediska technického
jsou to např. jednoduché algoritmy aritmetických a logických operací a jejich
realizace, ve srovnání s jinými soustavami se jedná o menší požadovaný rozsah
paměti apod. Z programového hlediska je třeba ocenit možnost dělení a
násobení mocninami dvou prostým bitovým posunem čísla. Hlavní nevýhodou
dvojkové soustavy je nutnost převodu při vstupu a výstupu z desítkové
soustavy do dvojkové a naopak. Desítková soustava má přednost právě v tom,
že zmíněné převody odpadají. Proto se u řady počítačů jednotlivé desítkové
číslice kódují do dvojkové soustavy, tzv. dvojkovědesítkovým kódem (BCD).
1.3.1.1 Převody mezi číselnými soustavami
Pracujeme-li s různými číselnými soustavami (o různých základech), musíme
vědět, jak se číslo, vyjádřené v jedné soustavě, např. se základem k převede do
soustavy se základem m. Jde-li o celé číslo >1, potom číslo v soustavě
o základu k dělíme základem m, vyjádřeným v soustavě k, zbytek h <0, m-1>
je nejnižší řád daného čísla v soustavě m, vyjádřený ovšem opět v soustavě
o základu k. Získaný podíl se dělí znovu základem m. Tak dostaneme další řád
čísla v soustavě m atd. Poslední podíl, který je h <0, m-1>, je nejvyšší řád
převáděného čísla v soustavě o základu m.
Příklad: Převeďme desítkové číslo 287 do soustavy dvojkové, osmičkové
a šestnáctkové.
Ve dvojkové soustavě dostáváme:
287 : 2 = 143
143 : 2 = 71
71 : 2 = 35
35 : 2 = 17
zbytek 1
zbytek 1
zbytek 1
zbytek 1
17 : 2 = 8
zbytek 1
zbytek 1
8:2=4
zbytek 0
4:2=2
zbytek 0
2:2=1
zbytek
0
Zbytky sepíšeme od konce. Číslo 28710 je tedy vyjádřeno ve dvojkové soustavě
takto:
(100011111)2
=
1.28+0.27+0.26+0.25+1.24+1.23+1.22+1.21+1.20
256+16+8+4+2+1 = (287)10
V soustavě osmičkové dostaneme:
287 : 8 = 35
35 : 8 = 4
7
3
4
Tedy: (437)8 = 4.82 + 3.81 + 7.80 = 256 + 16 + 15 = (287)10
Při převodu do šestnáctkové soustavy obdržíme:
287 : 16 = 17
17 : 16 = 1
zbytek 15 (F)
zbytek 1
zbytek 1
Obdobně zbytky sepíšeme od konce a obdržíme:
16
=
Počítačové systémy
(11F)16 = 1.162 + 1.161 + 15.160 = 256 + 16 + 15 = (287)10
Máme-li převést číslo <1 ze soustavy o základu k do soustavy o základu m
postupujeme takto: číslo v soustavě k se násobí základem m, vyjádřeným
v soustavě o základu k. Celočíselná část výsledku (před řádovou čárkou) je
prvá číslice za řadovou čárkou čísla, převedeného do soustavy o základu m
vyjádřená ovšem ještě v soustavě o základě k. Zbývající část výsledku za
řádovou čárkou násobíme znovu základem m atd.
Příklad: Převeďme číslo (0,960375)10 ze soustavy desítkové do soustavy
dvojkové, osmičkové a šestnáctkové.
Ve dvojkové soustavě dostáváme:
0,960375 . 2
1,92075
celá část je 1
0,92075 . 2
1,8415
celá část je 1
0,8415 . 2
1,683
celá část je 1
0,683 . 2
1,366
celá část je 1
0,366 . 2
0,732
celá část je 0
0,732 . 2
1,464
celá část je 1
Celé části (přetečení přes řádovou čárku) sepíšeme a dostáváme:
(0,960375)10 = (0,111101)2 = 1.2-1+1.2-2+1.2-3+1.2-4+0.2-5+1.2-6... =
0,5+0,25+0,125 +0,0625+0,03125 + …..
Při převodu do osmičkové soustavy dostáváme:
0.960375 . 8
.
8
7,683
celá část je 7
0.683 . 8
5,464
celá část je 5
0,464
3,712
celá část je 3
Celé části opět sepíšeme a dostáváme:
(0,960375)10 = (0,753...)8 = 7.8-1 + 5.8-2 + 3.8-3 + ... = 0.875 + 0,078125 +
0,005859375 + ..,
V šestnáctkové soustavě obdržíme:
17
Počítačové systémy
0,980375 . 16
.
16
15,366
13,895
celá část je 15 (F)
13 (D)
0,366 . 16
0,856
5,856
celá část je 5
celá část je
Tedy:
(0,960375)10 = (0,F5D...)16 = 15.16-1 + 5.16-2 + 13.16-3...= 0,9375 + 0,01953125
+ 0,003173828 + ….
Všimněte si, že existuje prostý vztah mezi zápisem čísel v soustavách
o základu b a bk:
(...a3a2a1a0.a-la-2...)b = (...A3A2A1A0.A-l A-2….)bk
kde Aj=(akj+k-1 …….akj+l akj )b
Slovy lze tento vztah zhruba vyjádřit tak, že v zápise čísla v soustavě o základu
b vytvoříme k-tice číslic nalevo i napravo od řádové tečky, a každou tuto k-tici
číslic vyjádříme jednou číslicí v soustavě o základu bk.
Příklad: Převeďte dvojkové číslo 10100110011001,10011101 do osmičkové
a šestnáctkové soustavy.
Při převodu do osmičkové soustavy platí b=2, k=3, 2k=23=8
Tedy vytvoříme trojice dvojkových číslic, které nahradíme osmičkovými
číslicemi dle následující tabulky.
osmičkové
0
1
2
3
4
5
6
7
dvojkové
000
001
0l0
011
100
101
110
111
šestnáctkové dvojkové
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
šestnáctkové dvojkové
8
1000
9
1001
A
1010
B
1011
C
1100
D
1101
E
1110
F
1111
Převodní tabulka mezi osmičkovou a šestnáctkovou do dvojkové soustavy
18
Počítačové systémy
Vytvořené trojice dvojkových čísel jsou:
010 100 110 011 001 , 100 111 010
2
4
6
3
1
4
7
2
Osmičkový zápis výše uvedeného čísla je (24631,472)8.
Převádíme-li číslo do šestnáctkové soustavy, platí: b=2, k=4, 2k=24=16
Zde vytváříme čtveřice dvojkových číslic, které nahradíme šestnáctkovými
číslicemi dle výše uvedené tabulky.
0010 1001 1001 1001 , 1001 1101
2
9
9 9
9
D
Šestnáctkový zápis daného čísla je (2999,9D)16.
Pozn.: při obráceném převodu z osmičkové (resp. šestnáctkové) soustavy do
dvojkové, každou osmičkovou (resp. šestnáctkovou) číslici nahradíme trojicí
(resp. čtveřicí) dvojkových číslic.
1.3.1.2 Kódy
V řadě počítačů se používá dvojkově kódovaná desítková soustava. Každá
desítková číslice se přitom musí vyjádřit dvojkově. Je zřejmé, že musíme
použít pro každou číslici v desítkové soustavě nejméně 4 číslice dvojkové
soustavy.
Volba konkrétního kódu závisí na jeho použití. Jiné požadavky se kladou na
kódy, s nimiž se mají provádět aritmetické operace a jiné požadavky na kódy,
používané při přenosu informaci apod.
Pro aritmetické operace jsou vhodné kódy, které vyhovují tzv. Aikenovým
podmínkám:
1. Každé místo v kódu má mít určitou váhu.
2. Součet vah míst, v nichž je dvojková číslice kódu rovna 1, má dát
hodnotu přiřazené desítkové číslice nebo alespoň, větší desítkové číslici má
odpovídat větší dvojkové číslo příslušného váhového kódu.
3. Vztah mezi lichými a sudými kódy a přiřazenými desítkovými číslicemi
může být sice libovolný, ale u zvoleného kódu má být neměnný.
4. Desítkovým doplňkům desítkových číslic mají odpovídat doplňkové
kódy, vzniklé inverzí jednotlivých bitů původních kódů.
U kódů určených pro přenos nás zajímá především odolnost kódů vůči
poruchám, možnost zajištění vzniklých chyb a příp. jejich odstranění.
V následující tabulce jsou uvedeny některé známé kódy, z nichž však všechny
nesplňují výše uvedené podmínky.
19
Počítačové systémy
8421
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
2421 (8421)+3
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
5421 3n+2 5043210
Bikvinární
0000
0001
0010
0011
0100
1000
1001
1010
1011
1100
00010
00101
01000
01011
01110
10001
10100
10111
11010
11101
0100001
0100010
0100100
0101000
0110000
1000001
1000010
1000100
1001000
1010000
Tabulka dvojkových kódů pro desítkové číslice
Z více možných způsobů zabezpečení informace (kódů) se stručně zmíníme jen
o jedné, tzv. kontrole paritou. Podstata zabezpečení spočívá v tom, že
v nejjednodušším případě se k informaci, která je v n-řádech, přidružuje
informace n(n+1)-tém řádu, kterou se doplňuje počet jednotkových bitů na
sudý nebo lichý počet (sudá nebo lichá parita). V následující tabulce jsou
naznačeny n=5 bitové informace se sudou paritou v 6. řádu.
n
10110
01001
01111
01011
01001
n+1
1
0
0
1
0
Příklad zabezpečení informace sudou paritou
Při přenosu informace se po každém přepisu kontroluje, zda počet jedniček
v informaci je sudý. V případě lichého počtu se signalizuje chyba. Je třeba
připomenout, že paritní bit se k informaci přidává při tvorbě informace, např.
na paměťové médium.
1.3.2 Kódování ve dvojkové soustavě
Způsob zobrazeni čísel v počítači nazýváme číselný kód. Ukážeme si tři
způsoby kódování čísel ve dvojkové soustavě. Je zřejmé, že kladná a záporná
čísla jsou zobrazena v počítači stejně, až na znaménko. Aby počítač pracující
ve dvojkové soustavě poznal znaménko čísla, musíme tato znaménka vyjádřit
znakem, který počítač dovede rozlišit, tj. v našem případě nulou nebo
jedničkou (pozn., pracujeme-li s jinou číselnou soustavou, kóduje se znaménko
zvláštním znakem). Kvůli zjednodušení budeme uvažovat o zobrazení čísla
s pevnou řádovou čárkou (s čárkou před nejvyšším řádem, což značí |x| <1).
1.3.2.1 Přímý kód
Kladné číslo bude mít v přímém kódu před pevnou řádovou čárkou, tj. ve
znaménkovém řádu, nulu, číslo záporné jedničku. Čísla kladná jsou tedy
20
Počítačové systémy
vyjádřena v rozmezí od nuly do jedné, čísla záporná od jedné do dvou, což lze
psát:
(x)přímý kód = x pro x ≥ 0
(x)přímý kód = 1-x pro x < 0.
Zapíšeme tedy číslo + 0,21875 jako 0,00111,
ale číslo -0,21875 jako 1,00111 = (1-(-0.00111)).
1.3.2.2 Doplňkový kód
Doplňkový kód nezáporného čísla (kladné a nula) x je stejně jako u přímého
kódu roven číslu x. Doplňkový kód záporného čísla x dostaneme tak, ze před
pevnou řádovou čárku napíšeme znaménkový znak 1, na všech ostatních
místech nahradíme nuly jedničkami.
Obecně můžeme psát:
(x)doplňkový kód = x pro x ≥ 0
(x) doplňkový kód = 2 + x pro x < 0.
Zapíšeme tedy + 0,75 jako 0,110
ale číslo - 0,75 jako 1,010
protože 210 v binární soustavě je 102
pak
10,000
- 0,110
1,010
nebo
1,001
+1
1,010
Nula má jediné vyjádření 0,000 ... 0.
Maximální záporné číslo 1,000 ... 0 nemá tedy kladný ekvivalent (jeho
dvojkový doplněk je totiž zase 1,000 ... 0).
1.3.2.3 Inverzní kód
Inverzní kód kladného čísla x je roven číslu x. Inverze záporného čísla vznikne
tak, že se do znaku napíše jednička a v číslicových řádech se zamění jedničky
za nuly a naopak. Je tedy záporné číslo v inverzním kódu v posledním
číslicovém řádu o jedničku menší než číslo v doplňkovém kódu.
Tedy:
(x)inverzní kód = x pro x >= 0
(x) inverzní kód = 10 + x – 10-n pro x < 0.
Př. + 0,8128 je ve dvojkové soustavě 0,1101 a - 0,8125 je v inverzním kódu
1,0010
1.3.2.4 Modifikovaný doplňkový kód
Modifikovaný doplňkový kód je obecnější verzí doplňkového kódu.
Je definován
(x)modifikovaný doplňkový kód = x pro x >= 0
21
Počítačové systémy
(x) modifikovaný doplňkový kód = z2 + x pro x < 0.
Ve dvojkové soustavě je z2 = (100)2
Př.
(+ 11/16)10 = (00,1011)2
(- 11/16)10 = (11,0101)2 protože
100,0000 nebo 11,0100
- 00,1011
+ 1
11,0101
11,0101
Modifikovaný doplňkový kód nezáporného čísla x je roven tomuto číslu x,
přičemž ve znaménkových řádech jsou dvě nuly; u záporného čísla se před
pevnou řádovou čárku napíší dvě jedničky, na všech ostatních místech
nahradíme nuly jedničkami a jedničky nulami a pak k nejnižšímu řádu
přičteme jedničku.
1.3.2.5 Modifikovaný inverzní kód
Je definován
(x) modifikovaný inverzní kód = x pro x >= 0
(x) modifikovaný inverzní kód = 100 + x – 10-n pro x < 0.
Modifikovaný inverzní kód nezáporného čísla x je roven číslu x; u záporného
čísla se před pevnou řádovou čárku napíší dvě jedničky a v číslicových řádech
se zamění jedničky za nuly a naopak.
Např.
(+ 11/16)10 = (00,1011)2
(- 11/16)10 = (11,0100)2
1.3.3 Zobrazení instrukcí
Požadavek na provedení operace operační jednotkou, případně jinými
podsystémy počítače je zakódován do instrukce. Instrukce určuje, o kterou
z operací jde (tzn. operační kód) a kde jsou uloženy operandy v paměti,
registrech apod. (tzn. adresy) .
Obecná struktura instrukce je na následujícím obrázku.
Operační kód
Adresová část
Obecná struktura instrukce
Adresová část obsahuje tolik samostatných částí, kolik má instrukce adres
(většinou 1,2 nebo 3) - hovoříme potom o jednoadresní, dvouadresní nebo
tříadresní instrukci.
22
Počítačové systémy
Instrukce s k = 1,2 ..... adresami mají formát dle následujícího obrázku.
Operační kód
A1
A2
Ak
Obecná struktura instrukce s k adresami
Porovnání efektivnosti instrukcí s různým počtem adres budeme ilustrovat na
příkladu výpočtu výrazu:
Y = A * B + (C – D) * E / F,
kde A,B,C.D,E,F,Y - proměnné, uložené v buňkách s adresami a,b,c,d,e,f,y.
Budeme předpokládat, že výsledek libovolné operace se ukládá v registru R
operační jednotky, a může být použit v roli operandu v následující operaci. Pro
uložení mezivýsledků P1, P2, ... máme k dispozici pracovní paměťové buňky
p1, p2, ...
Nejpřirozenější pro výpočet aritmetických a logických výrazů je tříadresní
systém instrukcí.
OK
A1
A2
A3
Struktura tříadresní instrukce
OK = operační kód,
A1, A2 = adresa dvou operandů,
A3 = adresa výsledku.
Program výpočtu výrazu bude:
Zde
Instrukce
Násob
a
Odečti
c
Násob
Děl
Sečti
-
b
d
e
f
p1
p1
y
Význam
A * B → P1
C-D → R
R*E → R
R/F → R
R + P1 → Y
Pomlčka v poli adresy označuje, že tato adresa se nepoužije, i když v poli adres
v instrukci se nachází. Protože každá instrukce potřebuje tři m-bitová pole
adres, tak pro adresaci informace je potřebné K3 = 3 x 5 = 15 adres, i když
pouze 9 je jich využito efektivně. Při vykonání programu se T3 = 14 krát
obracíme k paměti:
-
5x výběr instrukce,
9x čteni i zápis operandů.
Při použití dvouadresních instrukcí:
23
Počítačové systémy
OK
A1
A2
Struktura dvouadresní instrukce
Proces výpočtu výrazu je popsán následujícím programem:
Instrukce
Násob
a
Zapiš
p1
Odečti
c
Násob
Děl
Sečti
P1
Význam
A*B → R
R → P1
R-D → R
R*E → R
R/F → R
R + P1 → Y
b
d
e
f
y
Zde Zapiš je operace zápisu výsledku R do paměti. Program je sestaven ze
šesti instrukcí, zabírajících K2 = 2x6 = 12 adres a 9 z nich je využito efektivně.
Při provádění programu se T2 = 15x obracíme k paměti:
-
6x výběr instrukce,
9x čtení / zápis operandů.
Při práci s jednoadresní instrukcí:
OK
A1
Struktura jednoadresní instrukce
Program výpočtu výrazu bude:
Instrukce
Ulož
a
Násob
b
Zapiš
p1
Ulož
c
Odečti
d
Násob
e
Děl
f
Sečti
p1
Zapiš
y
Význam
A→R
R*B → R
R → P1
C→R
R-D → R
R*E → R
R/F → R
R + P1 → R
R→Y
Program je sestaven z 9 instrukcí zabírajících 9 adres. Při provádění programu
T1 = 18x obrací k paměti:
- 9x výběr instrukce,
- 9x čtení / zápis operandů.
Počet adres instrukcí k
24
1
2
3
Počítačové systémy
Počet adres v programu K
Počet přístupů k paměti T
9
18
12
15
15
14
Z tabulky je vidět, že s větším počtem adres v instrukci se zvětšují požadavky
na velikost paměti pro adresu, ale snižuje se počet přístupů k paměti, tj. snižuje
se celková doba výpočtů. Se zvyšováním počtu operandů ve výrazu odpadá
nutnost každou operaci provádět třemi adresami; výsledek operace může být
uložen v procesoru a může být použit jako operand v následující operaci. Ve
vědecko-technických úlohách, na jednu operaci, přísluší v průměru 1,2 až 1,4
operandů, uložených v operační paměti a v úlohách zpracování hromadných
dat 1,6 až 1,8 operandů. Proto pro vědecko-technické úlohy jsou výhodné
1-adresní instrukce a pro zpracováni dat 2-adresní instrukce.
1.3.4 Zobrazení abecedně-číslicových znaků
Současné počítače (až na výjimky) mohou pracovat s úplnou abecedou písmen,
číslic a různých symbolů, (tzn. 26 písmen mezinárodní abecedy, 10 číslic
a interpunkční znaménka, panelové znaky pro některé vstupní a výstupní
zařízení). Základní abeceda zejména ve slovanských zemích bývá doplněna
písmeny národní abecedy. V paměťových médiích samočinného počítače se
zpravidla uchovává až dvakrát tolik číselné informace jako alfabetické
informace. Proto je žádoucí, aby vybraný kód byl efektivnější pro vyjadřování
číslic. Tuto podmínku splňuje např. osmibitový kód EBCDIC (Extended
Binary Coded Decimal Interctange Code), jenž umožňuje vyjádřit 206 různých
znaků. Každý znak tedy představuje skupina osmi bitů. Výhoda osmibitového
kódu spočívá v tom, že umožňuje v jedné osmibitové skupině uchovávat kódy
dvou desítkových číslic. Tyto číslice vstupují do stroje zakódovány osmi bity;
čtyři bity levé části tvoří tzv. zónu, která svou hodnotou (1111) určuje, že znak
je číslice. Znaky se dají zřetězit a v poslední osmibitové kombinaci se místo
zóny udává znaménko čísla. Desítkové číslice 0, 1, 2, ... 9 jsou zakódovány
v přímém dvojkovém kódu 8421. Uvedený tvar je "rozvinutý" a používá se pro
styk s periferními zařízeními. Číselná informace se před uložením do paměti
přeskupí do zhuštěného tvaru. Zhuštěný tvar se uplatňuje při vnitřních
operacích s desítkovými čísly.
01234567-0
NUL
DLE
SP
0
@
P
`
p
-1
SOH
DC1
!
1
A
Q
a
q
-2
STX
DC2
"
2
B
R
b
r
-3
ETX
DC3
#
3
C
S
c
s
-4
EOT
DC4
$
4
D
T
d
t
-5
ENQ
NAK
%
5
E
U
e
u
-6
ACK
SYN
&
6
F
V
f
v
-7
BEL
ETB
'
7
G
W
g
w
-8
BS
CAN
(
8
H
X
h
x
-9
HT
EM
)
9
I
Y
I
y
-A
LF
SUB
*
:
J
Z
j
z
-B
VT
ESC
+
;
K
[
k
{
-C
FF
FS
,
<
L
\
l
|
-D
CR
GS
=
M
]
m
}
-E
SO
RS
.
>
N
^
n
~
25
Počítačové systémy
-F
SI
US
/
?
O
_
o
DEL
Znaková sada ASCII
1.3.5 Pevná a pohyblivá řádová čárka
Většina moderních počítačů umožňuje zpracovávat čísla ve dvojím tvaru, a to
v pevné a pohyblivé řádové čárce, viz následující obrázek.
Znaménko
Číslo
Řádová čárka
Obecné uspořádání čísla v pevné řádové čárce
Znaménko
Exponent
Znaménko
Mantisa
Obecné uspořádání čísla v pohyblivé řádové čárce
Pro zobrazení čísel v pevné řádové čárce je charakteristické pevné umístění
řádové čárky na určité místo. Zpravidla se umísťuje před nejvyšším řádovým
místem. Můžeme tedy zobrazit čísla v intervalu <0,1>.
Zápis čísla v pohyblivé řádové čárce má dvě části: mantisu a exponent.
Obecný zápis je x = m. ze
kde
x - zobrazované číslo,
m – mantisa,
e – exponent,
z - základ použité číselné soustavy.
Lze tak zobrazit čísla v rozsahu <z –(emax+m); zemax>
kde emax je maximální hodnota exponentu, která je dána počtem řádových
míst exponentu v daném zobrazení, m je počet řadových míst mantisy. Rozsah
zobrazení informace v pevné řádové čárce úzce souvisí s délkou slova počítače.
26
Počítačové systémy
1.4 Metody určování operandů
V číslicových počítačích se setkáváme s různými typy určování operandů. Jsou
to:
• Přímé adresování.
• Přímý operand.
• Nepřímé adresování.
• Implicitní adresování.
• Implicitní operand.
• Modifikované adresování.
• Relativní adresování.
• Asociativní adresování.
1.4.1 Přímé adresování
Přímé adresování je základní způsob adresování, kdy se pracuje s operandem
na adrese uvedené přímo v instrukci.
OP. ZNAK
PŘÍMÁ
ADRESA
PAMĚŤ
OPERAND
543
ADD
543
+ 987654
5 4 3
+ 987654
RAP
RQ
RDP
+ 987654
OPERAČNÍ
REGISTR OPERAČNÍ JEDNOTKY
URČEN IMPLICITNĚ OPERAČNÍM
ZNAKEM
JEDNOTKA
Přímé adresování
1.4.2 Přímý operand
V tomto případě je (obvykle na místě adresy) v instrukci zapsán vlastní
operand. Rozlišení, zda jde o adresu nebo operand, musí být dáno operačním
kódem. Provedením instrukce na následujícím obrázku se přesune přímý
operand 327 do indexregistru číslo 3.
27
Počítačové systémy
PŘÍMÝ OPERAND
OP. ZNAK
XPN,
3
RX1
327
RX2
RX3
327
INDEXREGISTRY
Přímý operand
1.4.3 Nepřímé adresování
Adresová část instrukce udává adresu, na níž je zaznamenána adresa vlastního
operandu. Ve srovnání s přímým adresováním to vyžaduje přídavný cyklus
paměti, což je nevýhodné. Uplatní se jen tehdy, jestliže řada instrukcí odkazuje
na týž operand, jehož umístění v paměti se však během zpracování programu
mění.
OP. ZNAK
MUL,I
NEPŘÍMÁ ADRESA
333
333
Příznak
nepřímého
adresování
UKAZATEL
OPERAND
272
0272
2345678
3
1
6
2
5
RAP
RDP
3 3 3 (272)
0272(2345678)
RQ
1.FÁZE
(2. FÁZE)
4
2345678
7
Nepřímé adresování
1.4.4 Implicitní adresování
S implicitním adresováním se setkáváme u všech jednoadresových počítačů,
které vyžadují, aby pro všechny operace pracující se dvěma operandy bylo
umístění jednoho z nich dáno vlastní operací. Místo pro výsledek je ve většině
případů určeno také implicitně. Příkladem může být instrukce přenosu mezi
28
Počítačové systémy
dvěma registry, kdy adresy obou registrů jsou implicitně určeny operačním
kódem.
1.4.5 Implicitní operand
Jde o případ, kdy operand je určen operačním kódem, např. kód operace
„posuň řádovou čárku o jeden bit“ v sobě zahrnuje operaci násobení dvěma (u
dvojkového počítače s pevnou řádovou čárkou).
1.4.6 Modifikované adresování
Adresová část instrukce se před vložením do adresového registru paměti RAP
modifikuje konstantou uloženou v indexregistru, jehož číslo je dáno příznakem
instrukce.
PAMĚŤ
0
INDEXOVÉ
REGISTRY
1
OPERAND
149
+ 876543
2
3
012
RAP
RDP
149
SČÍTAČKA
+876543
MODIFIKOVANÁ
ADRESA
OP.
ZNAK
RA
ADD, 3
137
+876543
ADR. ZÁKLADNÍ
ADR. X
Modifikace základní adresy
1.4.7 Relativní adresování
Adresová část instrukce neurčuje při relativním adresování přímo místo
v paměti, ale adresu uloženou k nějaké jiné adrese, označené jako uložená
adresa (bázová adresa).
29
Počítačové systémy
137
ADD, R, 3
0
D
2100
1. FÁZE
<B>
ZÁKLADNÍ
ADRESA
<B>
D
SČÍTAČKA
<X>
RŘ
2. FÁZE
ADD, 3
2237
<B>+D
SČÍTAČKA
RAP
RDP
2560
OBSAH BUŇKY 2560
RX0
<B> + D + <X>
RX1
RX2
RX3
323
<X>
Modifikace relativní adresy
1.4.8 Výběr podle obsahu (asociativní výběr)
Metody adresování, které jsme probrali, se týkají paměti, které jsou adresovány
pozičně, tj. každé paměťové místo má svou adresu, což odpovídá Von
Neumannově modelu počítače. U asociativních pamětí se vyhledává informace
s určitou vlastností. Tato vlastnost bývá určena tzv. klíčem, což je určitá
podmnožina bitů slova obsahující uvedený vzorek jedniček a nul. Zbylé bity
jsou lhostejné a jsou při hledání maskovány. Každá buňka paměti má údajovou
část (uložená informace) a klíčovou část. Obsah registru klíče se najednou
srovná se všemi uloženými klíči. V té buňce, kde nastane shoda klíčů, se vyšle
obsah údajové části buňky do údajového registru asociativní paměti.
Klíčové části slov
Údajové části slov
Výběrová cesta
Registr klíče
Asociativní adresování
30
Údajový registr
Počítačové systémy
1.5 Odlišná schémata počítačů
Základní odlišnosti dnešních počítačů od von Neumannova schématu:
• Podle von Neumannova schématu počítač pracuje vždy nad jedním
programem. Toto vede k velmi špatnému využití strojového času. Je
tedy obvyklé, že počítač zpracovává paralelně více programů zároveň tzv. multitasking.
• Počítač může disponovat i více než jedním procesorem.
• Počítač podle von Neumannova schématu pracuje pouze v tzv.
diskrétním režimu.
• Existují vstupní / výstupní zařízení (I/O devices), která umožňují jak
vstup, tak výstup dat (programu).
• Program se do paměti nemusí zavést celý, ale je možné zavést pouze
jeho část a ostatní části zavádět až v případě potřeby.
Jednou z nejpodobnějších architektur k von Neumanově je hardwardské
schéma počítače, lišící se oddělenou pamětí pro program a pro data (používají
některé jednočipové mikropočítače).
Paměť
programu
Registr
instrukcí
programu
Paměť dat
ALU
Vstupy/
výstupy
Řadič
Hardwardské schéma počítače
V poslední době se uplatňují víceprocesorové počítače, tj. počítače s několika
CPU. Dělí se podle toho, zda mají sdílenou paměť na :
• multiprocessors (multiprocesory) mají sdílenou paměť,
• multicomputers (multipočítače) nemají sdílenou paměť, procesory
komunikují například pomocí mechanismu zasílání zpráv.
Podle počtu instrukčních a datových proudů se počítače dělí na:
• SISD (single instruction, single data) - běžné jednoprocesorové
počítače,
• SIMD (single instruction, multiple data) - jedna instrukce se provádí na
větší množství dat (například sčítání dvou vektorů) - tzv. vektorové
počítače, některé superpočítače jsou SIMD,
• MISD (multiple instruction, single data) - někdy označované jako
řetězené (pipeline) procesory,
31
Počítačové systémy
•
MIMD (multiple instruction, multiple data) - víceprocesorové systémy;
podle toho zda mají nebo nemají sdílenou paměť se rozdělují na
multiprocesory (se sdílenou pamětí) a multipočítače (multicomputers spolupracující počítače propojené sítí).
Na následujících obrázcích jsou naznačeny principiální vazby procesoru
event. procesorů s operační pamětí.
Procesor
Data
Instrukce
Data
Paměť
Počítačový systém SISD (single instruction, single data)
Uvedený počítač je shodný s architekturou Von Neumanna. Procesor postupně
přebírá instrukce, dekóduje je a provádí.
Paměť programů
Řídící jednotka systému
Instrukce
Instrukce
Data
Data
Paměť dat
Počítačový systém SIMD (single instruction, multiple data)
Tento počítačový systém se někdy také označuje jako maticový procesor (array
procesor). Operace v procesorech se provádějí podle příkazů centrálního řadiče
maticového procesoru. Kvůli efektivnímu zpracování je hlavní paměť
rozdělena na dva fyzicky samostatné celky: paměť programů, která
32
Počítačové systémy
spolupracuje s řídící jednotkou maticového procesoru a paměť dat, která
komunikuje se všemi procesory. Všechny procesory mohou vykonávat
současně tutéž operaci s daty, uloženými v paměti. Proto je maticový procesor
užitečný pro operace s maticemi a vektory.
Procesor
Data
Data
Instrukce
Paměť
Počítačový systém MISD (multiple instruction, single data)
Tento procesor realizuje základní funkce řetězením operačních modulů, které
pracují autonomně. Tím se dosahuje potřebný paralelismus.
Procesor
Data
Data
Instrukce
Instrukce
Paměť
Počítačový systém MIMD (multiple instruction, multiple data)
Uvedené multiprocesory mají tyto základní rysy:
33
Počítačové systémy
•
•
•
•
systém obsahuje dva nebo více fyzicky úplně nezávislé procesory,
každý s vlastním tokem instrukcí,
procesory sdílejí společnou operační paměť,
systém disponuje společným souborem vstupních/výstupních zařízení,
celý počítačový systém je řízen jedním operačním systémem (jedna
řídící autorita).
Každý procesor je schopen samostatně vybírat a provádět instrukce.
Multiprocesor tedy může zpracovávat současně více programů, resp.
samostatných částí jednoho programu, což se nazývá souběžné zpracování
(multiprocessing). Přitom procesory nemusí být stejného typu – pak mluvíme o
nehomogenním multiprocesoru. Sdílení hlavní paměti se rozumí ve smyslu
možnosti fyzického přístupu každého procesoru do libovolného paměťového
místa.
Příklady konkrétní architektury počítačů SIMD a MIMD se 4 výpočetními uzly
jsou naznačeny na následujících obrázcích. SIMD a MIMD se typicky liší
v složitosti a výkonu výpočetních uzlů. Uzly v MIMD jsou výkonné
samostatné počítače, kdežto SIMD uzly jsou obvykle mnohem jednodušší, což
je důsledkem jejich podřízenosti v systému.
Podřízené počítače
Mikro
řadič
Hlavní
program
Nadřazený
počítač
Tok
makroinstrukcí
Centrální
řadič a
multiplexer
Lokální
paměť dat
Sdílená
paměť
Mikro
řadič
Lokální
paměť dat
Mikro
řadič
Lokální
paměť dat
Mikro
řadič
Lokální
paměť dat
nebo
propojovací
Synchronní
toky
identických
mikroinstrukcí
Architektura SIMD se 4 výpočetními uzly
34
síť
Počítačové systémy
Výpočetní uzly
Lokální
paměť programu
Tok
instrukcí 1
Řadič
a CPU
Lokální
paměť dat
Tok dat 1
Sdílená
Lokální
paměť programu
Tok
instrukcí 2
Řadič
a CPU
Lokální
paměť dat
Tok dat 2
paměť
nebo
Lokální
paměť programu
Tok
instrukcí 3
Řadič
a CPU
Lokální
paměť dat
Tok dat 3
propojovací
síť
Lokální
paměť programu
Tok
instrukcí 4
Řadič
a CPU
Lokální
paměť dat
Tok dat 4
Architektura MIMD se 4 výpočetními uzly
Kontrolní otázky:
1. Čím se liší von Neumannova koncepce počítače od harwardské koncepce?
2. Kde je uložena adresa právě prováděné instrukce?
3. O kolik míst se posune řádová čárka binárního čísla násobíme-li jej číslem
16?
Úkoly k zamyšlení:
1. U jakých typů instrukcí se nezvyšuje obsah čítače instrukcí o 1?
2. Vedle relativního adresování existuje i samorelativní adresování, kdy
bázovou adresou je adresa právě prováděné instrukce. Nakreslete způsob
výpočtu konečné adresy.
Korespondenční úkol:
1. Napište program pro výpočet výrazu Y = A2 + B3 - C * D + E / F
s jednoadresními, dvouadresními a tříadresními instrukcemi. Operační
jednotka vykonává jen základní operace sečítání, odčítání, násobení a
dělení.
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili s architekturou číslicových počítačů. Důraz byl
kladen na pochopení instrukčního cyklu řadiče a návaznost a hlavní funkce
jednotlivých podsystémů počítače. Velká pozornost byla věnována zobrazování
jednotlivých informací v počítači a metodám určování operandů instrukcí.
35
Počítačové systémy
2. Booleova algebra
V této kapitole se dozvíte:
•
•
•
•
•
Proč je Booleova algebra základem popisu logických funkcí počítačů?
Jaké jsou základní logické proměnné a funkce Booleovy algebry?
Jak jsou definovány logické funkce?
Jaké jsou metody zjednodušování zápisů logických funkcí?
Z jakých značek se vytváří obvodové značení logických funkcí?
Po jejím prostudování byste měli být schopni:
•
•
•
•
•
•
Charakterizovat Booleovu algebru.
Definovat zákony Booleovy algebry.
Porozumět základním logickým proměnným a funkcím.
Znát způsoby zápisu logických funkcí pomocí pravdivostních tabulek a
Karnaughových map.
Popsat obvodové znázorňování logických funkcí.
Znát způsoby zjednodušování (minimalizaci) zápisu logických funkcí.
Klíčová slova této kapitoly:
Booleova algebra, logická negace, logický součn, logický součet, zákony
Booleovy algebry, Karnaughova mapa, minimalizace.
Doba potřebná ke studiu: 8 hodiny
Průvodce studiem
Studium této kapitoly je poměrně náročné zejména pro ty z Vás, kteří dosud
nemají žádné znalosti z logiky a Booleovy algebry. V takovém případě Vám
zřejmě některé příklady budou připadat obtížně pochopitelné, ovšem nenechte
se tím odradit, neboť pochopením této části se Vám usnadní studium
následujících kapitol.
Na studium této části si vyhraďte alespoň 8 hodin. Doporučujeme studovat
s přestávkami vždy po pochopení jednotlivých podkapitol. Po celkovém
prostudování a vyřešení všech příkladů doporučujeme dát si pauzu, třeba 1
den, a pak se pusťte do vypracování korespondenčních úkolů.
Matematický prostředek vytvořil George S. Boole jako pomůcku pro
znázornění filozofických problémů pomocí matematického aparátu, založeného
na dvou pravdivostních hodnotách.
V technice bylo první využití Booleho algebry při popisu a návrhu reléových
obvodů. Značného uplatnění však dosáhla Booleova algebra při návrhu
logických obvodů sestavených z hradel „logický součin “, „logický součet “ a
„ negace “ jimiž lze základní operace Booleovy algebry přímo realizovat.
Boolova algebra nám slouží k matematickému popisu zákonů a pravidel
výrokové logiky, která řeší vztahy mezi pravdivými (I) a nepravdivými (0)
výroky. Jiná tvrzení nejsou povolena. Pravdivý výrok označujeme logickou
hodnotou I a nepravdivý výrok logickou hodnotou 0. Nositelem elementární
informace o pravdivosti a nepravdivosti výroků je logická proměnná, která
36
Počítačové systémy
může nabývat hodnoty I nebo 0. Boolova algebra studuje dvě proměnné a
funkce těchto proměnných. Je to algebra vztahů, nikoliv čísel.
2.1 Logické proměnné a logické funkce
Logická proměnná je veličina, která může nabývat pouze dvou hodnot,
označených 0 a I (tedy dvojková proměnná), a nemůže se spojitě měnit.Tuto
proměnnou označujeme x. Platí :
Logická funkce n proměnných x1, x2, x3,… xn je funkce, která může
nabývat, stejně jako všechny logické proměnné, pouze dvou hodnot.
y1 = x1, x2, x3,… xn
V = y1, y2
y2 = a1, a2, a3,… an
Funkce rovnosti platí, když dvě logické proměnné A, B se sobě rovnají, tzn.,
jestliže A = I, B = I nebo A = 0, B = 0, což zapisujeme A = B. Dvě veličiny A
= a1, a2, a3,… an ; B = b1, b2, b3,… bn se sobě rovnají, když platí ai = bi pro
všechna i.
2.1.1 Základní logické operátory
V Booleově algebře jsou definovány tři základní operace, jimiž můžeme
vyjádřit libovolnou logickou operaci. Jsou to :
5. logická negace,
6. logický součin,
7. logický součet.
Hodnoty proměnné, kterou značíme Y, závislé na jednotlivých kombinací
nezávisle proměnných A, B budeme znázorňovat pro základní logické operace
(operátory) pravdivostní tabulkou. Počet řádků v pravdivostní tabulce je dán
všemi možnými kombinacemi nezávisle proměnných hodnot. Ve sloupci, který
je napravo, jsou zapsány stavy hodnot výstupně proměnných Y.
2.1.1.1 Logická negace
Tato operace, která se také velmi často nazývá inverze, dává výsledek zvaný
negace. Je aplikována jen na jednu proměnnou. Mění hodnotu nezávisle
proměnné na opačnou. Označuje se přidáním „ pruhu “ nad proměnnou x. Jejím
výsledkem je hodnota Y = 1, jestliže A = 0, a naopak Y = 0, jestliže A = 1.
Negace je vyjádřena zápisem „ NE “ (NOT).
Tabulka funkce negace :
A
A
0
1
1
0
Tato definice vede ke vztahům :
0=I
I=0
37
Počítačové systémy
2.1.1.2 Logický součin
Tato operace, nazývána také průnik nebo konjunkce, aplikovaná na dvě
proměnné, vytváří součin neboli funkci AND těchto dvou proměnných.
Logický součin nabývá hodnotu I jen tehdy, když všechny nezávislé proměnné
mají hodnotu I. Jestliže je alespoň jedna hodnota rovna O, potom výsledná
hodnota se rovná 0. Značí se symbolem ∧ mezi dvěma proměnnými (A ∧ B).
V praxi se však používá zápis :
Y=A.B
Logický součin je vyjádřen spojkou „ a “ (v angličtině „AND“ nebo „ & “).
Definice logického součinu může být vyjádřena vztahy :
Tabulka funkce logického součinu :
A
B
A. B
0
0
0
0
I
0
I
0
0
I
I
I
0.0 = 0
0.I = I.0 = 0
I.I = I
2.1.1.3 Logický součet
Tato operace, nazývána také sjednocení nebo disjunkce, aplikovaná na dvě
proměnné, vytváří součet neboli funkci OR těchto dvou proměnných. Logický
součet má hodnotu I, jestliže jedna nezávisle proměnná nebo druhá nezávisle
proměnná nebo obě mají hodnotu I. Označuje se symbolem ∨ mezi dvěma
proměnnými (A ∨ B). V praxi se používá ovšem zápis : Y = A + B
Logický součet je vyjádřen „ nebo “ (v angličtině „OR“).
Definice logického součtu může být vyjádřena vztahy :
A
B
A+B
0
0
0
0
I
I
I
0
I
I
I
I
0+0=0
0+I=I+0=I
I+I=I
38
Počítačové systémy
2.1.2 Zákony a pravidla Booleovy algebry
Pro vyhodnocení logických výrazů, různé úpravy a zjednodušení logických
výrazů je nutné znát zákony Booleovy algebry :
1. Komutativní zákon :
A+B=B+A
2. Asociativní zákon :
A + (B + C) = (A + B) + C
A . (B . C) = (A . B) . C
A .B = B.A
4. Zákon o agresívnosti prvku I a O :
3. Distributivní zákon:
A + B . C = (A + B) . (A + C)
A . (B + C) = A . B + A . C
5. Zákon o neutrálnosti prvku I a O:
A+0=A
A.I = A
A+I=I
A.0=0
6. Zákon o vyloučení třetího :
7. Zákon dvojité negace :
A+A=I
A=A
A.A =0
8.Zákon absorpce:
9.Zákon absorpce negace:
A+A=A
A.A = A
A + A.B= A
A . (A + B) = A
A+A=I
A.A =0
A+ A.B=A+ B
A . (A + B) = A . B
A + A.B = A + B
A(A + B) = A.B
Některé zákony vyplívají přímo z definic základních logických operací – jsou
to operace součtu a součinu s hodnotami 0 a I. Ze všeobecných zákonů je
nejvýznamnější de Morganův zákon, který se vyjadřuje dvěma rovnostmi.
10. De Morganův zákon :
A + B + C + ... = A . B . C . . ..
A . B . C . ... = A + B + C + ...
Tento zákon lze tedy vyjádřit tak, že negaci funkce získáme nahrazením každé
proměnné její negací a záměnou značek součtu a součinu navzájem. Při použití
tohoto zákona je třeba věnovat velkou pozornost implicitním závorkám :
A + B . C = A + (B . C)
Tedy :
A + B . C = A . (B + C )
a neplatí :
A.B+ C
39
Počítačové systémy
2.2 Definice logické funkce
2.2.1 Pravdivostní tabulka
Pravdivostní tabulka je tabulka, do které se zapisuje logická (Booleovská
funkce). Pravdivostní tabulka má r + n sloupců a 2n řádků. Číslo r je počet
sloupců výsledných funkcí (obyčejně bývá jedna výsledná funkce – tedy jeden
sloupec). Číslo n udává počet proměnných. Číslo 2n udává počet všech
možných kombinací proměnných, kde číslo n je počet proměnných. Tyto
kombinace reprezentuje počet řádků.
Příklad : Pokud je dána logická funkce, která má tři proměnné a jednu
výslednou funkci, tak pravdivostní tabulka bude mít čtyři sloupce
( r + n = 1 + 3 = 4) a osm řádků (2n = 23 = 8).
2.2.1.1 Úplně zadaná funkce
Logická funkce je úplně zadaná, jestliže je známa její hodnota I nebo 0 pro
všechny možné kombinace hodnot proměnných. Těchto kombinací je pro n
proměnných 2n. Lze tak sestavit pravdivostní tabulku.
Příklad : Je dána funkce tří proměnných f (A, B,
tedy vypadat následovně :
A
B
C
0
0
0
0
0
I
0
I
0
0
I
I
I
0
0
I
0
I
I
I
0
I
I
I
C), pravdivostní tabulka bude
f
0
I
I
0
0
I
0
I
2.2.1.2 Neúplně zadaná funkce
Logická funkce je neúplně zadaná, když její hodnota pro některé kombinace
hodnot proměnných je libovolná nebo není určena. S tímto případem se
setkáváme, když některé kombinace hodnot jsou fyzikálně nemožné. Hodnotu
funkce poté značíme x nebo ∅. Pravdivostní tabulka může vypadat
následovně:
A
B
C
f
0
0
0
0
0
0
I
I
0
I
0
x
0
I
I
x
I
0
0
0
I
0
I
I
I
I
0
0
I
I
I
x
40
Počítačové systémy
2.2.2 Zápis logické funkce
2.2.2.1 Základní tvary funkce
Logickou funkci můžeme zapsat ve dvou tvarech, nazývaných základní
součtový a základní součinový tvar. V praxi se ale často používají názvy úplná
disjunktivní normální forma – ÚDNF a úplná konjunktivní normální forma –
ÚKNF.
ÚDNF – je to součet základních součinů přímých nebo negovaných
proměnných. Každý základní součin (minterm – z ang. minimal polynomial
term) nabývá hodnoty I pro určitou kombinaci, kdy funkce má hodnotu I, a
hodnoty 0 pro všechny ostatní kombinace. ÚDNF vyjadřuje funkci jako součet
případů, kdy má hodnotu I.
ÚKNF – je to součin základních součtů přímých nebo negovaných
proměnných. Každý základní součet nabývá hodnoty 0 pro určitou kombinaci,
kdy funkce má hodnotu 0, a hodnoty I pro všechny ostatní kombinace. ÚKNF
vyjadřuje funkci jako součin případů, kdy má hodnotu 0.
2.2.2.2 Výpis logických funkcí z pravdivostní tabulky
Tabulka funkce tří proměnných (příklad – libovolná funkce)
A
0
0
0
0
I
I
I
I
B
0
0
I
I
0
0
I
I
C
0
I
0
I
0
I
0
I
f
I
0
I
0
I
0
I
0
a) ÚDNF – základní součtový tvar
Případy, kdy logická funkce je rovna I:
0 0 0
0 I 0

kombinace A, B, C 
I 0 0
I I 0
Odpovídající součiny:
A.B.C
A .B. C
A.B.C
A .B. C
Výslednou funkci dostáváme jako součet základních součinů (algebraicky) :
f =ABC+ABC+ABC+ABC
41
Počítačové systémy
b) ÚKNF – základní součinový tvar
Případy, kdy logická funkce je rovna 0 :
Odpovídající součty :
A+B+ C
0 0 I
0 I I

kombinace A, B, C 
I 0 I
I I I
A+B+C
A+B+ C
A+B+C
Výslednou funkci dostáváme jako součin základních součtů (algebraicky) :
f = (A + B + C ) . (A + B + C ) . (A + B + C ) . (A + B + C )
V praxi se častěji používá součtový tvar, tedy ÚDNF.
2.2.2.3 Zápis logické funkce do Karnaughovy mapy
Karnaughova mapa umožňuje přehledný zápis všech hodnot logické funkce.
Porovnáme-li pravdivostní tabulky (např. tří proměnných), zjistíme, že levá
strana tabulky je vždy stejná a nepřináší nové informace. Každé kombinaci
nezávisle proměnných je v Karnaughově mapě přidělen jeden čtverec, do
kterého zapisujeme výstupní hodnotu funkce. Počet čtverců je tedy roven počtu
řádků v pravdivostní tabulce. Přiřazení vstupních proměnných jednotlivým
řádkům a sloupcům se provádí úsečkami, někdy algebraickým označením.
Zápisu funkce do Karnaughovy mapy se také někdy říká grafická metoda.
Příklad : Pro příklad použijeme dříve uvedenou pravdivostní tabulku tří
proměnných.
A
0
0
0
0
I
I
I
I
B
0
0
I
I
0
0
I
I
C
0
I
0
I
0
I
0
I
f
I
0
I
0
I
0
I
0
Postup :
Nejprve si nakreslíme tabulku (Karnaughovu mapu), která bude mít počet
políček (čtverců) stejný, jako počet řádků v pravdivostní tabulce (v našem
případě 8). Potom přiřadíme vstupní proměnné jednotlivým řádkům a
sloupcům např. pomocí úseček (tento způsob je více přehledný). Mapa by měla
vypadat následovně :
A
B
C
42
Počítačové systémy
Poté na základě pravdivostní tabulky, respektive na základě vstupních
proměnných, zapíšeme do tabulky hodnotu výstupní funkce. Konečná
Karnaughova mapa by měla vypadat následovně (je použita forma ÚDNF):
A
I
I
0
0
0
0
I
I
B
C
2.3 Logická funkce n-proměnných
Logická funkce fn n-proměnných nabývá všech možných hodnot, pro všechny
možné kombinace n-proměnných. Počet funkcí je (22) n. Toto číslo roste velmi
rychle např. pro n = 3 je počet 256 možných kombinací.
Funkce rozdělujeme takto :
8. Funkce jedné proměnné, kde je počet funkcí ( 22)1 = 4.
9. Funkce dvou proměnných, kde je počet funkcí ( 22)2 = 16.
10. Funkce více než dvou proměnných.
2.3.1 Funkce jedné proměnné
Funkce jedné proměnné je kombinace hodnot A. Pro jednu proměnnou jsou
funkce uvedeny v následující tabulce :
A
0
I
f0
0
0
f1
0
I
f2
I
0
f3
I
I
Funkce jsou označeny f0 až f1, kde index představuje hodnotu dvojkového čísla
umístněného v odpovídajícím sloupci, přičemž váhy rostou po řádcích směrem
nahoru. Platí:
Konstanty :
f0 = 0 a f3 = I
Proměnná sama :
f1 = A
Negace proměnné :
f2 = A
2.3.2 Funkce dvou proměnných
Pro dvě proměnné je počet funkcí 16. Jsou dány pravdivostní tabulkou, kde 16
funkcí fn nabývá všech možných hodnot pro všechny možné kombinace dvou
proměnných. Funkce jsou označeny f0 až f15 , kde index představuje hodnotu
dvojkového čísla umístněného v odpovídajícím sloupci, přičemž váhy rostou
po řádcích směrem nahoru.
A
0
0
I
I
B
0
I
0
I
f0
0
0
0
0
f1
0
0
0
I
f2
0
0
I
0
f3
0
0
I
I
f4
0
I
0
0
f5
0
I
0
I
f6
0
I
I
0
f7
0
I
I
I
f8
I
0
0
0
f9
I
0
0
I
f10
I
0
I
0
f11
I
0
I
I
f12
I
I
0
0
f13
I
I
0
I
f14
I
I
I
0
f15
I
I
I
I
43
Počítačové systémy
Funkce jedné proměnné :
Proměnná sama :
f0 = 0 a f15 = I
f3 = A a f5 = B
Negace proměnné :
f12 = A a f10 = B
Konstanty :
Funkce odpovídající základním operátorům :
Logický součet ve významu slučovacím :
L
Lgický součin :
f7 = A + B
f1 = A . B
Osm nových funkcí :
Součet ve významu vylučovacím neboli součet modulo 2 neboli
nonekvivalence, též XOR, běžně zapisována
A⊕B
f6 = AB + AB
Funkce ekvivalence, zapisovaná A ≡ B, nebo též
A⊗B
f9 = AB + A B
Funkce ani jeden není nebo také NOR (negace logického součtu) –
Piercova funkce
f8 = A B = A + B
Funkce alespoň jeden není neboli Schefferova funkce, nazývaná také
NAND (negace logického součinu)
f14 = A + B = AB
Negace implikace – inhibice, zábrana
f2 = AB
Negace obrácené implikace
f4 = AB
Obrácená implikace
f11 = A + B
Implikace
f13 = A + B
Znalost logických funkcí je nutná zejména při návrhu, minimalizaci a
konstrukci logických obvodů. Vynecháním některé funkce může dojít ke
konstrukční závadě. Pomocí funkcí NAND a NOR lze vyjádřit jakoukoliv
funkci.
44
Počítačové systémy
2.3.3 Funkce více proměnných
Pro n proměnných je možné napsat (22)n určitých logických funkcí Například
když si vezmeme funkci tří proměnných. Pro tři proměnné existuje 256 funkcí.
Vyjádření takové funkce by bylo již nepřehledné. Pro vyjádření můžeme však
využít již známých funkcí dvou proměnných, protože :
f (A, B, C) = A . f (I, B, C) + A . f (0, B, C)
Kontrola : Pro ověření tohoto vztahu stačí položit A = I nebo A = 0. Z toho
plyne, že
f (I, B, C) a f (0, B, C)
jsou funkce dvou proměnných. Stejná úvaha se může použít pro případ více
než tří proměnných.
Příklad:
Chceme určit logickou funkci zařízení které:
• rozsvítí zelenou žárovku – F1, když v nějakém výrobním procesu
překročí kritickou hodnotu pouze jedna ze sledovaných veličin, např.
tlak (x), nebo teplota (y), nebo vlhkost (z), nebo žádná,
• rozsvítí červenou žárovku - F2, když je překročena kritická hodnota
kterýchkoli dvou veličin současně,
• zapne sirénu - F3, když jsou překročeny kritické hodnoty všech tří
veličin současně.
Přiřazení hodnot 0 a 1 veličinám x,y,z (které budeme považovat logické
proměnné) provedeme následovně. Když se překročí kritická hodnota veličiny
je proměnná rovna 1, když se nepřekročí je rovna 0. Jde tedy o tři samostatné
funkce, které podle slovního zadání lze přepsat do tabulky pro všechny
kombinace hodnot x,y,z tak, že do příslušného řádku dosadíme za F=1 jestliže
má žárovka svítit a 0 jestliže ne.
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
F1
1
1
1
0
1
0
0
0
F2
0
0
0
1
0
1
1
0
F3
0
0
0
0
0
0
0
1
Každou funkci vyjádříme samostatně známým zápisem (ÚDNF):
F1 = xyz + xyz + xy z + x yz
F2 = xyz + x yz + xy z
F3 = xyz
45
Počítačové systémy
2.4 Zjednodušování zápisu logické funkce
Zjednodušování, často také minimalizace, logické funkce je určitý postup,
kterým lze získat jednodušší vyjádření logické funkce. Minimalizací získáme
jednodušší strukturu logické funkce při zachování stejného výsledku.
Minimalizace se proto používá k nejjednodušší technické realizaci, tzn., že
minimalizace je důležitá při konstrukci logických obvodů – stejná funkce může
být zhotovena z menšího počtu logických členů = ekonomičnost.
Nejpoužívanější jsou dva způsoby, a to algebraická minimalizace – pomocí
Booleovy algebry, nebo grafická minimalizace. Grafických metod je více,
například Quinova-McCluskeyho – metoda, ale nejpoužívanější je
Karnaughova metoda.
2.4.1 Algebraická minimalizace
Algebraická minimalizace logických funkcí je upravování logického výrazu
podle zákonů a pravidel Booleovy algebry. Výsledná funkce je vyjádřená co
nejjednodušeji se stejným chováním, což při realizaci znamená jednodušší
konstrukci logického obvodu.
Příklad algebraické minimalizace demonstrujeme na jednoduchém příkladě :
A
0
0
I
I
B
0
I
0
I
f
I
0
I
I
Podle již uvedených a tedy i známých pravidel určíme výslednou funkci
(ÚDNF):
f = A B + AB + AB
Tuto funkci dle Booleových zákonů a pravidel můžeme upravit na tvar:
f = A B + A B + AB = A(B + B) + A B = A + A B = A + B
Jak vidíme, výsledná zjednodušená logická funkce je omnoho jednodušší než
předešlá funkce. Ovšem tato metoda je velice riskantní a úpravy pomocí této
metody jsou obtížné. Pro více než tři proměnné je téměř nepoužitelná.
2.4.2 Grafická – Karnaughova metoda
Pro zjednodušení funkce pomocí algebraické minimalizace spojujeme součiny
(mintermy), které se liší v jediné proměnné. Tyto součiny se nazývají sousední.
Příklad:
46
A B C D + A B C D = A B C (D + D) = A B C
Počítačové systémy
Karnaughova metoda se díky jasnému geometrickému postupu vyhýbá hledání
sousedním součinů složitým algebraickým způsobem, který je navíc velmi
nespolehlivý. Tato metoda se používá velmi dobře pro 3, 4 a 5 proměnných.
Minimální logickou funkci stanovíme tak, že v Karnaughově mapě vytváříme
tzv. podmapy. Podmapou rozumíme sjednocení 2k sousedních stavů, ve
kterých nabývá logická funkce hodnoty 1 pro k = 0, 1, 2, ... , n-1. Každou
podmapou vyloučíme k proměnných z dvou, čtyř až 2n-1 základních součinů.
Snažíme se vytvářet co největší podmapy, abychom vyloučili co největší počet
proměnných. Využíváme k tomu také neurčité stavy.
Výběr podmap provádíme podle následujících pravidel:
• vybranými podmapami musí být pokryty všechny jednotkové stavy
logické funkce,
• do podmapy spojujeme stejné stavy, které spolu sousedí hranou, a to i
přes okraje mapy. Rohy mapy jsou též sousedními stavy. Členy dvou
sousedních polí se od sebe liší jednou proměnnou a tuto proměnnou
můžeme vyloučit,
• podmapu pravidelného tvaru (čtverec, obdélník) vytváříme co největší,
aby se ze skupiny stavů vyloučilo co nejvíce proměnných,
• podmapy se mohou prolínat,
• nevytváříme zbytečné podmapy, tzn. Že nespojujeme ty stavy, které už
byly předtím pokryty jinou podmapou,
• čím větší bude podmapa, tím jednodušší bude výsledný výraz.
Příklad : Hledání sousedních součinů pomocí Karnaughovy metody, příklad je
pro čtyři proměnné.
A
x
D
x
x
H
x
B
C
Jak vidíme, najít sousední součiny x zadaného políčka H je pomocí
Karnaughovy metody jednoduché.
2.4.3 Zjednodušení úplně zadané funkce
Do políčka zapíšeme pomocí logických hodnot I a 0 pro všechny kombinace
proměnných odpovídající hodnoty funkce. Zjednodušování spočívá v hledání
pro funkci v disjunktivním tvaru smyčky dvou, čtyř a osmi sousedních políček
tak, aby se ze skupiny součinů (mintermů) vyloučila jedna, dvě nebo tři
proměnné. Pro vyjádření smyček se používají pouze jen políčka obsahující I.
47
Počítačové systémy
Příklad : Libovolná pravdivostní tabulka úplně zadané funkce čtyř proměnných
A
0
0
0
0
0
0
0
0
I
I
I
I
I
I
I
I
B
0
0
0
0
I
I
I
I
0
0
0
0
I
I
I
I
C
0
0
I
I
0
0
I
I
0
0
I
I
0
0
I
I
Karnaughova mapa této funkce :
D
I
0
0
I
D
0
I
0
I
0
I
0
I
0
I
0
I
0
I
0
I
f
I
0
I
0
0
I
0
0
I
I
I
I
0
I
0
0
A
0
I
0
0
0
I
0
0
I
I
I
I
C
B
Úplná disjunktní normální forma této funkce je :
f = A B C D + A B C D + A B C D + A B C D + AB CD + A B C D + A B C D + A B C D
Z této mapy můžeme udělat tři smyčky :
Smyčka se dvěma políčky
A B C D + A B C D = B C D (A + A) = B C D
Smyčka se čtyřmi políčky na pravé straně
A B C ( D + D) + A B C ( D + D ) = A B C + A B C = A B ( C + C) = A B
Smyčka s políčky v rozích mapy
A B D ( C + C ) + A B D ( C + C ) = A B D + A B D = B D (A + A) = B D
Celkový výsledek logické funkce po minimalizaci – zjednodušení je tedy :
f =BCD+AB+BD
48
Počítačové systémy
Tento způsob upravování je náročný a zbytečně zdlouhavý. Nejpoužívanější
způsob je vyloučit proměnné, které mění svůj stav a ponechají se pouze
proměnné, které se nemění.
Příklad:
Smyčka se čtyřmi políčky v rozích mapy
A – mění stav, takže se vyloučí
B – zůstává stejná s hodnotou 0, zapíšeme
C – mění svůj stav, takže se vyloučí
D – zůstává stejná s hodnotou 0, zapíšeme
Dostáváme tedy součin
BD
B
D
Jak je vidět, tento součin je naprosto shodný se součinem s předešlé metody.
Z toho plyne, že obě metody jsou správné, ale poslední metoda je jednodušší,
protože se vyhneme upravování členů.
2.4.4 Zjednodušení neúplně zadané funkce
Pro zjednodušení neúplně zadané funkce použijeme funkci stejnou jako pro
zjednodušování úplně zadané funkce. Neúplně zadaná funkce může v určitých
políčcích mapy nabývat libovolné hodnoty 0 nebo 1 – zapisujeme ji symbolem
X. Při minimalizaci funkce se této skutečnosti využívá tak, že vytváříme
podmapy s využitím neurčitých stavů, které považujeme za jednotkové, nebo
za nulové, jak je to z hlediska minimalizace nejvýhodnější. Pro usnadnění
smyček zapíšeme X do políček místo hodnoty I, v ostatních případech 0. Zápis
bude tedy vypadat následovně:
f =BD+CD+AD
Pravdivostní tabulka neúplně zadané funkce:
A
0
0
0
0
0
0
0
0
I
I
I
I
I
I
I
I
B
0
0
0
0
I
I
I
I
0
0
0
0
I
I
I
I
C
0
0
I
I
0
0
I
I
0
0
I
I
0
0
I
I
D
0
I
0
I
0
I
0
I
0
I
0
I
0
I
0
I
f
I
X
I
0
0
I
X
0
I
I
I
I
0
I
0
X
49
Počítačové systémy
Karnaughova mapa neúplně zadané funkce:
A
D
I
X
0
I
0
I
0
X
0
I
X
0
I
I
I
I
C
B
f = B D + C D + AD
Tyto metody jsou použitelné pro zjednodušování logických obvodů
realizovaných pouze pomocí základních logických operátorů – logického
součinu a součtu. Pro systémy realizované pomocí složitějších funkcí jsou
nepoužitelné.
2.5 Obvodové znázornění Booleovy algebry
Pravidla pro kresbu značek:
•
•
•
50
Vstup je vždy zleva, výstup zprava.
Značky se nesmějí otáčet.
Spoje mají být rovnoběžné s okraji listu.
Počítačové systémy
2.5.1 Shefferova algebra
Je vybudovaná na jedné logické funkci = negace logického součinu NAND.
•
Pro libovolný počet proměnných
Pravidla:
•
•
Pomocí operace NAND lze realizovat všechny operace
Booleovy algebry.
Neplatí zákon asociativní:
Obvodové znázornění Shafferovy algebry:
2.5.2 Pierceova algebra
Vystavěna na operaci NOR (negace logického součtu) - obdobné jako
Shefferova algebra.
Obvodové znázornění Pierceovy algebry:
51
Počítačové systémy
2.5.3 Převod Booleovy algebry na Shefferovu algebru
Opakovanou aplikací de Morganových pravidel:
Př.:
Kontrolní otázky:
4. Čím se liší zápis logické funkce pomocí úplné disjunktivní normální formy
od úplné konjunktivní normální formy.
5. Jaký bude počet logických funkcí pro 4 proměnné?
6. Proč je algebraická minimalizace neúplně zadaných funkcí velmi obtížná a
téměř nepoužitelná?
Úkoly k zamyšlení:
3. Zamyslete se nad postupem návrhu logických funkcí reálných řídících
systémů od popisu funkce slovním zadáním, přes pravdivostní tabulku,
Karnaughovu mapu, minimalizaci funkce až po převod minimalizované
funkce do Shefferovy algebry a výsledné zapojení logických obvodů
realizovaných ze členů NAND.
Korespondenční úkol:
2. Navrhněte zapojení logických obvodů ze členů NAND realizující řízení
výtahu. Motor výtahu je zapnut, když dveře v 1. poschodí a 2. poschodí
jsou zavřeny, cestující jsou v kabině a je stlačeno tlačítko v kabině., nebo
dveře v 1. poschodí a 2. poschodí jsou zavřeny, cestující nejsou v kabině a
je stlačeno odesílací tlačítko.
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili se základními principy návrhu logických
funkcí pomocí Booleovy algebry. Důraz v této kapitole byl kladen na
pochopení způsobu zápisu logických funkcí a jejich minimalizaci. Velká
pozornost byla věnována realizaci těchto funkcí pomocí logických obvodů.
52
Počítačové systémy
3. Reprezentace základních logických funkcí
elektronickými obvody
V této kapitole se dozvíte:
•
•
Jaké jsou základní interpretace logických hodnot pomocí elektrického
napětí a proudu?
Jaké konkrétní hodnoty napětí jsou přiřazeny logickým úrovním
v logice TTL?
Po jejím prostudování byste měli být schopni:
•
•
Znát způsob interpretace logických hodnot pomocí elektrických
signálů.
Porozumět základům TTL logiky.
Klíčová slova této kapitoly:
Hladinové signály, impulsové signály, TTL, zakázané pásmo.
Doba potřebná ke studiu: 1 hodina
Průvodce studiem
Studium této kapitoly je jednoduché a popisným způsobem zde nastudujete
principy zobrazení logických úrovní elektrickými signály.
Na studium této části si vyhraďte 1 hodinu.
3.1 Fyzikální podstata signálů
HLADINOVÉ
IMPULSOVÉ
RELÉ
53
Počítačové systémy
AMPLITUDA
KMITOČET
FÁZE
Časová závislost logických úrovní
Zakázané pásmo v logických úrovních
Hodnoty jsou stanoveny pro každou výrobní technologii zvlášť.
L ~ 0 H ~ 1.........................pozitivní logika
L ~ 1 H ~ 0.........................negativní logika
Vzhledem k tomu, že parametry reálného logického členu se různí kus od kusu
(užívají se odpory s určitou tolerancí, tranzistory a diody, které mohou mít
různé parametry), není možné stanovit přesnou hodnotu napětí odpovídající
logické “0” resp. “1” v té které logické síti. Místo toho se logické členy
54
Počítačové systémy
konstruují tak, aby nebyly citlivé na změnu napětí vstupních parametrů pokud
tyto leží v určitém intervalu napětí.
Tolerance logických hodnot pro negativní a pozitivní logiku
Například pro hradla TTL (transistor-transistor-logic) jsou příslušné intervaly
následující:
Uvst(0) = max. 0,8 V
Uvst(1) = min. 2 V
neboli pro logickou “0” je povolený interval vstupních napětí 0 - 0.8V pro
logickou “1” 2 - 5 V. Hradlo samo má zaručovaná výstupní napětí:
Uvýst(1) = min. 2,4 V
Uvýst(0) = max. 0,4 V
tj. hluboce v povolené toleranci napětí vstupních. Napájecí napětí je (5± 0,25)
V. Uvedené hodnoty jsou typické pro tzv. tranzistorovou logiku a byly
implementovány u celé řady výrobců logických obvodů.
3.2 Technologie TTL (tranzistor-tranzistor logic)
Největšího rozšíření dosáhly ve své době integrované logické systémy TTL
(Transistor-Transistor-Logic). V dnešní době jsou však nahrazovány systémy
STTL, MOS a CMOS, které mají nižší spotřebu a srovnatelnou rychlost.
Zachovala se však definice logických úrovní; pokud má moderní logický
systém stejně definované napěťové úrovně logické nuly a jedničky, nazývá se
kompatibilní s TTL na logických úrovních (logic level TTL compatible).
Parametry TTL:
- napájecí napětí + 5V
- L < 0,8V
L ~ 0,4V
- H > 2,0V
H ~ 2,4V
Základní funkce jsou zřejmé z následujících obrázků.
55
Počítačové systémy
Invertor v TTL
NAND pomocí dvou tranzistorů
NOR pomocí dvou tranzistorů
56
Počítačové systémy
x1 x2 NAND x1 x2 NOR
0 0 1
0 0 1
0 1 1
0 1 0
1 0 1
1 0 0
1 1 0
1 1 0
Na následujícím obrázku je naznačena praktická realizace hradla NAND.
Vstupem je víceemitorový tranzistor.
Základní hradlo NAND
Aby byla umožněna vyšší zatížitelnost hradla, je na konci hradla zabudován
koncový stupeň. Z důvodů omezení záporných napěťových špiček na vstupech
hradla byly vstupy opatřeny ochrannými diodami, které nedovolí vyšší záporné
napětí na vstupech než cca -0,6V. Funkce obvodu je následující:
a. Všechny vstupy jsou ve stavu logické jedničky.
V tomto případě tranzistor T2 pracuje v inverzním režimu. Tranzistor T4 je
saturován a tranzistor T3 je vybuzen. Napětí na kolektoru tranzistoru T4 je
přibližně UD + Ukesat. Aby byl tranzistor T5 uzavřen (má na bázi napětí Uk4) je
do obvodu vložena dioda D, která posunuje napětí emitoru T5 na napětí
Ukesat+UD. Tranzistor T3 je tedy otevřen a T5 uzavřen. Na výstupu je napětí
Ukesat, což je napětí logické 0.
b. Jeden nebo více vstupů jsou ve stavu logické nuly.
Pak je tranzistor T4 a rovněž T3 uzavřen a odpor R1 zaručuje nasycení
tranzistoru T5. Ten slouží nyní jako emitorový sledovač pro výstupní napětí,
takže může do zátěže dodat podstatně větší proud než tomu bylo u předchozího
zapojení. Napětí na výstupu je menší než E o spád na diodě báze-emitor
tranzistoru T5 a na diodě D, je tedy U1 ≈ E - 2 UD. Je užitečné si všimnout, že
57
Počítačové systémy
napájecí napětí E nemůžeme libovolně zmenšovat. Je-li totiž T3 otevřen, je
napětí na bázi T2 napětí UB2 ≈ 3UD. Aby T2 pracoval v inverzním režimu, je
třeba, aby napětí na emitoru T2 bylo větší než toto napětí. Vzhledem k tomu, že
emitorové napětí T2 je vlastně výstupní napětí předcházejícího hradla stejného
typu (ve stavu logické jedničky), musí být U1> UB2 neboli E > 5UD. Minimální
napětí logické jedničky musí tedy být U1 > 3UD.
Na TTL hradlo v uvedeném zapojení může být zapojeno až 15 dalších hradel
stejného typu. Typické zpoždění při průchodu hradla je ≥ 10 ns a výkonová
ztráta ≥ 15 mW.
Dvojčinný stupeň neumožňuje propojení několika výstupů popsaných hradel
NAND paralelně. K tomu je zapotřebí dalšího hradla typu OR. Toto hradlo
však můžeme vypustit, jestliže použijeme hradel s tzv. otevřeným kolektorem.
Principiální zapojení hradla NAND s otevřeným kolektorem
Do výstupního obvodu je nutné zapojit vnější odpor, na který však můžeme
připojit další hradlo s otevřeným kolektorem.
Spojením několika výstupů s otevřeným kolektorem přes vnější odpor vznikne
funkce “montážního AND”. Protože však většinou spojujeme negované
výstupy hradel (funkce NAND) vytvoří se (použitím transformace pomocí de
Morganova teorému) funkce “montážního OR” (wired OR). Příklad
paralelního zapojení dvou hradel a ekvivalentní schema zapojení je na
následujícím obrázku.Logická funkce je dána následujícím Booleovským
výrazem:
.
58
Počítačové systémy
Příklad paralelního zapojení dvou hradel a ekvivalentní schema zapojení
3.3 Systémy MOS/CMOS
Jednou z podmínek k opravdu masovému rozšíření mikroelektroniky je malá
spotřeba zařízení, která umožňuje napájet přístroj z baterií. Možnost malé
spotřeby otevřely logické systémy s tranzistory řízenými polem MOSFET a
zejména systémy CMOS.
Základem systémů MOS je opět invertor, ovšem s tranzistorem řízeným
elektrickým polem. Používají se tranzistory s indukovaným kanálem, které
mají vhodnou polaritu tzv. prahového napětí. Prahové napětí Up je napětí na
řídicí elektrodě G (hradlu) tranzistoru, při kterém protéká transistorem určitý
malý definovaný proud (např. 10 nA); tranzistor je při tom napájen
definovaným napětím, např. 10 V. Je zřejmé, že v zájmu zjednodušení napájení
zařízení je třeba, abychom tranzistor “zavřeli” napětím stejné polarity, jako je
napětí zdroje. Tuto vlastnost mají právě MOS tranzistory s obohaceným
kanálem. Invertor je možné realizovat s odporovou zátěží, jak je znázorněno na
následujícím obrázku, avšak z hlediska jednoduchosti technologie výroby je
mnohem jednodušší realizovat zátěž pomocí dalšího tranzistoru MOS, jehož
elektroda G je na pevném napětí UG, které může být menší nebo rovno napětí
zdroje E.
Invertor s odporovou zátěží
59
Počítačové systémy
Invertor se dvěma tranzistory MOS
Napájecí napětí bývá 12 V, což je dáno velikostí prahového napětí - okolo 4 V.
Aby bylo možno snížit napájecí napětí, byla vypracována řada technologií,
které snižují prahové napětí až na 1.5 - 2V (např. technologie MNOS, která pro
izolací G elektrody užívá kombinace vrstev nitridu a kysličníku křemíku,
technologie "silicon gate MOS", kde se pro ovládací elektrodu používá
polykrystalický křemík obohacený bórem, technologie RMOS s molybdenovou
ovládací elektrodou apod.). Kombinací MOSFETových spínačů je možné
konstruovat jak hradlo NAND, tak hradlo NOR.
60
Počítačové systémy
MOS hradlo NAND
MOS hradlo NOR
Obvody s tranzistory MOS sice nevyžadují k ovládání prakticky žádný proud
(kromě proudu nabíjejícího parazitní kapacity mezi řídicí elektrodou
a kanálem), avšak v sepnutém stavu odebírají ze zdroje proud, který se
bezúčelně tratí v zátěži. Významným krokem ke snížení spotřeby, umožněným
zejména rozvojem technologie výroby integrovaných MOSových obvodů proto
byla možnost realizace tranzistorů MOS s obohacenými kanály typu P a typu N
na jediném čipu a tím i možnost realizace komplementárních MOSových
obvodů (CMOS). Invertor CMOS se liší od invertoru typu MOS tím, že jeho
zátěž je tvořena MOS tranzistorem opačné polarity a řídicí elektrody obou
tranzistorů jsou spojeny. Prahová napětí jsou volena tak, aby při vstupním
napětí rovném logické nule nebo jedničce byl vždy otevřen pouze jeden z obou
61
Počítačové systémy
tranzistorů. Tranzistory tak fungují prakticky jako spínače, které připínají
výstup buď na napájecí napětí E, nebo k zemi. Je zřejmé, že pokud
nezatěžujeme výstup takového obvodu, je jeho spotřeba v klidovém stavu
prakticky nulová. Výstup obvodu má relativně velice malou impedanci v obou
stavech (řádově stovky ohmů), což umožňuje propojovat jednotlivá pouzdra s
obvody běžnou technikou tištěných spojů. Jednoduchost obvodů je umožňuje
sdružovat ve značné hustotě na čipu a vytvářet tak obvody velké a extrémně
velké integrace. Např. operační paměti počítačů se dnes vyrábějí téměř
výhradně technologií MOS nebo CMOS (průměrná doba vybavení informace
z paměti MOS je okolo 20-100 ns). Rovněž naprostá většina dnes vyráběných
mikroprocesorů využívá systému MOS nebo CMOS. Jako příklad uvádíme na
obr. 7.18.a,b hradla NAND a NOR v systému CMOS.
CMOS hradlo NAND
CMOS hradlo NOR
Je třeba ještě poznamenat, že ve skutečných obvodech MOS a CMOS je nutno
chránit vstupní elektrodu před průrazem vysokým statickým napětím.
Nejběžnější ochrana je pomocí Zenerovy diody, která je zapojena mezi substrát
(normálně uzemněný) a řídící elektrodu. Tato dioda v normálním režimu
nevede a otevírá se pouze dosáhne-li napětí na řídící elektrodě určité hodnoty.
62
Počítačové systémy
V integrovaném obvodu je ochrana nutná ovšem pouze pro vstup těch hradel,
které jsou vyvedeny ven z pouzdra.
3.4 Logická hradla s třemi stavy
V některých případech při spojování výstupů hradel je výhodné používat tzv.
třístavových logických členů, kdy vedle výstupních aktivních stavů na úrovni
logické nuly a jedničky existuje ještě třetí stav, kdy výstup hradla je v podstatě
od sběrnice odpojen (připojen ke sběrnici přes velkou impedanci). Tento stav
umožňuje stejně jako hradlo s otevřeným kolektorem připojení výstupů hradel
do jednoho bodu.
Vedle dvou aktivních vstupů A a B má hradlo blokovací vstup UB. Vybuzením
tranzistoru T1 se uzavřou tranzistory T3 až T5 a hradlo má velkou výstupní
impedanci.
Principiální zapojení třístavového hradla NAND
Kontrolní otázky:
7. Proč musí být mezi logickými úrovněmi určité zakázané pásmo?
8. Lze kombinovat v jenom logickém obvodu použití pozitivní a negativní
logiky?
Úkoly k zamyšlení:
4. Zamyslete se nad použitím amplitudového a kmitočtového způsobu
kódování logických úrovní?
63
Počítačové systémy
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili s principy zobrazení logických úrovní pomocí
elektrických signálů. Důraz v této kapitole byl kladen na pochopení možnosti
různých způsobů kódování logických úrovní.
64
Počítačové systémy
4. Základní logické členy
V této kapitole se dozvíte:
•
Jaké jsou základní logické členy a jejich schematické značky?
Po jejím prostudování byste měli být schopni:
•
•
Charakterizovat funkce základních logických členů.
Porozumět způsobu kreslení schematických značek logických členů.
Klíčová slova této kapitoly:
Invertor, AND, OR, NAND, NOR, XOR, NOXOR.
Doba potřebná ke studiu: 1 hodina
Průvodce studiem
Studium této kapitoly je jednoduché a seznámíte se s logickými členy a jejci
způsobu kreslení ve schematech.
Na studium této části si vyhraďte 1 hodinu.
4.1 Invertor
USA
DIN
65
Počítačové systémy
4.2 AND
4.3 OR
66
Počítačové systémy
4.4 NAND
4.5 NOR
Př.: NOR
x1 x2 y
0 0 1
0 1 0
1 0 0
1 1 0
67
Počítačové systémy
4.6 Ostatní logické členy
4.6.1 Nonekvivalence – XOR
0
0
1
1
x1 x2 y y = x1 x2
0 0
1 1
0 1
1 0
Př. Generátor parity: y = a
Schématická značka:
4.6.2 Ekvivalence - NOXOR
68
b
c
d = (a
b)
(c
d)
Počítačové systémy
Kontrolní otázky:
9. Odvoďte pravdivostní tabulku generátoru parity 4 vstupních proměnných
z předchozího příkladu?
Úkoly k zamyšlení:
5. Zamyslete se, které typy základních logických členů stačí pro vytváření
logických sítí?
Korespondenční úkol:
3. Nakreslete logické schema obvodu realizující funkci
f =BCD+AB+BD
Využijte
a. členů NOT, OR, AND
b. členů NAND
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili se základními logickými členy a jejich
schematickými značkami.
69
Počítačové systémy
5. Kombinační logické obvody
V této kapitole se dozvíte:
•
Jak jsou realizovány a jaké mají funkce vybrané kombinační logické
obvody?
Po jejím prostudování byste měli být schopni:
•
•
•
Charakterizovat logické funkce základních kombinačních logických
obvodů.
Znát pravdivostní tabulky a zapojení těchto kombinačních logických
obvodů.
Porozumět způsobu vytváření kombinačních logických obvodů.
Klíčová slova této kapitoly:
Multiplexor, dekodér, sčítačka.
Doba potřebná ke studiu: 2 hodiny
Průvodce studiem
Studium této kapitoly je důležité pro pochopení funkcí základních částí logiky
počítače a proto si na studium této části si vyhraďte 2 hodiny.Po celkovém
prostudování a vyřešení všech příkladů doporučujeme vypracovat
korespondenční úkol.
Kombinační logické obvody provádí přímou transformaci vstupních logických
proměnných na výstupní. Realizují určitou logickou funkci kterou můžeme
popsat např. pomocí pravdivostní tabulky.
Definujme si základní rozdíly mezi kombinačními a sekvenčními obvody:
Kombinační obvod:
– výstupy jsou závislé pouze na vstupních kombinacích a ne na jejich
předchozích hodnotách,
– jediné kombinaci vstupních hodnot odpovídá jediná výstupní kombinace.
Sekvenční obvod:
– hodnota výstupní veličiny závisí nejen na okamžité kombinaci hodnot
vstupních veličin , ale i na posloupnosti hodnot vstupních veličin jenž jsou
uchovány v paměťových členech, v podobě vnitřních signálů logických
obvodů, nebo-li v předcházejících časových okamžicích.
5.1 Kódování, dekódování a převody kódů
5.1.1 Převod desítkových číslic do kódu 8421
70
Počítačové systémy
kód
8 4 2 1
kód 1 z 10
D C B A
0 1 2 3 4 5 6 7 8 9
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
0
10
11
12
13
14
15
1
1
1
1
1
1
0
0
1
1
1
1
1
1
0
0
1
1
0
1
0
1
0
1
}
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
nepoužité kombinace
Obr. Kombinační tabulka
NOR
1
3
5
7
9
>=1
A
A
2
3
>=1
B
6
7
B
4
5
>=1
C
6
7
C
8
>=1
D
9
D
Obr. Výsledné zapojení s obvody NOR
71
Počítačové systémy
NAND
&
1
3
5
7
9
A
A
&
2
3
B
6
7
B
&
4
5
C
6
7
C
&
8
D
9
D
Obr. Výsledné zapojení s obvody NAND
5.1.2 Převod z kódu 8421 na desítkové číslice
AB
AB
00 01 11 10
CD
00
AB
00 01 11 10
00
CD
00 01 11 10
00 0
2 3
1
9
01
X X
01 1
X X
01 8
X X
11 X
X X X
11 X
X X X
11 X
X X X
10 1
10 4
10
4 = ABC
Obr. Minimalizace funkcí
72
CD
8 = AD
6 7
0 = ABCD
1 = ABCD
2 = ABC
3 = ABC
4 = ABC
5 = ABC
6 = ABC
7 = ABC
8 = AD
9 = AD
5
Počítačové systémy
A
&
B
0
C
D
A
&
B
1
C
D
A
&
2
B
C
A
&
3
B
C
A
&
4
B
C
A
&
5
B
C
A
&
6
B
C
A
&
7
B
C
A
&
8
D
A
&
9
D
Obr. Realizace zapojení s obvody NAND
73
Počítačové systémy
&
0
&
B
C
D
&
1
&
2
&
B
&
3
C
&
4
&
B
&
5
C
&
6
&
B
&
7
C
&
8
&
9
D
A A
Obr. Upravené zapojení pro obvody NAND s menším počtem vstupů
5.1.3 Převod do Grayova kódu
Grayův kód má tu vlastnost , že se při přechodu od jednoho kódového slova ke
druhému mění vždy jen hodnota jednoho bitu.
74
Počítačové systémy
8 4 2 1
D1 C1 B1 A1
0
1
2
3
4
5
6
7
8
9
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
D1
Gray
C1 B1 A1
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
Obr. Kombinační tabulka
&
C2
&
&
C1
&
D2
C2D2
Obr. Upravený obvod EXL-OR použitý ve výsledném zapojení
=
A2
A1 = [(D2 + C2) + B2] + A2
=
B2
&
B1 = [(D2 + C2) + B2] C2D2
C2
=
&
D2
C1 = (D2 + C2)C2D2
D2
D1
Obr. Výsledné zapojení s obvody EXL-OR
75
Počítačové systémy
5.1.4 Multiplexor
Z = A. X +
.Y
5.1.5 4-vstupý multiplexor
4 datové vstupy, 2 adresové vstupy
A1 A2 Q Q = . . D0 + . A2. D1 +
0 0 D0
+ A1. . D2 + A1. A2. D3
0 1 D1
1 0 D2
1 1 D3
76
Počítačové systémy
5.1.6 Dekodér
D0 =
.
D1 =
. A2
D2 = A1.
D3 = A1. A2
Realizace MPX pomocí dekodéru:
77
Počítačové systémy
5.2 Porovnání dvojkových informací
5.2.1 Rovnost dvou proměnných
B2
B1
A2
A1
F1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
Obr. Kombinační tabulka a minimalizace
78
A 1A 2
B 1B 2
00 01 11 10
00 1
0 0
0
01 0
1
0
0
11 0
0 1
0
10 0
0 0
1
F1 = A1B1+A1B1+A2B2+A2B2
F1 = (A1B1+A1B1)(A2B2+A2B2)
Počítačové systémy
&
A1
A1B1
B1
&
A1B1+A1B1
&
&
A1B1
F1 = (A1B1+A1B1)(A2B2+A2B2)
&
A2
A2B2
B2
&
A2B2+A2B2
&
A2B2
Obr. Výsledné zapojení
5.2.2 Jednobitový porovnávací obvod
F2
F1
B
A
A=B
0
0
1
1
0
1
0
1
1
0
0
1
F3
A>B A<B
F1 = AB + AB
0
1
0
0
0
0
1
0
F2 = AB
F3 = AB
&
A
A>B
AB
&
A+B
B
&
A=B
&
AB
A<B
Obr. Kombinační tabulka a zapojení
5.2.3 Dvoubitový porovnávací obvod
79
Počítačové systémy
&
A1
A1B1
&
A1B1A2B2
&
&
F2
A1 + B1
&
A1B1
A1B1A2B2
&
B1
&
F3
A2
&
A2B2
&
A2B2
&
A1 + B1
B2
F1
B2 B1 A2 A1
A 1A 2
B 2B 2
00 01 11 10 00 01 11 10
00 0
1 1
1
0
0 0
0
01 0
0 1
0 1
0 0
1
11 0
0 0
0
1
1 0
1
10 0
1 1
0
1
0 0
0
F2
F3
F2 = A2B2 + A1A2B1 + A1B1B2
F3 = A2B2 + A1A2B1 + A1B1B2
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
F2
F3
A=B A>B A<B
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
Obr. Kombinační tabulka, minimalizace a výsledné zapojení
5.3 Parita
&
A1
&
&
A1
A1 + A2 = PL
&
A2
Obr. Zapojení a schematická značka základního zapojení liché parity
80
=
PL
A2
Počítačové systémy
A1
=1
=1
A2
PL
A1
A3
=1
A2
A1
A2
A3
=1
=1
=1
A4
PL
A3
=1
=1
PL
=1
A5
A4
=1
=1
A6
A1
=1
A2
A3
=1
=1
A1
=1
PL
A4
A5
A1
A2
A3
=1
=1
PL
A5
=1
=1
=1
A6
=1
PL
A4
A5
=1
A4
=1
A2
A3
=1
A7
=1
=1
A8
=1
A6
Obr. Zapojení pro různý počet bitů
A1
A1
A2
A1
&
&
&
&
&
PL
A3
&
A1
A2
A3
&
lichý
A2
A3
&
A3
Obr. Základní obvod pro kontrolu liché parity tří bitů
81
PL
Počítačové systémy
A2
A2
&
&
&
&
A3
&
PS
&
&
A3
A1
A1
A2
A3
&
sudý
A1
Obr. Základní obvod pro kontrolu sudé parity tří bitů
5.4 Sečítačky a odečítačky
5.4.1 Sčítačka MODULO 2
Činnost sčítačky modulo 2 je dána následující tabulkou. Jednotlivé číslice
vstupující do součtu jsou x a y, z je číslice dvojkového aritmetického (nikoli
logického) součtu
x + y = z.
xyz
000
011
101
110
Vzhledem k tomu, že číslice x a y považujeme za logické proměnné,
můžeme z považovat za výstupní funkci a vytvořit úplnou disjunktní
normální formu
z = xy + x y
Při realizaci sčítačky z logických členů NAND je vhodné výraz pomocí
algebraických úprav změnit na:
z = (x + y)xy
82
PS
Počítačové systémy
0
&
0
0
&
0
&
0
0
0
0
0
0
&
0
0
5.4.2 Jednobitová neúplná sečítačka
součet
přenos
&
A
&
&
S
&
A B
S
C
0
0
1
1
0
1
1
0
0
0
0
1
0
1
0
1
B
C
C
=1
A
S
C
B
S = AB + AB
C = AB
5.4.3 Jednobitová úplná sečítačka
A
B
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
Ci
AB
S C0
Ci
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
00 01 11 10
0
0
1 0
1
1
1
0
1
0
S = ABCi + ABCi + ABCi + ABCi =
= A(B + Ci) + A(B + Ci) =
= A + B + Vi
AB
Vi
00 01 11 10
0
0
0 1
0
C0 = AB + Ci A + CiB =
1
0
1
1
= AB + Ci (A + B)
1
Obr. Kombinační tabulka a minimalizace
83
Počítačové systémy
A
B
Ci
&
A
B
Ci
&
A
B
&
A
B
Ci
&
A
B
Ci
&
A
S
&
&
C0
C0
&
Ci
B
&
Ci
Obr. Zapojení s obvody NAND
=1
Ci
S0
C
=1
A
S
&
C0
B
Obr. Zapojení s neúplnými sečítačkami
&
A
&
&
&
S0
&
&
B
S0
Ci
&
C0
Obr. Příklad zapojení
5.4.4 Jednobitová úplná odečítačka
84
Počítačové systémy
A B
V1
AB
D V0
Vi
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
1
1
1
0
0
0
1
00 01 11 10
0
0
1
0
1
1
1
0
1
0
D = ABVi + ABVi + ABVi + ABVi =
= A + B + Vi
AB
Vi
00 01 11 10
0
0
1 0
0
1
1
1
0
1
V0 = AB + AVi + BVi
Obr. Kombinační tabulka a minimalizace
A
B
&
Vi
&
AB
Vi
Vi
>=1
Vi(AB + AB)
AB + AB
A
B
&
AB + AB
V(AB + AB)
Vi
AB
=
>=1
AB + AB
Vi
A
B
>=1
D
D
>=1
Vi(AB + AB)
&
AB
Obr. Příklad zapojení
5.4.5 Polosčítačka
xySP
0000
S = . y + x.
0110
1 0 1 0 P = x. y
1101
85
Počítačové systémy
5.4.6 Úplná sčítačka
xi yi pi-1 si pi
0 0 0 00
0 0 1 10
0 1 0 10
0 1 1 01
1 0 0 10
1 0 1 01
1 1 0 01
1 1 1 11
Kontrolní otázky:
10. Nakreslete logické schema úplné sčítačky?
11. Proč má úplná sčítačka 3 vstupy a 2 výstupy?
Korespondenční úkol:
4. Navrhněte
kombinační
logický
obvod
realizující
sedmisegmentového zobrazovače hexadecimálních znaků.
dekodér
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili se základními kombinačními logickými
obvody. Důraz v této kapitole byl kladen na pochopení vytváření logických
obvorů. Velká pozornost byla věnována funkcím sčítačky.
86
Počítačové systémy
6. Sekvenční logické obvody
V této kapitole se dozvíte:
•
•
•
•
Jaké jsou základní sekvenční logické obvody?
Z jakých logických prvků se sestavují registry?
Jaké funkce a složení mají čítače?
Jaké jsou realizovány seriové a paralelní vstupy a výstupy?
Po jejím prostudování byste měli být schopni:
•
•
•
Charakterizovat základní typy klopných obvodů.
Znát způsob návrhu sekvenčních logických obvodů.
Porozumět funkcím registrů a čítačů.
Klíčová slova této kapitoly:
Klopný obvod, registr, čítač, seriový vstup, paralelní vstup.
Doba potřebná ke studiu: 4 hodiny
Průvodce studiem
Studium této kapitoly je složitější oproti předchozím kapitolám. Pochopení
funkce sekvenčních logických obvodů je důležité pro znalost dalších částí
počítače.
Na studium této části si vyhraďte alespoň 4 hodiny.Po celkovém prostudování
a vyřešení všech příkladů doporučujeme vypracovat korespondenční úkol.
Sekvenční obvod
Sekvenční obvody se dělí na:
• Synchronní - Jsou synchronizovány samostatnými signály , které se
nazývají synchronizační , nebo hodinové a určují jednotlivé takty (
časové intervaly ) tj. diskrétní čas
87
Počítačové systémy
•
Asynchronní - U asynchronních logických obvodů nastává okamžitá
změna stavu na vstupu . Ze vstupních hodnot se vygeneruje výstupní
signál
6.1 Klopný obvod RS
Základním obvodem, který je schopen setrvat v určitém stavu (logické 0 nebo
1) bez aplikace vnějších logických úrovní (mimo napájecí napětí ovšem) je
tzv.paměťová buňka, neboli klopný obvod. Nejjednodušší klopný obvod
vytvoříme pomocí dvou NAND členů, kterým křížem propojíme vstupy a
výstupy. Pravdivostní tabulka takového klopného obvodu je uvedena na
následujícím obrázku.
R
0
1
0
1
S
1
0
0
1
Qi
1
0
0
1
Qi-1
Zakázaný stav
Zapojení RS klopného obvodu je uvedeno na následujícím obrázku.
S
R
1
&
Q
&
Q
1
RS klopný obvod
V sekvenčním logickém systému je třeba, aby se nastavení nebo nulování
klopných obvodů dále v synchronismu s hodinovými impulsy. To lze
zabezpečit tak, že místo invertorů na předchozím obrázku použijeme
88
Počítačové systémy
dvoustupová hradla NAND, která otevíráme hodinovými impulsy. Je zřejmé,
že je-li úroveň na hodinovém vstupu log 0 (stav mezi dvěma impulsy),
nezmění klopný obvod svůj stav ; pamatuje si jej po dobu mezi dvěma
hodinovými impulsy. Jsou-li vstupy R a S uzemněny (je-li na nich logická
nula), pak na výstupech řídících hradel je logická jednička nezávisle na úrovni
hodinového vstupu. Výstupy Q a zůstávají proto na úrovni, do které se dostaly
před tím, než jsme na oba vstupy R a S logickou nulu přivedli. Přivedením
logické nuly na oba vstupy R i S zablokujeme tedy stav výstupů Q a , které
jsou nyní nezávislé na hodinových impulsech.
S
&
&
A3
Q
A1
C
&
R
&
Q
A2
A4
RS klopný obvod s hodinovým vstupem
Q
Q
S
C
R
T
Předpokládejme nyní, že S = 1, R = 0. Po příchodu hodinového impulsu je pak
na výstupu hradla A3 logická 0 a na výstupu hradla A4 logická jednička.
Prostudujeme-li logické úrovně zapojení uvidíme, že obvod nastavíme do
stavu, kdy Q = 1 a = 0. Tento stav setrvává do té doby, dokud v době příchodu
hodinového impulsu je na vstupech S = 1 a R = 0, Ze symetrie obvodu
okamžitě plyne, že pro S = 0 a R = 1, nastavíme obvod po příchodu
hodinového impulsu do stavu Q = 0 a = 1.
Je-li S = 1 = R, nastaví se výstupy hradel A3 a A4 po příchodu hodinového
impulsu do stavu logické nuly. Tento stav by opět implikoval, že oba výstupy
hradel A1 a A2 by měly být ve stavu logické jedničky, což je neslučitelné se
zapojením klopného obvodu. Ve skutečnosti se stane to, že v závislosti na tom,
89
Počítačové systémy
který z výstupů hradel A3 a A4 stoupá po ukončení hodinového impulsu
rychleji, nastaví se na výstupech a Q buď stav Q = 1 nebo Q = 0. Stav výstupů
proto nezáleží ani na stavech vstupů ani na úrovni hodinového impulsu, ale na
vnitřních parametrech obvodu ; je to tedy neurčitý stav a v tabulce je znázorněn
otazníkem. Proto se při buzení tohoto klopného obvodu musí pamatovat na to,
aby stav R = S = 1 nemohl nastat.
Kromě právě popsaného klopného obvodu R-S jsou používány tři
další typy klopných obvodů : dvojčinné klopné obvody J-K, T a D. Dvojčinné
klopné obvody J-K, D a T odstraňují neurčitý stav obvodu R-S. Obvod T
pracuje jako binární obvod, který mění svůj stav po každém hodinovém
impulsu.
6.2 Klopný obvod J-K
J K Qi
0
1
0
1
1 0
0 1
0
1 Qi-1
RealizaceJK klopného obvodu z RS klopného obvodu
90
Počítačové systémy
Schematická značka JK klopného obvodu s hodinový vstupem
6.3 Klopný obvod typu T(RS-T)
Mění svůj stav při každém hodinovém impulsu. Je tedy Qn+1 =Qn. Z
pravdivostní tabulky obvodu J-K můžeme vidět, že tuto funkci plní obvod J-K
pro J = K = 1. Obvod typu T má tedy dva vstupy - vstup T (spojené vstupy JK) a vstup pro hodinové impulsy. Je-li T = 1, obvod se překlápí, Qn+1 = Qn, jeli T = 0, obvod zůstává překlopen do původního stavu; Qn+1 = Qn. Tato funkce
obvodu T je využita v synchronních čítačích - viz níže. Pokud nepotřebujeme
obvod T elektricky ovládat, vystačíme s obvodem typu D, u něhož spojíme
výstup se vstupem D. Snadno nahlédneme, že je pak Qn+1 = Q n.
6.4 Klopný obvod typu D
Pravdivostní tabulka funkce D klopného obvodu je zřejmá z následujícího
obrázku
D C
1
0
? __
Qi
1
0
Qi-1
Realizace s využitím RS klopného obvodu je naznačena na následujícím
obrázku
Realizace D klopného obvodu z RS klopného obvodu
91
Počítačové systémy
D klopný obvod také vznikne z obvodu typu J-K, vložíme-li invertor mezi
vstupy J a K tak, že K je komplementem J (následující obr. ). Z pravdivostní
tabulky obvodu J - K plyne, že Qn+1 = 1 pro Dn = Jn = n = 1 a Qn+1 = 0 pro Dn =
Jn = n = 0. Tedy Qn+1 = Dn. Vzhledem k tomu, že pravdivostní tabulka obvodu
J-K pro J = se neliší od tabulky obvodu R-S pro R = , můžeme obvod tohoto
typu rovněž sestavit z řízeného obvodu R-S (v tom případě hovoříme o
jednoduchém nebo jednočinném klopném obvodu). Takový obvod mění svůj
stav při náběžné hraně hodinového impulsu; v případě, že D obvod sestavíme z
obvodu J-K typu master - slave, mění se stav s týlovou hranou hodinového
impulsu. Klopné obvody typu D mohou sloužit jako paměti binární informace,
která se vybaví hodinovým impulsem k dalšímu zpracování. Příkladem
jednoduchého obvodu typu D je integrovaný obvod 7474 (dva jednoduché Dobvody v jednom pouzdru).
D
hodiny
J C Q
C
1
K
Q
6.5 Dvojčinný klopný obvod J-K typu master-slave
Pro odstranění neurčitého stavu klopného obvodu R-S byl vyvinut tzv. dvojčinný
klopný obvod J-K. Principiální zapojení je na následujícím obrázku.
Principiální schéma:
Nastavení S2
S
R1
R2
Q
&
&
&
&
&
&
&
&
Q
t1 t2
generování t1 a t2
Nastavení
Hodinový signál
Obr. J-K KO M-S
S
J
C
K
92
T
Q
Počítačové systémy
Zapojení obsahuje dva řízené klopné obvody R-S, u nichž výstupy Q a prvního
jsou navázány na vstupy S a R (po řadě) druhého. Druhý klopný obvod se řídí
invertovanými hodinovými impulsy a zpětná vazba je vedena z výstupu
druhého klopného obvodu na vstup prvního. První klopný obvod se nazývá
řídicí (master), druhý klopný obvod je řízený (slave). S náběžnou hranou
hodinového impulsu se nastavuje úroveň na výstupech řídícího obvodu ; řízený
obvod je uzavřen, neboť úroveň na jeho hodinovém vstupu = 0. S úběžnou
hranou hodinového impulsu se uzavírá vstup řídícího klopného obvodu a stav
na jeho výstupu je kopírován řízeným klopným obvodem. Jeho výstupní
úrovně jsou vedeny zpětnou vazbou na vstup řídícího obvodu, tam však
nezpůsobí žádnou změnu, neboť tentokrát je řídící obvod uzavřen (C = 0).
Asynchronní vstupy jsou zavedeny do řídicího klopného obvodu. Nastavíme-li
asynchronními vstupy řídící klopný obvod, přesune se tato informace do
řízeného klopného obvodu okamžitě (je-li C = 0), neboť mezi hodinovými
impulsy je C = 0, tedy = 1; řízený klopný obvod, ovládaný signálem , je tedy
otevřen.
6.6 Funkce posouvání a čítání
6.6.1 Čítače kmitočtu
Kombinaci klopných obvodů schopnou čítat počet vstupních impulsů a vyjádřit
jejich počet pomocí buď binárního nebo jiného kódu, nazýváme čítače.
6.6.1.1 Asynchronní čítač vpřed
Asynchronní čítač vpřed je znázorněn na následujícím obrázku:
Realizace čítače řízeného sestupnou hranou impulsu
Sestává se z řetězce (v našem případě čtyř) klopných obvodů T. Klopné
obvody byly vytvořeny pomocí obvodu J-K připojením obou vstupů na
logickou 1. Jednotlivé klopné obvody mění stav výstupu při každé úběžné
hraně na svém hodinovém vstupu. Překlápění obvodů se tedy řídí v podstatě
dvěma pravidly:
1. Výstup Q0 obvodu T1 mění svůj stav při každé úběžné hraně vstupních
impulsů,
93
Počítačové systémy
2. Všechny ostatní výstupy mění svůj stav právě když předcházející klopný
obvod mění stav výstupu Q z 1 do 0.
Aplikací těchto pravidel dostáváme tvar signálu na výstupech Q0 - Q3 tak, jak
je uvádí následující obrázek. Vidíme, že stav výstupů Q0 - Q3 je přesně binární
reprezentace čísla, udávajícího pořadí vstupního hodinového impulsu.
Takovýto řetězec klopných obvodů čítá tedy v binární soustavě. Pro názorné
zobrazení příslušného čísla je však třeba užít dekodéru, tj. logické sítě s 16
výstupy tak, aby při každé kombinaci jednotlivých bitů byl na logické úrovni 1
právě jeden z výstupů.
1
2
3
4
5
6
7
8
9
10
11 12
13 14 15 16
Q0
Q1
Q2
Q3
číslo
výstupního
impulsu
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
94
výstupy klopných obvodů
Q3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
Q2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
Q1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
Q0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Počítačové systémy
6.6.1.2 Synchronní čítače
Z rozboru funkce asynchronních čítačů je zřejmé, že změna stavu z 1 do 0
předcházejícího obvodu teprve působí změnu stavu následujícího obvodu. V
případě, že všechny obvody jsou na logické úrovni 1, vybuzují postupně jeden
druhý a doba potřebná k tomu, aby celý čítač vykonal odezvu na vstupní
impuls, může být srovnatelná s dobou mezi jednotlivými impulsy. To je
nebezpečné zvláště tehdy, je-li řada obvodů dlouhá, neboť dokud celý řetězec
nedosáhne ustáleného stavu, nelze jeho výstupy synchronně (v jednom
okamžiku) odečíst a zařízení tak ztrácí smysl.
Aby se doba odezvy čítače na vstupní impuls snížila, byla opět poněkud
modifikována topologie zapojení čítače tak, aby na klopné obvody byl
přiveden vstupní impuls synchronně. V tom případě je však třeba zabezpečit,
aby měnily stav jen ty klopné obvody, u kterých je to požadováno. Zde se plně
využívá funkce obvodu typu T. Pomocí řídící logiky se ze stavu výstupů
předcházejících obvodů určuje logická úroveň vstupu T a tedy skutečnost, zda
klopný obvod změní nebo nezmění stav při aplikaci následného hodinového
impulsu. Čítač se tak v době mezi impulsy “připravuje” na zpracování
následného hodinového impulsu. Příklad binárního synchronního čítače je na
následujícím obr. Použitím tohoto zapojení lze zhruba zdvojnásobit pracovní
frekvenci čítače ve srovnání s asynchronním. Využitím asynchronních vstupů
klopných obvodů lze před započetím čítání nastavit počáteční stav čítače, tj.
provést předvolbu.
&
J
C
K
J
C
K
&
J
C
K
J
C
K
6.6.1.3 Vratný čítač
Zařízení, které jsme právě rozebrali zobrazují počet vstupních impulsů v
binárním tvaru, tj. každý další impuls způsobí zvýšení stavu čítače o 1. Často je
třeba, aby čítač počet impulsů odečítal. Čítač, který toto provádí, se nazývá
čítačem vzad. Asynchronní čítač vzad realizujeme tak, že místo výstupu
předchozího klopného obvodu (Qn) připojíme na hodinový vstup následujícího
obvodu (Qn+1) předchozí negovaný výstup ().
Čítače, které umožňují podle řídícího povelu čítání buď vpřed nebo vzad
nazýváme vratnými. Asynchronní čítač vzad realizujeme tak, že místo výstupů
i propojíme s hodinovými vstupy následujících obvodů výstupy. Chceme-li
tedy realizovat vratný asynchronní čítač, musíme sestrojit přepínač, který bude
přepínat do hodinových vstupů buď výstup nebo předchozího klopného
obvodu. Příklad realizace takového přepínače je na následujícím obr.
A
B
C
D
Hodin vstup
H
J
C
K
J
C
K
J
C
K
J
C
K
95
Počítačové systémy
U tohoto obvodu se v prvním kroku KO nastaví do 1.
Čítač čítá
P
1
vpřed
0
vzad
Obdobně jako se konstruují synchronní čítače vpřed lze vytvořit i vratné
synchronní čítače se zachováním jejich výhody oproti asynchronním podstatně kratší doby odezvy na vstupní impuls. Jejich schéma je podstatně
složitější, než u asynchronních vratných čítačů, neboť je nutné hradlovat
hodinový signál v každém stupni; proto si je nebudeme uvádět. Vratné čítače
se vyrábějí buď jako samostatné integrované obvody střední integrace, nebo
jsou na jednom čipu integrovány s obvody plnícími další funkce (například
programovatelný čítač/časovač 8253-4, využívaný v osobních počítačích ke
generaci časových signálů, obsahuje tři 16bitové vratné čítače, obvody-registry
umožňující nastavit a zapamatovat si jejich funkci, a některé další obvody).
6.6.1.4 Binární čítač v před ( nahoru ) - dělič
I
Q
hodiny
C
J
C
K
Q
U KO s přivedením hodinového signálu KO překlopí, když hodinový
signál přechází z 1 do 0. Z časového diagramu je názorné, že v poměru
hodinového signálu
a signálu na výstupu Q je 2:1. Přechod z 1 do nuly nejdříve přivede KO do 1 a
až po druhém signálu při přechodu z 1 do 0 dojde k překlopení výstupu do 0
odtud poměr 2:1
Této vlastnosti využijeme v kaskádním zapojení č KO.
A
B
C
D
I
hodinový
sig.H
J
C
K
J
C
K
J
C
K
J
C
K
Na vstupy JK přivedeme logickou úroveň 1. Přivedeme hodinový signál
na první vstup. Výstup prvního KO se připojí na hodinový vstup druhého KO
atd. až zapojíme takto čtyři KO.
Tím docílíme poměr mezi hodinovými signály a jednotlivými výstupy
v poměru:
H/A 2:1, H/B 4:1, H/C 8:1, H/D 16:1
96
Počítačové systémy
Časový diagram:
1 2 3
4
5
6
7
8
9
10 11 12
13 14 15 16
A
B
C
D
Pravdivostní tabulka vzestupného čtyřbitového binárního čítače je naznačena
na dalším obrázku
Výstupy
H
A
B
C
D
1
1
0
0
0
2
0
1
0
0
3
1
1
0
0
4
0
0
1
0
5
1
0
1
0
6
0
1
1
0
7
1
1
1
0
8
0
0
0
1
9
1
0
0
1
10
0
1
0
1
11
1
1
0
1
12
0
0
1
1
13
1
0
1
1
14
0
1
1
1
15
1
1
1
1
Po šestnáctém taktovacím pulsu se všechny KO vynulují.
Často tohoto zapojení se používá jako děliče kmitočtu:
Přivedeme-li na vstup frekvenci f dostaneme na výstupu binárního čítače
frekvenci f/2, f/4,f/8 atak dále.
6.6.2 Posuvné registry
Kombinací n klopných obvodů, schopnou zapamatovat si n-bitovou informaci,
nazýváme registrem. Spojíme-li výstup klopného obvodu se vstupem
následujícího klopného obvodu etc., dostáváme sestavu tzv. posuvného
registru.
Sériový registr (posuvný registr)
Jedním taktem signálu CLK se informace posune o jeden D-KO
97
16
0
0
0
0
Počítačové systémy
6.6.2.1 Sériový vstup dat
Předpokládejme,že máme realizovaný posuvný registr z 5 klopných obvodů a
že chceme zapsat do registru binární číslo 01011. Číslo zapisujeme způsobem
obvyklým u decimálních čísel tak, že nejméně významný bit je vpravo.
Sledujme při tom následující tabulku. Nejprve je třeba vynulovat všechny
klopné obvody aplikací logické úrovně 0 na mazací vstup registru.
Pak všechny výstupy Q0 - Q4 jsou 0.
Číslo
impulsu
1
2
3
4
5
hod. Bit
0
0
0
1
0
Q4
Q3
Q2
Q1
Q0
1
1
0
1
0
1
1
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
0
0
0
Nastavovací vstup registru je na úrovni logické 0, což má za následek, že všech
pět nastavovacích vstupů jednotlivých klopných obvodů je na úrovni logické
jedničky. Data na sériovém vstupu registru musí být synchronizována s
hodinovými impulsy tak, že při aplikaci hodinového impulsu do registru je na
sériovém vstupu nastaven jeden z datových bitů počínaje od nejméně
významného (LSB). Při prvním hodinovém impulsu je tedy na vstupu registru
(KO4) nejméně významný bit, který se úběžnou hranou impulsu přesune na
výstup Q4, tedy na vstup S3 a jeho komplement na R3. Proto při aplikaci
druhého hodinového impulsu se nejméně významný bit přesune na výstup Q3
event. komplementovaný na , zatímco do K04 se načte další bit digitálního
slova. Po pěti bitech se musí hodiny zastavit a podle tabulky vidíme, že v
každém z klopných obvodů je po řadě informace o jednom z bitů zadaného
dvojkového čísla. Tuto informaci můžete přečíst najednou z výstupů Q4 - Q0; v
tom případě mluvíme o převodníku sériového na paralelní kód, nebo opět
sériově z výstupu Q0; například při značně větší rychlosti hodinových impulsů.
To je tzv. metoda vyrovnávací paměti (registr FIFO, first in, first out). Např.
při spojení terminálu s počítačem není možné, aby terminál byl k počítači
připojen po celou dobu, kdy vkládáme klávesnicí data. Proto se data z
klávesnice ukládají do vyrovnávací paměti (např. jeden řádek obsahující max.
80 znaků), která se rychle vyprázdní na povel k odeslání dat.
6.6.2.2 Paralelní vstup dat
Všimněme si nyní nastavovacích vstupů PS0 - PS4. Tyto vstupy jsou od
vlastních nastavovacích vstupů klopných obvodů odděleny hradly NAND,
které umožňují blokovat vnější vstupy a zapsat informaci jediným impulsem do
vstupu nastavení registru. To je vhodné např. při přenosu dat od digitálních
měřících přístrojů,kde je informace v paralelní formě, tj. všechny bity jsou
dostupné najednou. K propojení měřícího přístroje s řídícím počítačem však
někdy není možné použít velkého množství vodičů, proto je třeba převést tuto
paralelní informaci na sériovou. Po ukončení měření, kdy je na vstupech PS0 PS4 informace např. o jednom z decimálních čísel zobrazovací jednotky,
98
Počítačové systémy
aplikujeme logickou úroveň 1 na vstup nastavení registru, čímž nastavíme
výstupy jednotlivých klopných obvodů Q0 - Q4 do odpovídajících pozic (registr
je třeba nejprve vynulovat). Proto se vstupu nastavení registru někdy říká
zapisovací vstup (write). Informace shromážděná v registru se nyní může
přečíst buď opět paralelně; v tom případě je třeba opatřit výstupy Q0 - Q4
obdobnými hradly NAND jako nastavovací vstupy. Druhý vstup hradel pak
umožňuje oddělit výstupy registru od dalšího zařízení. Informaci však můžeme
přečíst též sériově z výstupu Q0 při synchronní aplikaci hodinových impulsů. V
tomto případě hovoříme o převodníku paralelního na sériový kód.
6.6.3 Kruhový registr
Spojíme-li výstup Q0 se sériovým vstupem registru, opakuje se na výstupech
Q0 - Q4 táž informace vždy po pěti hodinových impulsech. Takovému
uspořádání říkáme kruhový registr. Lze si např. představit desetibitový
kruhový registr,do jehož MSB byla na počátku uložena jednička a jinak byl
registr vynulován. Je zřejmé, že vždy po deseti hodinových impulsech bude na
MSB opět jednička a podle toho, na kterém bitu je právě jednička poznáme,
kolik impulsů (v rozmezí od 0 do 9) přijal hodinový vstup registru. Takový
registr tedy tvoří dekadický čítač (dělič deseti), kde není nutný dekodér binární
informace na dekadickou; komplikaci však tvoří skutečnost, že je třeba vždy po
zapnutí přístroje vložit do registru jedničku, která pak v registru "obíhá". Pro
dělení větším číslem potřebujeme rovněž značný počet klopných obvodů, takže
cena zařízení neúměrně stoupá.
Kontrolní otázky:
12. Popište odlišnosti jednotlivých typů klopných obvodů.
13. Proč se využívají v realizaci prvků počítačů klopné obvody typu Master Slave?
14. Proč musí být posuvný registr realizován dvojčinným klopným obvodem?
Úkoly k zamyšlení:
6. Zamyslete se nad obecnou architekturou počítače a určete, které sekvenční
logické obvody se využívají v jednotlivých částech počítače?
Korespondenční úkol:
5. Navrhněte posuvný registr z klopných obvodů typu D a nakreslete schema
zapojení.
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili s realizací základních klopných obvodů, jako
stavebních prvků složitějších sekvenčních obvodů. Důraz v této kapitole byl
kladen na pochopení konstrukce čítačů a registrů. Velká pozornost byla
věnována vysvětlení principů výstavby seriových a paralelních obvodů vstupu
dat do posuvných registrů.
99
Počítačové systémy
7. Úloha operačních systémů
V této kapitole se dozvíte:
•
•
•
•
•
•
Proč studujeme operační systémy?
Jaké jsou základní funkce operačních systémů?
Jakou úlohu mají operační systémy z hlediska komunikace člověka s
počítačem?
Jaké je typické rozhraní operačních systémů s aplikačními programy?
Z jakých generických komponent se skládají operační systémy?
Jaké jsou hlavní funkce jednotlivých komponent operačních systémů?
Po jejím prostudování byste měli být schopni:
•
•
•
•
•
Charakterizovat základní funkce operačních systémů.
Znát způsob komunikace operačního systému s člověkem
s aplikačními programy.
Porozumět vrstvené architektuře operačních systémů.
Popsat oblasti zájmů operačních systémů.
Definovat funkce jednotlivých částí operačních systémů.
a
Klíčová slova této kapitoly:
Správce zdrojů, virtuální počítač, multiprogramování, rozhraní člověk/stroj,
rozhraní proces/operační systém, generické komponenty.
Doba potřebná ke studiu: 2 hodiny
Průvodce studiem
Studium této kapitoly je jednoduché a popisným způsobem zde nastudujete
základní úlohy a funkce operačních systémů.
Na studium této části si vyhraďte 4 hodiny.Po celkovém prostudování a
vyřešení všech příkladů doporučujeme vypracovat korespondenční úkol.
Operační systémy jsou jedny z nejrozsáhlejších a nejsložitějších programových
systémů ve kterých se uplatňují mnohé vědecké poznatky z oblasti
softwarového inženýrství, struktur dat, sítí, algoritmů apod. Během posledních
let byly při konstrukci operačních systémů objeveny řady nových metod, které
jsou stejně užitečné i v jiných programových aplikacích. Problémy a těžkosti,
které se vyskytují při tvorbě efektivních a spolehlivých operačních systémů
jsou stejné jako ty, s nimiž se setkávají programátoři či autoři jiných
rozsáhlých programů. Čas od času je potřeba operační systém upravit,
modifikovat či parametrizovat. Pak je ovšem potřeba jim rozumět a znát
algoritmy základních funkcí. Detailní znalost principů operačních systémů je
naprosto nezbytná při vytváření těch částí, které jsou závislé na funkčnosti
nestandardních technických prostředků. Příkladem jsou ovladače periferních
zařízení. Techniky a metodiky tvorby operačních systémů lze s výhodou
uplatnit i v jiných oblastech tvorby rozsáhlých programových systémů.
Účelem vzniku operačních systémů bylo zabezpečit programové sdílení
prostředků, plánování úloh, plánování a přidělování paměti, ochrana dat
100
Počítačové systémy
a programů, odhalování chyb při běhu programů. Takto vzniklé operační
systémy byly tvořeny množinou automatických a manuálních procedur,
umožňující skupině lidí sdílet výpočetní systém, tj. sdílet čas procesoru(ů),
operační paměti, periferních zařízení a procesů.
7.1 Služby operačního systému
Jedna z prvních definic operačního systému jej charakterizovala jako
programové vybavení nezbytné pro provoz počítače. Tato definice však nic
neříká, co je nezbytné pro provoz počítače. Proto si raději definujme operační
systém na funkcích a to jako:
• správce zdrojů - resource manager,
• virtuální počítač - virtual machine.
Správce zdrojů. Zdroje jsou vstupní/výstupní (I/O) zařízení, soubory,
procesor, paměť apod. Operační systém vlastní jednotlivé systémové zdroje přiděluje a odebírá je jednotlivým procesům.
Virtuální počítač. Operační systém skrývá detaily ovládání jednotlivých
zařízení (transparentnost), definuje standardní rozhraní pro volání systémových
služeb. Programátor se může věnovat vlastní úloze a nemusí znovu
programovat I/O operace. Program může díky "odizolování" od konkrétních
zařízení pracovat i se zařízeními, o kterých jeho autor v době vytváření
programu neměl ani ponětí (program se o ovládání I/O nestará).
Další definice operačního systému jej charakterizuje jako:
• Správce prostředků – spravuje a přiděluje zdroje systému.
• Řídicí program – řídí provádění uživatelských programů a operací I/O
zařízení.
• Jádro – trvale běžící program – všechny ostatní programy lze chápat
jako aplikační.
Všechny tyto definice operačního systému oddělují striktně jednotlivé
komponenty výpočetního systému, jak je zřejmé z následujícího obrázku.
101
Počítačové systémy
Uživatel
1
Uživatel
2
Uživatel
n
Kompilátor
textový editor
databázový systém
Operační systém
Hardware
počítače
Abstraktní pohled na systémové komponenty
Z předchozích definic vyplývají oblasti služeb operačních systémů, které jsou
zřejmé z následujícího obrázku.
Procesy,
správa procesů
Souběžnost
Plánování
Správa paměti,
virtualizace paměti
Vstup/výstup
Správa souborů
Počítačové sítě
Bezpečnost
Zájmy operačních systémů
Základním účelem operačního systému je využití sdílených prostředků.
Znamená to, že jeden nebo více uživatelů výpočetního systému se budou
ucházet o používání fyzických prostředků, konkrétně o sdílení času procesoru
event. více procesorů, operační paměti, periferních zařízení apod. Operační
systém je z tohoto pohledu množina automatických a manuálních procedur
umožňující skupině lidí sdílet výpočetní systém. Každý uživatel získává iluzi,
že pracuje s počítačem, který umí prováděl jakékoliv programy, tj. že pracuje
na virtuálním počítači. Operační systém pak poskytuje každému uživateli
vlastní virtuální počítač a navíc chrání každý z těchto počítačů proti
102
Počítačové systémy
destruktivnímu zásahu ostatních. Operační systém přitom nabízí uživateli
daleko atraktivnější rozhraní než poskytuje vlastní hardware. Operační systémy
jsou rozsáhlé programy zabezpečující multiprogramování, plánování a
přidělování paměti, plánování úloh, ochranu dat a programů a odhalování chyb
při běhu programů. Operační systém je z tohoto pohledu program, který řídí
běh ostatních procesů tzn. ostatním procesům bezpečně a efektivně předává
řízení a získává je zpět, sděluje procesoru, kdy má spouštět ostatní procesy.
Přitom vytváří rozhraní mezi uživatelem a hardware a skrývá ostatním
procesům detaily o hardware tj. musí zvládnout správu detailů hardware ve své
režii.
7.2 Struktura operačního systému
Cílem operačního systému je rovněž zajištění pohodlnosti používání počítače,
tzn. že operační systém je správcem rozhraní člověk/stroj a správcem rozhraní
proces/operační systém. Operační systém je z tohoto pohledu tvůrcem
virtuálního počítače a skrývá tak detailní pravdu o holém počítači (hardware).
Koncový uživatel
Programátor
Návrhář OS,
systémový
programátor
APLIKACE
Pomocné programy
Operační systém
HARDWARE
Rozhraní člověk stroj
Operační systém z hlediska rozhraní člověk/stroj typicky poskytuje služby pro:
• vytváření programů na uživatelském rozhraní (editory, kompilátory,
sestavovací programy, ladící programy, apod.),
• provádění programů, tj. zavádění programů do operační paměti a jejich
spouštění,
• běh procesů, podpora komunikace a synchronizace procesů,
• zpřístupňování vstupních/výstupních zařízení a operací na nich,
• řízení přístupů k souborům,
• řízení přístupu k systému,
• detekce chyb a chybové řízení (chyby hardware, programové),
• protokolování činností.
Rozhraní proces/operační systém je typickým rozhraním služeb jádra, což jsou
služby:
• unifikace vstupních a výstupních operací,
• virtualizace paměti,
• ochrana a reakce na chyby,
103
Počítačové systémy
•
•
•
protokolování a řízení přístupu ke zdrojům,
synchronizace procesů,
komunikace mezi procesy.
Dalším cílem operačního systému je zajištění dostatečné výkonnosti
a efektivity. Operační systém je tak správcem systémových prostředků
(procesorů, paměti, vstupních a výstupních zařízení a souborů) a správcem
jejich užívání. Operační systém tak řídí přístup k vstupním a výstupním
zařízením a souborům, provádí správu paměti a určuje, který program bude
používat procesor. Operační systém konečně musí zajistit schopnost vývoje tj.
doplňování a vývoj hardware, doplňování nových služeb do počítačového
systému. Operační systém musí být schopen reagovat na inovace v technických
prostředcích, na nové komponenty počítačů.
Operační systémy, z hlediska své struktury, lze popsat architekturou:
• monolitickou,
• víceúrovňovou,
• virtuální,
• klient-server.
7.2.1 Monolitická architektura operačního systému
Monolitickou architekturu operačního systému lze vyjádřit následujícím
obrázkem.
Uživatelský program 2
Uživatelský program 1
Servisní
procedury
Uživatelské programy
běžící v uživatelském
módu
Operační systém běžící
v módu jádra
Plánovací tabulka
Služby monolitického operačního systému v operační paměti
Z obrázku vyplývá určitá „vnitřní strukturovanost“, kdy hlavní program volá
obslužné procedury pro jednotlivá systémová volání. Systémová volání
přepínají zpracování z uživatelského módu do módu servisního (mód jádra
operačního systému).
Systémová volání u obecného operačního systému lze rozdělit do několika
skupin:
• řízení procesů (vytvoření procesu, výměna procesů v paměti, ukončení
zpracování procesu apod.),
104
Počítačové systémy
•
•
•
•
•
programová přerušení (nastavení přerušení pro jeho zachycení nebo
ignoraci, přerušení procesu, plánování přerušení v čase, suspendace
volaného procesu až do příštího přerušení),
řízení souborů (vytvoření nebo zrušení souboru, vytvoření adresáře,
otevření souboru pro čtení nebo zápis, zavření souboru,čtení dat ze
souboru do vyrovnávací paměti, zápis dat do souboru z vyrovnávací
paměti apod.),
řízení adresářů a systému řízení souborů (vytvoření nového vstupu
adresáře, přemístění vstupu adresáře, připojení systému souborů, přesun
diskových bloků ze zásobníku v paměti na disk, změna pracovního
adresáře, změna kořenového adresáře),
ochrana (změna bitů ochrany souboru, získání identifikace uživatele,
získání identifikace skupiny, nastavení identifikace uživatele, nastavení
identifikace skupiny, změna vlastníka souboru nebo skupiny, nastavení
nebo zrušení masky ochrany),
řízení v čase (nastavení času ukončení, získání času ukončení,
nastavení času posledního přístupu k souboru, získání uživatelského a
systémového času pro další použití).
Nevýhodou monolitické architektury operačního systému je realizace jádra
jako velkého programového celku, ve kterém lze snadno implementovat chyby,
tím je obtížné ladění funkčnosti a složitá rozhraní procedur mající
jednoznačnou vazbu na použitý hardware počítače. Výhodou je relativně
snadná implementace operačního systému a zabezpečení velkého výkonu i na
poměrně nevýkonném hardware.
7.2.2 Víceúrovňová architektura operačních systémů
Řada moderních operačních systémů je vytvářena na principu hierarchického
uspořádání služeb dle příkladu na následujícím obrázku.
5
uživatel
4
uživatelské programy
3
správa I/O zařízení
2
komunikace s procesy
1
správa paměti
0
přidělování procesoru
Struktura víceúrovňového operačního systému
Hierarchické uspořádání služeb operačního systému je založeno na
následujících principech:
• operační systém se dělí do jistého počtu vrstev (úrovní),
105
Počítačové systémy
•
•
•
•
každá vrstva je budována na funkcionalitě nižších vrstev,
nejnižší vrstva (0) je hardware,
nejvyšší vrstva je uživatelské rozhraní,
pomocí principu modularity jsou vrstvy navrženy tak, aby každá
používala funkcí (operací) a služeb pouze vrstvy n – 1 tj. vyšší vrstva
využívá pouze služeb nejbližší nižší vrstvy a nabízí služby nejbližší
vyšší vrstvy.
Pomocí této vrstvené architektury lze řešit problém přílišné složitosti velkého
operačního systému a to tak, že se realizuje dekompozice velkého problému na
několik menších zvládnutelných problémů. Přitom každá úroveň řeší
konzistentní podmnožinu funkcí, nižší vrstva nabízí vyšší vrstvě „primitivní“
funkce (služby) a nižší vrstva nemůže požadovat provedení služeb vyšší vrstvy.
Používají se přesně definovaná rozhraní a tím lze každou vrstvu uvnitř
modifikovat, aniž to ovlivní ostatní vrstvy (principy modularity).
Nevýhodou takové architektury je především vyšší systémová režie a tím
pomalejší vykonávání systémových volání. Protože efektivita hraje v jádře
operačního systému významnou roli, je třeba volit kompromis v počtu vrstev tj.
definovat pouze omezený počet úrovní pokrývající vyšší funkcionalitu.
Výhodou takové architektury je přehlednost a oddělené datové struktury.
Typická struktura operačních systémů je hierarchická, čímž se řeší problém
přílišné složitosti. Dekompozice velkého problému na několik menších
umožňuje zvládnout řešení složitého operačního systému. Každá takto
dekomponovaná úroveň řeší konzistentní podmnožinu funkcí, kde nižší vrstva
nabízí vyšší vrstvě primitivní funkce (služby) a přitom nižší vrstva nemůže
požadovat provedení služeb vyšší vrstvy. Rozhraní mezi vrstvami musí být
přesně definovaná, což umožní modifikovat každou vrstvu uvnitř, aniž to
ovlivní ostatní vrstvy. Typická struktura vrstev operačního systému je zřejmá
na následujícím obrázku.
106
Počítačové systémy
aplikační
programy
UŽIVATELÉ
Rozhraní služeb
OS pro uživatele
Rozhraní služeb
OS pro procesy
interpret řídícího jazyka, shell,API
OS
správa souborů,správa
vnějších pamětí
operační
systém
správa periferií (ovladače)
jádro
OS
správa procesů
správa vnitřní paměti,virtualizace
správa procesoru,plánování,dispečer
uživatelský režim
privilegovaný režim
strojový kód, procedury
přerušení
300-500 instrukcí,
registry
mikroprogramy
interpret mikroinstrukcí
elektronické obvody
registry, hradla, sběrnice
holý
počítač,
hardware
Poskytované služby OS
Typickým příkladem hierarchické struktury podsystémů je návaznost obecného
operačního systému na hardware počítače typu PC. Struktura návaznosti je
zřejmá z následujícího obrázku.
SOFTWARE
Operačný systém
BIOS
HARDWARE
Rozhraní v PC
BIOS - Basic Input Output System, jak už vyplývá z názvu, zabezpečuje
základní služby při přístupu k periferním zařízením. Jinými slovy, tvoří
rozhraní mezi hardwarem a vyššími vrstvami programového vybavení. Je to
rozhraní standardizované, tzn. že vstupní body a parametry obslužných
procedur operačního systému nezávisí na typu hardware a je jednoznačně
107
Počítačové systémy
navázáno na funkce operačního systému. BIOS zabezpečuje v počítači ještě
další úkoly:
• provádí úvodní test 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 systému prostředky pro realizaci víceúlohového
prostředí.
7.2.3 Architektura operačního systému s virtuálními počítači
Operační systémy navrhované na principech virtuálních počítačů jsou převážně
určeny pro režim sdílení času (time-sharing). Operační systém tak emuluje
existenci více jednouživatelských systémů s vlastním harwarem (virtual
machine monitor - VM), které jsou přesnou kopií skutečného hardware HW
(VM vrstva emuluje HW). Pro realizaci je však třeba rozšířených vlastností
rozhraní procesoru a oddělení funkce multiprogramování od funkce
rozšířeného stroje (extended machine). Na následujícím obrázku je naznačena
činnost systému zajišťující funkci rozšířeného počítače pomocí CMS
(Conversational Monitor System), což je interaktivní systém pro sdílení času
mezi uživateli. Když CMS zpracovává systémová volání převede jej do
operačního systému vlastního virtuálního počítače. Tyto instrukce jsou pak
převáděny do OS jako část vlastních simulací na skutečném hardwaru.
Virtuální
370’
CMS
CMS
CMS
Operační systémy
zajišťující funkci
rozšířeného
počítače
VM /370
HW 370
Vlastní
HW
počítače
Struktura operačního systému s virtuálními počítači
Jádro systému tvoří monitor virtuálního počítače, který pracuje s prostým
hardwarem a zajišťuje multiprogramování s použitím ne jednoho, ale několika
virtuálních počítačů na vyšší úrovni. Virtuální počítače nejsou počítače se
systémem souborů a ostatními možnostmi. Jsou pouze přesnými kopiemi
prostého hardwaru, zahrnující mód jádra a mód uživatele, vstupů a výstupů,
přerušení a vše čím je skutečný počítač vybaven.
Každý virtuální počítač je identický se skutečným hardwarem, každý z nich
může pracovat s nějakým operačním systémem, který běží přímo na skutečném
hardwaru. Nevýhodou této architektury může být zpomalení poskytovaných
služeb operačním systémem a to z důvodu emulace. Výhodou je možnost
koexistence více operačních systémů na jednom hardware a využití
programového vybavení z jiného hardwarového systému.
108
Počítačové systémy
7.2.4 Architektura operačního systému s modelem klient-server
Architektura operačních systémů na principu komunikace klient-server vznikla
z potřeby minimalizace rozsahu jádra. Cílem je implementovat většinu funkcí
operačního systému v uživatelských procesech, tedy v uživatelském módu.
Například při požadavku na službu, jako je čtení bloku dat ze souboru, zašle
uživatelský proces (nyní klient proces) požadavek na obsluhu souborů (file
server), která vykoná práci a zašle zpět přečtená data jako odpověď na
požadavek. Tzn. že mikrojádro zajišťuje zejména komunikaci.
Základní struktura takového operačního systému může být následující:
• obsluha klienta (klient process),
• obsluha procesů (process server),
• obsluha terminálů (terminal server),
• obsluha souborů (file server),
• obsluha paměti (memory server).
Na následujícím obrázku je naznačena struktura takového operačního systému
a způsob komunikace.
klient
klient
klient
server
server
server
v uživatelském
módu
Jádro
v módu jádra
Struktura operačního systému klient-server
Skutečné rozdělení na jednotlivé obsluhy – servery může být samozřejmě
v každém systému jiné, jednotlivé servery mohou být vytvářeny i uživatelem.
Po rozdělení operačního systému na jednotlivé části se pak při vyvolání
požadované služby aktivuje vždy pouze obsluha příslušné části operačního
systému. Jednotlivé části operačního systému nejsou rozsáhlé a jsou takto
snadno řiditelné. Většina služeb operačního systému pak pracuje
v uživatelském módu a ne v módu jádra systému.
Použití systému klient-server je velmi výhodné zejména pro distribuované
operační systémy. U takového systému jádro příslušného systému řídí pouze
přenos zpráv od klienta k příslušné obsluze – serveru. Ve skutečnosti to není
možné, neboť některé funkce operačního systému, např. práce s vstupními a
výstupními jednotkami, nelze provádět z uživatelského programu. Řeší se to
pak tak, že tyto kritické procesy se zpracovávají v módu jádra.
Výhodou architektury klient-server je v oddělení adresních prostorů procesů a
tím dobrá strukturovanost operačního systému, odolnost systému v případě
selhání serverového procesu a použitelnost v síťovém a distribuovaném
prostředí.
109
Počítačové systémy
7.2.5 Charakteristiky moderních operačních systémů
Moderní operační systémy musí reagovat na rozvoj hardware, zvýrazněný
multiprocesorovými stroji, připojením na vysokorychlostní sítě, rychlejšími
procesory a větší kapacitou paměti.
Při vytváření operačních systémů se vyžaduje aplikovat nové softwarové
technologie podporující multimédia, webovské aplikace, internet a technologie
klient/server. Dalším směrem vývoje jsou distribuované operační systémy,
vytvářející ilusi jedné společné paměti, jednoho paralelního stroje,
distribuovaného systému souborů s jednotným pohledem na ně. Zde je směr
vývoje pomocí objektově orientovaných nástrojů s cílem modulárního
rozšiřování funkcionality celého operačního systému, postaveného na malém
jádře a přizpůsobování se konkrétním potřebám bez porušení integrity celého
systému.
Pro uživatele to znamená, aby operační systém byl snadno použitelný, snadno
naučitelný, spolehlivý, bezpečný a rychlý. Z hlediska systémového návrhu se
jedná jeho snadný návrh, implementaci, udržovatelnost, přizpůsobivost,
spolehlivost a bezchybnost.
Tradičně bývaly operační systémy napsaný v symbolickém strojovém jazyku
(assembleru), v současnosti se stále častěji píší v běžných programovacích
jazycích vysoké úrovně (obvykle C/C++). Tím se docílí rychlejšího
naprogramování, kompaktnějšího výsledku, srozumitelnějšího a tím
snadnějšího ladění a snadnější přenositelnosti na jinou architekturu
7.3 Historie operačních systémů
V dřívějších dobách operační systémy jako takové neexistovaly a programátor
musel komunikovat s počítačem pomocí strojového kódu (na úrovni 1-0).
Navíc ještě musel znát přesnou konfiguraci počítače a jednotlivých připojených
zařízení. Postupem času s rozvojem výpočetní techniky se však tento postup
stal neúnosným, a tak začaly vznikat první programovací jazyky. Programovací
jazyky mohou být buď vázány na konkrétní hardware (např. assembler), nebo
jsou na hardware nezávislé (tzv. vyšší programovací jazyky). Nejstarším
vyšším programovacím jazykem byl Short Code z roku 1949, později vznikl
Fortran (1956, vyvinut IBM), COBOL (1959), BASIC (1965, později
standardní jazyk pro PC), Pascal (1971), C (1972) atd.
S dalším rozvojem však bylo třeba programu, který by sám zvládal základní
funkce systému a ulehčil programátorům práci. Počátkem 60. let tak pomalu
začaly vznikat operační systémy a v polovině 60. let (s příchodem
minipočítačů) již vyvstává potřeba takových operačních systémů, jaké známe
dnes. Mezi nejznámější a nejrozšířenější platformy patří především operační
systém Windows od firmy Microsoft a operační systémy na bázi UNIXu,
vyvinutého původně firmou AT&T. Mezi nejznámější operační systémy na
bázi UNIXu patří Linux a Mac OS X.
Významným prvkem ve vývoji operačních systémů bylo vytvoření grafického
uživatelského rozhraní (GUI - graphics unit interface), které má své kořeny
v padesátých letech, ale rozvinulo se až v sedmdesátých letech, kdy skupina
110
Počítačové systémy
v Xerox Palo Alto Research Center (PARC) vyvinula Alto, počítač založený na
GUI. Skutečným mezníkem byl ale až GUI vyvinutý společností Apple pro její
počítač Lisa, resp. Macintosh, který jako první tuto myšlenku již v roce 1983,
resp. 1984 zpřístupnil masám. Pro kancelářské využití je dále účelné se zaměřit
pouze na OS s GUI.
7.3.1 Operační systémy Windows
Historie operačního systému Windows sahá do roku 1981, kdy firma IBM
uvedla na trh první PC spolu se 16bitovým operačním systémem MS-DOS
(Microsoft Disk Operating System). Pro další vývoj počítačového průmyslu a
šíření operačních systémů od Microsoftu se ukázalo jako rozhodující, že firma
IBM umožnila výrobu klonů svých počítačů - velmi rychle se pak rozšířily do
celého světa.
Ačkoliv MS-DOS v podstatě umožnil masivní rozvoj mikropočítačů, byl již
v době svého vzniku nepohodlný a z hlediska návrhu nedostatečný a v
podstatě zastaralý. MS-DOS podporoval pouze jednoho připojeného uživatele,
který mohl v čase pracovat s pouze jedním programem (chybějící podpora
víceúlohového režimu). MS-DOS měl hardwarová omezení, např. nedokázal
pracovat s pamětí větší než 640 kB nebo s disky většími než 30 MB. Většina
nedostatků MS-DOSu, především uživatelská nepřívětivost a absence
víceúlohového režimu, byla postupně překonána pozdějšími verzemi systému
Windows.
Významným mezníkem ve vývoji počítačů bylo uvedení počítače Apple Lisa s
operačním systémem LisaDesk na bázi GUI v lednu 1983. U Microsoftu začal
vznikat OS Windows jako GUI nadstavba MS-DOS. První verze OS s GUI od
Microsoftu - Windows 1.0 byla uvedena na trh 20. listopadu 1985. Tato
nadstavba OS DOS sice nebyla příliš použitelná, ale např. již nenutila uživatele
ukončovat a znovu spouštět programy. Pokud chtěl s programy pracovat
současně, mohl se mezi nimi přepínat, avšak okna se nemohla překrývat. Tento
nedostatek byl odstraněn ve verzi 2.0, která byla uvedena na trh v roce 1987.
Zde již bylo možno okna překrývat jedno přes druhé, bez nutnosti je
mozaikovitě skládat vedle sebe.
Komerčního úspěchu a reálné použitelnosti se ale dočkal až OS MS Windows
3, uvedený na trh v roce 1990, který lze označovat za první reálně použitelný
Windows s GUI. Windows verze 3.0 se velmi rychle rozšířily, především díky
velké hardwarové i softwarové podpoře významných nezávislých výrobců a
předinstalováváním na nová PC. V roce 1991 byla vydána rozšířená verze
Multimedia Extension pro práci Windows s multimédii. Na jádře pracujícím
pod DOSem byly na trh později uvedeny další OS Windows:
• Windows 3.1 z dubna 1992 s řadou vylepšení (jako podpora OLE,
vylepšení správce souborů, vylepšení podpory tiskáren, nových
ovladačů podporujících MS-DOS grafiku v okně, virtuální paměť lze
měnit v ovládacím panelu, atd.) a odstraněním některých chyb v
uživatelském rozhraní. Následně byly vydány i Windows 3.11, kde byla
přidána síťová podpora.
• Windows 95 uvedený v srpnu 1995. Tento systém byl opatřen řadou
vylepšení, například částečně 32bitovým jádrem (hybridní
16/32bitové), podporou dlouhých názvů souborů, lepší podporou sítí
111
Počítačové systémy
•
•
•
(byl integrován protokol TCP/IP) a zcela novým grafickým rozhraním
(GUI Windows 95 bylo tak úspěšné, že se jej Microsoft rozhodl využít i
ve verzi Windows NT 4.0). Lze jej označit za povedenou, klíčovou a
přelomovou verzi Windows (bývá označován za první uživatelsky
přívětivý operační systém od Microsoftu).
Windows 98 - již 32bitový, uvedený v červnu 1998. Tento systém
přinesl hezčí grafické prostředí, integraci Webu do oken průzkumníka,
již plně funkční podporu USB, nový Microsoft Explorer 4.
Windows 98 SE, uvedený v roce 1999 coby druhé vydání Windows 98
(Second Edition), byl již stabilním a kvalitním systémem.
Windows Me (Millenium Edition) - je posledním zástupcem této
kategorie, který již restart do režimu čistého MS-DOSu neumožňuje
(obsahuje nové grafické prostředí z Windows 2000 Profesional,
Windows Media Player 7 a nové DirectX).
Operační systémy na základě DOSu však měly koncepční nedostatky. Již v
roce 1987 proto IBM ve spolupráci s Microsoftem začal vytvářet nový
operační systém pro PC, tentokrát již nezatížený nedostatky DOSu a nazvaný
OS/2. Spolupráce obou firem se ale rozpadla a každá z nich si vyvíjela svou
vlastní verzi OS/2 (Microsoft tu svou záhy přejmenoval na Windows NT
a IBM na OS/2 Warp). V polovině roku 1993 se tak dostávají na scénu
Windows NT, která jsou zaměřená především na náročné uživatele a servery
(zkratka NT znamená New Technology). Pátou verzi Windows NT uvedl
Microsoft na trh 17. února 2000. Přesto, že je tento systém volným
pokračováním Windows NT 4.0, obsahoval tolik změn, že byl přejmenován na
Windows 2000. Pro většinu domácích uživatelů je však tento systém příliš
robustní a náročný na hardware. Bývá nasazován především na výkonných
serverech.
Až v roce 2001 Microsoft konečně uvedl na trh operační systém pro běžné
uživatele postavený nikoliv na DOSu, ale na přizpůsobené technologii NT,
nazvaný Windows XP (eXPerience). V tomto případě Microsoft oznámil, že se
jedná o nástupce operačních systémů, který si z obou větví má vzít jen to
nejlepší. Z větve NT to má být vysoká spolehlivost, z větve 9x pak
kompatibilitu a podporu multimédií (až do verze XP nebyly aplikace pro řadu
NT kompatibilní s aplikacemi pro řadu 9x a naopak). Jeho další odlišností
oproti předchozím verzím je nová podoba grafického rozhraní, a možnost jeho
změny (skinovatelnost); celý systém je multimediální, umožňuje práci s
videem, zvuky a Internetem. V některých operacích je Windows XP až o 30%
pomalejší než na starém jádře pracující Windows Me, přesto je to však (za
předpokladu doinstalování service packů) významný krok směrem vpřed na
poli OS Windows.
Operační systém Windows je dnes zejména díky masivním marketingovým
kampaním a podpoře nezávislých výrobců HW v 90. letech nejrozšířenějším
OS v oblasti kancelářských počítačů. Systémy Windows různých verzí jsou
instalovány na cca 90% všech kancelářských počítačů. Mezi největší výhody
MS Windows patří právě jejich masivní rozšíření. To je však zároveň pro
Microsoft i omezením - vývoj trpí velkou setrvačností (viz např. problém roku
2000 "Y2K" - pouze dvouciferné ukládání letopočtu) a omezenými možnostmi
Microsoftu zavádět moderní technologie ještě v době, kdy jsou nové (viz
112
Počítačové systémy
například setrvávání u BIOSu). Součástí MS Windows je množství aplikací pro
běžnou kancelářskou práci (MS Explorer, základní multimediální aplikace,
atd.). Vývoj aplikací pro platformu Windows je co do míry standardizace a
chování jednotlivých aplikací různorodý.
Od verze Windows 2000, resp. Windows XP, se nevyskytují výrazné problémy
se stabilitou systému. Pro dostatečnou bezpečnost systému je potřeba důsledně
dbát na pravidelné aktualizace a jeho dobrou správu více než u méně
rozšířených systémů. Aktualizace systému bývá obvykle v intervalech 1
měsíce.
7.3.2 Operační systémy UNIX
UNIX byl poprvé představen Kenem Thompsonem a Dennisem Ritchiem v
článku publikovaném v roce 1974 v „Communications of the ACM“. Na trh
byl však uveden již v roce 1969. V roce 1964 Bell Telephone Laboratories
zahájily projekt MULTICS (Multiplexed Information and Computing Service).
Cílem projektu bylo vytvořit OS pro rozsáhlý počítač s velkým množstvím
uživatelů. Projekt MULTICS byl v sice roce 1969 ukončen, ale jeho bývalí
programátoři (Ken Thompson, Dennis Ritchie a Brian Kernighan) přišli s
myšlenkou jednoduchého, elegantního a snadno ovladatelného OS a již o rok
později byl nový OS dokončen (v jazyce assembler) a nazván UNICS. (Tento
název vznikl z "Universal Information and Computing Service", je to slovní
hříčka na název MULTICS.) Později byl název pozměněn na UNIX.
V roce 1973 byl UNIX přepsán do jazyka C, aby byl snadno přenositelný mezi
platformami. Zdrojové texty UNIXu byly poskytnuty universitám (např.
universitě v Berkely). Vznikly dvě hlavní větve UNIXu:
• AT&T (původní verze od American Telephone and Telegraph
company) - dnes UNIX System V (od Unix System Laboratories)
• BSD (vytvořený na universitě v Berkeley; BSD = Berkeley Software
Distribution) - dnes UNIX BSD 4.4
V roce 1984 se začaly objevovat první pokusy o standardizaci UNIXu. Vzniklo
sdružení GNU (název GNU je rekursivní zkratka pro "GNU is Not UNIX").
Toto sdružení podporuje "svobodný software" a vytvořilo GPL (General Public
Licence), která je legislativním prostředkem pro zaručení "svobody" softwaru.
Později vznikla řada standardů POSIX (Portable Operating System Interface),
která popisuje obecný OS (standardy např. definují systémová volání, knihovní
funkce a chování programů v „POSIX kompatibilním“ operačním systému). I
přes tyto standardizační snahy je ve světě Unixu mnoho různých odchylek a
„vylepšení“. Přesto lze konstatovat, že POSIX spolu s dalšími standardy přinesl
potřebný řád.
V roce 1989 byl na bázi UNIX BSD uveden nový plně objektový operační
systém NeXTStep 1.0 s jádrem Mach (tento operační systém byl úzce svázán s
počítači NeXT). V roce 1996 firma NeXT vytvořila na základě částečně
přepracovaného NeXTStepu otevřený standard objektového API OpenStep,
který koncepčně vychází z původního NeXTStepu, výrazně však rozšiřuje jeho
služby. Na OpenStep pak navázala iniciativa GNUStep, jejíž snahou je vytvořit
API, konformní se standardem OpenStep, které by chodilo prakticky kdekoli a
bylo volně k dispozici v rámci licence GNU. V roce 1997 nakonec došlo k
113
Počítačové systémy
odkoupení firmy NeXT firmou Apple, která následně použila
NeXTStep/OpenStep 4.2 pro vývoj nového operačního systému pro počítače
Apple Macintosh.
V devadesátých letech začaly vznikat nekomerční systémy na bázi UNIXU. V
těchto letech vznikaly NetBSD, FreeBSD, OpenBSD (nekomerční UNIXy typu
BSD) a také LINUX (reprezentující dnes mezi nekomerčnímy systémy na bázi
UNIXU druhou větev Unixu zvanou System V).
V roce 1999, resp. 2000 firma Apple Computer uvedla nový komerční operační
systém Mac OS X server, resp. Mac OS X navazující na technologie
NextStepu/OpenStepu, který má unixové jádro Darwin (postavené na
technologiích jako FreeBSD nebo kernel Mach 3.0 ). Části Darwinu jsou Open
Source s licencí APL (Apple Public Licence) nebo GPL.
V současnosti se UNIX se využívá na universitách a v komerční informatice
(internetové aplikace, mobilní komunikace atd.), ale mezi běžnými uživateli
není rozšířen. Šíří se spíše UNIXové klony, resp. operační systémy typu UNIX.
Zde mezi nejvýznamnější patří Linux a Mac OS X.
7.3.3 Operační systémy Mac OS a Mac OS X
Historie operačního systému Mac OS sahá do roku 1977, kdy firma Apple
Computers vyprodukovala komerčně úspěšný počítač Apple II, první all-in
osobní počítač (v plastové krabici a s barevnou grafikou), resp. do roku 1983,
kdy byl uveden počítač Apple Lisa s OS LisaDesk na bázi GUI. Skutečný Mac
OS 1.0 však byl uveden na trh až v lednu roku 1984 spolu s prvním počítačem
Macintosh. Mac OS byl velmi pokrokovým operačním systémem a kromě GUI
obsahoval i další moderní prvky - ovládání myší, multitasking, multimedia,
podporu práce v sítích, atd.
Mac OS byl do roku 2002 postupně uveden v 9 verzích (poslední verze 9.2). V
roce 1991 vyšel v té době velmi pokročilý Mac OS 7 (jednalo se mimo jiné o
plně 32bitový systém). V roce 1994 Apple oznámil práce na zcela novém
operačním systému s kódovým označením Copland. Na svou dobu měl
Copland mnoho převratných designových prvků jako skutečné mikrojádro a
hardwarovou abstrakci. Projekt se však dostal po řadě peripetií do slepé uličky
a v srpnu 96 byl zrušen vývoj.
V té době však již byla potřeba nového OS značná - Mac OS 7 po 5 letech sice
procházel drobnými updaty (až k verzi systému 7.6), ale již nevyhovoval v
mnoha ohledech, od neplnohodnotného multi-taskingu po nestabilitu
posledních systémů 7.x (neuvedením Coplandu a uvedením Windows 95 od
Microsoftu Apple přišel o své vůdčí postavení u OS s GUI a u řady vlastností
OS byl Microsoftem předstižen). V roce 1997 byl proto Mac OS 7 nahrazen
Mac OS 8, do kterého byly začleněny některé technologie Coplandu a který do
značné míry vyřešil potřeby uživatelů. Mac OS 8.6 představil multitasking na
úrovni kernelu (jádra). V roce 1998 byl uveden Mac OS 9, který je ve formě
emulační vrstvy Classic spustitelný na Mac OS X dodnes. Mac OS 9 byl
vyvíjen až do roku 2002, kdy byla jeho poslední verze 9.2 nahrazena zcela
novým operačním systémem Mac OS X.
114
Počítačové systémy
Historie Mac OS X sahá do roku 1997, kdy Apple odkoupil společnost NeXT a
rozhodl se použít její OS NeXTSTEP (objektově orinetovaný operační systém
na bázi Unixu, vybavený vlastním grafickým rozhraním) jako základ pro svůj
nový OS Mac OS X. Mac OS X - na trhu od roku 2000 (Mac OS X server již
od roku 1999) - je moderní objektově orientovaný systém založený na
kvalitním a stabilním základu BSD Unix, vybavený novým vektorovým
grafickým rozhraním Aqua GUI. Uvedením Mac OS X Apple navázal na
někdejší úspěchy GUI Mac OS (i v současné době je vzhled rozhraní Mac OS
X - Aqua GUI napodobován dalšími výrobci operačních systémů a aplikací,
včetně Microsoftu). Mac OS X zajišťuje plnou kompatibilitu s aplikacemi
napsanými pro původní Mac OS 9.2 (aplikace lze nativně spouštět).
V pozadí nového uživatelského rozhraní stojí jádro OS Darwin, otevřená
základna na bázi UNIXu, postavená na takových technologiích jako Mach
nebo FreeBSD. Nad Darwinem/XNU stojí set služeb a knihoven, převzatých
většinou z NextStepu, které se starají o grafické rozhraní a uživatelské
aplikace. Mac OS X nabízí kompletní implementaci systému X Window pro
aplikace založené na X11 (umožňuje instalaci běžných Linuxových aplikací
pro prostředí X11).
Technologické vlastnosti Mac OS X umožňují emulovat chod původního Mac
OS 9.2 (nativní emulační vrstva Classic) i chod běžných emulátorů ostatních
platforem (Virtual PC; iEmulator; Workstation 2.1 od Parallels). Počítače
Apple Macintosh umožňují nativní provoz Linuxu a díky aktuálně
probíhajícímu přechodu na procesory Intel a technologii Boot Camp od Apple
umožňují rovněž nativní provoz Windows XP. Lze také očekávat spouštění PC
aplikací pod MacOS X (již existuje první kompilace WINE pro Intelovské
Macy). Mac OS X 10.4.4 lze nativně provozovat - na počítačích Apple
Macintosh - jak na PowerPC (IBM, Motorola) tak na x86 procesorech (Intel). Z
počítačů Apple Macintosh se tak postupně stává nejuniverzálnější platforma
pro běžného i profesionálního uživatele.
Po ukončení distribuce Mac OS 9 byl Mac OS X dosud vydán v následujících
verzích:
• Mac OS X 10.2 Jaguar (uveden v roce 2002)
• Mac OS X 10.3 Panther (uveden v roce 2003); označovaný za běžnými
uživateli první plně použitelný Mac OS X
• Mac OS X 10.4 Tiger (uveden v roce 2005); tento OS přinesl řadu
vylepšení, mimo jiné vyřešení některých problémů českých specifik
(např. přepínání klávesnice…).
• Mac OS, resp. MacOS X je možné spustit pouze na HW Apple, což
znamená dokonalé provázání SW a HW, neexistuje zde problém
s nekompatibilitou HW a SW. Apple zatím popírá záměr umožnit
provoz Mac OS X na běžných PC (nicméně přechodem na procesory
Intel již tomu nebrání žádná technická omezení a zůstávají pouze
omezení definovaná samotným Applem a BIOSem na PC).
Základní myšlenkou systému je jednoduchost a intuitivnost uživatelského
rozhraní - ergonomie Mac OS X je ve srovnání s jinými OS na vysoké úrovni;
výrazně jednodušší je mimo jiné i customizace OS, konfigurace např. internetu
115
Počítačové systémy
a sítí obecně (většinu úkonů je schopen provádět uživatel sám / není třeba
zásahu správce sítě).
Jednou z největších výhod tohoto OS je rovněž prakticky nulové množství virů
a spyware (Mac OS X je vůči virům z PC zcela imunní; specielní viry pro Mac
OS X prakticky neexistují mimo jiné i zásluhou nezajímavostí platformy pro
strůjce virů; jedinou známou výjimkou mohou být pouze macroviry v MS
Office). Reakce na bezpečnostní rizika v systému je velice rychlá – ve formě
updatů systému. Tento systém je tedy v současnosti velmi bezpečný – zejména
díky svému UNIX jádru. Podobně jako ostatní moderní systémy umožňuje
několik stupňů zabezpečení dat.
Nevýhodou je menší podpora ze strany výrobců a prodejců HW, nicméně
největší výrobci periferií tuto platformu standardně podporují (HP, Epson…) a
podpora se od doby uvedení Mac OS X rozšiřuje.
7.3.4 Operační systémy Linux
Situace okolo PC byla v 80. a 90. letech pro mnoho uživatelů natolik
neuspokojivá, že se některé firmy (a stejně tak vývojářská komunita) pustily do
vývoje vlastních OS nebo alespoň GUI pro DOS, které by odstranilo alespoň ty
největší nedostatky Dosu a Windows - uživatelskou nepřívětivost, množství
chyb, složitá síťová řešení, nepřítomnost multitaskingu a chybějící podpora
multimédií. Vznikaly různá řešení - řešení založená na MS-DOS, řešení nová
(např. OS/2) a řešení na bázi UNIXu (X Window System; GNU/Hurd;...). Jak
se však později ukázalo i po téměř 30 letech vývoje osobních počítačů je
dodnes stále jedním z nejlepších systém UNIX, resp. řešení na něm založená,
tzv. systémy typu UNIX. Nejnadějnějším systémem typu UNIX pro PC se stal
Linux, výtvor finského studenta Linuse Torvaldse, datovaný na 25.8.1991, kdy
Torvalds zaslal do diskuzní skupiny comp.os.minix příspěvek s předmětem
"What would you like to see most in minix?" o tom, že vyrábí free operační
systém.
Torvaldsův Linux v poslední době pomalu dospěl do fáze komerční
použitelnosti, zatím především jako síťový server, ale pomalu také jako systém
pro běžného uživatele. Již v roce 2000 začínají hlavní komerční prodejci PC
HW (Compaq, IBM, Dell, SGI, Fujitsu) prodávat desktop a laptop počítače s
předinstalovaným Linuxem. Linux se postupně stává úspěšným konkurentem
jak na serverech, kde úspěšně nahrazuje starší a hlavně drahé unixy, tak na
desktopových stanicích, kde začíná úspěšně konkurovat MS Windows.
Zatím ho však částečně deklasuje, že jeho vývojářská základna je naprosto
decentralizovaná. Fakt, že je Linux vyvíjen nepřehlédnutelným zástupem
programátorů ze všech koutů planety, sice umožňuje, že veškerá vylepšení jsou
rychle hotova a k dispozici, ale na druhé straně způsobuje nepřítomnost nějaké
přesnější vývojové linie. Linux tedy trpí nemocí, známou z Unixu - každý si ho
upravuje pro sebe, takže vzniká přehršel verzí až zmatek. Toto si uvědomují
dokonce i sami tvůrci Linuxu, takže se objevily snahy o jeho standardizaci zde existují dva koncepty: UnitedLinux a Linux Standard Base (LSB). Mimo
OpenSource řešení existují také komerční distribuce Linuxu, které se vyznačují
vyšší podporou ze strany výrobce.
116
Počítačové systémy
Dnes tedy existuje celá řada na kancelářských stanicích a serverech
využitelných distribucí OS Linuxu, jako např.:
• SuSE Linux. Distributor Linuxu s oficiální pobočkou v České
republice. SuSE Linux se dodává v několika jazykových verzích včetně
české. Distribuce je placená a zahrnuje rozsáhlou českou dokumentaci a
instalační podporu. Tuto distribuci převzala a dále vyvíjí fa Novell.
• RedHat Linux (a CZ verze). Začátkem roku 2001 nejrozšířenější
distribuce. Uživatelsky příjemná instalační procedura, program na
konfiguraci systému X-Window, prostředky pro administraci systému
přes X11, velké množství softwarových balíků.
• Debian GNU/Linux. Tato distribuce není vyvíjena jednou firmou - na
vývoji jednotlivých balíků této distribuce se podílejí lidé po celém
světě. Jde o jednu z mála nekomerčních distribucí Linuxu.
• Ubuntu Linux. Kvalitní distribuce, kde Ubuntu tým vydává novou
verzi Ubuntu každých šest měsíců. Vždy obsahuje poslední verze jádra,
X-Window systém, Gnome a dalších klíčových aplikací, a každá verze
má bezpečnostní podporu 18 měsíců. Tato distribuce vychází
z distribuce Debian, je však více zaměřena na běžné uživatele,
přecházející také z jiných OS.
• Další distribuce (Fedora; Linspire; Slackware Linux; Turbo Linux;
Linux Mandrake; Caldera Network Desktop, OpenLinux).
Jednou z největších výhod mnoha distribucí Linuxu je jeho nulová pořizovací
cena, stejně jako velké množství aplikací, které jsou pro tyto OS v rámci
opensource a GNU licencí vyvíjeny.
Linuxové distribuce nedosahují z hlediska uživatelského rozhraní takového
komfortu, jako Mac OS X, či Windows XP, nicméně při řádném zaškolení,
případně nenáročného způsobu použití (např. na obsluhu konkrétního procesu u
stolních počítačů) je pro kancelářské nasazení dobře použitelný, tento stav se
ovšem velmi rychle mění směrem k většímu uživatelskému komfortu.
Velkou výhodou tohoto systému je možnost takřka libovolného přizpůsobení
potřebám uživatele. Toto přizpůsobení si ovšem není schopen uživatel provádět
sám. Pro potřeby podpory je možné využití komerčních služeb mnoha firem.
Nevýhodou tohoto OS je nižší podpora komerčních aplikací (např. absence
podpory Microsoft Office), tato nevýhoda je ovšem vyvažována velkým
množstvím alternativního SW zdarma, který je často technologicky vyspělejší a
založen na uznávaných standardech. Další nevýhodou je také nižší podpora ze
strany výrobců periferií, obvykle však existují „neautorizované“ ovladače také
pro HW jejichž výrobci Linux přímo nepodporují.
Kontrolní otázky:
15. Vyjmenujte alespoň dva důvodu, proč znalost operačních systémů je
potřebná pro práci programátora?
16. Proč je operační systém rozhraním mezi uživatelem a hardware počítače?
17. Jaké jsou funkce BIOSu?
18. Ze kterých generických komponent se skládá operační systém?
117
Počítačové systémy
Úkoly k zamyšlení:
7. Zamyslete se nad výhodami a nevýhodami grafického (Windows) a
textového (MS DOS) rozhraní mezi uživatelem a operačním systémem?
Korespondenční úkol:
6. Představte si rozhraní člověka s počítačem řízeným hlasem. Napište některé
příkazy, které by musel operační systém interpretovat, aby mohl vykonávat
nejzákladnější funkce.
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili s důvody obecných znalostí principů
operačních systémů. Důraz v této kapitole byl kladen na pochopení rozhraní
člověk/stroj a proces/operační systém. Velká pozornost byla věnována
vysvětlení zájmů operačních systémů.
118
Počítačové systémy
8. Architektura operačních systémů
V této kapitole se dozvíte:
•
•
•
•
Z jakých generických komponent se skládají operační systémy?
Jaké jsou hlavní funkce jednotlivých komponent operačních systémů?
Jaké jsou základní algoritmy činnosti jednotlivých správců operačního
systému?
Jak jsou jednotlivé komponenty operačních systémů vzájemně
propojeny?
Po jejím prostudování byste měli být schopni:
•
•
•
•
Charakterizovat funkce jednotlivých částí operačních systémů.
Znát základní algoritmy činnosti jednotlivých správců operačního
systému.
Porozumět způsobům komunikace jednotlivých částí operačního
systému.
Popsat činnost operačního systému z hlediska funkcí jednotlivých částí
operačního systému.
Klíčová slova této kapitoly:
Správa procesoru, správa procesů, správa paměti, správa I/O systému, správa
sekundární paměti, správa souborů, networking, interpret příkazů, systém
ochran, multithreading, stavový model, plánovač, preemptivní plánování,
nepreemptivní plánování, kooperativní multitasking, ochrana paměti,
stránkování, segmentace, přerušení, DMA, sběrnice.
Doba potřebná ke studiu: 8 hodin
Průvodce studiem
Tato kapitola je nejnáročnějším tématem studijního textu a jsou v ní popsány
principy činnosti operačních systémů. Poměrně náročné téma je zejména pro ty
z Vás, kteří dosud nemají žádné znalosti z oblasti architektury operačních
systémů. V takovém případě Vám zřejmě některé principy funkcí operačních
systémů budou připadat obtížně pochopitelné, ovšem nenechte se tím odradit,
neboť pochopením této části jste pochopili, jak operační systémy pracují.
Na studium této části si vyhraďte alespoň 8 hodin. Doporučujeme studovat
s přestávkami vždy po pochopení jednotlivých podkapitol. Po celkovém
prostudování a vyřešení všech příkladů doporučujeme dát si pauzu, třeba 1
den, a pak se pusťte do vypracování korespondenčních úkolů.
Pro popis obecné architektury operačních systémů použijme model vrstvené
architektury uvedené v předchozím odstavci. Při studiu architektury operačních
systémů vycházíme z principu, že operační systém je „správce prostředků“, je
to soubor programů (algoritmů) vytvořených k ovládání systémových
prostředků tj. paměti, procesorů, periferních zařízení a souborů informací (tj.
programů a dat). Funkcí operačního systému je dbát, aby tyto prostředky byly
efektivně využívány, řešit konflikty vzniklé při „soutěžení“ o jednotlivé
prostředky mezi různými uživateli (mezi jejich programy). Operační systém
119
Počítačové systémy
musí sledovat stav každého prostředku, rozhodovat, kterému procesu bude
prostředek přidělen (v jakém rozsahu a na jak dlouho), prostředek přidělit
a případně žádat jeho navracení. Podle toho, jak dělíme prostředky, se dělí
i jejich správci. Na následujícím obrázku je naznačeno rozdělení operačního
systému na jednotlivé správce.
Uživatelské rozhraní - interpret příkazů
Networking
Správa souborů
Správa sekundární paměti
Správa I/O systému
Správa hlavní paměti
Správa procesů
S
y
s
t
é
m
o
c
h
r
a
n
Správa procesorů
Generické komponenty OS
Obecná architektura operačních systémů je budovaná na principech
hierarchických vrstev. Operační systém se dělí do jistého počtu vrstev (úrovní).
Každá vrstva je budována na funkcionalitě nižších vrstev tzn. že nejnižší vrstva
je tvořena hardwarem počítače a nejvyšší vrstva je vrstva uživatelského
rozhraní. Tím se řeší problém přílišné složitosti velkého systému. Nižší vrstva
nabízí vyšší vrstvě „primitivní“ funkce (služby) a přitom nižší vrstva nemůže
požadovat provedení služeb vyšší vrstvy. Používají se přesně definovaná
rozhraní umožňující v rámci jedné vrstvy jejich vlastnosti a funkčnosti
modifikovat, aniž to ovlivní ostatní vrstvy.
V klasickém operačním systému (z pohledu historického) jsou procesy jen
uživatelské programy a vlastní operační systém je prováděn jako samostatná
entita v privilegovaném režimu. K přepínání kontextu procesů dochází jen
tehdy, je-li to nutné z hlediska plánování.
V procesově konstruovaném operačním systému je vlastní operační systém
kolekcí systémových procesů. Funkcí jádra je procesy separovat a přitom jim
umožnit kooperovat. Minimum funkcí je třeba realizovat v privilegovaném
režimu, kdy jádro je pouze ústředna pro přepojování zpráv.
Samostatnou variantou operačního systému je realizace architekturou tzv.
mikrojádra, kde malé jádro plní pouze několik málo nezbytných funkcí, jako je
primitivní správa paměti (adresového prostoru), komunikaci mezi procesy
a základní plánování a správu I/O zařízení a přerušení. Ostatní služby jádra řeší
procesy (servery) běžící v uživatelském režimu. Jsou to ovladače, služby
systému souborů a virtualizace paměti. Výhody v architektuře mikrojádra jsou
120
Počítačové systémy
v pružnějším a snadněji rozšiřitelném řešení, lze doplňovat nové služby,
odstraňovat nepotřebné služby a všechny služby jsou poskytovány jednotně
(výměnou zpráv). Toto řešení je jednoduše přenositelné, tj. při implementaci na
nový procesor stačí změnit mikrojádro. Spolehlivějším řešením jsou různá
modulární řešení. Moduly jsou snadněji testovatelné a umožňují podporu
distribuovanosti tj. výměna zpráv je implementovatelná v síti i v jednom
systému.
V další části si stručně popíšeme hlavní funkce jednotlivých komponent
operačních systémů.
8.1 Správa procesorů/procesů
Správce procesoru má tyto funkce:
• sleduje prostředek (procesor a stav procesů),
• rozhoduje, komu bude dána možnost užít procesor,
• přiděluje procesu prostředek, tj. procesor,
• požaduje vrácení prostředku (procesoru).
Pod pojmem proces (task) chápejme provedení nějakého programu. Proces
potřebuje pro svoji realizaci jisté zdroje:
• doba procesoru,
• paměť,
• I/O zařízení, atd.
Operační systém je z hlediska správy procesů zodpovědný za:
• vytváření a rušení procesů,
• potlačení a obnovení procesů,
• poskytnutí mechanismů pro synchronizaci procesů a pro komunikaci
mezi procesy.
Operační systém je z hlediska správy procesorů zodpovědný za výběr procesu
běžícího na volném procesoru.
8.2 Správa (hlavní, operační) paměti
Správce paměti je úložiště připravených tj. rychle dostupných dat sdílených
procesorem a vstupními/výstupními zařízeními. Hlavní (operační, primární)
paměť je pole samostatně adresovatelných slov nebo bytů, zpravidla
energeticky závislá, tj. po výpadku napájení se data z ní ztrácí. Operační
systém je z hlediska správy (hlavní) paměti odpovědný za:
• vedení přehledu kdo a kterou část paměti v daném okamžiku využívá,
• rozhodování kterému procesu uspokojit jeho požadavek na prostor
paměti po uvolnění,
• přidělování a uvolňování paměti podle potřeby,
• řízení virtuální paměti.
Z hlediska těchto zodpovědností správce operační paměti:
• udržuje přehled o přidělené a volné paměti,
• ve spolupráci se správou procesů rozhoduje o tom, kterému procesu,
kolik, kde a kdy má přidělit operační paměť,
121
Počítačové systémy
•
•
provádí přidělení volné části paměti,
určuje strategii odnímání dříve přidělené operační paměti procesům
(opět po předchozí domluvě se správou procesů).
V této souvislosti několik poznámek k řízení tzv. virtuální paměti. K základním
problémům návrhu architektury počítače patří rozhodnutí, jak se bude
zobrazovat tzv. logický adresový prostor – LAP, do tzv. fyzického adresového
prostoru – FAP. Uživatel vidí logický adresní prostor – LAP. Programy a data
z LAP jsou do fyzického adresního prostoru - FAP zaváděny podle potřeby.
LAP je vymezen množinou adres určenou počtem bitů vnitřní adresní sběrnice.
Obvykle je jednodimenzionální. S dvoudimenzionální strukturalizací LAP se
setkáme u kolekce samostatných lineárních segmentů (proměnné délky).
V takovém případě bude adresa paměťového místa tvořena dvěma složkami.
Fyzický adresový prostor FAP je vymezen množinou adres určenou počtem
bitů vnější adresní sběrnice počítače. FAP je určen velikostí operační paměti.
Zobrazení LAP do dostupného FAP se provádí pomocí hardware (Dynamic
Address Tranlation – DAT, Memory Management Unit - MMU). Tyto
prostředky musí řešit různé konflikty. Např. při odkázání místa s adresou LAP,
které není zobrazeno ve FAP se ve FAP nalezne (vytvoří) volný blok a na toto
místo se zavede blok z obrazu LAP s požadovanou informací.
8.3 Správa I/O systému
Správce periferních zařízení (vstupního/výstupního systému) má tyto funkce:
• sleduje stav prostředků (periferních zařízení, jejich řídících jednotek),
• rozhoduje o efektivním způsobu přidělování prostředku – periferního
zařízení,
• přiřazuje prostředek (periferní zařízení) a zahajuje I/O operaci,
• požaduje navracení prostředku.
Z hlediska funkce operačního systému lze správce I/O systému chápat jako:
• úložiště vyrovnávacích pamětí,
• univerzální rozhraní ovladače I/O zařízení,
• ovladače jednotlivých hardwarových I/O zařízení.
Do správy I/O systému patří i správa vnější (sekundární) paměti. Počítačový
systém musí poskytnout pro zálohování hlavní paměti sekundární paměť,
v poslední době nejvíce používané pevné disky (hard disky) s perspektivou
přechodu na velkokapacitní paměti typu „flashů. Operační systém je z hlediska
správy vnější (sekundární) paměti odpovědný za:
• správu volné paměti,
• přidělování paměti,
• plánování činnosti disku.
8.4 Správa souborů
Správce souborů má tyto funkce:
• sleduje prostředek (soubor), jeho umístění, užití, stav atd.,
122
Počítačové systémy
•
•
•
rozhoduje, komu budou prostředky přiděleny, realizuje požadavky na
ochranu informací uložených v souborech a realizuje operace přístupu
k souborům,
přiděluje prostředek, tj. otevírá soubor,
uvolňuje prostředek, tj. uzavírá soubor.
Pod pojmem soubor chápeme jak programy, tak data. Operační systém je
z hlediska správy souborů odpovědný za:
• vytváření a rušení souborů,
• vytváření a rušení adresářů (katalogů, složek),
• podporu primitivních operací pro manipulaci se soubory a s adresáři,
• zobrazení souborů do sekundární paměti,
• archivování souborů na energeticky nezávislá média.
8.5 Networking, distribuované systémy
Pod pojmem distribuovaný systém chápeme kolekci procesorů, které nesdílejí
ani fyzickou paměť ani hodiny, synchronizující činnost procesoru. Každý
procesor má svoji lokální paměť a lokální hodiny. Procesory distribuovaného
systému jsou propojeny komunikační sítí. Komunikace jsou řízeny protokoly.
Distribuovaný systém uživateli zprostředkovává přístup k různým zdrojům
systému.
8.6 Systém ochran
Pod pojmem systém ochran rozumíme mechanismy pro řízení přístupu
k systémovým a uživatelským zdrojům. Systém ochran musí:
• rozlišovat mezi autorizovaným a neautorizovaným použitím,
• specifikovat problém vnucovaného řízení,
• poskytnou prostředky pro své prosazení.
8.7 Uživatelské rozhraní - interpret příkazů
Interpret příkazů je program, umožňující vykonávat příkazy pro:
• správu a vytváření procesů - služby operačního systému poskytované
interpretem příkazů slouží k provedení programu, tj. k schopnosti
operačního systému zavést program do hlavní paměti a spustit jeho běh,
• ovládání I/O zařízení - uživatelský program nesmí provádět I/O operace
přímo, operační systém musí poskytovat prostředky k provádění I/O
operací,
• správu sekundární paměti - manipulace se systémem souborů,
schopnost číst, zapisovat, vytvářet a rušit soubory,
• správu hlavní paměti,
• zpřístupňování souborů,
• ochranu – tj. detekci chyb v procesoru a paměti, I/O zařízeních
a v programech uživatelů pro zajištění správnosti výpočtu,
• práci v síti - výměna informací mezi procesy realizovaná buďto v rámci
jednoho počítače nebo mezi různými počítači pomocí sítě, tj.
implementace sdílenou pamětí nebo předáváním zpráv.
123
Počítačové systémy
Tento program se nazývá příkazový interpret. Jeho funkcí je získávat
a provádět příští příkaz.
Uživatelská rozhraní jsou realizovaná znakově (někdy označované řádkově)
nebo graficky. Znakově orientovaným interpretům zadáváme příkazy pomocí
klíčových slov, graficky orientovaným pomocí poklepání myši nebo dotykem
na dotykové obrazovce na ikonu, pomocí dialogů apod.
8.8 Vnitřní služby operačního systému
Vnitřní služby operačního systému nejsou určeny k tomu, aby pomáhaly
uživateli, v prvé řadě slouží pro zabezpečení efektivního provozu systému, tj.
slouží pro:
• Přidělování prostředků (zdrojů) mezi více souběžně operujících
uživatelů nebo úloh.
• Účtování a udržování přehledu o tom, kolik jakých zdrojů systému
který uživatel používá. Cílem je účtování za služby a sběr statistik pro
plánování.
• Ochranu tj. péči o to, aby veškerý přístup k systémovým zdrojům byl
pod kontrolou.
Vnitřní služby operačního systému jsou obecně realizovány souborem
systémových programů vytvářejících určité systémové struktury tzv. virtuální
stroje. Typickými službami jsou programy pro:
• práci se soubory, editaci souborů, katalogizaci souborů, modifikaci
souborů,
• získávání, definování a údržbu systémových informací,
• podporu jazykových prostředí,
• zavádění a provádění programů,
• komunikace a řízení aplikačních programů.
Kontrolní otázky:
1. Ze jakých generických komponent se skládají operační systémy?
2. Jaké jsou hlavní funkce jednotlivých komponent operačních systémů?
3. Jaké jsou základní algoritmy činnosti jednotlivých správců operačního
systému?
4. Jak jsou jednotlivé komponenty operačních systémů vzájemně propojeny?
5. Které zdroje potřebuje operační systém pro svoji činnost?
Úkoly k zamyšlení:
1. Rozeznáváme tři druhy plánování procesů: krátkodobé, střednědobé a
dlouhodobé. Pokuste se rozhodnout ve které úrovni 5-stavového diagramu
jednotlivé plánovače pracují.
Korespondenční úkol:
Prostudujte příručku nějakého operačního systému a odpovězte na tyto otázky:
a. Za jakých základních komponent se operační systém skládá?
b. Jakými metodami obsluhuje vybraný OS periferní zařízení?
c. Jaký systém souborů využívá a jaké atributy souborů uchovává?
d. V jakém jazyku je OS napsán?
124
Počítačové systémy
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili s jednotlivými generickými komponentami
operačních systémů, s jejich hlavními funkcemi a základními algoritmy
činnosti jednotlivých správců operačních systémů. Důraz byl kladen na
pochopení vzájemné komunikace jednotlivých částí operačních systémů. Velká
pozornost byla věnována komplexnímu pochopení činnosti operačních
systémů.
125
Počítačové systémy
9. Algoritmy činnosti jednotlivých správců
operačního systému
V této kapitole se dozvíte:
•
•
•
•
Z jakých generických komponent se skládají operační systémy?
Jaké jsou hlavní funkce jednotlivých komponent operačních systémů?
Jaké jsou základní algoritmy činnosti jednotlivých správců operačního
systému?
Jak jsou jednotlivé komponenty operačních systémů vzájemně
propojeny?
Po jejím prostudování byste měli být schopni:
•
•
•
•
Charakterizovat funkce jednotlivých částí operačních systémů.
Znát základní algoritmy činnosti jednotlivých správců operačního
systému.
Porozumět způsobům komunikace jednotlivých částí operačního
systému.
Popsat činnost operačního systému z hlediska funkcí jednotlivých částí
operačního systému.
Klíčová slova této kapitoly:
Správa procesoru, správa procesů, správa paměti, správa I/O systému, správa
sekundární paměti, správa souborů, networking, interpret příkazů, systém
ochran, multithreading, stavový model, plánovač, preemptivní plánování,
nepreemptivní plánování, kooperativní multitasking, ochrana paměti,
stránkování, segmentace, přerušení, DMA, sběrnice.
Doba potřebná ke studiu: 8 hodin
Průvodce studiem
Tato kapitola je nejnáročnějším tématem studijního textu a jsou v ní popsány
principy činnosti operačních systémů. Poměrně náročné téma je zejména pro ty
z Vás, kteří dosud nemají žádné znalosti z oblasti architektury operačních
systémů. V takovém případě Vám zřejmě některé principy funkcí operačních
systémů budou připadat obtížně pochopitelné, ovšem nenechte se tím odradit,
neboť pochopením této části jste pochopili, jak operační systémy pracují.
Na studium této části si vyhraďte alespoň 8 hodin. Doporučujeme studovat
s přestávkami vždy po pochopení jednotlivých podkapitol. Po celkovém
prostudování a vyřešení všech příkladů doporučujeme dát si pauzu, třeba 1
den, a pak se pusťte do vypracování korespondenčních úkolů.
Pro popis obecné architektury operačních systémů použijme model vrstvené
architektury uvedené v předchozím odstavci. Při studiu architektury operačních
systémů vycházíme z principu, že operační systém je „správce prostředků“, je
to soubor programů (algoritmů) vytvořených k ovládání systémových
prostředků tj. paměti, procesorů, periferních zařízení a souborů informací (tj.
programů a dat). Funkcí operačního systému je dbát, aby tyto prostředky byly
126
Počítačové systémy
efektivně využívány, řešit konflikty vzniklé při „soutěžení“ o jednotlivé
prostředky mezi různými uživateli (mezi jejich programy). Operační systém
musí sledovat stav každého prostředku, rozhodovat, kterému procesu bude
prostředek přidělen (v jakém rozsahu a na jak dlouho), prostředek přidělit
a případně žádat jeho navracení. Podle toho, jak dělíme prostředky, se dělí
i jejich správci. Na následujícím obrázku je naznačeno rozdělení operačního
systému na jednotlivé správce.
Interpret příkazů
Networking
Správa souborů
Správa sekundární paměti
Správa I/O systému
Správa hlavní paměti
Správa procesů
S
y
s
t
é
m
o
c
h
r
a
n
Správa procesorů
Generické komponenty OS
V další části si popíšeme hlavní funkce jednotlivých komponent operačních
systémů.
9.1 Správa procesorů/procesů
Správce procesoru má tyto funkce:
•
•
•
•
sleduje prostředek (procesor a stav procesů),
rozhoduje, komu bude dána možnost užít procesor,
přiděluje procesu prostředek, tj. procesor,
požaduje vrácení prostředku (procesoru).
Pod pojmem proces (task) chápejme provedení nějakého programu. Proces
potřebuje pro svoji realizaci jisté zdroje:
•
•
•
doba procesoru,
paměť,
I/O zařízení, atd.
127
Počítačové systémy
Operační systém je z hlediska správy procesů zodpovědný za:
•
•
•
vytváření a rušení procesů,
potlačení a obnovení procesů,
poskytnutí mechanismů pro synchronizaci procesů a pro komunikaci
mezi procesy.
Operační systém je z hlediska správy procesorů zodpovědný za výběr procesu
běžícího na volném procesoru.
Správa procesů a s tím související správa procesoru patří mezi
nejkomplikovanější části operačního systému. Pro pochopení funkcí správce si
nejdříve vysvětlíme některé pojmy.
Pod pojmem program budeme chápat zápis algoritmu v nějakém
programovacím jazyce (například ve strojovém kódu). Předpokládejme, že je
statický, neměnný (neuvažujeme-li vývoj nových verzí programů).
Proces (process, task) je pak běžící program, tvořený neměnným kódem,
konstantami a proměnnými daty, jako jsou stav procesoru, data na zásobníku,
globální proměnné, halda, soubory atd.
Pro běh procesu jsou nutné následující zdroje systému:
•
•
•
procesor,
vnitřní paměť,
další prostředky (I/O zařízení, soubory apod.).
Základní členění operačních systémů z hlediska počtu pracujících uživatelů
a počtu paralelně pracujících úloh (procesů) je zřejmé z následující tabulky.
Systém
Jednouživatelský
Víceuživatelský
Jednoúlohový MS-DOS, CP/M
(stanice v Novellu), Intellec SIV
Víceúlohový Windows, Finder (MacOS) Unix, VM/S
Klasifikace OS z hlediska stupně paralelnosti práce:
• Jednouživatelské jednoúlohové - s podporou OS se zpracovává pouze
jeden proces a to trvale.
• Jednouživatelské víceúlohové - jeden uživatel má současně spuštěno
více aplikací (např. na pozadí probíhá náročný výpočet a současně s tím
uživatel edituje nějaký soubor).
Klasifikace OS z hlediska stupně paralelnosti práce:
• Víceuživatelské víceúlohové - více uživatelů sdílí tytéž prostředky.
Někdy se označují jako OS se sdílením času.
• Systémy s reálným časem - je to vlastně varianta předchozích dvou
typů určená pro řízení technologických procesů.
128
Počítačové systémy
Víceúlohový systém zpravidla vytváří iluzi, že jednotlivé procesy mají celý
systém pro sebe; odizolovává procesy od sebe navzájem. Na druhou stranu je
někdy potřeba, aby spolu mohly procesy spolupracovat. Klasické procesy mají
oddělené adresní prostory. Pokud spolu chtějí komunikovat, musí použít
prostředky poskytované operačním systémem.
Multitasking může usnadnit programování - příkladem jsou například síťové
servery, které obsluhují několik klientů současně. Při klasickém
naprogramování pomocí jednoho procesu by tento proces byl tvořen velkou
smyčkou, ve které by se přijímaly požadavky klientů a postupně se vyřizovaly.
Umožňuje-li systém vytváření podřízených procesů (child process, potomek),
může server fungovat tak, že při příchodu požadavku od klienta server odštěpí
(fork) podproces. Původní proces bude nadále čekat na další požadavky
klientů. Potomek obslouží klienta a skončí.
Thread (lightweight process) - elementární proces, vlákno řízení = "vylehčený
proces". Některé systémy podporují tzv. multithreading - umožňují, aby se
jeden "těžký" proces skládal z více vláken řízení - threadů. Thready jednoho
procesu sdílejí adresní prostor paměti a mohou spolu komunikovat pomocí
sdílené paměti. Nepodporuje-li systém multithreading, znamená to, že každý
proces je tvořen právě jedním threadem. Výhodou threadů je nižší režie při
přepínání mezi thready a snažší spolupráce mezi thready (než mezi dvěma
procesy). Každý thread má samostatný zásobník a udržuje se pro něj stav
procesoru (včetně programového čítače).
Životní cyklus procesu v operačním systému lze charakterizovat pomocí
přechodů mezi stavy procesu. Grafickým vyjádřením těchto přechodů mezi
stavy jsou stavové modely. Základním vyjádřením cyklu procesu je
dvoustavový model, zobrazený na následujícím obrázku.
vytvoření
ukončení
Spuštění
běžící
neběžící
Potlačení
2 – stavový model
Proces je vytvořen buď příkazem uživatele (u terminálu) nebo na žádost
operačního systému o provedení služby či na žádost jiného procesu (rodiče).
Takto vytvořený proces je ve stavu „neběžícím“. Spuštěním procesu, na
základě plánovacího algoritmu přechází proces do stavu „běžící“. Tento proces
může být ukončen normálně, tj. byl celý proveden, nebo násilně vypršením
časového limitu či uživatelem, provedením chybné instrukce, chybou V/V
129
Počítačové systémy
zařízení, porušením ochrany paměti, nebo na žádost rodiče apod. „Běžící“
proces může být potlačen na základě časového limitu, vyšší prioritou apod.
a přechází do stavu neběžící. Z hlediska implementace je zřejmé, že ve stavu
„běžící“ může být jen jeden proces realizován jedním procesorem, kdežto ve
stavu „neběžícím“ může být více procesů zařazených do fronty.
vytvoření
spuštění
fronta
ukončení
procesor
potlačení
2 stavový model - formální
Z tohoto pohledu je přesnější vyjádření stavového modelu pomocí tří stavů, jak
je zřejmé z následujícího obrázku.
Procesu je
přiřazen
procesor
vytvoření
připravený
ukončení
běžící
Proces musí
čekat na
dokončení I/O
nebo jinou
událost
I/O nebo jiná
událost je
ukončena
čekající
ukončení
3 – stavový model
Ve stavu „běžící“ (running) je procesu přidělen procesor a právě se provádí
příslušné programy. Stav „čekající“ (waiting) vyjadřuje, že proces čeká na
určitou událost, např. dokončení I/O operace. Stav „připravený“ (ready)
charakterizuje proces připravený k vykonání a čeká pouze na přidělení
procesoru.
Popišme si nyní průchod stavovým modelem úlohy, využívající I/O operaci.
Je-li úloha ve stavu „běžící“ a žádá o čtení ze souboru (nebo jinou I/O operaci),
130
Počítačové systémy
modul správy souborů volá modul přidělování periferií, aby zahájil čtení (nebo
jinou I/O operaci). Modul přidělování periferií ji zahájí a zároveň požádá
plánovač procesu, aby proces převedl do stavu „čekající“. Je-li I/O operace
dokončena, je patřičný signál přerušení vyhodnocen jako žádost o navrácení
úlohy do stavu připraven. Pokud je úloha ve stavu „běžící“ dokončena, modul
přidělování periferií ji odebere přidělené periferie, modul přidělování paměti
uvolní paměť, která byla úloze alokována a plánovač procesu ji odebere
procesor. Tím je výpočet úlohy ukončen.
Pro definici a správu procesů využívá operační systém tabulky, obsahující
potřebné informace o stav procesu. Každý běžící proces je realizací programu,
který je interpretací instrukcí uložených v paměti. Adresa právě prováděné
instrukce je zapsána v čítači instrukcí a v návaznosti na předchozí instrukce je
mnohdy modifikována obsahem registrů procesoru. V nejjednodušším případě
pak stačí o každém procesu uchovat právě čítač instrukcí a registry procesoru.
Pro plánování procesů je třeba uchovávat informace potřebné pro spuštění
procesu na CPU, informace potřebné pro správu paměti a informace potřebné
pro správu I/O. Informace se vkládají do front pro plánování procesů. Fronta
úloh je množina všech procesů v systému. Těchto front může být více:
•
•
•
•
fronta připravených procesů (ready) což je množina procesů sídlících
v hlavní paměti a připravených k běhu,
fronta na zařízení což je množina procesů čekajících I/O zařízení,
fronta odložených procesů charakterizovaná množinou procesů
čekajících na přidělení místa v hlavní paměti,
fronta na semafor realizovaná množinou procesů čekajících
synchronizační událost.
V souvislosti s plánováním procesů se setkáváme ještě s jedním modelem
umožňujícím odkládání procesů (swapping). Každý proces, aby byl procesem,
se jednou musí dostat do operační paměti (alespoň částečně). S omezenou
kapacitou operační paměti musí existovat nástroj který umožňuje umístit do
paměti více procesů. Jedním nástrojem je virtuální paměť, tj. rozšíření
fyzického adresního prostoru na logický. Příliš mnoho procesů v operační
paměti však snižuje výkonnost. Proto operační systémy umožňují provádění
některých procesů odložit mimo adresní prostor operační paměti např. na disk.
Stavový model se pak rozšíří o další dva stavy – „odložený čekající“,
„odložený připravený“ – viz následující obrázek.
131
Počítačové systémy
vytvoření
spuštění
ukončení
běžící
připravený
Čas,
priorita
obnova
Aktivace
– vznik
události
odložení
Potlačení –
čekání na
událost
ukončení
Odložený
připravený
čekající
Aktivace
– vznik
události
odložení
Odložený
čekající
5-stavový model procesů
Vyjděme z předpokladu, že všechny procesy jsou čekající a operační systém
vytváří prostor pro přidělení běžícímu procesu. Odložené procesy uvolňují
operační paměť v případě, že je mnoho čekajících procesů nebo vlastník
procesu si to přeje nebo předpisuje to časový plán či si to přeje rodič z důvodu
synchronizace sourozenců. Pak procesy přecházejí do stavu „odložený
čekající“. V případě, že se stala očekávaná událost (např. stavovou informaci
má operační systém přístupnou) přechází proces ze stavu „odložený čekající“
do stavu „odložený připravený“. V případě, že se fronta připravených se
vyprázdnila (nebo alespoň téměř vyprázdnila), pak přechází proces ze stavu
„odložený připravený“ do stavu „připravený“.
Plánovač CPU je program, který vybírá z procesů, sídlících v hlavní paměti
a těmi, které jsou připravené k běhu – ve stavu ready. Tento plánovač může
vydat plánovací rozhodnutí v okamžiku, kdy proces:
1. Přechází ze stavu běžící do stavu čekající.
2. Přechází ze stavu běžící do stavu připravený.
3. Přechází ze stavu čekající do stavu připravený.
4. Končí.
Případy 1 a 4 se označují jako „nepreemptivní“ plánování (plánování bez
předbíhání).
Případy 2 a 3 se označují jako „preemptivní“ plánování (plánování
s předbíháním).
132
Počítačové systémy
Ve víceúlohových systémech při plánování procesoru mohou nastat
v následující situace:
•
•
•
•
Pokud některý proces přejde ze stavu běžící do stavu blokovaný (čekání
na I/O operaci, semafor, čekání na uplynutí zadaného časového
intervalu, čekání na ukončení procesu-potomka) pak hovoříme
o nepreemptivním plánování CPU (procesů).
Pokud některý proces skončí pak hovoříme taktéž o nepreemptivní
plánování CPU (procesů).
Pokud je některý proces převeden ze stavu běžící do stavu připravený
pak hovoříme o preemptivní plánování CPU.
Pokud některý proces přejde ze stavu čekající do stavu připravený pak
hovoříme o systémech reálného času.
Operační systém koordinuje činnost všech prostředků počítačového systému
při současné práci na několika procesech (programech). Tato činnost je
naznačena na následujícím obrázku.
Vstupní fronta programů
(Požadavku na zpracování)
...
PLÁNOVAČ
ÚLOHY VYBRANÉ
KE ZPRACOVÁNÍ
.
.
.
ŽÁDOSTI O
PŘERUŠ.
SUPERVIZOR
PROCESOR
OP. PAMĚŤ
PERIFERNÍ ZAŘÍZENÍ
PROSTŘEDKY SYSTÉMU
Řízení multiprogramového zpracování
Supervizor udržuje přehled o stavu všech systémových prostředků (procesoru,
operační paměti, vnějších pamětí, vstupních a výstupních zařízeni), tj. zda jsou
připojena nebo odpojena, mají-li poruchu, jsou-li volné nebo obsazené o řídí
jejích činnost. U paměti vede tabulku volných a obsazených oblastí. Volné
zařízení a oblasti pamětí přiděluje programům vybraným ke zpracování. Po
dokončeném zpracování, o němž dostává informaci signálem přerušení,
zajišťuje obsluhu požadavku na přerušení s příp. uvolnění systémového (-vých)
prostředku(ů) a jeho (jejich) přidělení jinému programu (úloze), čekajícímu na
obsluhu. Kromě toho obsluhuje/řeší i mimořádné stavy v systému.
Úkolem plánovače je vybírat vstupní požadavky (programy) ke zpracování na
základě zjištěných potřebných prostředků pro ně a dávat podnět k zavádění
vybraných požadavků do operační paměti, čímž se z nich vytvářejí úlohy
připravené ke zpracování procesorem.
Plánovač vybírá požadavky podle zvolené strategie a zaznamenává pro ně
podle zadáni potřebné prostředky k jejich provádění: programy, data,
vyhrazené oblasti operační i vnějších pamětí, vstupní a výstupní zařízení.
Informace o přidělených prostředcích zaznamenává plánovač do tabulek.
Program, který získá všechny potřebné prostředky, se stává úlohou vybranou
133
Počítačové systémy
ke zpracování v počítači pod řízením supervizoru.
Supervizor opouští úlohu tím, že odpovídající program zavede do operační
paměti. Uvolní-1i se procesor, zahájí se výpočet úlohy, který probíhá dokud se
nevyskytne potřeba vstupu nebe výstupu informace. Takový požadavek
dostane supervizor a obslouží ho tak, že zahájí činnost potřebného přiděleného
vnějšího zařízení. Úloha čeká na dokončení vstupu/výstupu a supervizor přidělí
procesor jiné úloze, která čeká na výpočet. Ukončení vstupní/výstupní operace
se oznamuje supervizoru, jenž převede úlohu do stavu čekání na výpočet
v procesoru. Když skončí zpracování nějaké úlohy, supervizor žádá plánovač
o přípravu dalšího požadavku ke zpracování. Plánovací algoritmy se vybírají
vždy s jistým cílem. V daných podmínkách mají zajišťovat optimální využití
prostředků systému, minimální dobu odpovědi ap. Proto je v řadě případů
nutno, kromě přidělení prostředků a výběru ú1ohy ke zpracování, také stanovit
časový interval vymezený pro zpracování.
Všimneme si nejjednodušších plánovacích algoritmů a s nimi souvisejících
charakteristických veličin a vlastností procesů, na základě kterých plánovač
rozhoduje, kterému procesu přidělí procesor. Charakteristické veličiny mohou
být:
toi - okamžik příchodu (vytvoření) i-tého procesu,
ti - doba potřebná k provedení i-tého procesu,
tdi -doba zbývající na dokončení i-tého procesu,
Pi - statická priorita i-tého procesu (nejnižší hodnota nejvyšší přednost),
tbi - doba dosavadního běhu programu (tbi <= ti),
∆ti - přidělený časový interval.
Plánovací algoritmy, které využívají výše uvedené charakteristické veličiny
jsou shrnuty v tabulce:
Typ
Využívá
charakteristickou
veličinu
FCFS, také FIFO (first come first served / First in - first out)
toi
SXFS (shortest execution first served)
ti
LCFS (least completed - first
served)
tbi
EDFS (earliest - due-time fisrst
served)
tdi
134
Princip
řádný frontový režim
proces s nejkratší dobou
provádění, je první
obsloužen
přednostně se obsluhuje
proces, který zatím běžel
nejkratší dobu
přednostně se obsluhuje
proces, kterému zbývá
nejméně času na dokončení,
tj. do okamžiku, kdy musí
Počítačové systémy
být dokončen
HSFS (highest static priority
first served)
Pi
RR (round-robin)
∆ti
přednostně se obsluhuje
proces s nejvyšší statickou
prioritou
cyklická obsluha procesů po
časových intervalech
Rozeznáváme tři druhy plánování procesů (process scheduling):
•
•
•
krátkodobé (short-term), CPU scheduling (plánování procesoru): výběr
kterému z připravených procesů bude přidělen procesor, ve všech
víceúlohových systémech,
střednědobé (medium-term): výběr který blokovaný nebo připravený
proces bude odsunut z vnitřní paměti na disk, je-li vnitřní paměti
nedostatek (swap out, roll out),
dlouhodobé (long-term), job scheduling (plánování prací, úloh): výběr,
která úloha bude spuštěna (má význam zejména při dávkovém
zpracování). Účelem je namixovat úlohy tak, aby byl počítač co nejvíce
vytížen (třídy úloh dle náročnosti).
V jednotlivých OS se nemusí nutně používat všechny tři druhy plánování
procesů. V některých případech je například plánování úloh zjednodušeno na
pravidlo: pokud je dostatek zdrojů OS, spusť proces.
Předpokládejme, že výpočetní systém je vybaven jedním procesorem. Není
tedy technicky možné, aby na jednom procesoru mohlo najednou běžet několik
programů. Operační systém musí současný běh programů simulovat a tak
plánovat přidělování jednoho procesoru několika procesům. Plánování
procesoru se používá ve víceúlohových systémech. Může nastat v následujících
situacích:
•
•
•
•
pokud některý proces přejde ze stavu běžící do stavu blokovaný (čekání
na I/O operaci, semafor, čekání na uplynutí zadaného časového
intervalu, čekání na ukončení procesu-potomka),
pokud některý proces skončí,
pokud je některý proces převeden ze stavu běžící do stavu připravený,
pokud některý proces přejde ze stavu čekající do stavu připravený.
Jestliže k plánování procesoru dochází pouze v prvních dvou výše uvedených
případech, říkáme, že OS používá nepreemptivní plánování CPU (procesů).
Jinak říkáme, že OS používá preemptivní plánování CPU. Přeplánování
procesoru v posledním uvedeném případě se používá zřídka (například
u systémů reálného času).
Multitaskový operační systém umožňuje současný běh několika programů.
Přepínání programů (task switching) je předchůdcem kooperativního
multitaskingu a může být realizován dvěma způsoby:
135
Počítačové systémy
S omezeným přepínáním programů je možné přepínat jen mezi jedním
„normálním“ programem - říká se mu hlavní program - a několika
speciálními programy vytvořenými zvláštním způsobem výhradně pro
přepínání.
S neomezeným přepínáním umožňují spuštění několika „normálních“
programů a přepínání mezi nimi .
Proces, který právě běží, musí pravidelně volat systémovou službu, kterou dává
najevo, že může být přerušen (tato služba bývá kombinována s jinými službami
systému). Dokud si uživatel nevyžádá přepnutí na jiný proces, nedělá tato
služba nic (nebo pouze provede systémovou službu, se kterou je
kombinována). Vyžádá-li si uživatel přepnutí procesů, zajistí zmíněná služba
při nejbližším vyvolání přepnutí kontextu. Po jejím ukončení tedy již běží nový
proces a dosud aktivní proces čeká, až bude znovu aktivován.
Kooperativní multitaskový operační systém využívá přepínání mezi
procesem na popředí (foreground) a procesy na pozadí (background). Výhodou
je lepší využití procesoru, tzn. doba, kdy procesor čeká, vyplní zpracováním
jiného procesu. Nevýhodou je zpomalení procesu na popředí a proto je
nepoužitelný na realizaci paralelních úloh (správa sítě, komunikace
prostřednictvím sériového rozhraní apod.). Chyba v aktivním procesu vede
totiž k nekonečné smyčce.
V případě nepreemptivního plánování se proces musí procesoru sám vzdát.
Pokud má být doba, po kterou je proces ve stavu běžící, omezená, je nutné, aby
proces kontroloval časovač a po překročení stanovené doby se dobrovolně
vzdal procesoru vyvoláním služby OS, která je k tomuto účelu určena.
Výhodou je, že proces nemůže být přerušen, pokud nechce (například
v kritické sekci viz dále). Nevýhodou je, že špatně chovající se proces může
zablokovat celý OS. Takto fungují například MS-Windows.
V případě preemptivního plánování OS může odebrat procesu procesor.
Zpravidla se tak děje při uplynutí časového kvanta určeného pro běh procesu
a celá akce je vyvolána přerušením od časovače. Příkladem OS, který používá
preemptivní plánování je OS Unix.
Strategie použitá pro výběr, kterému z připravených procesů bude přidělen
procesor, bývá tvůrci operačního systému vybírána podle těchto kritérií:
•
•
•
•
•
136
spravedlnost: každý proces dostane spravedlivý díl času procesoru,
efektivita: udržovat maximální vytížení procesoru, příp. jiné části
systému,
čas odezvy: minimalizovat dobu odezvy pro interaktivní uživatele,
doba obrátky: minimalizovat dobu zpracování každé dávkové úlohy,
průchodnost: maximalizovat množství úloh zpracovaných za jednotku
času.
Počítačové systémy
Podle toho, které z těchto vlastností brali tvůrci systému v úvahu a jakou váhu
jim přikládali, používají různé operační systému různé strategie plánování
procesoru.
FCFS (first come, first served - kdo dřív přijde, ten je dříve obsloužen):
procesy přicházející do stavu připravený jsou umísťovány na konec fronty typu
FIFO (first in first out). Při plánování procesoru se procesor přidělí tomu
procesu, který je ve frontě první. Tuto strategii je možné používat při
preemptivním i nepreemptivním plánování procesoru.
Dalším algoritmem je plánování Shortest-Job-First (SJF). S každým
procesem se spojí délka jeho příští CPU dávky. Vybírá se proces s nejkratší
dobou dávky CPU přičemž docílíme dvou variant:
- Nepreemptivní, bez předbíhání – jakmile se CPU předá vybranému
procesu, tento nemůže být předběhnut žádným jiným procesem, dokud dávku
CPU nedokončí.
- Preemptivní, s předbíháním – jakmile se ve frontě připravených objeví
proces s délkou dávky CPU kratší než je doba zbývající k dokončení dávky
právě běžícího procesu, právě běžící proces je ve využívání CPU předběhnut
novým procesem (Shortest-Remaining-Time-First – SRTF).
SJF je optimální algoritmus, pro danou množinu procesů dává minimální
průměrnou dobu čekání.
Při prioritním plánování je s každým procesem spojeno prioritní číslo přičemž
prioritní číslo vyjadřuje preference procesu pro výběr příště běžícího procesu.
CPU se přiděluje procesu s nejvyšší prioritou a této nejvyšší prioritě odpovídá
nejnižší prioritní číslo.
Round Robin Scheduling – RR -je preemptivním plánováním. Každý proces
dostává CPU na malou jednotku času – časové kvantum – desítky až stovky
ms. Po uplynutí této doby je běžící proces předběhnut nejstarším procesem ve
frontě připravených procesů a zařazuje se na konec této fronty. Je-li ve frontě
připravených n procesů a časové kvantum je q, pak každý proces získává 1/ntinu doby CPU, najednou nejvýše po q časových jednotkách. Žádný proces
nečeká na přidělení CPU déle než (n-1)q časových jednotek.
Výkonnostní hodnocení záleží v prvé řadě na velikosti přidělovaného časového
kvanta q:
•
•
jestliže q je velké, pak je plánování podobné typu FCFS,
jestliže q je malé, pak může být neefektivní – q musí být dostatečně
velké s ohledem na režii přepínání kontextu.
U operačních systémů s preemtivním plánováním procesoru může být proces
přerušen mezi libovolnými dvěma strojovými instrukcemi v programu a řízení
může být předáno jinému procesu. Programy jsou však psány tak, že
nepředpokládají, že by došlo ke změně obsahu registrů procesoru případně
některých dalších oblastí mezi dvěma instrukcemi. Při přepnutí na jiný proces
musí být také změněny další registry (ukazatel na tabulku stránek, klíč pro
137
Počítačové systémy
ochranu paměti, registr udávající, zda je procesor v privilegovaném stavu
apod.).
Proto se při přepínání mezi procesy provádí tzv. uložení kontextu (context
save) původně běžícího procesu a obnovení kontextu (context restore) procesu,
kterému se přiděluje procesor. Pod pojmem context je myšlen stav procesoru
(obsah registrů), stav případného koprocesoru, případně i stav dalších zařízení.
Tento context se ukládá buď na zásobník procesu, nebo do předem připravené
oblasti dat v adresním prostoru procesu.
Pro spolupráci mezi procesy se používají dva mechanismy:
•
•
zasílání zpráv,
sdílená paměť.
Některé operační systémy podporují oba mechanismy.
Sdílená paměť: jednodušší programování, mocnější - programátor má více
prostředků, zpravidla i jednodušší implementace.
Zasílání zpráv: flexibilnější, je možné použít i pro komunikaci mezi procesy
běžícími na různých procesorech nebo počítačích.
9.2 Správa (hlavní, operační) paměti
Správce paměti je repositář připravených tj. rychle dostupných dat sdílených
procesorem a vstupními/výstupními zařízeními. Hlavní (operační, primární)
paměť je pole samostatně adresovatelných slov nebo bytů, je energeticky
závislá, tj. po výpadku napájení se data z ní ztrácí. Operační systém je
z hlediska správy (hlavní) paměti odpovědný za:
•
•
•
•
vedení přehledu kdo a kterou část paměti v daném okamžiku využívá,
rozhodování kterému procesu uspokojit jeho požadavek na prostor
paměti po uvolnění,
přidělování a uvolňování paměti podle potřeby,
řízení tzv. virtuální paměti.
Z hlediska těchto zodpovědností správce operační paměti:
•
•
•
•
udržuje přehled o přidělené a volné paměti,
ve spolupráci se správou procesů rozhoduje o tom, kterému procesu,
kolik, kde a kdy má přidělit operační paměť,
provádí přidělení volné části paměti,
určuje strategii odnímání dříve přidělené operační paměti procesům
(opět po předchozí domluvě se správou procesů).
Správce paměti patří mezi další velmi důležité - i když ne nejkomplikovanější
moduly každého operačního systému.
138
Počítačové systémy
Hlavním úkolem správce paměti je:
• Přidělovat operační paměť jednotlivým procesům, když si ji vyžádají.
• Udržovat informace o paměti, o tom, která část je volná a která
přidělená (a komu).
• Zařazovat paměť, kterou procesy uvolní, opět do volné části.
• Odebírat paměť procesům, je-li to zapotřebí.
• Zajistit ochranu paměti (umožňuje-li to technické vybavení) - žádný
proces by neměl mít přístup k paměti jiného procesu nebo operačního
systému, jestliže mu to 'vlastník' paměti explicitně nepovolí.
Požadavky na správu paměti:
• Možnost relokace - programátor nemůže vědět, ze které části paměti
bude jeho program prováděn. Relokace neumožňuje, aby se adresy
kontrolovaly během kompilace – odkazy na adresy se musí kontrolovat
při běhu procesu hardwarem.
• Procesu může být dynamicky při výměnách (odebírání a vracení
prostředku procesu) přidělována jiná oblast paměti – swapping.
• Odkazy na paměť v LAP (logickém adresovém prostoru) se musí
dynamicky překládat na skutečné ve FAP (fyzickém adresovém
prostoru.
• Nutnost ochrany - procesy nesmí být schopné se bez povolení
odkazovat na paměťová místa, přidělená jiným procesům.
• Logická organizace - uživatelé tvoří programy jako moduly
s odlišnými vlastnostmi. Moduly s programy – execute, datové readonly, read/write, některé moduly soukromé (private) a jiné veřejné
(public).
• Možnost sdílení - více procesů může sdílet společnou část paměti, aniž
by se tím porušovala ochrana paměti. Sdílený přístup ke společné
datové struktuře – sdílení jediného exempláře datové struktury je lepší
řešení než udržování konzistence jejich násobných kopií vlastněných
jednotlivými procesy.
• Řízení paměti - jak se organizace paměti chová v různých případech.
Existují tři různé kategorie řízení paměti:
• Načítání (fetch) - chování při získávání dalších částí procesů nebo dat,
starší na žádost (on demand), nyní v předstihu (anticipatory).
• Umísťování (placement) - kde v paměti umístit požadovaný blok dat.
• Výměna (replacement) - co z paměti odstranit pro nově příchozí data.
Požadavky, které se v počítačovém systému kladou na paměti se zatím nedají
ekonomicky splnit jedinou pamětí. Čím větší je kapacita paměti, tím větší je
totiž i její poměrná cena. Podobně roste cena i se zkracováním vybavovací
doby. Proto rychlé paměti (s krátkou vybavovací dobou) mají obvykle malou
kapacitou, pomalé paměti (s delší vybavovací dobou) mají velkou kapacitu.
Začlenění jednotlivých úrovní paměti je naznačeno na obrázku.
139
Počítačové systémy
velikost
Cache
Hlavní (operační) paměť
cena na bajt
rychlost
Registry
Pomocná paměť
Zálohovací paměť
Hierarchie paměti
Z pohledu uvedené hierarchie paměti se správa paměti operačního systému
zabývá převážně řízením hlavní (operační) paměti.
Existují různé strategie přidělování paměti:
- přidělování veškeré volné paměti,
- přidělování pevných bloků paměti,
- přidělování bloků paměti proměnné velikosti,
- segmentace paměti,
- stránkování paměti,
- stránkování na žádost (demand paging),
- segmentace se stránkováním na žádost.
Při přidělování veškeré volné paměti je část paměti RAM obsazena
operačním systémem (kód, proměnné, vyrovnávací paměti), zbytek je k
dispozici pro uživatelský program. V každém okamžiku je tedy v paměti
nejvýše jeden uživatelský program.
Většina jednoduchých operačních systémů využívá přidělování pevných
bloků paměti - jako příklady můžeme jmenovat MS DOS. Její základní
princip je velmi jednoduchý: každý proces musí vědět, kolik operační paměti
bude potřebovat a musí si tuto paměť od operačního systému explicitně
vyžádat. Operační systém - respektive správce paměti - takový požadavek bud'
splní přidělením bloku požadované velikostí, nebo zamítne, a v tom případě je
úkolem procesu vzniklý problém nějak vyřešit (např. předčasným ukončením
práce).
Pro ochranu bloků paměti se nejčastěji používá jedna z těchto metod:
•
•
140
mezní registry,
mechanismus zámků a klíčů.
Počítačové systémy
Pro použití každé z těchto metod je nutná podpora hardwarem, přičemž se
používá se ta metoda, kterou podporuje daný procesor.
Ochrana paměti pomocí mezních registrů využívá dvou mezní registrů, které
udávají nejnižší a nejvyšší dostupnou adresu. Nastavuje je operační systém,
když předává řízení procesu. Odkaz na paměť mimo rozsah způsobí vnitřní
přerušení ("porušení ochrany paměti"). Nastavení mezních registrů musí být
privilegovaná instrukce, jinak může program napsaný se špatným úmyslem číst
nebo měnit paměťové oblasti jiných procesů.
Při ochraně paměti pomocí mechanismu zámků a klíčů je paměť je rozdělena
na stránky pevné velikosti (např. 4 KB). Každé stránce paměti je přiřazen
zámek (= celé číslo). Procesor má speciální registr, který slouží jako klíč.
Proces může používat pouze ty stránky paměti, které mají zámek nastavený na
stejnou hodnotu, jako je klíč. Operační systém může používat univerzální klíč
číslo 0, který umožňuje přístup k libovolné stránce paměti.
Další strategií je přidělování bloků paměti proměnné velikosti. Volná paměť
není pevně rozdělena, ale při startu programu se přidělí paměť podle nároků
programu (resp. přidělí se celý volný blok a program vrátí, co nepotřebuje).
Najdeme u MS-DOS, OS-MVT (Multitasking with Variable nuber of Tasks).
Ochrana paměti se provádí obdobně jako u přidělování pevných bloků paměti
tj. pomocí mezních registrů nebo mechanismem zámků a klíčů.
U segmentace paměti je fyzická (skutečná) adresa v paměti získávána
přičtením obsahu registru segmentu k logické adrese (= adresa použitá v
programu). Obsah registru segmentu nastavuje operační systém a pro
uživatelský program je nepřístupný. Díky tomu adresní prostor každého
procesu začíná na adrese 0 a odpadají problémy s relokací programu. Většina
systémů, které používají segmentaci paměti dovoluje procesům použít více
segmentů.
Procesy pro svůj běh typicky požadují souvislý úsek paměti. Nutnost
přidělovat souvislé úseky paměti a jejich uvolňování v libovolném pořadí podle
toho, jak končí jednotlivé procesy, vede k fragmentaci paměti. Jednou z metod,
jak se s fragmentací vyrovnat, je přemísťování segmentů, které však může být
časově náročné. Stránkování paměti umožňuje přidělit procesu několik
nesouvislých úseků paměti a vytvořit pro proces iluzi, že tato paměť souvislá
je. Při stránkování paměti je fyzická paměť je rozdělená na rámce - frames
(někdy se nerozlišuje rámec a stránka).
Logická adresa (= adresa použitá v programu) je rozdělena na dvě složky, číslo
stránky a posunutí v rámci stránky (OFFSET). Velikost stránky bývá řádově
kilobyty. Při velikosti stránky 4 KB je pro offset potřeba 12 bitů (2^12 = 4K),
čili spodních 12 bitů logické adresy je offset, zbylé bity jsou číslo stránky. Po
rozkladu adresy (vše provádí procesor bez asistence programátora) na číslo
stránky a offset se číslo stránky použije jako index do tabulky stránek (každý
proces má svoji vlastní). V tabulce stránek je uvedeno číslo rámce ve fyzické
paměti. K číslu rámce se připojí offset a výsledkem je fyzická adresa v paměti.
141
Počítačové systémy
Za nejdokonalejší strategii správy paměti lze považovat tzv. virtuální paměť.
Pro implementaci virtuální paměti musíme mít k dispozici speciální technické
vybavení, kterému se říká jednotka řízení paměti. Jedná se vlastně
o specializovaný procesor, který stojí mezi procesorem a operační pamětí
počítače a sám zpracovává požadavky procesoru na přístup k operační paměti.
Jednotka řízení paměti musí být schopna minimálně zajistit ochranu paměti,
jinak není možné virtuální paměť vůbec implementovat. Velmi důležitou
funkcí jednotky řízení paměti je i překlad adres - bez něj by byl systém
virtuální paměti nesmírně těžkopádný a v praxi nepoužitelný. Pro rozumnou
efektivitu virtuální paměti však obvykle požadujeme po jednotce řízení paměti
ještě jednu službu - stránkování. Správce paměti předá jednotce řízení paměti
vhodným způsoben informace ze svých tabulek - tj. který úsek paměti patří
kterému procesu. Správce procesů zajistí, aby správce paměti věděl, který
proces právě běží; správce paměti předá i tuto informaci jednotce řízení paměti.
Při zpracování každého požadavku na přístup k operační paměti pak jednotka
řízení paměti ověří, má-li aktivní proces právo s tímto úsekem paměti pracovat.
Jestliže tomu tak není, jednotka řízení paměti procesoru přístup k paměti
neumožní a namísto toho vyvolá výjimku. Správce paměti, který výjimku
obsluhuje, pak může zajistit vše potřebné. Překlad adres umožňuje přiřadit
libovolnému úseku operační paměti libovolné adresy. Správce paměti může
vytvořit tabulky, které určují nejen komu který blok paměti patří a jak je velký,
ale i na které adrese v operační paměti má ležet. Překlad adres nám umožní
používat celý adresový prostor procesoru s tím, že kterékoliv jeho části
můžeme přiřadit skutečnou operační paměť. Můžeme mít tedy například blok
velikostí 1KB, který pro program leží na adrese 4000h - program jej může
naprosto běžným způsobem používat. Na adrese 4002h nalezne třetí byte
bloku. Správce paměti však pomocí tabulek oznámil jednotce řízení paměti, že
tento blok má v operační paměti ležet na adrese 0. Jednotka řízení paměti pak
bude pracovat tak, že kdykoli zachytí požadavek na přístup k některé adrese v
rozmezí 4000h až 43FFh, předá jej operační paměti, ale nejprve od adresy
odečte hodnotu 4000h.
Abychom mohli dobře rozlišit obě adresy, které se účastní překladu adres,
budeme adrese, kterou používá program a která leží v adresovém prostoru
procesoru říkat logická adresa. Adrese v operační paměti, po překladu adres,
budeme naproti tomu říkat adresa fyzická. K základním problémům návrhu
architektury počítače patří rozhodnutí, jak se bude zobrazovat tzv. logický
adresový prostor – LAP, do tzv. fyzického adresového prostoru – FAP.
Uživatel vidí logický adresní prostor – LAP. Programy a data z LAP jsou do
fyzického adresního prostoru - FAP zaváděny podle potřeby. LAP je vymezen
množinou adres určenou počtem bitů vnitřní adresní sběrnice. Obvykle je
jednodimenzionální. S dvoudimenzionální strukturalizací LAP se setkáme u
kolekce samostatných lineárních segmentů (proměnné délky). V takovém
případě bude adresa paměťového místa tvořena dvěmi složkami. Fyzický
adresový prostor FAP je vymezen množinou adres určenou počtem bitů vnější
adresní sběrnice počítače. FAP je určen velikostí operační paměti. Zobrazení
LAP do dostupného FAP se provádí pomocí hardware (Dynamic Address
Tranlation – DAT, Memory Management Unit - MMU). Tyto prostředky musí
řešit různé konflikty. Např. při odkázání místa s adresou LAP, které není
142
Počítačové systémy
zobrazeno ve FAP se ve FAP nalezne (vytvoří) volný blok a na toto místo se
zavede blok z obrazu LAP s požadovanou informací.
9.3 Správa I/O systému
Správce periferních zařízení (vstupního/výstupního systému) má tyto funkce:
•
•
•
•
sleduje stav prostředků (periferních zařízení, jejich řídících jednotek),
rozhoduje o efektivním způsobu přidělování prostředku – periferního
zařízení,
přiřazuje prostředek (periferní zařízení) a zahajuje I/O operaci,
požaduje navracení prostředku.
Z hlediska funkce operačního systému lze správce I/O systému chápat jako:
•
•
•
repositář vyrovnávacích pamětí,
univerzální rozhraní driveru (ovladače) I/O zařízení,
drivery (ovladače) jednotlivých hardwarových I/O zařízení.
Z hlediska množství přenášených dat rozdělujeme vstupní a výstupní (dále
označujeme V/V nebo I/O) zařízení na:
•
•
znaková, kam patří klávesnice, znakové displeje a terminály, tiskárny,
myši, plottery, tablety apod.,
bloková, kde se řadí disky, CD ROM, magnetické pásky apod.
Některá zařízení do tohoto dělení nezapadají. Jsou to zařízení tzv. paměťově
mapované, jako grafické displeje, speciální časovače apod.
Rozhraní vstupních a výstupních zařízení poskytované operačním systémem by
mělo být jednotné pro všechna zařízení do takové míry, jak je to jenom možné.
Vstupní a výstupní zařízení bez ohledu na způsob připojení používají čtyři
základní techniky řízení přenosu:
•
•
•
•
programové řízení vstupu a výstupu,
řízení na základě přerušení,
přímý přístup k operační paměti (DMA – Direct Memory Access),
vstup a výstup pomocí specializovaného procesoru.
Při programovém způsobu řízení V/V operací určuje vždy procesor na
základě programu okamžiky přenosu údajů do nebo z periferního zařízení.
Synchronizace přenosu se pak děje jednoduchým testováním připravenosti
zařízení na přenos dat, jak je uvedeno na následujícím obrázku.
143
Počítačové systémy
Připraven?
ne
ano
přenos
Princip podmíněného přenosu
Tato technika je nejméně náročná na technické vybavení. Hlavní nevýhodou je
to, že procesor je značně zatížen neproduktivní činností. Technické vybavení
jednotky pro připojení periferního zařízení zahrnuje registr stavu, obsahující
informaci o připravenost na vstup/výstup dat a multiplexor, směrující data
k adresovanému perifernímu zařízení.
Cílem zavedení přerušení při řízení vstupních/výstupních přenosů dat je
zlepšení účinnosti těchto operací. Přerušující událost způsobí, že se potlačí
provádění běžícího procesu v CPU takovým způsobem, aby ho bylo možné
později obnovit. V době řešení I/O operace se umožní, aby CPU prováděla jiné
instrukce než periferní. Původně se tento mechanismus používal jen pro
vyžádání pozornosti procesoru. Při vyvolání přerušení procesor začne provádět
podprogram obsluhy přerušení podobným způsobem, jako by byl vyvolán
normální podprogram. Podprogram musí uchovat stav procesoru, pak provede
vlastní obsluhu přerušení (například zašle znak nebo blok znaků na výstupní
zařízení) a nakonec obnoví stav procesoru, aby přerušený program nic
nepoznal (až na zpoždění). Podobá se vyvolání podprogramu, ale provádí se
speciální instrukcí. Vývojový diagram obsluhy přerušení je uveden na
následujícím obrázku.
Hlavní
program
Přerušení
Nalezení příčiny přerušení
a uchování stavu CPU
Odskok do
podprogramu
pro obsluhu
přerušení
Obnovení stavu CPU
Přenos dat systémem přerušení
Posloupnost obsluhy přerušení je vyjádřena následujícími úkony:
144
Počítačové systémy
•
•
•
uchování stavu procesoru,
vlastní obsluha přerušení,
obnovení stavu procesoru.
Základní rozdíl mezi programově řízenou komunikací a komunikací
prostřednictvím přerušovacího systému je v synchronizaci přenosu dat. Při
programovém řízení se při provádění operace čtení/zápisu dat musí čekat na
potvrzení připravenosti periferního zařízení a teprve pak se provede přenos,
přičemž procesor v době čekání neprovádí žádné následné instrukce. Při
obsluze zařízení pomocí přerušení procesor pokračuje v provádění operací a je
obeznámen o připraveném periferním zařízení pomocí přerušení. Je zřejmé, že
principy přerušení se tak nemusí používat jen pro operace vstupu/výstupu dat,
ale i pro jiné typy synchronizace procesů. Proto přerušení dělíme na:
•
•
•
Vnější - zdrojem jsou řadiče (zejména I/O zařízení) umístěné "vně
procesoru". K přerušení dochází bez ohledu na právě prováděné místo
v programu a ISR je vyvolán po dokončení instrukce. Reakci na
přerušení lze dočasně zakázat (maskovat), pak k obsluze dojde po
povolení přerušení. Po návratu z ISR přerušený program pokračuje
další instrukcí.
Vnitřní - přerušení je vyvoláno chybou při provádění strojové instrukce
(dělení nulou, přetečení, porušení ochrany paměti, výpadek stránky).
ISR může vypsat chybové hlášení a ukončit program, dosadit náhradní
výsledek v případě aritmetické chyby, zavést stránku do vnitřní paměti
z disku apod.. Při některých chybách je možné zopakovat instrukci,
která chybu způsobila.
Programové - přerušení je vyvoláno instrukcí volání přerušení
umístěnou přímo v programu. Používá se pro volání služeb operačního
systému. Výhoda oproti volání podprogramů: není možné vyvolávat
podprogramy na libovolných adresách (pouze adresy uvedené v tabulce
přerušení).
Pro odlehčení procesoru bývají součástí počítače obvody schopné realizovat
větší množství I/O operací (jedná se o odchylku od Von Neumannova
schématu počítače):
•
•
DMA kanály. Pro kopírování bloků dat mezi pamětí a I/O zařízením.
Je třeba je naprogramovat zápisem do hardwarových registrů.
Specializované I/O procesory (někdy nazývané kanály). Jsou řízeny
posloupností vlastních instrukcí (tzv. kanálovým programem):
o selektorové - obsluhuje 1 rychlé zařízení (mg. disk, páska),
o multiplexní - mohou obsluhovat několik pomalých zařízení
(tiskárny, některé terminály, apod.).
DMA kanály slouží pro kopírování bloků dat mezi pamětí a I/O zařízením. Je
třeba je naprogramovat zápisem do hardwarových registrů tak, jak je uvedeno
v následujícím vývojovém diagramu.
145
Počítačové systémy
Žádost o přímý přístup k paměti
Potvrzení žádosti o přímý přístup
Zápis počáteční adresy paměti do
adresního registru
Přenos údajů
Zvýšení adresy o 1
ne
Přenos
hotov ?
ano
Konec DMA
Vývojový diagram přenosu s přímým přístupem
k paměti
Neprogramově řízený přenos využívá zvláštní obvody tzv. kanál přímého
přístupu k paměti (DMA ). Při jednoduchém řešení kanálu DMA bývá během
přenosu tímto kanálem CPU vypojen z činnosti. Při jiném složitějším řešení
přenos se uskutečňuje tzv. kradením cyklů probíhajícího programu, tj. CPU
pokračuje zpomalenou rychlostí v běžné činnosti.
Procesor
Paměť
Řadič
disků
Kradení
cyklů
DMA přenos
Vstupní a výstupní řadiče slouží k připojování I/O zařízení. Z hlediska
programátora řadič vypadá jako sada hardwarových registrů, přičemž registry
mohou být:
jen pro čtení,
jen pro zápis,
pro čtení i zápis.
•
•
•
146
Počítačové systémy
Při inicializaci počítače je potřeba zjistit, které řadiče jsou v počítači zapojeny
a inicializovat je. Při vstupu nebo výstupu dat je zpravidla nutné čtením
z řadiče zjistit, zda je zařízení připraveno, zapsat do řadiče příkaz a zapsat nebo
přečíst data. Pokud není možné ihned pokračovat, zařízení zpravidla
signalizuje svoji připravenost vyvoláním přerušení.
Podle architektury počítače se vstupy/výstupy dělí na:
•
•
paměťově mapované: registry jsou adresovány jako paměť, přístupné
pomocí běžných operací čtení a zápisu do paměti,
izolované: registry jsou přístupné pomocí speciálních instrukcí
(zpravidla nazývaných IN a OUT); díky tomu jsou adresní prostory
paměti a vstupů/výstupů oddělené.
S rozvojem počítačů postupovala na mnoha úrovních i standardizace, kde
právě standardizace připojování periferních zařízení je závazná jak pro výrobce
periferních zařízení tak výrobce počítačů. Jeden způsob standardizace je ve
vzniku propojení částí počítačů prostřednictvím sběrnic, což vedlo
k normalizaci vnitřních a vnějších sběrnic a jejich komunikačních protokolů.
V moderních počítačových systémech se pak setkáváme s různými úrovněmi
sběrnic:
•
•
•
vnitřní (obvodová) sběrnice propojující funkční jednotky uvnitř
integrovaného obvodu nebo tištěného spoje,
vnější (systémová, společná) sběrnice propojující zásuvné jednotky
a nebo funkční celky
V/V (paralelní, seriové) sběrnice pro jednotné připojování různých
periferních zařízení.
Na následujících obrázcích jsou naznačeny sběrnice PC.
zařízení
zařízení
řadič
zařízení
zařízení
řadič
Společná sběrnice
CPU
Operační
paměť
Vstupní/ výstupní řadiče
147
Počítačové systémy
Připojení V/V zařízení v PC pomocí sběrnice
Účelem správy je zabezpečit přístup k zařízení (pro operační systém)
standardním způsobem. Zpravidla se požaduje transparentnost přístupu
k zařízením (tj. stejný přístup jako k souborům, kdy až při běhu programu lze
určit, kam výstup půjde). Dalším úkolem je zajistit přidělování a sdílení
zařízení, ochrana zařízení (přístupová práva různá pro různé uživatele).
Přidávání nových druhů zařízení je realizováno několika způsoby:
•
•
•
zásahem do jádra operačního systému,
nainstalováním příslušného ovladače zařízení,
kombinací obou možností.
Ovladače zařízení mají tři části:
•
•
•
obslužný program přerušení,
část závislá na zařízení,
část nezávislá na zařízení (správce vyrovnávací paměti, pojmenovávání
zařízení apod.).
Do správy I/O systému patří i správa vnější (sekundární) paměti. Počítačový
systém musí poskytnout pro zálohování hlavní paměti sekundární paměť,
v poslední době nejvíce používané pevné disky (hard disky). Operační systém
je z hlediska správy vnější (sekundární) paměti odpovědný za:
•
•
•
148
správu volné paměti,
přidělování paměti,
plánování činnosti disku.
Počítačové systémy
9.4 Správa souborů
Správce souborů má tyto funkce:
•
•
•
•
sleduje prostředek (soubor), jeho umístění, užití, stav atd.,
rozhoduje, komu budou prostředky přiděleny, realizuje požadavky na
ochranu informací uložených v souborech a realizuje operace přístupu
k souborům,
přiděluje prostředek, tj. otevírá soubor,
uvolňuje prostředek, tj. uzavírá soubor.
Pod pojmem soubor chápeme jak programy tak data. Operační systém je
z hlediska správy souborů odpovědný za:
•
•
•
•
•
vytváření a rušení souborů,
vytváření a rušení adresářů (katalogů, složek),
podporu primitivních operací pro manipulaci se soubory a s adresáři,
zobrazení souborů do sekundární paměti,
archivování souborů na energeticky nezávislá média.
Pod systémem souborů chápeme datové objekty, které se uchovávají na
vnějších pamětech počítače.
Systém souborů se skládá ze dvou částí:
- sada souborů obsahující vlastní uložené informace,
- struktura adresářů obsahující informace o souborech.
Koncepce souborů:
- Soubor je sekvence bitů, bytů, řádek nebo záznamů, jejichž
význam je definován zakladatelem a uživatelem souboru.
- Soubor je obvykle pojmenován a má nějaké atributy (např. typ,
jméno zakladatele, délka, čas poslední změny, ...).
Podpora typů souborů OS:
- Výhodou je možnost kontroly správného použití souboru
uživatelem, další přídavné funkce (automatický make při
spuštění programu, ...).
- Nevýhodou je velikost OS (pro každý typ souboru nějaký kód)
a možnost neobsažení všech typů a následného špatného použití.
- Opačným extrémem je nepodporovat OS žádné typy souborů
(např. UNIX) a chápat soubor jako sekvenci osmibitových bytů.
Uložení souborů na disku:
- Disky mají typicky definovanou velikost bloku určenou
velikostí sektoru disku. Všechny I/O operace jsou prováděny po
blocích a všechny bloky jsou shodné velikosti. Logické bloky
souboru jsou pak zabaleny do fyzických bloků disku.
- Obvykle dochází ke ztrátě určité části fyzických bloků díky
délce souboru či rozdílu mezi délkou fyzického a logického
bloku.
149
Počítačové systémy
Struktura adresářů:
- Adresář zařízení je na každém fyzickém zařízení a popisuje
všechny soubory uložené na tomto zařízení. Obsahuje fyzické
atributy souboru (délka, jak je umístěn na disku, ...).
- Struktura adresáře souborů je logickou organizací souborů na
všech zařízeních. Obsahuje logické atributy souboru (jméno,
typ, vlastník, přístupová práva, ...).
- Systém adresářů mapuje jména souborů na položky adresářů.
Přístupové metody:
- Sekvenční přístup - čtení a zápis na pozici kurzoru souboru
s automatickým posunem kurzoru
- Přímý přístup - soubor je chápán jako očíslovaná sekvence
záznamů a pomocí operace SEEK lze nastavit kurzor souboru
na libovolný záznam souboru
- Paměťové mapování - soubor je pomocí stránkování namapován
(je obrazem paměti na disku) do virtuálního adresového
prostoru a s jednotlivými záznamy v souboru lze manipulovat
jako s pamětí
OS zpravidla o souboru udržuje další informace:
•
•
Atributy (jen pro čtení, apod.). MS-DOS atributy:
o R - read-only, jen pro čtení,
o H - hidden, skrytý,
o
S - system, systémový,
o A - archive, nebyl archivován.
Datumy a časy; u některých systémů jeden u jiných více:
o vytvoření,
o poslední změny,
o posledního přístupu.
9.5 Networking, distribuované systémy
Pod pojmem distribuovaný systém chápeme kolekci procesorů, které nesdílejí
ani fyzickou paměť ani hodiny, synchronizující činnost procesoru. Každý
procesor má svoji lokální paměť a lokální hodiny. Procesory distribuovaného
systému jsou propojeny komunikační sítí. Komunikace jsou řízeny protokoly.
Distribuovaný systém uživateli zprostředkovává přístup k různým zdrojům
systému.
9.6 Systém ochran
Pod pojmem systém ochran rozumíme mechanismy pro řízení přístupu
k systémovým a uživatelským zdrojům. Systém ochran musí:
•
•
•
150
rozlišovat mezi autorizovaným a neautorizovaným použitím,
specifikovat problém vnucovaného řízení,
poskytnou prostředky pro své prosazení.
Počítačové systémy
9.7 Interpret příkazů
Interpret příkazů je program, umožňující vykonávat příkazy pro:
•
•
•
•
•
•
•
správu a vytváření procesů - služby operačního systému poskytované
interpretem příkazů slouží k provedení programu, tj. k schopnosti
operačního systému zavést program do hlavní paměti a spustit jeho běh,
ovládání I/O zařízení - uživatelský program nesmí provádět I/O operace
přímo, operační systém musí poskytovat prostředky k provádění I/O
operací,
správu sekundární paměti - manipulace se systémem souborů,
schopnost číst, zapisovat, vytvářet a rušit soubory,
správu hlavní paměti,
zpřístupňování souborů,
ochranu – tj detekci chyb v procesoru a paměti, I/O zařízeních
a v programech uživatelů pro zajištění správnosti výpočtu,
práci v síti - výměna informací mezi procesy realizovaná buďto v rámci
jednoho počítače nebo mezi různými počítači pomocí sítě tj.
implementace sdílenou pamětí nebo předáváním zpráv.
Tento program se nazývá Command-line interpreter, nebo shell, event.
command.com a to podle typu operačního systému. Jeho funkcí je získávat
a provádět příští příkaz s povelem.
Z uživatelského pohledu se při troše zjednodušení dá říci, že operační systém
se skládá ze dvou základních prvků: z toho, co nám ukazuje a z toho, co nám
nabízí.
Existují v zásadě dva základní typy příkazových interpretů: řádkový a
grafický. Historicky daleko starší řádkový interpret je dědictvím po
terminálech sálových počítačů a pracuje velmi jednoduchým způsobem:
uživatel zapíše řádek, má přitom k dispozici základní editační příkazy. Teprve
po odeslání řádku stisknutím klávesy 'Enter' je obsah řádku interpretován jako
příkaz. Typickým příkladem operačního systému, vybaveného řádkovým
interpretem příkazů, je UNIX nebo MS DOS.
Je zřejmé, že grafické uživatelské rozhraní je pro začátečníka a méně
zkušeného uživatele manou z nebe. Často jím nepohrdne ani zkušený uživatel
nebo programátor; ten však brzy pozná, že existuje řada problémů, pro jejichž
řešení je prostředí jednoduchého řádkového interpretu k nezaplacení.
Jen u skutečně nejjednodušších systémů může být celý grafický subsystém
jediným nedílným celkem. Jinak je zapotřebí jej rozdělit do několika vrstev,
z nichž každá zajišťuje vlastní skupinu úkolů a slouží vrstvě vyšší (vzpomeňme
si na obecnou vrstvenou strukturu operačního systému - na obrázku vidíme
podobný pohled, avšak jednotlivé vrstvy tentokrát odpovídají samostatným
částem grafického subsystému).
151
Počítačové systémy
Vrstvený grafický systém
Na nejnižší úrovni musí být jednoduchý systém základních grafických služeb
umožňujících vlastní zápis základních grafických objektů na obrazovku. Je-li
počítač osazen kvalitním grafickým procesorem, nemusí být tento systém
vůbec zapotřebí.
V další vrstvě musí stát systém zajišťující práci s obrazovkovými okny a/nebo
s virtuálními obrazovkami. V závislosti na konkrétním návrhu grafického
systému mohou být tyto dvě nejnižší vrstvy navzájem 'prohozeny'.
Na vrstvě obsluhující okna každopádně leží zodpovědnost za korektní
spolupráci s interaktivními vstupními zařízeními (jako je klávesnice nebo myš)
i se samotnými procesy - ty totiž někdy potřebují vědět, v jakém stavu jsou
právě jejich okna.
Na další úrovni je velmi vhodné implementovat vrstvu vyšších služeb
grafického systému. Tato vrstva umožní programátorům aplikací pracovat
skutečně s grafickými objekty (jako je čára, čtverec, kruh, plocha nebo třeba
koule), a ne s nějakými obrazovými body, jejichž počet i barva závisí na
grafickém adaptéru i na jeho momentálním režimu práce.
V jistém smyslu nejvyšší úrovní je vrstva služeb uživatelského grafického
rozhraní. Jedná se o prostředky, které programům usnadní komunikaci
s uživatelem prostřednictvím nabídek (menu), dialogových oken a řady dalších,
dnes již do značné míry standardizovaných, prvků.
Tato vrstva je velmi důležitá nejen pro usnadnění práce aplikačním
programátorům, ale především proto, aby bylo ovládání všech aplikací
podobné a konzistentní. Přímým důsledkem neexistence této vrstvy například
v MS DOSu je, že každý program ovládá grafický výstup jinak. Uživatel, který
152
Počítačové systémy
musí střídavě pracovat s různými grafickými systémy a systémy ovládání má
mnohdy zhoršenou orientaci.
Ačkoli jsme minulou vrstvu nazvali nejvyšší, zmíníme se ještě o jedné. Je jí
grafický interpret příkazů uživatele, který v grafických systémech stojí na
místě 'shellu' systémů orientovaných textově.
Na kvalitě a ergonomii interpretu příkazů totiž do značné míry záleží, bude-li
se uživatelům se systémem pracovat pohodlně a dosáhnou-li snadno vysoké
efektivity práce.
9.8 Vnitřní služby operačního systému
Vnitřní služby operačního systému nejsou určeny k tomu, aby pomáhaly
uživateli, v prvé řadě slouží pro zabezpečení efektivního provozu systému, tj.
slouží pro:
•
•
•
Přidělování prostředků (zdrojů) mezi více souběžně operujících
uživatelů nebo úloh.
Účtování a udržování přehledu o tom, kolik kterých zdrojů systému
který uživatel používá. Cílem je účtování za služby a sběr statistik pro
plánování.
Ochranu tj. péči o to, aby veškerý přístup k systémovým zdrojům byl
pod kontrolou.
Vnitřní služby operačního systému jsou obecně realizovány souborem
systémových programů vytvářejících určité systémové struktury tzv. virtuální
stroje. Typickými službami jsou programy pro:
•
•
•
•
•
práci se soubory, editaci souborů, katalogizaci souborů, modifikaci
souborů,
získávání, definování a údržbu systémových informací,
podporu jazykových prostředí,
zavádění a provádění programů,
komunikace a řízení aplikačních programů.
9.9 Hierarchická vrstvová architektura
Obecná architektura operačních systémů je budovaná na principech
hierarchických vrstev. Operační systém se dělí do jistého počtu vrstev (úrovní).
Každá vrstva je budována na funkcionalitě nižších vrstev tzn. že nejnižší vrstva
je tvořena hardwarem počítače a nejvyšší vrstva je vrstva uživatelského
rozhraní. Tím se řeší problém přílišné složitosti velkého systému. Nižší vrstva
nabízí vyšší vrstvě „primitivní“ funkce (služby) a přitom nižší vrstva nemůže
požadovat provedení služeb vyšší vrstvy. Používají se přesně definovaná
rozhraní umožňující v rámci jedné vrstvy jejich vlastnosti a funkčnosti
modifikovat, aniž to ovlivní ostatní vrstvy.
V klasickém operačním systému (z pohledu historického) jsou procesy jen
uživatelské programy a vlastní operační systém je prováděn jako samostatná
153
Počítačové systémy
entita v privilegovaném režimu. K přepínání kontextu procesů dochází jen
tehdy, je-li to nutné z hlediska plánování.
V procesově konstruovaném operačním systému je vlastní operační systém
kolekcí systémových procesů. Funkcí jádra je procesy separovat a přitom jim
umožnit kooperovat. Minimum funkcí je třeba realizovat v privilegovaném
režimu, kdy jádro je pouze ústředna pro přepojování zpráv.
Samostatnou variantou operačního systému je realizace architekturou tzv.
mikrojádra, kde malé jádro plní pouze několik málo nezbytných funkcí, jako je
primitivní správa paměti (adresového prostoru), komunikaci mezi procesy
a základní plánování a správu V/V zařízení a přerušení. Ostatní služby jádra
řeší procesy (servery) běžící v uživatelském režimu. Jsou to drivery, služby
systému souborů a virtualizace paměti. Výhody v architektuře mikrojádra jsou
v pružnějším a snadněji rozšiřitelném řešení, lze doplňovat nové služby,
odstraňovat nepotřebné služby a všechny služby jsou poskytovány jednotně
(výměnou zpráv). Toto řešení je jednoduše přenositelné, tj. při implementaci na
nový procesor stačí změnit mikrojádro.
Spolehlivějším řešením jsou různá modulární řešení. Moduly jsou snadněji
testovatelné a umožňují podporu distribuovanosti tj. výměna zpráv je
implementovatelná v síti i v jednom systému.
Kontrolní otázky:
1. Které zdroje potřebuje operační systém pro svoji činnost?
2. V čem je odlišnost způsobu řízení procesů pomocí 5-stavového model od
3-stavového?
3. Vysvětlete rozdíl mezi preemptivním a nepreemptivním plánováním
procesů?
4. Jakými mechanismy spolupracují mezi sebou procesy v operačním
systému?
5. Vyjmenujte různé strategie přidělování paměti?
6. Jaký je rozdíl mezi segmentací a stránkováním paměti?
7. Jakým způsobem se překládají adresy ve virtuální paměti?
8. Jaký je rozdíl mezi ochranou paměti pomocí mezních registrů a
mechanismem zámků a klíčů?
9. Vysvětlete způsob řízení V/V zařízení na základě přerušení?
10. Vysvětlete způsob řízení V/V zařízení pomocí DMA?
11. Které informace operační systém udržuje o souborech?
12. Které typy příkazů musí umožňovat vykonávat interpret příkazů?
Úkoly k zamyšlení:
1. Rozeznáváme tři druhy plánování procesů: krátkodobé, střednědobé a
dlouhodobé. Pokuste se rozhodnout ve které úrovni 5-stavového diagramu
jednotlivé plánovače pracují.
Korespondenční úkol:
1. Prostudujte příručku Windows 7 a odpovězte na tyto otázky:
a. Jaký způsob plánování obsluhy procesů využívá
b. Jakou metodu přidělování paměti požívá
154
Počítačové systémy
c. Jaký systém souborů využívá a jaké atributy souborů uchovává
d. V jakém režimu pracuje ovladač běžné jehličkové tiskárny
Shrnutí obsahu kapitoly
V této kapitole jste se seznámili s jednotlivými generickými komponentami
operačních systémů, s jejich hlavními funkcemi a základními algoritmy
činnosti jednotlivých správců operačních systémů. Důraz byl kladen na
pochopení vzájemné komunikace jednotlivých částí operačních systémů. Velká
pozornost byla věnována komplexnímu pochopení činnosti operačních
systémů.
155
Počítačové systémy
10. Hardware osobního počítače PC
V této kapitole se dozvíte:
•
•
•
Co je to hardware počítače?
Jaké jsou základní části počítače?
Jakou úlohu mají jednotlivé části?
Po jejím prostudování byste měli být schopni:
•
•
•
Charakterizovat základní části počítače.
Porozumět architektuře počítačů.
Definovat funkce jednotlivých částí počítače.
Klíčová slova této kapitoly:
Hardware, paměť, mikroprocesor, vstupní a výstupní zařízení, periferie,
základní deska, BIOS, data, informace.
Doba potřebná ke studiu: 6 hodin
Průvodce studiem
Cílem této kapitoly je seznámit studenta se základními pojmy, schématy a
technologiemi, které souvisí s oblasti hardware. Student se zorientuje v oblasti
vývoje výpočetních systému, pochopí principy konstrukce výpočetního
systému a seznámí se s účelem jednotlivých hardwarových komponent. Osvojí
si zcela praktické znalosti, které mu umožní orientaci v nabízené škále PC,
notebooku a periferií při nákupech.
Pod pojmem hardware rozumíme technické (elektronické, elektrické a
mechanické) vybavení počítače a počítačových systémů. Za hardware je možno
považovat počítač jako celek, jeho části (součástky, komponenty), ale i
tiskárny, monitory, dokonce i elektrické kabely anebo prvky počítačových sítí.
Z hlediska důležitosti počítačových komponentů nelze říct, který z nich má
nejvýznamnější úlohu, protože navzájem tvoří celek, který by vynecháním
některého z nich většinou přestal být funkčním.
156
Počítačové systémy
Počítač se obvykle skládá z monitoru, klávesnice, skříňky a zpravidla i z myši
připojené k počítači tenkým kabelem anebo bezdrátově.
Monitor na první pohled připomíná televizor. Má obrazovku, ovládače jasu,
kontrastu apod. Dá se skutečně říct, že jde jen o upravený televizor. Slouží na
zobrazování informací, kontrolu činnosti a přehled o práci počítače.
Klávesnice je zařízení, kterým do počítače zadáváme informace a ovládáme
ho.
Skříňka je místo, kde je uložený počítač v pravém slova smyslu. Obsahuje
součásti počítače starající se o chod, reagování na vstupy z klávesnice,
zobrazování údajů na monitor a mnoho dalších věcí. Může být postavená vedle
monitoru (mluvíme o toweru) anebo pod ním (desktop).
Myš je zařízení, pomocí kterého ukazujeme co, kam nebo jak vykonat. Při
prvních systémech nebyla „povinnou“ součástí počítače, ale při dnešních
grafických prostředích se už bez ní neobejdeme.
K základním komponentům osobního počítače v současnosti patří:
- základní deska – zabezpečuje komunikaci mezi ostatními součástkami, které
se zpravidla stavebnicově zasouvají do slotů (zásuvek).
- procesor – na základě instrukcí a údajů z operační paměti řadí ostatní
součástky,
- operační paměť – slouží na ukládání údajů, s kterými systém pracuje. Je
rychlá, ale vypnutím počítače se její obsah ztratí,
- grafická karta – zabezpečuje zobrazování údajů na zobrazovací zařízení
(nejčastější monitor),
157
Počítačové systémy
- externí paměti (pevný disk, CD, DVD) – slouží na zápis a poskytování
údajů, které mají být k dispozici také po vypnutí počítače.
10.1 Základní deska
Počítač jako celek je v současnosti realizovaný na modulárním
(stavebnicovém) principu, který umožňuje jednotlivé součástky velmi rychle
a lehce vyměnit. Základná deska (mainboard, motherboard, matiční deska)
představuje prostředí, do kterého se vkládají a které zabezpečuje jejich
vzájemnou komunikaci. Je připevněná ke skříňce počítače a nabíjená ze zdroje,
přičemž navíc sama nabíjí některé vložené komponenty. Její charakter určuje
výkon, kompatibilitu a možnosti rozšíření počítače.
1 – patice procesoru
2 – sloty pro operační paměť
3 - chipset s chladičem
4 – sloty PCI Express
5 – sloty PCI
6 – konektory Serial ATA
7 – konektor IDE (P-ATA)
8 – konektor FDD
9 – výstupní porty
Obr. Základní deska
Řazení má na starosti integrovaný obvod (skupina integrovaných obvodů)
označovaný jako čipset (chipset, čipová sada), který zabezpečuje většinu
funkcí základní desky. Obsahuje instrukce, které řídí chod desky, přesun údajů
po sběrnicích a spolupráci s ostatním hardwarem. Čipset zároveň určuje
158
Počítačové systémy
charakteristiky některých modulů, které mohou být do základní desky osazené
(např. typ procesoru, paměti). Součástí čipsetu mohou být i rozšiřující karty –
velmi často bývá na základní desce integrovaná zvuková a síťová, někdy
i grafická karta.
10.1.1 Sběrnice
Komunikaci a vzájemné propojení komponentů zabezpečuje sběrnice (bus). Je
to skupina elektrických obvodů spojující jednotlivé části počítače. Skládá se ze
tří podsystémů:
- adresová sběrnice – je jednosměrná a přenáší údaje obsahující informace
o adrese zařízení, které se zúčastňují komunikace případně o adrese paměti, ke
které se přistupuje,
- údajová (datová) sběrnice – je obousměrná a přenáší údaje mezi zařízeními,
- řídící sběrnice – přenáší příkazy procesoru (řídící jednotky) určené na řízení
komunikace.
Sběrnice je charakterizovaná:
- šířkou udávající počet bitů, které může sběrnice najednou přenášet.
Zjednodušeně se může říct, že jde o počet paralelních kanálů (vodičů), kterými
daná sběrnice disponuje,
- rychlostí udávanou v MHz, která informuje o tom, kolik přenosů dokáže
realizovat za jednu sekundu,
- přenosovou kapacitou vycházející z předešlé dvojice a určující množství
údajů, které je možné přenést za sekundu.
Z pohledu sběrnice je možno základní desku (čipset) rozdělit na dvě části:
severní most (north bridge, lokální (vnitřní) okruh) a jižný most (south bridge,
vnější okruh).
chipset
procesor
PCI
Express
AGP
HDD
ethernet
sloty
pre RAM
north
bridge
south
bridge
USB
audio
PCI
sloty
Super
IO chip
FDD
COM
LPT
Obr. Severní a jižní most
Severní most (System Controller) je bližší procesoru a zajišťuje rychlé přesuny
údajů mezi klíčovými prvky základní desky (procesorem, pamětí a grafickou
kartou (resp. sběrnicí AGP)). Frekvence mezi procesorem a severním mostem
159
Počítačové systémy
je označovaná jako frekvence systémové sběrnice (FSB – Front Side Bus)
a bývá jedním z hlavních parametrů uváděných na základních deskách.
Jižní most (Peripherial Bus Controller) se stará o připojení dalších periférií k
základní desce. Zabezpečuje komunikaci s prvky připojenými prostřednictvím
rozhraní PCI a USB. K tomuto mostu je připojený i aj diskový subsystém,
přičemž už parametry mostu rozhodují o tom, jakou přenosovou rychlostí bude
možné pevné disky připojené k základní desce využívat.
Kromě disků má south bridge na starosti sériové a paralelní porty, disketovou
mechaniku, PS2 porty pro klávesnici, myš a některé další jednoduché rozhraní,
na zprávu kterých je určený Super I/O čip.
1 – PS2 pro myš
2 – PS2 pro klávesnici
3 – paralelní port (LPT1)
4 – sériový port (COM)
5 – VGA konektor
6 – USB port
7 – ethernet porty
8 – audio konektory
Obr. COM, PS2
Mosty jsou navzájem spojené prostřednictvím sběrnice PCI, jejichž rychlost
však dosahuje maximálně 133 MB/s a v současnosti přestává být dostačující.
Dnes je možno se setkat v běžném počítači se sběrnicemi úrovňově nižšími než PCI jen
v „prehistorických“ počítačích. ISA sloty jsou však stále používaným standardem v některých
odvětvích – např. v průmyslových počítačích.
FSB (Front Side Bus) je označením pro v současnosti 64-bitovou systémovou
sběrnici zabezpečující komunikaci mezi procesorem a operační paměti
a napájající se na ostatní komunikační kanály. Její frekvence musí být sladěná
s vnitřní frekvencí procesoru, která obvykle bývá jejím násobkem.
PCI (Peripheral Component Interconnect) představuje standardní rozhraní na
připojení rozšiřujících karet k základní desce. Mezi nejčastější připojené
zařízení patří zvuková, síťová, faxmodemová a TV karta.
AGP (Accelerated Graphics Port) představuje vysokorychlostní sběrnici (port)
určenou pro grafické karty, která je i navzdory tomu, že další vývoj byl jejím
výrobcem (fy Intel) ukončený a postupně se nahrazuje rozhraním PCI Express,
stále častou součástí základních desek.
PCI Express je univerzální sběrnice založená na sériovém přenosu. Její
vysoké přenosové rychlosti (do 4 GB/s) ji předurčují k nahrazení všech
160
Počítačové systémy
vnitřních sběrnic včetně AGP a PCI, ale nedosahuje takovou rychlost, aby ji
bylo možné použít na úrovni FSB.
rok
typ
1982
1984
1987
1988
1992
PC BUS
AT BUS (ISA)
MCA
EISA
VL
BUS
(VL1.0)
VL 2.0
1992 PCI - 1.0
1997 AGP 1.0
AGP 3.0
2004 PCI Express
šířka
sběrnice
(v bitech)
8
16
32
32
32
rychlos přenos
t
(MB/s
(v Mhz )
)
4,77
8
10-20
8-33
40
64
32-64
32
32
1 – 64
30
33
66
266/66
25000
133
266
2 000
4 000
Tab. Vývoj sběrnic
10.1.2 Sériový a paralelní přenos
při popisu komunikace jsme se střetli s pojmy sériový a paralelní přenos. Při
sériovém přenosu se údaje odesílají bit po bitu – v jednom časovém okamžiku
zařízení odesílá anebo přijímá jen jeden bit. V případě paralelního přenosu se
v jednom okamžiku odesílá (přijímá) víc bitů přičemž jejich maximální počet
je určený šířkou sběrnice.
Navzdory logickému závěru však ne vždy a všude platí, že paralelní přenos je
rychlejší než sériový. Moderní sériové technologie (PCI Express, SATA, USB)
dosahují podstatně vyšší přenosové rychlosti než starší paralelní. Jedním
z důvodů je, že při paralelním přenosu musíme zabezpečit, aby údaje po všech
vodičích přišly ve stejném okamžiku, což je při vyšších rychlostech
technologicky i časově poměrně náročné.
10.1.3 Další rozhraní
Na připojení pevných disků a ostatních úložných zařízení (CD, DVD
mechanik) slouží rozhraní ATA (Advanced Technology Attachment), které plní
funkci sběrnice. Velmi často se zaměňují s pojmy jako IDE, UDMA, ATAPI,
které jsou však prakticky jeho synonymy.
Rozhraní, původně prezentované pod obchodní značkou IDE (Integrated Device Electronics),
vzniklo v roce 1986. Nejprve pracovalo jen s pevnými disky a na připojení k základní desce se
používal 40 žilový kabel. Později se standard rozšířil a začal pracovat i s dalšími úložnými
zařízeními – byl označený jako ATA/ATAPI (Advanced Technology Attachment Packet
Interface). Po zavedení standardu EIDE (Enhanced Integrated Device Electronics) bylo možné
k základní desce připojit čtyři zařízení – po dvou na každý kabel.
161
Počítačové systémy
Zpočátku pracovalo rozhraní v modu PIO (Programmed Input/Output), který
při přenosu vyžadoval aktivní účast procesoru a tím zpomaloval celý systém.
Zrychlení zabezpečila technologie umožňující přímý přístup do paměti – DMA
(Direct Memory Access), která nevyžadovala účast procesoru a díky tomu se
jednak zrychlil přenos a jednak uvolnil procesor pro jiné činnosti.
Další zdokonalení přišlo v podobě standardu UDMA/66, který změnou šířky ze 40 na 80 žilový
kabel zvýšil kapacitu přenosu na 66 MB/s. při nezměněné šířce kabelu následovali UDMA/100
a UDMA/133 a tam se možnosti rozhraní skončily.
V roce 2003 bylo představené rozhraní Serial ATA (ATA se zpětně
přejmenovalo na Paralel ATA (P-ATA)), které pracuje sériově a v druhé verzi
(SATA 2) umožňuje přenos 300 MB/s.
Paralelně s rozhraním ATA se rozvíjelo i rozhraní SCSI (Small Computer
System Interface), které už v prvních verzích umožňovalo připojení až 8
různých zařízení (kromě pevných disků a ostatních úložných zařízení se
používalo i na připojení skenerů a tiskáren). SCSI disky se v běžných PC
nevyužívají, jsou určeny pro servery a místa s vysokými nároky na rychlost a
spolehlivost.
V současnosti jsou k dispozici standardy umožňující připojení 127 zařízení s
maximální přenosovou rychlostí kolem 400 MB/s.
V roce 1995 dohodou největších IT firem začal vývoj standardu, který měl
poskytnout jednoduché, univerzální, levné a hlavně rychlé sériové rozhraní na
připojení periferních zařízení. Byl označený jako USB (Universal Serial Bus)
a navzdory počáteční nedůvěře patří v současnosti mezi nejpoužívanější
a nejuniverzálnější rozhraní. Umožňuje připojit až 127 periferních zařízení,
přičemž podporuje jejich připojení a odpojení za chodu a bez nutnosti restartu
počítače. Mezi nejpoužívanější zařízení patří myš, klávesnice, tiskárna, skener,
fotoaparát, digitální kamera, MP3 přehrávač, externí pevný disk, USB klíč
apod.
Velkou výhodou rozhraní USB je, že dokáže kromě údajů poskytovat
připojeným zařízením i napětí, takže ty s nižšími energetickými nároky už
nepotřebují externí nabíjecí zdroj (např. CIS skenery).
V současnosti jsou k dispozici dva standardy:
- USB 1.1 podporuje přenos 12 Mb/s (cca 1,5 MB/s),
- USB 2.0 podporující přenos 480 Mb/s (cca 60 MB/s).
Dalším sériovým rozhraním, které bylo navzdory počátečnímu výkonnostnímu
náskoku zatlačené do pozadí zejména z důvodů vysoké ceny, je FireWire
(často se uvádí také pod názvem IEEE-1394 anebo i.Link). Bylo vyvinuté
firmami Hewlett Packard a Apple Macintosh na přenos velkého objemu údajů.
Ještě v době USB 1.0 dokázalo přenést okolo 400 Mb/s a mělo být využívané
zejména na přenos audia a videa z externích zařízení (digitální kamery,
paměťové karty). V současnosti se rozhraní zdokonaluje a oproti USB přináší
výhody zejména v podobě vyšší rychlosti.
162
Počítačové systémy
Bezdrátové technologie mohou být na základní desce zastoupené v podobě
starší IR (infra-red, infračervené) komunikace anebo novějšího bluetooth. Obě
technologie přenášejí údaje sériově a bez nutnosti použít přepojovací kabely.
Zatímco v případě infračervené komunikace je nutná přímá viditelnost,
bluetooth dokáže překonat většinu fyzických překážek (nábytek, stěna,
karosérie automobilu apod.) a v některých případech dokáže zabezpečit
komunikaci mezi zařízeními až do vzdálenosti 100 m. Oblastí pro nasazení
těchto technologií jsou mobilní zařízení (kapesní počítače, mobilní telefony,
přenosné tiskárny) a využívají se i při dálkovém ovládaní elektronických
zařízení (hi-fi věže, televizory, bezdrátové klávesnice a myši).
Momentální maximální přenosová rychlost pro infračervenou komunikaci je 4 MBps ve
standardu Fast IR a pro bluetooth 3 MBps pro verzi 2.0. Přenosové rychlosti sice nejsou
v porovnání s jinými zařízeními vysoké, ale je třeba si uvědomit, že pro účely, na které se tyto
technologie používají, jsou plně postačující.
Každé ze zařízení, které se prostřednictvím rozhraní připojují k základní desce,
vyžaduje řazení a obsluhu buď prostřednictvím neustále ho anebo alespoň
občasného přidělení výkonu procesoru. Aby procesor dokázal na požadavky
zařízení (zápis, čtení, posílání údajů po sběrnici apod.) reagovat, vyvolává
každý pokus zařízení o komunikaci přerušení normální práce procesoru (IRQ
– Interrupt Request).
Každé zařízení se identifikuje prostřednictvím svého přerušení, které je
identifikovatelné jednoznačným číslem. K němu je přiřazená adresa v paměti,
na které je uložený obslužný podprogram. Před jeho vykonáním si procesor
uloží svůj momentální stav do speciálního registru – zásobníku, což mu umožní
vrátit se po zpracování přerušení k původní činnosti a pokračovat v ní od místa,
kde byla prostřednictvím IRQ přerušená.
V nedávné minulosti se klíčové parametry základních desech nastavovaly
prostřednictvím přepínačů (které mohly být v poloze zapnuto/vypnuto) anebo
jumperů (připojily kontakty na základní desce).
Obr. Přepínač a jumper
163
Počítačové systémy
Dnešní desky už obvykle manuální zásah nevyžadují a všechny vlastnosti jim
dokážeme změnit softwarově prostřednictvím rozhraní označovaného jako
setup. Realizované nastavení používá speciální software, který je součástí
základní desky a slouží pro její komunikaci s ostatními zařízeními. Označuje se
jako BIOS (viz kapitola BIOS).
10.1.4 Procesor
Procesor (CPU - Central Processing Unit) je hardwarové zařízení určené na
zpracování a vykonávání instrukcí. Zatímco základní deska zabezpečuje
komunikaci mezi zařízeními, procesor celý systém oživí – vydává jednotlivým
zařízením příkazy a řídí je na základě instrukcí programu. Některé instrukce
zpracovává sám, při zpracování jiných využívá další komponenty (např.
operační paměť, disky, sběrnice atd.).
V současnosti používané procesory označujeme jako mikroprocesory na
vyjádření kontrastu s prvními procesory, jejichž velikost se blíží velikosti
obytné místnosti. Fyzicky jde o jedinou součástku, kterou tvoří křemíková
destička obsahující na malé ploše (několik cm2) milióny tranzistorů. Ty na
základě spínání a vypínání řídí ostatní komponenty systému.
Obr. Procesor
10.1.5 Části procesoru
Logicky se procesor skládá z následujících částí:
- řadič (řadící jednotka) čte instrukce programu a podle nich řídí ostatní
obvody procesoru anebo komunikuje s komponenty,
- aritmeticko-logická jednotka (ALU – Arithmetic and Logic Unit) vykonává
matematické (a logické) operace,
- registry představují paměťové místa na krátkodobé uložení právě
zpracovaných údajů (např. kód a adresa zpracované instrukce, adresy
důležitých oblastí v paměti, mezivýsledky výpočtů),
- matematický (numerický) koprocesor je určený na zrychlení výpočtů.
Koncepčně jde o samostatný procesor, který realizuje jen výpočty s pohyblivou
desetinnou čárkou, ale od verze 80486 DX byl implementovaný jako součást
164
Počítačové systémy
procesorů. V případě jeho nepřítomnosti při starších typech (bylo ho možné
doplnit do systému jako samostatnou součástku) byly všechny matematické
operace odkázané na procesor, čímž se výrazně snižoval výpočtový výkon
počítače jako celku.
Obr. Koprocesor 80387
- cache je rychlá vyrovnávací paměť relativně malé kapacity, která slouží na
zrychlení toku údajů mezi procesorem a operační pamětí (resp. jinými částmi
počítače). Její význam je založený na zkušenosti, že procesor často žádá
z operační paměti vícekrát za sebou ty dané údaje – tím, že se umístí do rychlé
cache, se snižuje čas potřebný na jejich získání. Cache může být buď součástí
procesoru, anebo také ne. Podle vzdálenosti od jádra procesoru ji označujeme
jako L1, L2, L3 přičemž jejich rychlost podle vzdálenosti klesá a kapacita
narůstá. L1 a L2 jsou v současnosti součástí procesoru.
Jestliže je obsah žádaný procesorem ve vyrovnávací paměti, je mu tento
okamžitě poskytnut. Pokud v ní není, získá se z operační paměti a do cache se
zavede celý blok následujících údajů. Tento proces trvá déle než přímý přístup
do fyzické paměti, a proto zvýšení výkonu nastane jen tehdy, když je počet
úspěšných požadavků řádově vyšší než neúspěšných. Při správné organizaci
bývá úspěšnost okolo 97%.
Poprvé se objevila u procesoru 80486, kde byla společná pro data i instrukce a měla velikost 8
kB. U novějších typů procesorů se velikost cache zvětšovala, ale rapidnímu zvětšení brání
vysoká cena a pracnost při návrhu procesoru. Všeobecně je cache paměť charakteristická
menší kapacitou (8 kB při L1 a maximálně 1 MB při L2) a její zvýšení nad 1 MB není prakticky
účinné a nijak zvlášť nezvyšuje výkon.
10.1.6 Charakteristiky procesoru
V současnosti je na trhu množství procesorů, přičemž každý má svoje
specifické vlastnosti, výkon a samozřejmě se tomu přizpůsobuje i cena:
- výběr procesoru je potřebné sladit s výběrem základní desky, protože
prakticky každý typ procesoru se osazuje do jiného rozhraní – patice,
- základní charakteristikou, která je často součástí názvu procesoru je jeho
taktovací frekvence reprezentující výkon a „rychlosť“ procesoru. Udává se
v herzích, v současnosti v gigaherzích (GHz). Tento parametr udává, kolikrát je
procesor schopný za sekundu změnit svůj stav. Někdy se nepřesně uvádí, že jde
o počet instrukcí, které dokáže vykonat za jednu sekundu (MIPS – Million
Instructions Per Second), ale kvůli schopnostem paralelního zpracování více
instrukcí se už dnes nepoužívá. Kromě frekvence je základní jednotkou měření
165
Počítačové systémy
výkonu procesoru FLOPS (Floating Point Operations Per Second), který
udává počet operací v pohyblivé řádové čárce, kterých je procesor schopen
vykonat za jednu sekundu.
Frekvence procesoru je téměř vždy násobkem frekvence základní desky (FSB).
Taktovací frekvenci však využívá jen vnitřně a všechny vnější operace
přizpůsobuje rychlosti FSB, resp. sběrnicím a komponentům, s kterými
komunikuje,
- efektivita mikrokódu hovoří o tom, jak jsou efektivně napsané
mikroinstrukce procesoru zabezpečující nejjednodušší operace – tj. na kolik
kroků je možné vykonat jednu instrukci.
Na porovnání: při procesoru 8088 trvalo celočíselné dělení 70 kroků, jestli při dokonalejším
80188 už jen 25; procesor 80386 udělal přesun obsahu jednoho registru do druhého na 2
kroky, 80486-tce stačil jediný.
- důležitou úlohu sehrává šířka slova, kterou určuje počet bitů, které je
procesor schopný zpracovat v rámci jedné instrukce. Může nabývat hodnot 8,
16, 32 a 64. Tato hodnota vyjadřuje šířku vnitřní sběrnice procesoru.
- nezávisle od šířky slova, které je procesor schopný zpracovat v jedné
instrukci, je nutné tyto údaje do procesoru dodávat anebo z něj odebrat. Šířka
datové sběrnice (šířka přenosu údajů) je parametrem, který vyjadřuje rozměr
vnější sběrnice určené na komunikaci procesoru s okolím. Udává se také v
bitech a čím je větší, tím víc údajů je možno přenést na jeden takt.
- existence numerického koprocesoru je v současnosti už jen historickou
podmínkou,
- kapacita (případně existence) cache zvyšuje výkon procesoru
prostřednictvím zkrácení přístupové doby k údajům,
- velikost adresovatelné paměti udává velikost operační paměti, kterou je
procesor schopný používat (adresovat). Ta závisí na šířce adresové sběrnice,
kde velikost adresovatelné paměti je 2šířku sběrnice.
Šířka sběrnice byla v 8-bitových procesorech 16-bitová a díky tomu dokázala adresovat 216 =
64 kB, u procesoru 8086 měla 20 bitů (220 = 1 MB), 386SX měla 24 bitů(220 = 16 MB) u 486
má 32 bitů (4 GB) atd.
10.1.7 CISC a RISC
Základní úlohou procesoru je vykonávání programu, který se skládá z
postupnosti příkazů uložených v paměti. Každý příkaz, který procesor musí
vykonat, je složený z jednodušších částí, kroků - tzv. instrukcí. Úlohou
procesoru je příkazy přečíst, dekódovat, vykonat a případně výsledek zapsat –
tuto postupnost označujeme jako instrukční cyklus. Elementární operace,
které je procesor schopný vykonat na jeden takt, označujeme jako
mikroinstrukce.
První procesory byly navrženy tak, že instrukce se skládaly na základě
náročnosti z různého počtu mikroinstrukcí. Tento typ procesorů označujeme
jako CISC (Complete Instruction Set Computer – počítače s kompletní
instrukční sadou). Jeho hlavní črtou je, že používá tzv. plnou instrukční sadu –
snaží se mít na každý příkaz jednu instrukci. Seznam instrukcí je uložený
v mikrokódě (implementovaném přímo v procesoru), který se stará jak
o překlad, tak i o jejich vykonávání.
166
Počítačové systémy
O práci procesoru jsme doposud uvažovali tak, že na jeden takt dokáže realizovat jen jednu
instrukci (mikroinstrukci). Platnost tohoto tvrzení však končí na úrovni procesorů 80486.
U procesoru Pentium se poprvé setkáváme s metodou současné realizace
většího počtu operací prostřednictvím zvýšení počtu instrukčních kanálů na
dva. Procesor obsahuje dvě aritmeticko-logické jednotky, díky čemu je za
určitých okolností schopný zpracovat dvě jednoduché instrukce najednou –
v jednom taktu.
Příklad 1.:
1. Mějme postupnost příkazů: A=10, B=20, C=A+B.
2. První dva příkazy jsou navzájem nezávislé a teda příkaz A=10 může jít kanálem 1, a příkaz B=20
kanálem 2.
3. Po paralelním ukončení obou příkazů se může provést poslední.
Příklad 2.:
Mějme postupnost příkazů: A=10, A=A+5.
Druhý příkaz není možno vykonat, jestliže není ukončen první příkaz, čili procesor bude nucen čekat a celý
výpočet musí jít přes jeden kanál. Druhý zůstává nevyužitý.
Na to, aby procesor dokázal určit, zda bude možné instrukce rozdělit, vyžaduje
poměrně složitou logiku a speciální porovnávací obvody. Tato architektura se
označuje jako superskalární.
Druhou pokročilou metodou, díky které jsou i nesuperskalární mikroprocesory
schopné zpracovávat více instrukcí najednou, je zřetězení instrukcí pipelining.
Filozofie pipeliningu (poprvé se objevila u procesoru 80486) spočívá v tom, že
zpracovaná instrukce se rozloží na několik fází, které využívají různé
(nezávislé) části procesoru. Díky tomu je možné současné vykonávání
jednotlivých fází, přičemž každou instrukci zpracovává jiná část procesoru.
Příklad:
1. takt 2. takt 3. takt
instrukce 1. fáze 2. fáze 3. fáze
1
instrukce
1. fáze 2. fáze
2
instrukce
1. fáze
3
4. takt 5. takt 6. takt 7. takt
4. fáze 5. fáze
3. fáze 4. fáze goto...
2. fáze 3. fáze 4. fáze 5. fáze
Po dobu prvního taktu se vykoná první fáze 1. instrukce a ta přechází do druhé
fáze Uvolněnou první část procesoru začne používat následující instrukce –
dochází k tomu, že v druhém taktu se bude první instrukce nacházet v 2. fázi a
druhá instrukce v 1. fázi. Celý proces připomíná pásovou výrobu, kde do
jednotlivých fází vstupuje jeden výrobek za druhým.
Současné procesory jsou schopny najednou vykonávat až 5 instrukcí. Pokud se
v některé z nich nachází příkaz skoku (goto), který naruší postupnost
vykonávání instrukcí, procesor „krizový stav“ řeší vkládáním prázdné
instrukce, která „zdrží“ práci procesoru do chvíle, pokud nezíská potřebnou
instrukci na vykonání. Procesory od Pentia disponují mechanizmem, který se
snaží předpovídat cílovou adresu těchto skoků.
167
Počítačové systémy
Filozofie různě dlouhých instrukcí nutně vede k stále složitějším a složitějším
technikám na urychlení činnosti procesoru. Tento fakt si už v začátcích
uvědomili tvůrci architektury RISC (Reduced Instruction Set Computer –
počítač s omezenou instrukční sadou) a vycházeli z faktu, že na vykonání 80
procent operací stačí jen 20 procent instrukcí, snížili počet základních
instrukcí, které dokáže procesor realizovat. Instrukce byly navrženy tak, aby
měly pevnou délku, pevný formát a co nejkratší trvání.
Jestli přijde do procesoru instrukce, která není obsažená v základní
(redukované) instrukční sadě, musí se existující instrukce zkombinovat
poměrně náročným způsobem. Navzdory tomu je procesor RISC stále rychlejší
než CISC, protože tato situace se nevyskytuje až tak často.
Současné procesory pro osobní počítače jsou podle této šablony těžko
zařaditelné, protože na jedné straně podporují instrukce x86, teda CISC, ale na
druhé straně jsou vnitřní strukturou více podobné původním procesorům typu
RISC – označujeme je jako hybridní.
10.1.8 Další zvyšování výkonu
Zvýšení výkonu není až tak významné, jak by se na první pohled dalo
očekávat, přineslo rozšíření vnitřní sběrnice procesoru na 64 bitů (první 64bitové procesory byly v reálném nasazení dokonce pomalejší než jejich 32bitoví vrstevníci, což zřejmě souvisí s kódem aplikací, které byly v čase jejich
nasazení orientované 32-bitů).
Procesor Pentium IV přinesl zvýšení výkonu díky podpoře technologie
HyperThreading. Její princip spočívá v tom, že procesor se navenek tváří jako
dva samostatné procesory (dvě jádra), ale jeho struktura v zásadě zůstává
nezměněná, zdvojená je jen část jádra určující aktuální stav výpočetního
procesu (registru).
Díky této úpravě je možno velmi rychle a efektivně přepínat mezi jednotlivými
úlohami např. tehdy, když jedna z nich čeká na údaje z hlavní paměti. V
podstatě je tento princip možné přirovnat k vyplnění mezer. V momentě, když
jedna úloha není schopná obsadit všechny výkonné jednotky, je volný prostor
dán k dispozici druhé úloze.
168
Počítačové systémy
Obr. Schéma dvojjádrového procesoru
Typickým představitelem procesoru se zdvojeným jádrem je Pentium D, který
pracuje na úrovni dvou procesorů a při zapnutém hyperthreadingu se tváři
jakoby systém měl k dispozici čtyři procesory. Až na této úrovni je možno
hovořit o skutečně současném zpracování více úloh (při všech nižších verzích
šlo jen o přepínání se mezi úlohami a využívání nečinnosti procesoru).
10.1.9 Vývoj procesorů
Novodobá historie desktopových procesorů (procesorů pro osobní počítače) se
začala v roce 1981 uvedením prvního osobního počítače firmou IBM. Tento
obsahoval procesor Intel 8086, který se stal zakladatelem řad procesorů typů
Intel.
Tab. Vývoj procesorů
rok
Čipové označení procesoru
1981
1982
1982
1988
1988
1991
1989
1992
1992
1994
1995
1997
1997
1998
1999
2000
2002
2003
2004
2004
8086
8088
80286
80386SX
80386DX
80486SX
80486DX
80486DX2
Pentium
80486DX2-4
Pentium Pro
Pentium MMX
Pentium II
Pentium Celeron
Pentium III
Pentium IV
Pentium IV s HT
AMD Athlon 64 bit
Pentium IV 64 bit
Pentium D
Takt
(MHz)
4,77
4,77
6-12
6-25
12-33
20-33
25-50
50-120
60-200
75-100
166-233
166-233
233-600
266450-1300
1400240026702800-
Šířka vnější sběrnice (v Šířka
vnitřní
cache
bitech)
sběrnice (v bitech)
16
16
ne
8
16
ne
16
16
ne
16
32
ne
32
32
ne
32
32
ano
32
32
ano
32
32
ano
32
64
L1,L2
32
64
32
32
32
32
32
32
32
64
64
64, dvojjádrový
169
Počítačové systémy
Během několika desítek let Intel neustále udával tempo a i když se sporadicky
objevovali také další výrobci, obvykle po několika letech svoje aktivity
ukončili. Kromě výkonných procesorů (Pentium) vyrábí Intel i levnější a méně
výkonné verze, které nejsou pojmenované Celeron. Jsou postavené na stejném
jádře jako výkonné procesory, obvykle mají jen menší cache, užší sběrnici
anebo nižší vnitřní frekvenci.
Jediným současným konkurentem je pro Intel firma AMD, která se z levného
výrobku zabírajícího několik málo procent trhu přepracovala díky nízké ceně
a vysokému výkonu prakticky až na úroveň Intelu. Její procesory nesou
označení Athlon (Thunderbird, Athlon XP) a levnější verze konkurující
Celeronu – Duron a Sempron.
Kromě desktopových procesorů, kterými jsme se na tomto místě zabývali, tvoří
také nezanedbatelnou část procesory pro servery, které zpravidla výkonnostně
předstihly představenou tabulku minimálně o několik let.
Samostatnou kategorií jsou i procesory pro notebooky vyznačující se v první
řadě sníženou spotřebou a sníženou teplotou při výkonu, který jen minimálně
zaostává za výkony desktopů (např. Pentium M, Celeron M, Athlon Mobile).
10.1.10
Využití procesorů
Procesory v podobě, v jaké jsme si je představovali do této doby, představují
jen jednu kategorii nasazení – řídící jednotku počítače, od které se vyžaduje
univerzálnost (umožňující připojení a komunikaci s mnohými zařízeními a
řešení množství úloh zadávaných prostřednictvím programu) a vysoká rychlost.
V tomto případě o procesoru hovoříme jako o CPU (Central Processing Unit –
centrální procesorová jednotka).
Kromě řízení počítačů je však možno procesory využít také jako MCU (Micro
Controller Unit – mikrořadič). Uplatnění této kategorie je velmi rozsáhlé – od
běžné spotřeby elektroniky až po výkonné počítače. Tyto procesory
charakterizuje nízká cena, malé rozměry a nízká spotřeba energie. Je možno se
s nimi střetnou v součástkách počítače (klávesnice), v automobilech, mobilních
telefonech apod.
Poslední kategorií jsou DSP (Digital Signal Processor – digitální signálové
procesory), které představují kompromis mezi předcházejícími kategoriemi.
Vyznačují se vysokým výkonem v oblasti matematických výpočtů a
schopnostmi zpracovat velké objemy údajů. Často jsou jejich součástí i
analogovo-digitální a digitálně-analogové převodníky na transformaci údajů
mezi počítačem a okolím. Využívají se např. ve zvukových kartách, digitálních
fotoaparátech a kamerách.
10.2 Paměti
Paměť počítače je hardwarové zařízení určené na ukládání údajů a programů,
podle kterého počítač pracuje. Dříve než se pustíme do představení konkrétních
řešení na ukládání údajů, popišme si všeobecné vlastnosti pamětí, které jsou
pro uživatele důležité:
- kapacita paměti hovoří o tom, kolik bajtů je možné v paměti najednou
uchovat,
170
Počítačové systémy
- přístupová doba udává čas, za který je potřeba čekat od zadání požadavků
do doby, než paměť požadovanou informaci zpřístupní,
- přenosová rychlost informuje o množství údajů, které je možné za časovou
jednotku z paměti přečíst anebo zapsat,
- energetická závislost určuje, zda údaje na to, aby zůstaly v paměti zapsané
potřebují neustále nabíjení anebo ne,
- přístup vyjadřuje způsob, jakým je možné informaci zpřístupnit. Je možno
uvažovat o principu sekvenčním (typickým představitelem jsou páskové
jednotky, které se na požadovanou informaci dokážou nastavit jen tak, že
přečtou všechny údaje, které je předcházejí) a přímém (náhodném), který na
základě zadané adresy dokáže informaci zpřístupnit okamžitě,
- možnost zápisu kde rozlišujeme paměti umožňující jen čtení a paměti
umožňující čtení i zápis,
- princip záznamu charakterizuje způsob, jakým se jednotlivé bity na
paměťové médium zaznamenávají. Nejčastěji se střetáváme s magnetickým,
elektrickým nebo optickým zápisem,
- spolehlivost je sice jen okrajovým, ale pro uživatele zřejmě jedním
z nejdůležitějších parametrů. Obvykle je udávaná časem mezi dvěma
poruchami zařízení,
- nutnost obnovovat obsah hovoří o tom, zda uložené údaje je nutné neustále
v paměti obnovovat anebo v ní zůstanou uložené po primárním zápise (viz
dále).
V zásadě můžeme paměti rozdělit do třech základních skupin:
- registry a cache představují paměťová místa přímo na čipu u a využívají se
na krátkodobé uchování údajů a programů, ke kterým potřebuje mít procesor
okamžitý přístup. Do této kategorie můžeme zařadit i vyrovnávací a pracovní
paměti ostatních hardwarových komponentů, které slouží na vyrovnávání
rychlostních rozdílů a ukládání údajů komponentu.
- vnitřní paměť je paměť, která bývá zpravidla osazená do základní desky a
připojená k procesoru přímo prostřednictvím sběrnice,
- vnější paměť je určena na dlouhodobé uchovávání údajů. Slouží jako
uložisko, ze kterého se údaje přenášejí do operační paměti (anebo opačným
směrem).
O registrech a cache jsme hovořili v kapitole o procesorech, podívejme se
podrobněji na vnitřní a vnější paměti.
10.2.1 Vnitřní paměti
Vnitřní paměť představuje typ paměti obvykle přímo připojené k základní
desce . Skládá se z integrovaných obvodů a může být součástí nejen základních
desek, ale i některých přídavných karet (grafická karta) anebo periferních
zařízení (tiskárny).
Podle způsobu, jakým můžeme s údaji vnitřních pamětí manipulovat, dělíme je
na:
- RWM (Read/Write Memory) – paměť určená na čtení i zápis,
- ROM (Read Only Memory) – paměť určená jen na čtení, která dovoluje jen
čtení a neumožňuje zápis.
Podle přístupu k údajům dělíme paměti na:
171
Počítačové systémy
- RAM (Random Access Memory) – paměť s libovolným (náhodným)
přístupem, tj. s okamžitým přístupem na libovolné místo za účelem čtení
nebo zápisu,
- SAM (Sequential Access Memory) – paměť se sekvenčním přístupem, která
pro přístup ke konkrétnímu bloku údajů vyžaduje pročítání všech bloků mezi
aktuálním a požadovaným (pásková jednotka).
- CAM (Content-addressable Memory) – asociativní paměť, která je tvořená
tabulkou obsahující prohledávané hodnoty a zodpovídající přiřazené paměťové
adresy (využívá se např. pro paměti cache, adresové tabulky ve switchech,
routrech apod.).
10.2.2 RAM
Paměť s libovolným přístupem (Random Access Memory) umožňuje
zapisování i čtení údajů. Ke každému paměťovému prvku přistupuje
prostřednictvím adresy ve stejném čase. Používá se zejména jako operační
paměť počítače. Obsahuje údaje a program, podle kterého procesor pracuje.
Vzhledem ke svému nasazení se od něj vyžaduje krátká doba přístupu a vysoká
přenosová rychlost. Obsah operační paměti se po vypnutí počítače vymaže,
proto obvykle údaje před vypnutím ukládáme na externí paměti.
Hardwarově bývá zpravidla realizovaná jako samostatný výměnný modul
připojený k procesoru prostřednictvím systémové sběrnice základní desky.
Konstrukčně jde o polovodičovou součástku, kterou je možno řešit jako
dynamickou anebo statickou.
Statické (SRAM) paměti uchovávají v sobě informaci během celé doby
připojení ke zdroji nabíjení bez nutnosti informaci obnovovat. Jsou realizované
bistabilním klopným obvodem, který nabývá hodnoty 0 anebo 1. Jejich
nevýhodou je vyšší složitost a z toho plynoucí vyšší výrobní náklady, výhodou
nízká přístupová doba. SRAM se používá na výrobu pamětí několikanásobně
nižší kapacity než DRAM a využívá se např. na realizaci L2 cache.
Dynamická (DRAM) paměť udržuje údaje pomocí elektrického náboje na
kondenzátoru. Vzhledem k tomu, že náboj má tendenci se vybíjet, je potřebné
několik stokrát za sekundu uložené údaje obnovovat. Dynamické paměti jsou
podstatně levnější a v současnosti se používají např. v modulech SDRSDRAM, DDR-SDRAM a RDRAM.
Obr. DDRAM v DIMM provedení
Pro operační paměť (RAM) je charakteristická vysoká rychlost a energetická
závislost (smazání údajů při vypnutí počítače). Při práci počítače jsou v ní
uložené údaje (někdy celá aplikace), s kterými procesor pracuje. Čím větší
paměť máme k dispozici, tím je práce s počítačem plynulejší. V případě menší
RAM se údaje často ukládají a čtou z disku, co zpomaluje práci a nutí procesor
zbytečně čekat.
172
Počítačové systémy
Zajímavou kategorií RAM pamětí je VRAM (Video RAM), která se používala na grafických
kartách. Je to dvojbránová paměť, která umožňuje současný přístup k údajům dvěma zařízením
– řadiči grafické karty, který údaje zobrazuje a procesoru počítače, který videopaměť plní
obrazovými údaji.
Použití nedvojbránové paměti u levnějších typů grafických karet se nutně odráželo na výkonu,
protože klasická RAM nutila procesor a zobrazovací čip, aby se při práci s ní střídali.
V současnosti je už VRAM překonaná novějšími technologiemi.
10.2.3 ROM
Z paměti typu ROM (Read Only Memory) je možno údaje jen číst. Její obsah
se obvykle definuje u výrobců a standardně se nedá přepsat. Důležitou
charakteristikou této paměti je, že je energeticky nezávislá a zachovává svůj
obsah i po odpojení nabíjení. Kapacitně je tato paměť malá, řádově okolo 64
kB.
Kromě základní ROM verze, existují i další modifikace:
- PROM (Programable Read Only Memory) představuje typ paměti, do které
se zápis nevykonává při výrobě, ale později ho uživatel může realizovat
pomocí tzv. programátora paměti PROM. Zápis se realizuje destrukcí vodivých
cest a po něm se PROM stává ROM – čili umožňuje jediný zápis.
- EPROM (Eraseable PROM) se programuje podobně jako PROM, umožňuje
však zapsané údaje vymazat prostřednictvím UV záření (díky realizaci
prostřednictvím speciálních unipolárních tranzistorů).
- EEPROM (Electrically EPROM) je analogií s předcházejícími typy, mazání
je však možné realizovat elektricky a podstatně rychleji než při EPROM.
- Flash EEPROM je speciální typ EEPROM, s obsahem kterého je možné
manipulovat přímo v počítači. Umožňuje asi 1000 násobné přepsání a je
rychlejší než předešlé typy – možno říct, že prakticky má vlastnosti RAM.
10.2.4 BIOS
Nejtypičtějším a historicky nejznámějším příkladem ROM je paměť, ve které
je uložený BIOS (Basic Input/Output System – základní vstupní výstupní
systém). ROM BIOS je umístěný na základní desce počítače. Obsahuje
množinu obslužných programů nevyhnutelných pro jeho činnost, které
zabezpečují:
- test počítače při zapnutí, který kontroluje existenci, testuje základní zařízení
systému jako také rozšiřující karty zasunuté ve slotech,
- zavedení (start) operačního systému - BIOS zkontroluje, zda jsou na disku,
ze kterého se má operační systém načítat do RAM k dispozici potřebné údaje.
Jestli je najde, zavede je do operační paměti a odevzdá jim řízení,
- základní programy na obsluhu přerušení a standardních zařízení počítače.
Ty před spuštěním operačního systému zabezpečují komunikaci s uživatelem
na úrovni klávesnice a zobrazování v textovém režimu, po jeho spuštění zase v
některých operačních systémech představují prostředníka při komunikaci
operačního systému a samotného hardwaru.
173
Počítačové systémy
Obr. BIOS a záložní BIOS
V minulosti býval BIOS umisťovaný do paměti typu ROM, které nemohly být
měněné, ale v současnosti se vzhledem k neustálému vylepšování softwaru
a možnosti opravy chyb přesunul na úroveň flash EEPROM, díky čemu je
možná jeho aktualizace (obvykle je k dispozici na stránce výrobců základní
desky). Aktualizace se realizuje prostřednictvím speciálního programu,
který přepíše původní obsah BIOSu novým.
Pokud by byl BIOS přepsaný nevhodně (nesprávným obsahem, poškozeným
souborem apod.), mohlo by se stát, že počítač už nenastartuje, a proto někteří
výrobci umisťují na základní desku záložní BIOS anebo neumožňují přepsat tu
část, která se stará o zavedení systému.
S rychlým vývojem hardwaru BIOS přestal být doménou základních desek
a přesunul se také do dalších zařízení. Často se s ním můžeme setkat
u grafických karet, CD a DVD mechanikách, digitálních fotoaparátech,
mobilních telefonech apod. Pro jeho označení se v těchto zařízeních začalo
běžně používat pojmenování firmvér (firmware).
CMOS
BIOS při své činnosti výchozí z několika nastavení, které může ovlivnit
uživatel. Patří sem např. nastavení pořadí zařízení, na kterých bude BIOS
hledat operační systém, nastavení cache pamětí, povolení/zakázání zařízení
integrovaných na základní desce a nastavení jejich parametrů, nastavení
frekvencí sběrnic základní desky případně procesoru, nastavení data a času
apod.
Protože BIOS je řešený jako ROM, tyto nastavení se ukládají do paměti
s malou kapacitou, která nese označení CMOS (Complementary Metal Oxide
Semiconductor). Vzhledem k tomu, že je energeticky závislá (i když má jen
velmi nízké nároky), vyžaduje nabíjení pomocí baterie, která je umístěná na
základní desce. Údaje uložené v CMOS můžeme měnit prostřednictvím
programu označovaného jako setup. Tento je možné vyvolat při startu počítače
stlačením určitých kláves anebo kombinací (nejčastěji Delete nebo F10).
174
Počítačové systémy
Při změně údajů je však třeba myslet na to, že jejich nesprávné hodnoty mohou výrazně snížit
výkon a v extrémním případě dokonce znemožnit start počítače. Na vyřešení takového stavu
pomůže zpravidla jen reset CMOS, který se postará o výrobní nastavení všech parametrů. Je
ho možno realizovat přepnutím switchu, který se obvykle nachází na základní desce v blízkosti
baterie.
Obr. Reset CMOS
10.2.5 Vnější paměti
Vnější (externí) paměti slouží na dlouhodobé uchovávání informací, které
obvykle představují část operační paměti (RAM) anebo výsledek práce
procesoru. Externí paměť pro práci počítače teoreticky není nevyhnutelnou,
prakticky se však bez ní už nedokážeme obejít – v prvé řadě obsahuje operační
systém, který se z něj do operační paměti zavádí prostřednictvím instrukcí
BIOSu, potom údaje, s kterými pracujeme a nakonec aplikace, které nám
poskytují funkce na práci s nimi.
Vnější paměti se zpravidla vyznačují větší kapacitou a nižší rychlostí než
vnitřní paměti. Standardně jsou realizované na magnetickém nebo optickém
principu a jsou energeticky nezávislé.
10.2.6 Pevný disk
Zřejmě nejpoužívanější externí pamětí je pevný disk (hard disk drive, HDD,
někdy se používá archaizmus winchester). Pojem externí v tomto případě
nevyjadřuje jeho umístění mimo skříňky počítače, ale jde u způsob připojení
k procesoru a základní desce. Pevný disk se prostřednictvím rozhraní ATA
(SCSI) připojuje k systému sériovým anebo 80-žilovým paralelním kabelem.
175
Počítačové systémy
Není součástí základní desky, umisťuje se do speciálních držáků (šachet)
skříňky.
Obr. Pevný disk s krytem a bez něho
Pevný disk se skládá z kovových kotoučů umístěných nad sebou, na kterých je
nanesená magnetická vrstva sloužící na záznam údajů. Ty se ukládají
oboustranně, o manipulaci (čtení a zápis) se starají zapisovací a čtecí hlavy,
přičemž každá plocha má samostatnou dvojici.
Disk je uzavřen v prachotěsném (ne vzduchotěsném) pouzdře, kde se kovové
kotouče neustále (od zapnutí po vypnutí) otáčejí. Hlavičky se plochy disku
nedotýkají – díky vysoké rychlosti a proudění vzduchu „plavou“ těsně nad
povrchem. Vniknutí jakékoli prachové částice a dotyku s plochou by při
vysoké rychlosti mohlo údaje nenapravitelně poškodit.
Pevný disk se nenazývá pevným z důvodu přišroubování ke skříňce počítače (nakonec existují
také přenosné pevné disky, které se k počítači připojují např. přes port USB), ale na základě
ukládání údajů na neohybné (teda pevné) kovové či skleněné plotny. Jeho přímým
předchůdcem a prvním „moderním“ záznamovým médiem byla disketa vyrobená z ohybného
materiálu, která se díky této charakteristice označuje jako pružný disk (floppy disc).
U pevného disku sledujeme následující parametry:
- v prví řadě nás zřejmě zajímá kapacita vyjadřující množství údajů, které
dokážeme na disku uchovávat najednou,
Tento parametr je jedním z nejzkreslenějším, protože výrobci neuvažují o 1 GB jako o 1024
MB, ale o 1000 MB. Uživatel je potom po připojení disku zklamaný, když namísto avizovaných
80 GB mu systém po správných přepočtů nabízí jen 74,5 GB.
- rychlost práce závisí na více parametrech, na prvním místě je třeba uvést
rychlost otáčení desek. Ta se udává v počtu otáček za minutu (rpm –
revolutions per minute). Čím je rychlost vyšší, tím více údajů je možno přečíst
z disku za časovou jednotku,
- přístupová doba vyjadřuje čas, který potřebuje čtecí hlava na to, aby se
nastavila na místo, z kterého chceme číst,
- hustota záznamů udává, kolik údajů se vejde na 1 cm2 (příp. palec
čtvereční),
- velikost diskové cache určuje paměťový prostor vyhrazený na přechodné
umístění údajů, které „budou potřebné za okamžik“ při čtení nebo zápisu.
Tvoří prostředníka mezi diskem a základní deskou. V současnosti se pohybuje
na úrovni 8 MB.
176
Počítačové systémy
- přenosová rychlost je výslednou hodnotou závislou na předcházejících
parametrech a udává, jaké množství údajů je možné přenést za jednotku času.
- komunikační rozhraní je závislé na komunikaci se základní deskou.
K dispozici máme P-ATA, SATA, SCSI.
- rozměry disku (průměr desek) se udávají v palcích. Standardní disky mají
průměr 3,5“, pro přenosné počítače jsou výrazně menší – 2,5“.
10.2.7 Fyzická struktura disku
Zápis údajů na plotny disku se realizuje v soustředných kružnicích, které
nazýváme stopy. Stopy se stejným poloměrem (umístěné na plotnách nad
sebou) tvoří cylindry. Stopy jsou rozdělené na sektory (viz obrázek), přičemž
sektor představuje nejmenší jednotku, ke které mohou hlavy přistoupit. Na
stopách s menším poloměrem zabírá sektor menší plochu než na stopách
vzdálenějších od středu. Aby se zbytečně neplýtvalo místem, stopy se rozdělí
do více zón a v rámci každé zóny mají potom stejný počet sektorů. Velikost
jednoho sektoru je obvykle 512 B.
stopa
hlava 1 (head 1)
hlava 2 (head 2)
hlava 3 (head 3)
cylinder
stopa
sektor
zóny
klaster
(2 sektory)
Obr. Cylindr, stopa, zóna a sektor
A jakoby toho nebylo dost, na zjednodušení správy disku a přístupu operačního
systému k údajům se sousední sektory slučují do klastrů. Klaster (cluster) je
potom nejmenší využitelná jednotka, do které je možno zapsat údaje. Pokud se
do něho vloží jen jeden bajt, je celý klastr označen jako obsazený a pro zápis
dalších údajů nepřístupný. Velikost klastrů závisí na velikosti pevného disku,
pohybuje se od 2 sektorů vyšší (4, 8 atd.).
Diskové zařízení má kromě prostoru určeného na ukládání údajů označovaného
jako datová oblast, vyhrazených i několik speciálních částí.
„Začátek“ disku (první sektor disku na platně 0 a cylindru 0) se označuje jako
master boot record (mbr) a skládá se ze dvou částí:
177
Počítačové systémy
- zaváděcí program (boot), který se po kontrole hardwaru BIOSem postará o
načítání operačního systému z disku,
- tabulka oblastí (partition table) obsahuje informace o rozdělení pevného
disku. Tento se může dělit na více logických oblastí (partition), přičemž každá
z nich se v operačním systému uživateli jeví jako samostatný disk. V každé
logické oblasti může být nainstalovaný jiný operační systém.
10.2.8 Diskové souborové systémy
Od použitého operačního systému zpravidla závisí i použití souborového
systému. Údaje jsou na disku (anebo přesnější v logické oblasti) uložené
v souborech (viz dále) a souborový systém určuje způsob jejich ukládání a
organizování tak, aby k nim byl zabezpečený co nejjednodušší přístup.
Souborové systémy mají za sebou vlastní historický vývoj stejně jako všechny
ostatní prvky IKT. V současnosti se můžeme v rámci pevných disků střetnout
s následujícími:
- FAT-16, VFAT, FAT-32 – historické souborové systémy používané
v prostředí MS DOS, OS/2, Windows 95 a Windows 98. Tento souborový
systém byl původně navržen pro diskety a až později se aplikoval na pevné
disky. Obsahuje údaje o umístění souborů v tabulce označované jako FAT
(File Allocation Table), z které je také odvozen název systému.
V tabulce FAT je zaznamenané rozložení souborů v jednotlivých klastrech
disku. Informuje o tom, zda je klastr volný anebo zda soubor tvoří několik
klastrů. V adresáři není zaznamenáno jen jméno souboru, ale i číslo prvního
souborem použitého klastru, odkaz na druhý klastr atd. Při požadavku na
přečtení souboru je nejdříve v tabulce zjištěno fyzické umístění prvního klastru
na disku, potom mikroprocesor, který je součástí každého disku, nasměruje
čtecí hlavu k němu a údaje jsou poslané do vyrovnávací paměti disku. Odtud
směřují k operační paměti či procesoru.
Čísla v označení hovoří o tom, kolik bitů používá daný souborový systém na
adresování. Na jejich počtu potom závisí také maximální velikost, kterou
dokáží z pevného disku využít (v případě FAT-16 je k dispozici 16 bitů, což
umožňuje adresovat 32 MB, když je velikost klastru jednosektorová a 2 GB
když se použijí maximálně 64-sektorové klastry). FAT-32 dokáže teoreticky
adresovat 4 TB (terabajty), ale maximální velikost souboru je ohraničená 4 GB.
Na pevném disku používajícím souborový systém FAT jsou k dispozici
standardně dvě totožné FAT, aby se předešlo ztrátě údajů při poškození jedné
z nich.
- NTFS (New Technology File System) představuje souborový systém poprvé
použitý ve verzi Windows NT, který na adresování souborů využívá 64 bitů a
používá filozofii značně odlišnou od filozofie FAT.
Celý systém je řešený jako obrovská databáze, ve které jeden záznam
zodpovídá jednomu souboru. Komplexní informace o jejím obsahu jsou
obsaženy v MFT (Master File Table), kde je pro každý soubor či adresář
(přihrádka) vyhrazený jeden záznam obsahující všechny atributy – jméno a typ
souboru, bezpečnostní informace apod.
Oproti FAT přinesl NTFS následující novinky:
- žurnálování (logování) – všechny zápisy na disk se zaznamenávají do
speciálního (žurnálového) souboru, díky kterému je možné při havárii systému
vrátit zpět nedokončené operace a uvést údaje do původního stavu.
178
Počítačové systémy
- zatímco v systému FAT bylo možné přidělovat přístupová práva jen
k sdíleným přihrádkám (např. při přístupu v rámci lokální sítě), NTFS
umožňuje přidělit práva na přístup k libovolnému souboru či adresáři i v rámci
jednoho počítače na základě přihlášení uživatele do systému.
- zvýšení rychlosti při větších množstvích údajů a složitějších adresářových
strukturách.
- šifrování a komprimace údajů na úrovni souborového systému bez potřeby
používání dalších aplikací.
- ext, ext2 a ext3 (extended file system) jsou představiteli souborového systému
používaného v operačních systémech typu Linux. Umožňují přidělování
přístupových práv k údajům i zařízením stejně jako NTFS, ext3 disponuje i
žurnálováním. Ostatní systémy typu Unix nepoužívají univerzální souborové
systémy, ale obvykle disponují vlastními umožňujícími přidělování
přístupových práv a často i žurnálování.
- HFS (Hierarchical File System) je souborový systém unixového původu
používaný v Apple Macintosh. Jeho následovník HFS plus disponuje funkcí
přidělování přístupových práv a novější verzi přidali žurnálování a zavedli
několik optimalizačních funkcí ve snaze defragmentovat (viz dále) soubory bez
nutnosti použít externí defragmentační program.
10.2.9 Formátování
Pevný disk po prvním připojení k počítači nemá vytvořený souborový systém a
není možné ukládat na něj údaje. Pro oživení je potřebné vykonat rozdělení na
oddíly (partition, případně určit, že se bude používat jako jediný oddíl), určit
oddíl, ze kterého se bude spouštět operační systém a následně všechny oddíly
naformátovat. Tím se definuje používaný souborový systém a médium se
připraví na zápis údajů (každý oddíl může používat jiný souborový systém).
Na vytvoření oddílů a formátování je možno použít speciální programy, anebo
všechny operace ponechat na instalátoru operačního systému.
Formátování odstraní (vymaže) z pevného disku (oddílu) všechny soubory a
adresáře.
V některých případech je však možné původní údaje získat zpět, protože fyzicky jsou
odstraněny jen záznamy o umístění souborů a údaje zůstávají na disku v zásadě neporušené.
V případě, že chcete údaje skutečně bezpečně odstranit, je vhodné použít programy či funkce,
které přepíšou celý povrch disku hodnotou 0.
Při formátovaní oddílů, který je nastavený jako aktivní pro spuštění operačního
systému, je potřebné zabezpečit, aby byl naformátován jako systémový
(obvykle se o to postará přepínač v příkazu anebo zaškrtávací políčko
v grafickém operačním systému).
Kromě tohoto typu formátování (high-level) existuje i nízkoúrovňové formátování (low-level),
které zpravidla vykonává výrobce (ve starších BIOSech byla k dispozici tato možnost i pro
běžného uživatele). Pomocí něho se určuje počet stop, cylindrův a sektorův na plotnách
pevného disku.
179
Počítačové systémy
10.2.10
Fragmentace
Údaje jsou na pevném disku uloženy v souborech. Po odeslání požadavků na
uložení se v neoptimalizovaném případu postupuje následovně:
- najde se první volný klastr a uloží se do něj začátek souboru odpovídající
velikosti klastru,
- v případě, že je volný sousední klastr, využije se na zápis další části, pokud je
obsazený, najde se nejbližší volný klastr a zápis pokračuje do něj, atd., až když
není zapsaný celý soubor.
Příčinou toho, že některé klastry jsou volné a jiné ne, je zejména mazání
souborů Když je pevný disk prázdný a soubory se z něho nemazaly, údaje
zaplňují postupně sousední klastry. Jestliže dojde k vymazání souboru, uvolní
se klastry, které obsazoval. Ty obvykle nejsou na konci zapsané oblasti a po
odstranění souboru vznikne v použité oblasti „díra“, do které se později uloží
další soubor anebo jeho část. Důsledkem takovéto činnosti je, že když soubor
zabere více klastrů, než je k dispozici v souvislém celku, musí se rozdělit –
tomuto dělení říkáme fragmentace.
Když potom uživatel žádá obsah souboru, přečte se jeho začátek, čtecí hlava se
přesune na další blok souboru atd., dokud neshromáždí komplexní obsah.
Fragmentace nepříznivě ovlivňuje jak rychlost zápisu a čtení údajů, tak i
celkovou kapacitu a opotřebování hardwaru. Fragmentace jako takové není
možné zabránit, je však vhodné minimalizovat ji používáním aplikací
vykonávajících defragmentaci, která přemístí části souborů tak, aby byly
umístěné v souvislých blocích.
10.2.11
Kontrola a bezpečnost údajů
Pokud je počítač vypnutý nekorektním způsobem, může se stát, že právě
ukládané údaje nebudou správně zapsané (ukončené). Část problémů
spojených s neukončenými operacemi řeší žurnálování souborových systémů,
ale někdy (v případě nežurnálových souborových systémů téměř vždy) je
potřebné analyzovat nedokončený zápis i jinými způsoby.
V operačních systémech Windows je na tento účel určena aplikace scandisk,
resp. chkdsk (check-disk), která kromě kontroly konzistentnosti a správné
velikosti souborů dokáže analyzovat i povrch disku a hledat chybné sektory.
Poškozený sektor je systémem označený a údaje se do něj víc nezapisují. Toto
opatření má zabránit zápisu údajů na místa, z kterých by už nemusely být
čitelné.
Ztráta údajů co jen v malém množství je vždy nepříjemnou záležitostí a o to
hůř, pokud dojde k poruše pevného disku. Na zjištění pravděpodobnosti
takového výpadku mají pevné disky implementovanou technologii S.M.A.R.T
(Self-Monitoring, Analysis and Reporting Technology – monitorovací systém
pevných disků), která poměrně spolehlivě dokáže určit, kdy je vhodné pevný
disk vyměnit. SMART pracuje na principu sledování a vyhodnocování více
parametrů (počet startů, chybovost vyhledávání, počet chyb zápisu, počet
špatných sektorů apod.). Technologii v současnosti podporuje většina
základních desek, které o kritickém stavu uživatele informují.
Technologie RAID (Redundant Array of Independent Disks – redundantní pole
nezávislých disků) představuje další možnost na zvýšení výkonu a/anebo
ochrany údajů při neočekávaných poruchách hardwaru. Předpokladem jejího
180
Počítačové systémy
použití je připojení minimálně dvou pevných disků, kdy již můžeme hovořit o
jednoduchém diskovém poli.
RAID nabízí několik úrovní zapojení, přičemž mezi nejtypičtější patří úroveň
1 (označovaná také jako zrcadlení), která při každém ukládaní údajů vytváří na
dvou (anebo více) připojených discích identickou kopii. V případě poruchy
jednoho ze zařízení máme na dalším k dispozici úplně stejný obsah.
Na zvyšování výkonu se používá úroveň 0, která při zápisu na připojené disky
údaje rozděluje (v případě dvou disků se rychlost práce s diskem teoreticky
zdvojnásobí). V případě poškození kteréhokoli z připojených disků, však dojde
ke ztrátě všech údajů.
Tento nebezpečný stav se řeší kombinací RAID 0+1, která využívá výhody
diskových polí RAID 0 a RAID 1. Pevné disky jsou organizované tak, že tvoří
několik diskových polí typu RAID 0 stejné velikosti a tato pole jsou spojená do
jednoho diskového pole typu RAID 1. Je tak zabezpečená redundance uložení
údajů a stejně je také zvýšená výkonnost čtení a zápisu údajů.
Zajímavou alternativou je zapojení RAID 5, které se snaží využít dostupnou
diskovou kapacitu co možná nejlépe. Údaje se při zápisu rozdělují na části,
které se zapisují na jednotlivé pevné disky, přičemž na jeden z disků se
zapisuje kontrolní (paritní) blok vypočítaný z údajů zapsaných na ostatní disky.
Jestliže dojde k výpadku disku, na kterém je uložený údajový blok, je možné
tento blok vypočítat z ostatních údajových bloků a kontrolního bloku. Jakmile
dojde k výpadku disku, na kterém je uložený kontrolní blok, je možné tyto
údaje vypočítat a obnovit z původních údajových bloků.
Standardně se diskové pole typu RAID používají na serverech, jejich využívání
na osobních počítačích je spíše výjimkou.
10.2.12
Kompaktní disky (CD)
CD (compact disc – kompaktní disk) je plastový kruh původně používaný na
distribuci hudebních nahrávek, které se na CD ukládaly lisováním a bylo je
možné přehrávat v hudebních přehrávačích a později i ve čtecích mechanikách
osobních počítačů. Původně se na něm šířila hudba, později přibyla možnost
šířit i jiné údaje. Předpokladem bylo doplnění mechanizmů na kontrolu a
opravu chyb – to co by se ve zvukové nahrávce mohlo jevit jen jako nepatrné
prasknutí, by v případě údajů mohlo způsobit nepoužitelnost celého souboru.
Na rozdíl od pevných disků, které mají soustředné kruhové stopy rozdělené do
sektorů, má kompaktní disk jedinou spirálovou stopu, která začíná uprostřed
disku. Ta je po celé své délce rozkouskovaná na stejně dlouhé bloky.
Informace je v blocích, stopy ve tvaru malých jamek nestejné délky (pity),
které se střídají s ploškami (lands). Jamky a plošky na discích nepředstavují
nuly a jednotky, ale jednotka je vyvolaná přechodem mezi nimi, žádná změna
reprezentuje nulu. Údaje čte laserový paprsek, který se po vložení CD nabudí a
zaostří na velikost jamek. Odražené světlo potom snímá fotodetektor a přetváří
ho na digitální signál, který dále odevzdává elektronice zařízení.
Pity se vytvářejí prostřednictvím matrice, podle které se do roztaveného
polykarbonátu „vytlačí“ obraz disku. Na něj se nanese odrazová (obvykle
aluminiová vrstva), která se „zaleje“ lakovou ochrannou vrstvou. Na ní se
obvykle přilepí etiketa.
Lisovaný kompaktní disk se označuje také jako CD-ROM (Compact disc –
Read Only Memory), protože jakmile je disk vylisovaný, je možno z něho
181
Počítačové systémy
údaje (hudbu, soubory) už jen číst bez možnosti změny. Náklady na tvorbu
média je potřebné rozdělit mezi použitý materiál, vytvoření matrice sloužící
jako vzor a aplikování technologie – produkce se tím pádem vyplatí jen při
vysokonákladových titulech.
V roce 1990 byly firmou Philips zveřejněny charakteristiky a formát
zapisovatelných CD pod názvem CD-R.
CD-R se často označuje také jako CD-WORM anebo CD-WO, kde WO znamená write-once
(jediné zapsání) a WORM (write-once, read many) možnost jediného zápisu, ale mnohých
čtení.
Tento krok odstartoval éru používání kompaktních disků v malém a umožnil
ukládání do té doby nepoznaného množství údajů na jednoduchý plastový
kotouč s průměrem 12 cm i běžnému uživateli.
Technologie čtení je založená na odrážení laserového paprsku stejně jako při
formátu CD-ROM, pro zápis byla do struktury média přidaná světlocitlivá
vrstva, která umožňuje zapisovacímu zařízení (slangově nazývanému
vypalovačka) jednorázový zápis údajů prostřednictvím laseru. Na místech, kam
dopadne laserový paprsek (vykoná zápis) se světlocitlivá vrstva spojí
s metalickou a při čtení se toto místo jeví stejně jako jamka při lisovaných
médiích – odráží světlo s menší odrazivostí.
Při prvních CD-R bylo jako aktivní vrstva použito organické barvivo modré
barvy a odrazovou vrstvu tvořilo zlato. Médium bylo velmi citlivé na UV
záření a delší vystavení slunečním paprskům pro něj často znamenalo
nenávratné poškození záznamu. V současnosti se vzhledem k cenové válce
mezi výrobci zlato používá minimálně a mírně se zvýšila i odolnost vůči UVzáření.
Vzhledem k nevyhnutelnosti vysoké přesnosti při nahrávaní údajů je už při
výrobě na polykarbonátové vrstvě CD-R média vytvořena spirálová drážka,
sloužící jako vodítko pro laser mechaniky, čímž je umožněno velmi přesné
nahrávání dat na disk.
První mechaniky umožňující zápis údajů na CD pracovaly pomalu a dokázaly
na jedno CD uložit údaj jen jednou bez ohledu na to, jakou část CD využily.
Později se rychlost zápisu (i čtení) zvyšovala a byla vyjádřena násobky 1-52,
které reprezentovaly přenosovou rychlost (hodnota 1 odpovídá přenosu 150
kB/s). Později už bylo možné na CD-R údaje dopalovat v tzv. sekcích (podpora
multisession).
Specifický typ kompaktního disku tvoří přepisovatelné CD-RW (CD
Rewritable). Média tohoto typu je možno vymazávat a opětovně na ně ukládat
údaje. Předpokladem vícenásobného ukládání je odlišná struktura
záznamového materiálu, která při zápisu údajů laserovým paprskem (teplota
500-700 stupňů Celsia) mění zasažená místa tak, aby pohlcovaly světlo a při
mazání údajů (teplota okolo 200 stupňů) jim vrací původní strukturu. CD RW
je možno přepsat několik tisíc krát.
Snímací hlava CD je v porovnání s pevným diskem poměrně daleko od
povrchu (okolo 1 mm), takže její poruchy jsou výjimečné. Problémem může
být prach anebo mastnota (z nesprávného držení média), které dokážou odrazit
nebo odchýlit laser a způsobit tak selhání systému.
182
Počítačové systémy
Údaje jsou při zápisu ukládané spirálovitě, přičemž nejčastěji se používají
následující souborové systémy:
- ISO 9660 (založený na starším formátu označovaném jako High Sierra) je
definovaný na třech úrovních, přičemž nejnižší dovoluje názvy souborů
skládající se maximálně z osmi znaků a třech znaků pro koncovku, struktura
adresářů se může skládat maximálně z osmi úrovní. Při dodržení těchto
pravidel jsou údaje čitelné jak na systémech Windows, tak i na systémech
používajících Unix a Mac OS. Vyšší úrovně povolují větší počet (30) znaků
v názvech souborů.
Systém je podobný FAT systému a údaje o umístění souborů začínají v 166.
sektoru disku. V případě, když se CD skládá z více sekcí, je tabulka obsahu
(TOC – Table of Contents), tj. údajů a adresářů, umístěná na začátku každé
z nich.
- Joliet je dalším rozšířením ISO9660, které umožňuje používání 64
znakových názvů a více než 8 úrovní adresářů.
- UDF (Universal Disc Format) představuje nový souborový systém, který má
zajistit možnost výměny údajů mezi různými operačními systémy. Podporuje
délku názvu 255 znaků a umožňuje paketový zápis, který dovoluje pracovat
s médiem stejně jako s pevným diskem – kopírovat, přesouvat a mazat soubory
pomocí souborového manažera operačního systému bez potřeby spuštění
speciálního programu určeného pro vypalování.
- Mac HFS je souborový systém určený pro počítače MacIntosh, který není
kompatibilní s PC.
- Rock Ridge představuje další rozšíření ISO 9660, které podporuje vlastnosti
známých z operačních systémů typu Unix, jako přidělování práv na přístup
k souborům, komentáře k souborům apod.
U mechaniky CD-ROM, případně CD-RW sledujeme podobné parametry jako u pevných disků,
přičemž nejzajímavější jsou zřejmě přístupová doba, rychlost čtení, rychlost zápisu a rychlost
přepisování. Např. kombinace 52/40/24 udává schopnost číst rychlostí 52, zapisovat 40 a
přepisovat 24 (jednotkou rychlosti je 150 kB/s). Tyto hodnoty jsou však udávané výrobcem jako
maximální a v reálné praxi se k nim přiblížíme jen zřídka.
Kompaktní disky, které v současnosti používáme, mají obvykle kapacitu 700
MB, případně ve zmenšeném (8 cm) formátu okolo 200 MB. Zřídka kdy je
možnost se střetnout ještě i se staršími médii s kapacitou 650 MB.
Okrem těchto (více - méně standardních) médií existují i CD umožňující zápis
800-900 MB, ve všeobecnosti se však jejich používání nedoporučuje, protože
může vést k nenávratnému poškození jak čtečky, tak i zapisovačky.
10.2.13
DVD
přímým následovníkem kompaktních disků je DVD (Digital Video/Versatile
Disc – digitální video/víceúčelový disk) původně vyvíjený pro filmový
průmysl hledající prostředek poskytující jak levnější, tak i kvalitnější
prostředek k distribuci filmových nahrávek (odtud pochází i prvotní název
digital video disc).
Technologie DVD je téměř totožná s technologií používanou při CD, vyšší
kapacity se dosáhlo několika drobnými úpravami (např. zmenšením jamek a
plošek, zúžením spirálové stopy) a možností využívání dvojvrstvového zápisu.
183
Počítačové systémy
Při dvojvrstvovém zápisu se na ukládání údajů využívají dvě vrstvy, do kterých
se zapisuje na základě zaostřování laserového paprsku na jednotlivé plochy –
vrchní vrstva je proto vůči paprsku polopropustná.
Současné DVD má v případě jednovrstvové verze kapacitu 4,7 GB, v případě
dvojvrstvového 9,4 GB. Pokud se použije dvojvrstvové oboustranné médium je
k dispozici kapacita až 17 GB.
Stále nejčastějším obsahem DVD jsou filmy, přičemž jednovrstvové (4,7 GB)
médium dokáže při maximální kvalitě zaznamenat 135 minut videa a několik
zvukových kanálů. Obvykle se využívá kódovací obrazová norma MPEG-2,
která zabezpečuje kompresi pohyblivých obrázků. Komprese využívá fakt, že
pohyb se skládá z postupnosti obrázků a ty informace, které zůstávají stejné
jako v předešlém obrázku se nezaznamenávají, protože existuje možnost je
získat z předcházejícího obrázku.
Obr. DVD a nabídka přechodu mezi částmi filmu
DVD využívá souborový systém UDF, který oproti svému předchůdci (ISO 9660) nemá
problémy s maximální velikostí souborů, která je u ISO 9660 buď 2 GB anebo 4 GB podle
implementace. Filmové stopy se však obvykle dělí do více menších souborů (max. 1 GB)
z důvodu snížení nároků na elektroniku DVD přehrávačů.
10.2.14
Disketa
Disketa (FDD – Floppy Disk Drive) představuje v současnosti nejstarší
používané médium, které se od doby svého vzniku v roku 1967 změnilo asi
nejméně. Skládá se z pružného kotouče pokrytého magnetickou vrstvou, která
uchovává zaznamenané údaje. Tento kotouč je umístěný v plastovém obalu,
který byl u starších verzí disket (8“ a 5,25“) lehce ohýbatelný a obsahoval
výřez, přes který přistupovala k povrchu diskety disketová mechanika.
V současnosti používané 3,5“ diskety mají obal pevný a samotná záznamová
184
Počítačové systémy
plocha je na místě výřezu chráněná kovovým krytem – ta se po vložení do
mechaniky odsune a zpřístupní tak záznamovou plochu na čtení nebo zápis.
Obr. Disketa
I když původně diskety představovaly jediné médium, na kterém mohl být
uložen operační systém a které musely být v mechanice zasunuté po dobu celé
jeho činnosti, vývojem pevných a kompaktních disků byly odsunuté do pozadí.
Ještě nedávno se disketa používala na archivování a přenos menšího množství
údajů, ale v současnosti je už jako taková jedním z největších přežitků. Práce
s ní je velmi pomalá a disketa jako médium je velmi nespolehlivá – někdy s ní
stačí zavadit anebo prudčeji položit a uložené údaje jsou navždy ztraceny.
Navzdory mnohým předpovědím o svém zániku si však svoje místo u běžného
uživatele neustále drží.
Princip ukládání údajů je stejný jako u pevných disků. Disketa se skládá z
jediné oboustranné plotny, která je rozdělená na stopy a sektory. Komunikaci
diskety s počítačem zabezpečuje disketová mechanika, která se k základní
desce připojuje pomocí kabelu stejně jako pevný disk. O zápis se v ní stará
zapisovací a o čtecí hlava. Důležitým rozdílem oproti technologii pevného
disku je, že hlavy se dotýkají záznamového média a jakákoli manipulace
s disketou při čtení nebo zápisu vede k poškození údajů. V důsledku přímého
kontaktu je potom logicky omezená i životnost disket. Kapacita diskety
představuje v současnosti 1,44 MB.
10.2.15
Flash paměti
Masové rozšíření nejrůznějších digitálních zařízení (digitální fotoaparáty, MP3
přehrávače, mobilní telefony, diktafony) a snaha poskytnout jim co největší
prostor na ukládání údajů, si vyžádaly médium, které bude dostatečně malé
fyzicky a dostatečně velké kapacitně. Takovýmto zařízením je paměťová
(flash) karta, která buď rozšiřuje pevně zabudovanou kapacitu zařízení, anebo
představuje jediné místo, kam se získané údaje (fotografie, zvukový záznam)
ukládají. Paměťové karty existují v mnohých tvarech a provedeních, liší se
kapacitou, rychlostí práce a cenou.
Flash paměť je druh paměti, ve které se s údaji manipuluje prostřednictvím
elektrických impulzů, přičemž údaje zůstávají uchovány i po odpojení nabíjení.
Jejich první nasazení představují ROM paměti, které sloužily jako součást
BIOSu hardwarových zařízení a v případě potřeby bylo možné přepsat jejich
obsah pomocí speciálního programu.
V současnosti tyto paměti umožňují ukládání a čtení údajů buď přímo v
zařízení, které je využívá, anebo v případě použití speciálního zařízení (čtečky
paměťových karet) i prostřednictvím počítače. Může se s nimi pracovat
185
Počítačové systémy
podobně jako s disketami, ale jsou nesrovnatelně spolehlivější, rychlejší a
schopné pojmout údaje od 16 MB do 4 GB i víc.
Existují už i pevné disky, ve kterých je standardní elektromagnetický přístup
nahrazen elektrickým a na ukládání údajů využívají flash moduly. Oproti
elektromagnetickým diskům mají asi 20 násobně nižší spotřebu, jsou nehlučné
a díky neexistenci mechanických součástek i nízkoporuchové. Svoje uplatnění
našli v zařízeních, které umisťujeme do prostředí s náročnými podmínkami
(prašné prostředí).
Obr. Různé typy paměťových karet
Velmi rozšířenou kategorií paměťových karet jsou USB klíče (flash disky),
jejichž obrovskou výhodou je, že na práci s údaji nevyžadují žádnu čtečku,
stačí je zasunout do USB portu. Oproti ostatním zařízením nabízejí
jednoduchou manipulaci, vysokou rychlost ukládání i čtení údajů, velmi
dobrou skladovatelnost, přenositelnost a oproti ostatním médiím zejména
spolehlivost. Klíči se začaly nazývat proto, neboť se dají nosit na řetízku
(anebo ve svazku) a zároveň se do USB portu zasouvají jako klíč. Kapacita je
analogická s paměťovými kartami.
Obr.USB klíče
10.2.16
Ostatní paměťová média
V současnosti se kromě vyjmenovaných paměťových médií zvykle využívat
také další zařízení určené na evidování údajů. Jejich výskyt je však už jen
sporadický, protože je vytlačují nové levnější technologie umožňující
uchovávání údajů větší kapacity:
- zip média o velikosti 100-250 MB navenek vypadají jako hrubší diskety a i
princip činnosti je jim velmi podobný – zápis i čtení se realizuje
prostřednictvím čtecích (zapisovacích) hlav, které se při práci dotýkají
magnetické vrstvy záznamového média. Zip-mechaniky se připojují k počítači
jako interní zařízení anebo prostřednictvím USB či paralelního portu.
- jaz je zajímavým řešením, které připomíná pevný disk s výměnnými plotnami
– záznam se vykonává do magnetické vrstvy pomocí hlav oddělených od
samotného média tenkou vzduchovou vrstvou. Kapacitně je schopný pojmout
1-2 GB údajů. Je vhodné využívat ho více na krátkodobé než na dlouhodobé
archivování údajů.
186
Počítačové systémy
Majitelem i tvůrcem obou technologií je firma Iomega, jejichž označení tyto
výrobky někdy nesou.
Obr. Jaz
- LS-120 (a:drive, superdisk, vysokokapacitní disketa) je přímým konkurentem
zip, dokáže uchovávat 120 MB anebo 240 MB. Používá optické navázání
čtecích a zapisovacích hlav, čímž dosahuje vyšší přesnost a umožňuje zvýšit
hustotu stop na magnetickém povrchu paměťového média. Tato mechanika
dokáže pracovat i s 3,5“ disketou.
- streamer představuje tradiční záznamovou jednotku, která na ukládání údajů
využívá magnetickou pásku. Kazety s páskami jsou velmi rozdílné a existuje
jich mnoho typů. Tím, že používají sekvenční přístup k údajům, je vyhledávání
oproti ostatním médiím značně zpomalené, avšak v oblasti archivování velkého
množství údajů se využívají velmi často.
- magnetooptické disky představují kombinaci magnetického záznamu
a energie laseru. Aby byla zajištěna popisovatelnost média, nevykonávají se na
povrchu disku fyzické změny. Při zápisu se laser používá na zahřívání
magnetické vrstvy a změnu jejich částic, které potom při čtení podle stavu
vychylují čtecí paprsek. Kapacita médií se pohybuje od 128 MB do několika
GB.
Nejnovější technologie se snaží o uložení čím dále, tím většího množství údajů.
Za nástupce DVD se často označují Blu-ray (z anglického blue ray – modrý
paprsek – podle světla, které používá na čtení údajů) a HD DVD (High-Density
Digital Versatile Disc – DVD s vysokou hustotou).
Výroba HD DVD je o něco levnější, protože je možné využít výrobní linky
DVD, Blu-ray zase předběhl konkurenta ve dřívější existenci finální
specifikace a vytvoření kódovací technologie zabezpečující obsah média před
nelegálním kopírováním.
Na první pohled se neliší ani mezi sebou ani od médií CD a DVD. Při stejné tlouštce (1,2 mm)
je v případě HD DVD uložená záznamová vrstva přesně do středu, při Blu-ray je polykarbonát
hrubý jen 1,1 mm díky čemu dokáže laserový paprsek zaostřit na podstatně menší plochu (bod).
Tím získává Blu-ray oproti HD DVD vyšší kapacitu (až 25 GB při jednovrstvových, resp. 50
GB při dvojvrstvových médiích oproti 15 GB, resp. 30 GB u HD DVD).
Ve vývoji jsou dokonce 4-6 vrstvové média, která by mohla posunout kapacitu jednoho disku až
na 150 GB. Oba formáty slibují zpětnou kompatibilitu, takže jejich mechaniky dokážou číst
i DVD a CD média.
Po zralé úvaze bychom mohli povědět: na co taková kapacita! když už jen na napsání 100 stran
textu (což při 1800 znacích na stranu přestavuje 180 000 bytů a asi 180 kB) trvá velmi dlouho
a nabízí obrovské množství informací. Jenže s jídlem roste chuť (čím více místa máme, tím více
ho potřebujeme) a textové informace už dnes nejsou pro většinu uživatelů zajímavé.
187
Počítačové systémy
V případě, že chceme uložit obrázek, který zabere půl strany, musíme se řídit jinými kritériemi:
počtem barev, kvalitou, typem (fotografie, ruční skica,...), přičemž jeden obrázek v době
digitálních fotoaparátů znamená asi tolik jako kapka vody v moři.
A stejně, když chceme uložit 10 sekund zvuku v nejvyšší kvalitě, může se stát, že objem údajů
naroste do několika MB
90 minutový film v nízké kvalitě zabere celé CD, ve vysoké kvalitě jedno DVD a v případě velmi
vysoké kvality si asi bez Blu-ray či HD DVD neporadíme.
10.2.17
Cenová dostupnost
Když porovnáme ceny jednotlivých externích médií, jednoznačnými vítězi jsou
DVD a CD, za které při obrovské kapacitě zaplatíme jen několik málo (desítek)
korun. Pokud na tato média ukládáme důležité údaje, je žádoucí nepoužívat
nekvalitní (obvykle jsou to ty levné) média, ale dát raději přednost dražším –
značkovým. Na základě testů z více zdrojů je možno vyhlásit, že údaje na
nejlevnějších médiích a médiích ze střední cenovou hladinou vydrží bez
porušení maximálně tři-čtyři roky, přičemž výrobci dražších značek garantují
až několik desítek let. Nejde přitom o manuální poškození uživatelem
(škrábance apod.), ale zejména o trvanlivost a kvalitu odrazové a světlocitlivé
vrstvy. Odrazová vrstva má tendenci po určitém čase odpadávat anebo odrážet
čtecí paprsek nesprávně, světlocitlivá zase pod vlivem vnějších vlivů (zejména
UV záření) měnit svoji strukturu.
médium
disketa
RAM
pevný disk
CD
DVD
USB klíč
paměťová karta
Blu-ray
HD DVD
kapacita
1,44 MB
256 – 2 048 MB
40 GB – 1 TB
700 MB
4,7 resp. 9,4 GB
128 MB – 8 GB
16 MB – 8 GB
25, resp. 50 GB
15, resp. 30 GB
Obr. Porovnání kapacit jednotlivých médií
10.3 Vstupní zařízení
Na to, abychom dokázali systému zadávat požadavky a v neposlední řadě
i vkládat do něj údaje, potřebujeme nevyhnutelně vstupní zařízení.
10.3.1 Klávesnice
Nejznámějším, nejstarším a nejpoužívanějším zařízením je klávesnice. Je to
zařízení, které od svého vzniku přešlo několika, avšak ne zásadními úpravami.
Nejčastěji obsahuje 101 až 104 standardních a několik speciálních kláves na
ovládání aplikací funkcí (takovéto klávesnice se občas označují jako
188
Počítačové systémy
multimediální, protože přídavné klávesy je možno použít na ovládání hlasitosti
anebo přepínání mezi skladbami CD, či scénami DVD).
Největší plocha klávesnice slouží jako psací stroj. Standardní klávesnice mají
tvar obdélníka, ale v současnosti se prodávají i ergonomické klávesnice, které
jsou přizpůsobené tak, aby s nimi pracující uživatel vynakládal minimální
námahu.
Obr. Multimediální a ergonomická klávesnice
připojení k počítači se realizuje prostřednictvím portu PS2, USB anebo
bezdrátově.
Klávesnice se standardně skládá z:
- alfanumerické části sloužící na psaní standardní abecedy,
- numerické klávesnice umístěné na pravé straně, která obsahuje číslice
a základní matematické operace a jejichž cílem je ulehčit a zrychlit psaní číslic
např. v případě matematických aplikací,
- skupiny kláves určených na ovládání pohybu kurzoru a některých
charakteristik prostředí,
- funkčních kláves umístěných v horní řadě klávesnice. Ty zpravidla vyvolávají
funkce v rámci aplikací (které se v jednotlivých aplikacích mohou lišit, i když
některé funkční klávesy jsou už standardizované, např. F1 – pomoc, F10 –
vstup do menu apod.)
1 – alfanumerická část
2 – tlačítka pro pohyb a manipulaci s obsahem
3 – numerická klávesnice
4 – funkční klávesy
Obr. Rozdělení klávesnice
kromě klasických klávesnic se s jejich zredukovanou podobou můžeme
střetnout u přenosných počítačů (notebook, handheld), diářů a mobilních
telefonů. V případě miniaturizovaných zařízení se často místo fyzické
klávesnice používá dotyková obrazovka, na které jsou zobrazeny klávesy,
a která reaguje na dotyk speciálního pera nebo jen prst uživatele.
Další zajímavostí je virtuální klávesnice, kterou reprezentuje obraz promítaný
např. na povrch stolu. Polohu prstů a rukou snímají miniaturní kamery a na
základě získaného obrazu vyhodnocovací software dokáže určit, která klávesa
189
Počítačové systémy
byla právě „stlačena“. Tento typ klávesnice má potenciální využití v oblasti
kapesních zařízení a mobilních telefonů.
Obr. Dotyková a virtuální klávesnice
Speciální kategorii klávesnic tvoří tzv. gelové klávesnice, které jsou
prachotěsné a vodotěsné. Využívají se na prašných a vlhkých místech, v
operačních sálech, sterilním prostředí, a verze s podsvětlením v tmavém
prostředí. Tyto klávesnice je možno čistit čistícími prostředky, sterilizovat,
dokonce překládat, rolovat anebo lepit na sklo či nábytek v libovolné poloze.
10.3.2 Myš
Myš je mnohem jednodušším zařízením než klávesnice, ale díky funkcím
operačních systémů s ní uživatel realizuje mnohem více operací než
s klávesnicí. Myš odesílá počítači jednak informaci o tom, ve kterém směru
a o jakou vzdálenost s ní uživatel pohnul a jednak informaci o tom, zda a které
tlačítko bylo stlačené.
Pohyb myši může být snímaný mechanicky (prostřednictvím kuličky umístěné
na její spodní straně) anebo opticky (prostřednictvím optických senzorů, které
snímají povrch, po kterém se myš pohybuje).
Standardní myš obsahuje minimálně dvě tlačítka (v případě některých verzí pro
Apple MacIntosh si vystačí s jedním). V současnosti jsou myši standardně
doplněny scrolovacím kolečkem, které umožňuje např. rolování - plynulé
posouvání obsahu v některých aplikacích (textu, internetového obsahu apod.).
Vyspělejší myši dovolují používání scrolovacího kolečka ve čtyřech směrech,
případně obsahují další tlačítka.
V přenosných zařízeních je myš nahrazena trackballom (kulička, která
umožňuje ovládat kurzor myši otáčením), trackpointom (kulička je nahrazena
kolíkem a myš se pohybuje ve směru jeho zatlačení) anebo touchpadom
(plocha reagující na dotyk, která pohyb po povrchu přenáší na kurzor myši),
případně podobně jako klávesnice jen dotykovou obrazovkou.
Obr. Trackball
190
Počítačové systémy
1 – trackpoint
2 – touchpad
Obr. Trackpoint a touchpad
Speciálním zařízením oblíbeným zejména u hráčův počítačových her je
joystick (džojstik). jde o vstupní zařízení ve tvaru řadící páky, se kterou je
možno pohybovat v libovolném směru. Joystick přenáší do počítače jak směr
pohybu, tak i jeho „sílu“ podle sklopení řadící páky.
Příbuzným zařízením je gamepad rozšířený o klávesy, který je určený na
obouručné ovládání počítačových her a může obsahovat kombinaci tlačítek,
joysticků, trackballu, může být realizovaný v podobě volantu apod.
Obr. Joystick a gamepad
V současnosti jsou populární zařízení, které na připojení k počítači nepoužívají
kabel, a připojují se prostřednictvím bezdrátové komunikace. S myší anebo
klávesnicí zpravidla uživatel dostane i přijímač, který prostřednictvím kabelu
připojí k počítači a umístí tak, aby měl klávesnici či myš „na dohled“. Zařízení
mohou využívat infračervené kmitočty (přičemž šířka pásma je dostatečná na
to, aby se zařízení navzájem nerušila) anebo rádiový signál (kde je třeba brát v
úvahu, aby víc zařízení v místnosti nepracovalo na stejné frekvenci).
10.3.3 Mikrofon
V čase, kdy zpracování obrazu a videa na počítači ještě ani zdaleka nebylo
standardem, byl jedním z mála cenově přijatelných vstupních zařízení
mikrofon. Mikrofon pracuje tak, že transformuje zvuk z okolí na elektrický
signál, který přenáší do počítače prostřednictvím zvukové karty (viz dále).
10.3.4 Skener
Na “vložení” údajů z papírové či tištěné předlohy do počítače se většinou
používá skener (scanner). Je to zařízení pracující na podobném principu jako
kopírovací stroj, přičemž výsledkem jeho činnosti není vytvoření kopie na
191
Počítačové systémy
papíře, ale transformace zesnímaných údajů do elektronické podoby, které
obvykle i odešle do počítače.
S okleštěnou verzí skeneru se střetáváme i v běžném životě, když např. v klasickém obchodě
prostřednictvím snímače čárového kódu dokáže systém identifikovat zboží a na základě
čárového kódu zobrazit všechny údaje o předávaném zboží.
První skenery byly ruční – uživatel posouval ruku se zařízením po papíře
a snímač přenášel údaje do počítače. Kvalita nasnímaného obrazu závisela od
toho, jak rovnoměrně a přímo dokázal uživatel posouvat ruku se zařízením.
O něco pokročilejším zařízením je skener průchodový, který po vložení
dokumentu do podavače snímá údaje tak, že dokument jím přejde. Tato
technologie se nejčastěji využívá při faxování, ve všeobecnosti není rozšířená,
protože kvůli potřebě přechodu skenované předlohy není možno zpracovat
knihy, časopisy apod.
Další kategorii jsou bubnové skenery, které dokážou snímat předlohy velmi
kvalitně, avšak cenově patří do vyšších kategorií. Skenovaný dokument je
v tomto případě umístěný na bubnu, který se otáčí a natáčí předlohu snímačem
po velmi malých krocích. Kvůli lepšímu kontaktu s bubnem je předloha
pokrytá speciální kapalinou. Umožňuje snímání předloh velkých formátů ve
vysoké kvalitě.
Osobitou kategorii tvoří 3D skenery, které využívají technologii schopnou pomocí laseru
nasnímat trojrozměrný objekt. Umožňují z hotového modelu, anebo výrobku vytvořit virtuální
počítačový model. Využívají je animátoři, dizajnéři, vývojáři počítačových her, architekti, ale
svoje uplatnění našly také v medicíně, kde skener nasnímá několik stovek obrázků těla a
software z nich poskládá jeho trojrozměrný barevný obraz.
Nejrozšířenější skupinou jsou plošné skenery, které snímají předlohu
položenou na skleněnou desku. Pod touto deskou se nachází pohyblivý snímací
mechanizmus disponující zdrojem světla, kterým osvětluje předlohu. Na
základě jeho odrazu vytváří obraz, který odesílá do počítače prostřednictvím
některého ze standardních rozhraní (paralelní, USB, Firewire anebo SCSI).
Obr. Plošný skener
Podle použité technologie snímání se skenery rozdělují na CCD a CIS.
V případě CCD (Charged Coupled Device) se skener skládá z lampy, soustavy
zrcadel, zaostřovací čočky, CCD snímačů, A/D převodníku a modulu pro
192
Počítačové systémy
zpracování signálu. Na osvícení předlohy se využívá katodová lampa, systém
odrazových zrcadel usměrňuje paprsek odražený od předlohy přes čočku na
CCD senzory. Ty transformují intenzitu dopadajícího světla na elektrický
signál, který A/D převodník mění na digitální.
Senzory jsou však schopné zaznamenat jen intenzitu dopadajícího světla (a ne
jeho barevnost), proto je potřebné rozložit světlo prostřednictvím barevných
filtrů na základní složky RGB (červená, zelená a modrá) a každou z nich snímat
samostatně. Technicky je snímání vyřešené umístěním snímačů ve třech
řádcích, přičemž každý z nich snímá při tom jistém přechodu dokumentem
jinou barvu. Oproti CIS skenerem mají CCD velkou výhodu v tom, že dokážou
nasnímat i tu část dokumentu, která se přímo nedotýká podložky (prostředek
knihy položené oběma stranami na podložce, případně libovolný předmět).
Skenery CIS (Contact Image Sensor) jsou v porovnání se skenery CCD o něco
rychlejší, jednodušší a mají menší rozměry i spotřebu. Problémem je o něco
nižší citlivost (i když v současnosti je už rozdíl zanedbatelný) a neschopnost
prostorového snímání. Na osvětlení předlohy využívají soustavu LED diod
s červeným, modrým a zeleným světlem, které se odráží od předlohy a dopadá
na CIS snímače. Při této technologii odpadá potřeba používání lampy
a soustavy zrcadel. Díky nízké energetické náročnosti jsou tyto skenery
schopné pracovat bez samostatného externího nabíjecího zdroje – stačí jim
nabíjení poskytované portem USB připojeného počítače.
2
1
3
4
4
5
6
4
1 – skleněná deska skeneru
2 – skenovaný dokument
3 – lampa (zdroj světla)
4 – zrcadla
5 – čočka (zaostřovací systém)
6 – CCD snímače a A/D převodník
Obr. Schematický princip CCD
1
2
3
4
5
1 – skleněná deska skeneru
2 – skenovaný dokument
3 – soustava LED diód
4 – čočky (zaostřovací systém)
5 – CIS snímače a A/D převodník
Obr. Schematický princip CIS
193
Počítačové systémy
Kromě snímání klasických předloh jsou skenery schopné snímat i obrazy na
průsvitných fóliích (diapozitivy, negativy fotografií apod.). Na tuto činnost je
však potřebné skener doplnit o tzv. dianadstavec (TMA – Transparent
Material Adapter), který zabezpečí správný odraz světla na průsvitném
materiálu.
Speciální kategorií jsou filmové skenery, které jsou schopny poměrně rychle
a neporovnatelně kvalitněji než plošné skenery zpracovat celé kinofilmy. Jejich
nevýhodou je, že jsou příliš úzce specializované a nedokážou skenovat jiné
předlohy.
Kvalita i výběr konkrétního skeneru je určený více charakteristikami:
- rozlišení je prvním parametrem uváděným výrobci. Jednotkou rozlišovací
schopnosti je dpi (dots per inch – počet bodů na palec), která udává počet
bodů, které je zařízení schopné zobrazit na délce 1 palce (2,54 cm). Čím je tato
hodnota vyšší, tím je vstupní obraz kvalitnější.
Rozlišení se u skenerů skládá ze dvou částí. Např. v případě rozlišení je
1200x2400 dpi udává první hodnota počet snímacích bodů v jednom řádku (na
snímací hlavě), druhá vyplývá z konstrukce krokového motorku, který snímací
hlavu posouvá pod předlohou tak, aby do jednoho palce vešlo 2400 kroků.
Když se nad těmito hodnotami zamyslíme, velmi rychle dojdeme k závěru, že hodnoty nad 600
dpi jsou v běžných podmínkách zbytečné a prakticky nepoužitelné. Jestliže bychom chtěli
zesnímat obraz s velikostí A4 při rozlišení jen 600 dpi a barevné hloubce (viz dále) 24-bitů (tj.
na zakódování barvy pro jeden bod bychom potřebovali 3 byty) výsledný obraz by měl velikost:
8,2 x 11,6 (rozměry A4 přepočítané na palce) x 600 (dpi na šířce) x 600 (dpi na výšce) x 3 (pro
barvu) = asi 100 MB
V praxi jsou používané a postačující následující hodnoty:
Postačující
rozlišení
běžný dokument (fotografie)
150 dpi
text jako předloha, která bude transformovaná na další úpravy 300 dpi
(OCR)
fotografie do elektronického alba
300 dpi
fotografie pro profesionální tisk
600 dpi
Typ dokumentu
Vysoké rozlišení má svoje opodstatnění jen při snímání malých předloh (kinofilm, diapozitiv
apod.), když z miniaturní plochy potřebujeme vytěžit co nejvyšší kvalitu anebo při zvětšování
předloh – např. fotografií na kvalitní plakáty.
- kromě standardního rozlišení se někdy uvádí při parametrech skeneru i tzv.
softwarové rozlišení resp. rozlišení dosažené interpolací. Interpolace je změna
rozlišení (v tomto případě jeho zvýšení) prostřednictvím rozdělení jednoho
naskenovaného bodu na více. Jejich barva se potom dopočítá matematicky na
základě barevnosti sousedních bodů. Můžeme říct, že v zásadě jde jen o
softwarovou úpravu, která nepřidává zeskenovanému obrazu žádné nové
informace, jen přepočítává už existující (např. za účelem jeho vyhlazení).
- barevná hloubka udává přesnost převodu barvy při digitalizaci a vlastně
určuje počet barev, jenž je skener schopný přiřadit jedinému bodu. Čím je
vyšší, tím víc barev se rozlišuje a o to přesnější je výsledek skenování.
194
Počítačové systémy
Standardem je v současnosti 48-bitová barevná hloubka, která představuje 248
(281 474 976 710 656) barev.
Namístě je otázka, zda je větší barevná hloubka opravdu zárukou vyšší kvality získaného
obrazu. Typickým příkladem může být jednobarevná plocha originálu, na které se při vyšší
barevné hloubce mohou po skenování velmi lehce vyskytnout rušivé body jiné barvy, které by
při nižší hloubce zůstaly nepovšimnuté.
Kromě toho mnoho programů v současnosti není schopno pracovat v 48 bitové hloubce
a získaný obraz transformují do 32, resp. 24 bitové hloubky.
- kvalita optické soustavy (při skenerech CCD) je parametrem, který se
v popise výrobku obvykle nenachází, ale na ní nejvíce závisí kvalita skenování.
Spadá sem přesnost umístění zrcadel, kvalita čočky a z nich vyplývající
barevná věrnost, ostrost, denzita (rozlišování světlých a tmavých odstínů
barvy) apod.
- mechanické vlastnosti skeneru jsou dány jeho rozměry (A4, A3), možnostmi
připojení k počítači (USB, SCSI a pod.), schopností skenování průsvitných
materiálů (dianadstavec) a rychlostí skenování.
10.4 Výstupní zařízení
10.4.1 Zobrazování údajů
Standardní schopností dnešních počítačů je zobrazování údajů. Výjimku tvoří
jen některé speciální kategorie, jejichž posláním není komunikovat s
uživatelem, ale řídit, resp. sledovat jiné kvality (např. průmyslové počítače
zabezpečující běh výrobní linky, opracování kovu vyráběných součástek
apod.).
Zpřístupnění údajů zraku uživatele obvykle zabezpečuje dvojice grafická karta
– monitor anebo tiskárna – arch papíru (fólie).
Standardem, na který jsme si už všichni zvykli, je sledování údajů na
obrazovce monitoru.
10.4.2 Grafická karta
Grafická karta tvoří rozhraní mezi počítačem a monitorem. Stará se o odeslání
informací z počítače do monitoru, kde se přetvářejí na obraz. Grafická karta se
často označuje jako VGA (Video Graphics Adapter/Accelerator) anebo
videokarta či videoadaptér.
Skládá se z následujících částí:
- BIOS grafické karty, který se podobně jako BIOS základní desky stará o
funkčnost grafické karty, vzájemnou komunikaci jejich komponentů
a poskytuje svoje funkce jak ostatním připojeným hardwarovým zařízením, tak
i operačnímu systému a jeho aplikacím. Je možno ho v případě realizace
prostřednictvím přepisovatelné ROM paměti aktualizovat.
- paměť grafické karty je v současnosti standardně její součástí, ale je možno
se střetnout i s grafickými kartami, které vlastní paměť nemají a jsou nuceny
využívat pro svoji činnost část operační paměti – často jde o starší anebo na
základní desce integrované grafické karty. Tato videopaměť slouží na
195
Počítačové systémy
ukládání obrazu – čím je větší a rychlejší, tím vyšší výkon můžeme od celého
systému očekávat.
- grafický procesor (GPU – Graphics Processor Unit) je součástí čipsetu
grafické karty a zabezpečuje transformaci údajů z videopaměti na digitální
obraz. Kromě samotného „překlápění“ údajů má na starosti výpočty týkající se
dvoj anebo trojrozměrného zobrazování a od jeho kvality se odvíjí rychlost
zobrazování a možnost používání pokročilých funkcí. Odbřemeňuje centrální
procesor od vykonávání grafických instrukcí, které má v sobě implementované
a optimalizované, díky čemu dosahuje při zobrazování neporovnatelně vyšší
výkon než centrální procesor. V současnosti jsou nejrozšířenější grafické
procesory od firem Nvidia a ATI.
- šířka sběrnice určuje rychlost, kterou bude komunikovat GPU s pamětí
grafické karty. Má hodnoty 32, 64, 128, 256 bitů a nemá nic společné se šířkou
sběrnice mimo grafické karty – tam je systém odkázaný na sběrnici základní
desky .
Obr. Výstupy grafické karty v pořadí VGA, TV-out a DVI
- komunikační rozhraní je v současnosti reprezentované více zástupci.
Pro CRT a některé LCD monitory (viz dále) je určený analogový konektor
označovaný jako VGA, jehož součástí je D/A převodník transformující
digitální údaje z grafické karty na analogový signál odeslaný monitoru.
LCD monitory už často pracují s digitálním signálem, který není potřeba na
přenos z grafické karty transformovat – používá se rozhraní DVI (Digital
Visual Interface).
Dobývání zábavného průmyslu počítači si u grafické karty vynutilo přidání
dalšího rozhraní využitelného zejména při přenosu obrazu na televizní
přijímač. Výstup může mít více podob. Pokud máte k dispozici plazmový
anebo LCD televizor, postačuje komunikace prostřednictvím VGA anebo DVI,
v opačném případě je potřeba použít konektor S-Video nebo SCART (přičemž
jen ten je schopen současně přenášet obraz i zvuk).
Stále častěji se zejména v komerční sféře můžeme setkat s připojením většího
počtu monitorů k jednomu počítači. Takovéto připojení může být řešené
prostřednictvím většího počtu grafických karet anebo jednoduše použitím
grafické karty s dvěma výstupy. Použití dvou monitorů dává uživateli
k dispozici větší pracovní plochu a podle průzkumů významně zvyšuje jeho
výkon.
- slot na připojení k základní desce. Standardně se grafická karta připojuje do
slotu AGP anebo PCI-Express (historické verze do PCI, případně ještě starší do
ISA), někdy může být integrovaná na základní desce (tehdy samostatný slot na
připojení nepotřebuje).
Způsob připojení prošel stejně jako u ostatních zařízení pestrým vývojem.
Sběrnice PCI, na kterou se grafické karty začaly orientovat okamžitě po jejím
196
Počítačové systémy
uvedení, přestala se svým přenosovým limitem 133 MB/s množství údajů,
které v ní proudily, velmi rychle postačovat. Tato rychlost byla navíc sdílená
pro všechny zařízení připojené prostřednictvím PCI.
Rozhraní AGP (Accelerated/Advanced Graphics Port) bylo poprvé uvedeno
v roce 1997 společností Intel. Základní verze označovaná jako AGP 1x
zdvojnásobila množství přenášených údajů na 266 MB/s a při ukončení vývoje
AGP v roce 2003 dosahoval přenos při verzi AGP 8x až 2,1 GB/s.
Sběrnice PCI-Express je založena na rychlém sériovém přenosu, který
v současnosti pracuje na frekvenci 2,5 GHz. Údaje přenáší po drahách (lanes,
kanálech), které dokážou přenášet při zmíněné frekvenci 250 MB/s v obou
směrech. Výhodou je, že připojené zařízení dokáže využívat pro komunikaci
větší počet drah a celkový přenos je jejich součtem.
1
1
2
5
3
4
1 – RAM
2 – grafický čip (procesor)
3 – digitálně analogový převodník
4 – výstup (v tomto případě VGA)
5 – ROM (BIOS VGA)
Obr. Grafická karta
Grafická informace, kterou grafická karta zpracovává a stará se o její
zobrazení, na monitoru standardně přechází:
- od procesoru, který stanoví požadavky na její zobrazení,
- přes systémovou sběrnici a rozhraní s grafickou kartou,
- do paměti grafické karty 1,
- z paměti grafické karty údaje čte zobrazovací čip,
- a odešle je na monitor (v případě, že se používá monitor s analogovým
vstupem, je potřeba navíc údaje transformovat do analogové podoby).
Grafické karty oplývají mnohými vlastnostmi, přičemž některé jsou typické pro
všechny druhy a typy, jiné jsou specifické, případně představují integraci
dalšího zařízení do desky grafické karty.
Základní charakteristiky, které určovaly možnosti zobrazování grafické karty
už od jejího prvopočátku jsou:
- rozlišení, které je schopná grafická karta zabezpečit určuje počet svislých
a vodorovných bodů, které vytvářejí obraz. Vyšší rozlišovací schopnost
znamená větší množství bodů na obrazovce. Je možno se setkat s rozlišením
640x480, 800x600, 1024x768, 1280x1024, 1600x1200 atd. Poměr mezi šířkou
a výškou zodpovídá standardnímu poměru rozměrů monitoru 4:3. V případě
1
Ve speciálních případech možné, aby procesor grafické karty četl údaje přímo z operační paměti bez potřeby jejich
přesunu do paměti grafické karty.
197
Počítačové systémy
jiných (16:9) či nestandardních poměrů rozměrů zobrazovacího zařízení se
obvykle přizpůsobí také rozlišení grafické karty.
- barevná hloubka definuje počet barev, které je grafická karta schopna při
daném rozlišení zobrazit. Původně se uváděl počet barev, které byla grafická
karta schopna zobrazit (16, 256 barev), ale později bylo jednodušší uvést
barevnou hloubku (tj. kolik bitů je potřeba na zakódování barvy jednoho bodu).
16-bitová hloubka (216 = 65 536) se začala označovat jako high-color, 24
a později 32-bitová jako true-color.
Tato dvojice definuje tzv. grafické módy a standardy, kterými přešel celý vývoj
grafických karet:
rok vydání
1981
1981
adaptér
MDA
CGA
1982
1984
1987
1987
Hercules (HGC) 80x25znaků monochromaticky
EGA
80x25 znaků
8514/A
VGA
80x25 znaků
(16 barev)
SVGA
XGA
1989
1990
textový režim
znak
80x25 znaků monochromaticky 8x14
80x25 (2 barvy)
8x8
40x25 (16 barev)
8x14
8x14
9x16
grafický režim
nepodporovaný
640x200 čb
320x200 (4 barvy z 16)
160x200 (16 barev)
720x348 (2 barvy)
640x350 (16 barev ze 64)
1024x768 (256 barev)
640x480 (16 barev)
+ další režimy
800x600 (16 barev)
1024x768 (256 barev)
640x480 (65536 barev)
Po standardu XGA přišly mnohé další rozšíření a vylepšení, v zásadě však šlo
jen o rozšiřování VGA resp. XGA.
Při popisu grafické karty se obvykle udává i frekvence jejího procesoru,
velikost, typ, frekvence paměti a šířka vnitřní sběrnice.
- velmi důležitým parametrem, pokud nepoužíváme LCD monitor (viz dále) je
i obnovovací frekvence, která hovoří o tom, kolikrát za sekundu je grafická
karta schopná obnovit obraz na CRT monitoru. V případě, že je tento údaj
nízký, obraz na monitoru bliká a únava se může projevovat nejen na očích, ale
na celém organismu. Minimální hodnotou, která je v současnosti tolerovatelná
je 85 Hz (tj. grafická karta obnoví obraz na monitoru 85 krát za sekundu).
Toto nastavení se však na grafické kartě nemusí realizovat automaticky. Pokud máte pocit, že
obraz monitoru příliš bliká, bude zřejmě potřebné manuální nastavení.
- velikost obrazovkové paměti se v minulosti používala jen na samotné
zobrazování a od něj závisela schopnost rozlišení a barevné hloubky. Později
se začala využívat na ukládání dalších údajů, díky čemu bylo možné
zobrazování zkvalitnit (přidání různých efektů) a zrychlit.
- možnosti akcelerace jsou u novějších typů grafických karet standardem,
karta může podporovat 2D (dvojdimenzionální, rovinné) anebo 3D
(trojdimenzionální, trojrozměrné, prostorové) zobrazování, přehrávání videa
apod.
10.4.3 3D grafické karty (akcelerátory)
Nejvyšší požadavky na výkon grafických karet kladou zpravidla počítačové
hry a všeobecné aplikace pracující s 3D údaji. Zejména díky nim bylo vyvinuto
198
Počítačové systémy
mnoho nových technik a technologií, které našly uplatnění v mnohých dalších
oblastech. Vzhledem na neustálé zvyšování nároků na množství a rychlost
zobrazování údajů přestal být centrální procesor v době masového nasazení
počítačů do oblastí 2D a 3D zobrazování postačujícím, protože aplikace si
vyžadovaly speciální (a hlavně rychlé) algoritmy orientované na grafické
výpočty, které CPU nebyl schopný poskytnout.
Obr. Realistické prostředí dosažené díky výkonu grafické karty
Nejjednodušší grafické karty jen přenášejí část operační paměti na zobrazovací
jednotku, složitější využívají na přípravu zobrazovaného obrazu vlastní paměť
a vrcholem jsou grafické karty schopné na základě požadavků samostatně
vytvořit v této paměti např. úsečky, kruhy, trojúhelníky, znaky apod. Tyto
grafické karty označujeme jako grafické akcelerátory.
Prvním řešením byla zařízení, která se v podobě samostatné karty (případě
většího počtu karet) zasouvala do slotu základní desky a rychlými výpočty
zabezpečovala zobrazovací výkon. Jejich cena v době vzniku mnohokrát
přesahovala cenu celého počítače a nasazení se vyplatilo jen v profesionálních
oblastech. Mezi nejznámější patřily:
- PGA z roku 1984 skládající se až z třech samostatných částí připojených
kabelem, které zabezpečovaly zobrazení 640x480 při 256 barvách. Dvě části se
zasouvaly do základní desky, jedna nebyla zapojená do počítače vůbec.
- TARGA, TIGA a primárně pro počítačové hry určený akcelerátor VooDoo od
firmy 3Dfx (byl pohlcený výrobcem grafických karet NVidia).
Radikální změnu přinesla implementace grafického čipu (procesoru, GPU)
přímo na desku grafické karty, kde převzal všechny funkce grafického
akcelerátoru – byl vybavený instrukční sadou orientovanou na grafické
výpočty, která je značně odlišná od sady CPU. Grafické karty s procesorem se
díky této změně také někdy označují jako grafické akcelerátory.
Grafické akcelerátory obvykle podporují na úrovni 2D následující operace:
- ořezání obrazu obdélníkem, resp. získání obdélníkového výřezu z obrazu,
- změna mírky (zvětšení/zmenšení bez potřeby zatěžování CPU),
- vykreslování úseček, kruhů, elips a výsečí,
- vykreslování otevřených a uzavřených n-uhelníků (označují se jako
polygony),
- vykreslování a posouvání textu.
Zvláštní kategorii 2D zobrazování představuje práce s animacemi a videem,
kde je kvůli udržení dojmu plynulosti potřebné zobrazování minimálně 24
199
Počítačové systémy
snímků za sekundu, což představuje přenos obrovského množství údajů.
Grafická karta musí být schopná tento obraz zvětšovat, zmenšovat (často
i neproporcionálně mezi klasickým formátem 4:3 a širokoúhlým 16:9),
případně zrcadlit a těžko si představit, že by údaje musely putovat mezi
grafickou kartou, RAM a CPU a opačně. Často je potřebné aplikovat na obraz
různé filtry (změna jasu, kontrastu barevnosti apod.), které jsou opět jak časově
tak i výpočtově náročné.
Základním a nejjednodušším objektem zobrazovaným v prostorovém
modelování je trojúhelník, ze kterého je možné poskládat prakticky libovolný
(prostorový) útvar. Trojúhelníky se pokrývají texturami – dvojrozměrné
obrazy vytvářející povrch (např. textura balvanu, kmenu stromu, stěny,
povrchu budovy apod.). Textury se musí odlišovat i podle toho, jak daleko se
daný objekt nachází. Základní funkcí 3D modelování je potom zobrazovat
jednotlivé trojúhelníky s texturami tak, aby bylo korektně vyřešené jejich
vzájemné překrývání v prostoru a aby uživatel viděl jen ty, které jsou
v popředí. K standardním funkcím 3D tedy patří:
- výpočet obrysů objektu popsaného např. prostřednictvím trojúhelníků,
- vyplnění texturami,
- určení viditelných ploch (části, které jsou překryté se vůbec nevykreslují,
díky čemuž je možné ušetřený čas použít na jiné operace),
- výpočet velikosti objektu na základě umístění v prostoru,
- výpočty stínování a osvětlení, průhlednosti objektu a zamlžení prostoru,
- vyhlazování obrysů objektu, tzv. antialiasing, které upravuje šikmé
„zoubkované“ čáry (z důvodu schopnosti zobrazovacího zařízení osvětlit bod
jen jako celek), tak aby se uživateli jevily jako hladké, např. přidáváním sivých
bodů na potřebné pozice.
Téměř všechny algoritmy, které jsou implementované v grafických
akcelerátorech je možné popsat funkcemi dvou rozhraní pro 3D grafiku –
OpenGL a DirectX. Pokud je na grafické kartě implementovaný požadovaný
postup, vykoná se, jestliže není, zvolí se pomalejší (softwarový) výpočet anebo
se efekt vůbec neaplikuje.
Grafické akcelerátory se v současnosti stále více zrychlují a zdokonalují.
Kromě samotných výpočtů obrazu jsou schopné vykonávat i další algoritmy
a výpočty. Za vzpomenutí stojí výpočet fyzikální simulace, pohyby objektu,
zjištění kolize pohybujících se těle apod.
10.4.4 Videokarta
Pod tímto názvem se v současnosti už standardně nechápe grafická karta, ale
jde o specializovanou kartu, která umožňuje zpracování videa (často se
označuje jako VIVO – video in, video out). Obvykle umožňuje údaje přenést
do počítače, kde se zpracují (sestříhání, přidání efektů apod.) a nakonec je
z počítače přenést na původní zařízení.
Tyto karty můžeme rozdělit do dvou skupin. Analogové umožňují komunikaci
počítače s analogovými zařízeními používajícími VHS kazety (video,
videokamera), přičemž v případě, že nejsou schopny zachytávat video plynule,
jsou donuceny některé snímky vynechat. Digitální karty přijímají digitální
200
Počítačové systémy
údaje z digitálních zařízení – v tomto případě není důvod, aby docházelo ke
ztrátě na kvalitě či obsahu.
Vzhledem k množství údajů, které vstupuje do počítače, podporuje část
videokaret hardverovou kompresi do některého ze standardních formátů.
10.4.5 Televizní karta
Počítač je možno využít i na přijímání televizního signálu. Zařízení umožňující
jeho přijímání se označuje jako televizní karta, resp. TV tuner. Jeho
prostřednictvím můžeme sledovat televizní vysílání, případně na vstup
přivádíme signál z analogového videopřehrávače.
Pokud vlastníte TV-kartu, můžete ji použít jak na zachytávání, tak i na
nahrávání televizního vysílání. Platí zde stejná pravidla jako při videokartách –
pokud se snímaný obraz (a zvuk) nestíhá ukládat, budou některé snímky
vynechané.
TV karty je možné najít jak v interních provedeních (PCI, případně jak je
integrovaná s grafickou kartou, tak i AGP), tak i jako samostatné externí
zařízení (nejčastěji připojené přes USB). Často je jejich součástí i FM rádio
a samozřejmé je dálkové ovládání.
10.4.6 Monitory
Na převod informací z počítače na zobrazovací zařízení (monitory) slouží
grafická karta. V procesu zobrazování sehrává mnohem důležitější úlohu než
monitor, z hlediska uživatele je však právě on tím nejdůležitějším článkem
komunikace.
Monitor slouží na zobrazování výstupních informací. Obvykle je součástí
počítače jako takového, ale je možno se bez něho obejít (vydávání místenek,
cestovních lístků, řízení komunikace jiných počítačů apod.).
Základní jednotky, které se v současnosti používají na zobrazování jsou:
- CRT (Cathode Ray Tube) monitory pracují na stejném principu jako televizní
obrazovka, přičemž jejich základem vzduchoprázdná vakuová trubice uzavřená
ve skleněném obale. Jeden konec obsahuje elektronové dělo, ze kterého po
zahřátí vychází paprsek elektronů. Ten se nasměruje na obrazovku umístěnou
na opačném rozšířeném konci a zaostří (přechází tzv. maskou) na
konkrétní bod. Vnitřní povrch obrazovky je pokrytý sloučeninou fosforu, která
po ozáření elektrony rozsvítí zasažený bod, jenž je potom viditelný i ze
strany uživatele. Paprsek přechází po obrazovce neustále zleva doprava a zhora
dolů, protože bod zůstane rozsvícený jen krátkou dobu. Rychlost obnovování
obrazu se označuje jako obnovovací frekvence.
Pro barevné zobrazování se používají tři samostatná děla, anebo jeden emitor,
který vypouští tři samostatné paprsky (takové obrazovky se označují jako
TRINITRON). Paprsky se potom po vhodném usměrnění střetnou na povrchu
obrazovky, kde ze tří různých vrstev fosforové sloučeniny (pro červenou,
zelenou a modrou barvu – RGB) poskládají barvu bodu.
Poslední novinkou v oblasti CRT monitorů byla změna geometrie obrazovky –
místi vypuklé se začaly vyrábět obrazovky ploché (flat), které poskytovaly
menší zkreslení (např. čtverec byl skutečně čtvercem), menší odraz a věrnější
obraz.
201
Počítačové systémy
- LCD (Liquid Crystal Display) monitory se zpočátku využívaly na
zobrazování údajů v kalkulačkách, přenosných počítačích, noteboocích, ale
v současnosti se přepracovaly na úroveň monitorů ke stolním počítačům
a velmi rychle vytlačují monitory CRT. LCD je tvořený tenkou vrstvou
tekutých krystalů, které pod vlivem elektrického napětí mění svoji molekulární
strukturu a díky tomu určují množství přecházejícího světla. Jsou umístěné
mezi dvěma vrstvami polarizovaného skla, kde na jedné straně je zdroj světla
(katodová lampa), na straně druhé vytvořený obraz. Na řízení krystalů se
používá matice průhledných elektrod, která vytváří síť obrazovkových bodů.
V minulosti se používala pasivní matice, kde byl bod určen dvojicí tranzistorů
– jedním pro sloupec, druhým pro řádek – čili tranzistory byly rozmístěné jen
na vnějším obvodu displeje. V současnosti se používá matice aktivní, která na
určení každého bodu využívá vlastní tranzistor (resp. na vytvoření barvy trojice
tranzistorů). LCD s aktivní maticí se často označují jako TFT (Thin Film
Transistor) podle vrstvy poseté tranzistory. Pasivní displeje jsou jednodušší
a levnější na výrobu, aktivní jsou kvalitnější a mají rychlejší odezvu (viz dále).
- plazmové monitory se skládají stejně jako LCD z dvou skleněných ploten,
mezi kterými je prostor pro obrazové buňky. Elektrody umístěné v těchto
buňkách pomocí elektrického výboje uvedou plyn, kterým jsou naplněné do
stavu plazmy a takto vzniklá ultrafialová energie rozsvítí fosforový bod v
každé buňce na viditelné světlo. Využívají se jako domácí kina anebo
velkoplošné obrazovky, dosahují vysoký kontrast a malou tloušťku.
Obrovským handicapem oproti jiným typem monitorů je vysoká spotřeba
a cena.
Obr. Plazma, LCD a CRT
V minulosti se používaly i tzv. vektorové displeje, které obraz generovaly pomocí krátkých
úseček anebo i složitějších geometrických útvarů. Využívaly se zejména na generování grafů
a čárových schémat, přičemž vycházeli ze svých předchůdců– osciloskopů využívaných na
měření různých veličin.
V současnosti se však už běžně nepoužívají, protože neumožňují rychlé zobrazování složitějších
útvarů.
10.4.7 Vlastnosti monitorů
Zřejmě nejčastěji se monitory dělí podle velikosti úhlopříčky obrazovky, která
se udává v palcích (”) (1 palec je asi 2,5 cm). Momentálně se nejčastěji
používají 17-19” monitory, ale občas je možnost se setkat i s 15, 20 a 21palcovými. 14” (stejně jako černobílý – monochromatický) monitor je dnes
spíše výjimkou a najdete ho už jen u starších počítačů. Když porovnáme LCD s
CRT monitory, tak úhlopříčce používané plochy 15“ LCD zodpovídá přibližně
17“ při CRT monitoru. Tyto zvláštní výpočty mají na svědomí výrobci CRT
202
Počítačové systémy
monitorů, kteří při parametrech uvádějí velikost obrazovky, která je ve
skutečnosti o něco větší než velikost skutečné plochy používané na
zobrazování (část obrazovky je překrytá rámem). Při LCD monitorech se uvádí
skutečná velikost zobrazovací plochy.
Monitory i televizory vysílají na nás několik druhů škodlivých záření. Při
sledování televize jsme vzdálení od obrazovky několik metrů, takže záření je
minimální. Horší je to s monitory: Uživatel sedí od nich asi 50 cm a přijímá
záření naplno. Výsledkem jsou bolesti očí, hlavy, všeobecná únava a
nesoustředěnost. Tyto problémy přinutily výrobce snižovat vyzařování a v
současnosti se oproti prvním monitorům uvádí tlumení až na 99 %. Zda a
nakolik má váš monitor snížené vyzařování, můžete zjistit podle nápisů
určujících splněnou normu (Low radiation, TCO ’92, TCO ’95 , TCO ’99 ,
TCO ’03 – od nejmenší po nejpřísnější). LCD obvykle splňují normu TCO ’99,
resp. TCO ’03.
Kromě vyzařování monitoru je důležitý parametr, který hovoří o jeho
obnovovací frekvenci - kolikrát za sekundu se obnoví obraz na obrazovce.
Jestliže je frekvence nízká, obraz bliká (a nás bolí hlava). Při CRT monitorech
je vhodná frekvence minimálně 85 Hz (čím je vyšší, tím lépe), u LCD může
mít i nižší hodnoty, protože tato technologie si nevyžaduje neustále
překreslování obrazu – bod zůstává osvětlený do té doby, než dostane příkaz
zhasnout anebo změnit barvu. Zde stačí frekvence 60-75 Hz.
Při barevné změně na LCD trvá zhasnutí i přepnutí bodu do nové barvy určitý
čas a může vzniknout zkreslení (resp. rozmazání). Čas, za který tato operace
proběhne, se označuje jako rychlost odezvy a čím je vyšší, tím rozmazanější je
obraz při rychlé změně obrazu (filmy, hry). Pro běžné aplikace není tento fakt
rozhodující, ale na sledování filmů anebo pro hráčů by měl mít monitor tento
parametr maximální na úrovni 12 ms.
Vlastností propojenou s vlastnostmi grafických karet je rozlišení. Určuje se
v bodech. LCD panely mají dopředu určené rozlišení a podle něj jsou
zkonstruované – hovoříme o nativním (hardwarovém) rozlišení, při kterém je
pro každý bod rozlišení určený jeden fyzický bod obrazovky. Pokud změníme
rozlišení, monitor svoji strukturu samozřejmě nemění a je nucený interpelovat
– poloha jednotlivých bodů bude přepočítaná tak, aby sedla na zkonstruované
prvky, přičemž se může zhoršit např. ostrost obrazu.
Někdy může dojít k poruše zobrazování bodu – může zhasnout anebo změnit barvu. Oprava
takého stavu je náročná a výrobci obvykle nejsou ochotní uznat výrobek, který má méně než 35 chybných bodů za nevyhovující – dokonce se vám může stát, že takový výrobek dostanete
přímo v prodejně jako nový, proto je třeba si při koupi obraz pořádně zkontrolovat.
Se zobrazováním souvisí i pozorovací úhel, který má však svoje opodstatnění
jen v případě LCD monitorů. Udává úhel, pod kterým je možné sledovat
nezkreslený obraz. V případě většího úhlu se obraz zkresluje až ztrácí
(zesvětlením anebo ztmavnutím). U některých levných monitorů se může stát,
že pokud sedíte příliš blízko u monitoru (díky čemu je úhel pohledu na okraje
obrazovky poměrně velký), tak daná barva má při okrajích úplně jiný odstín
než ve středu obrazovky.
Z ekonomického hlediska je důležitá i spotřeba, která je u LCD monitorů
výrazně nižší (35-75 W).
Způsob připojení počítače ke grafické kartě může být analogový
prostřednictvím vstupu VGA (častěji CRT) anebo digitální prostřednictvím
203
Počítačové systémy
DVI (častěji LCD). Pro LCD je výhodnější, když dostane obrazové údaje v
digitální podobě – dostane jen informaci, na kterých souřadnicích má body
aktivovat a na kterých ne – obraz se zobrazí absolutně přesně tak, jak je
počítačem nadefinovaný.
monitor
CRT
LCD
výhody
nevýhody
zachovává věrnost barev, vysoká obnovovací Záření a namáhání očí, velká tloušťka
frekvence, fyzicky odolný
a hmotnost, geometrické nepřesnosti obrazu,
energeticky náročný
výrazně menší vyzařování, menší únava očí, delší doba odezvy, možné nerovnoměrné
menší tloušťka, nižší energetická náročnost
podsvětlení, omezený pozorovací úhel
Budoucnost displejů v současnosti představuje technologie OLED (Organic
Light Emitting Diode), prostřednictvím které by mělo být možno vytvářet
tenkofilmové displeje podobné současným LCD, které budou vytvářet obraz
červenými, zelenými a modrými LED diodami bez potřeby osvětlení z pozadí.
Výhodou těchto displejů je velmi nízká spotřeba, dobrý kontrastní
poměr, zobrazovaná barva a třeba i možnost jejich srolování či poskládání.
10.4.8 Dataprojektory
V momentě prezentace údajů pro větší počet uživatelů obrazovka jakéhokoli
standardního monitoru přestává být postačující a na řadu přichází projekce.
Nejčastěji se používá dataprojektor, který promítá obraz z počítače na
projekční plátno (anebo jednoduše na stěnu).
Zpočátku se s ním kvůli vysoké nákupní ceně bylo možné střetnout jen pži
firemních prezentacích a školeních, ale v současnosti se dostal díky výraznému
poklesu cen i do domácností, kde často tvoří součást domácího kina.
Dataprojektor používá jako světelný zdroj projekční lampu, jejichž světlo se
transformuje na obraz prostřednictvím optické soustavy, která používá dvě
technologie: LCD a DLP.
LCD (Liquid Crystal Display) technologie vychází z principu fungování LCD
displejů. Je možno se setkat s jednočipovou, kde produkované světlo přechází
jedním panelem anebo trojčipovou, kde se rozdělí na složky (červená, zelená,
modrá) a přechází trojicí LCD panelů.
Světelný tok obrazu získaného např. z počítače panel pohltí anebo propustí
a prostřednictvím objektivu promítne. V případě trojčipové technologie se před
promítnutím barvené složky nejprve sloučí (např. pomocí zrcadel).
Základní rozlišení projektoru je opět stejné jako při LCD monitorech nativní,
v případě jeho změny je potřebná interpolace.
204
Počítačové systémy
6
4
3
4
3
5
4
červená
zelená
modrá
2
2
2
1
1 – světelný zdroj
2 – dichroické zrcadlo (propouští a odráží dané barvy)
3 – zrcadlo
4 – LCD panel
5 – slučovací aparát
6 – objektiv
Obr. Princip fungování trojčipového LCD projektoru
Jednočipová technologie se používá v nejlevnějších projektorech, protože
jejich výroba je nejméně nákladná, avšak při koupi takého projektoru je třeba
počítat s tím, že působením vysokých teplot LCD panel časem degraduje
(řádově tisíce hodin provozu) a ztratí jak kvalitu obrazu, tak i věrnost barev.
Trojčipová LCD technologie dosahuje vyšší kvalitu – obraz je ostřejší a barvy
věrnější, ale po delším čase se ani zde není možno vyhnout fyzickým změnám
zapříčiněným vysokou provozovací teplotou.
LCD technologie je postupně vytlačovaná technologií DLP (Digital Light
Processing). Jejím základem je čip DMD (Digital Micromirror Device), který
obsahuje množství miniaturních pohyblivých zrcadel, přičemž každé z nich
reprezentuje jeden bod rozlišení. Světlo z projekční lampy dopadá na zrcadlo,
jenž dokáže odrazit světelné paprsky více směry (na čočku, do oblasti pohlcení
světla) a změnit svůj úhel natočení několiktisíckrát za sekundu. Barevnost
zabezpečuje v případě jednočipových DLP projektorů rychle se otáčející
kotouč rozdělený po obvodě na víc barevných částí, přičemž je umístěný tak,
aby „zabarvil“ světlo ještě před dopadem na čip. V případě trojice DMD se
výsledná barva poskládá klasickým způsobem z RGB složek.
4
4.2
5
4.3
4.1
2
3
2
1
1 – světelný zdroj
205
Počítačové systémy
2 – optika
3 – barevný rotujúcí filtr
4 – základní deska DLP
4.1 – DMD čip
4.2 – procesor
4.3 – paměť
5 – objektiv
Obr. Princip fungování jednočipového DLP projektoru
Výrobci postupně přecházeli od jednočipových přes trojčipové LCD projektory až po DLP.
Výhodou projektorů DLP oproti LCD je, že kvalita projekce se časem nemění, nevýhodou je
jednoznačně cena, kterou zvyšuje i fakt, že technologie je patentovaná společností Texas
Instrument.
Technologií do určité míry kombinující LCD a DLP je LCOS (Liquid Crystal
on Silicon), kde odraz světla zabezpečuje kombinace zrcadla a tekutých
krystalů. Tato technologie se v současnosti aplikuje nejen v projektorech, ale
i v oblasti monitorů a televizních přijímačů.
O tom, který typ je na jaký účel vhodnější možná napoví jednotlivé parametry
dataprojektorů:
- kromě použité technologie a rozlišení je zřejmě první důležitou vlastností
svítivost. Ta se udává v ANSI lumenech a čím vyšší hodnotu dosahuje, tím
lepší projektor osvítí promítací plochu. Svítivost prvních projektorů se
pohybovala na úrovni několika stovek, v současnosti špičkové modely nabízejí
i 10 000 ANSI. Na sledování obrazu za denního světla je vhodnější projektor
s vyšší svítivostí, na večerní filmovou projekci třeba zvolit nižší hodnoty, které
méně zatěžují oči.
- na kvalitu, ostrost a viditelnost obrazu při denním světle má velký vliv
kontrastní poměr, který vyjadřuje poměr světla potřebného na zobrazení
černé a bílé barvy produkované projektorem. Větší poměr kontrastu umožňuje
projektoru ukázat jemné barevné detaily a eliminovat dopad vnějšího světla.
Platí, že LCD projektory mají kontrast i svítivost několikanásobně nižší než
DLP.
- dataprojektory potřebují na svoji činnost chlazení, které je zabezpečované
ventilátorem, o kterém není možno v žádném případě hovořit jako o tichém
společníkovi. Většina projektorů vydává hluk na úrovni okolo 30 dB, což je
intenzita, která člověka probere ze spánku. Pokud tedy chcete projektor
využívat jako součást domácího kina, je vhodné orientovat se na co nejnižší
hodnoty.
- životnost projekční lampy sice nepatří jednoznačně mezi technické
parametry, při koupi projektoru se však oplatí prověřit si ji a stejně i její cenu,
protože ta často představuje až třetinu či polovinu ceny projektoru. Životnost je
možno prodloužit použitím šetřícího módu, který ztlumí sílu osvětlení.
Součástí projektoru je počitadlo, které sleduje dobu používání lampy a po
uplynutí doporučeného času upozorní uživatele na potřebu výměny. Pokud
byste toto upozornění ignorovali, vystavujete se nebezpečí exploze lampy
a v horším případě dokonce zničení projektoru.
206
Počítačové systémy
10.4.9 Tiskárny
Tiskárny patří mezi nejpoužívanější periferní zařízení. Nejčastěji zabezpečují
výstup informací na papír (případně fólii). K počítači je můžeme připojit
prostřednictvím paralelního portu, USB, počítačové sítě anebo infračerveným
spojením. Nejčastěji je dělíme na jehličkové, inkoustové a laserové.
Jehličkové tiskárny
Jehličkové tiskárny patří v současnosti už více-méně do historie. Jediným
důvodem, který by uživatele mohl donutit investovat prostředky do jehličkové
tiskárny, je jen její schopnost protlačit obsah současně přes více listů a vytvořit
na jedno tisknutí více kopií.
Pracují na podobném principu jako psací stroj, který přes barvicí pásku
protlačil na papír znaky. Jehličkové tiskárny neprotlačí celý znak najednou, ale
protlačují do pásky jehličkami, které vytvoří znak tak, že ho prostřednictvím
jednotlivých jehliček „poskládají“. Na počtu jehliček závisí kvalita tisku. Čím
má tiskárna více jehliček, tím je tisk kvalitnější a rychlejší. Jehličky jsou
uloženy v tiskové hlavě, která se pohybuje po šířce papíru doprava a doleva.
V začátcích byla cena průměrných jehličkových tiskáren oproti ostatním
nejnižší. Dnes však za stejnou (a nižší) cenu možno dostat také inkoustovou či
laserovou tiskárnu.
Ve prospěch jehliček hovoří už jen nejnižší provozní náklady. Nevýhodou je
relativně nízká kvalita výstupu (často je vidět body, ze kterých se znak skládá),
relativně nízká rychlost a hlučnost.
Obr. Inkoustová a jehličková tiskárna
Inkoustové tiskárny
Inkoustové tiskárny (inkjet, bubblejet, deskjet) pracují podobně jako
jehličkové, ale nepoužívají už pásku ani fyzický kontakt s papírem. Znaky
vytvářejí pomocí speciálního inkoustu, který stříkají na papír přes trysky (24256) umístěný v tiskové hlavě, která je u některých typů součástí náplně
a vyměňuje se spolu s ní.
Inkoust se dodává v nádržkách, které se vkládají do tiskové hlavy putující
zprava doleva a naopak stejně jako tomu bylo u jehličkových tiskáren. Většina
inkoustových tiskáren pracuje v režimu CMYK (cyan - azurová, magenta purpurová, yellow – žlutá, black - černá), přičemž se z těchto barev míchají
všechny ostatní odstíny. Z důvodu zvýšení kvality se zejména u tiskáren
určených na tisk fotografií můžeme někdy setkat i s přidáním dalších
barevných zásobníků.
V prvních barevných tiskárnách se musely vyměňovat kazety s inkoustem na
tisk černého textu a tisk barevného obsahu. Pokud se použila barevná náplň na
tisk černé barvy, vytvářela se kombinací barevných inkoustů, co bylo velmi
neekonomické.
207
Počítačové systémy
Dalším krokem bylo současné používání dvojice tiskových hlav pro černý
a barevný tisk, přičemž v barevném zásobníku byly do jednoho celku spojené
nádržky pro všechny tři barvy. Neekonomickost, spočívající v potřebě výměny
celého zásobníku, jakmile došla jen jedna z trojice barev, vyřešila oddělení
zásobníků pro každou z barev.
Ne každá inkoustová tiskárna pracuje na stejném principu, protože každý
z výrobců má vlastní upravené technologie, prostřednictvím kterých se snaží
získat před konkurencí náskok. Jako základní technologie se však využívají jen
dvě: tepelná a piezoelektrická.
Tepelný tisk je starší a jejím prvním krokem je zahřátí inkoustu v zásobníku
asi na 200° C. To způsobí zvětšení objemu kapek a jejich vypudění přes trysky
na papír. Po vystříknutí kapky se v trysce vytvoří podtlak, prostřednictvím
kterého se zase nasaje další inkoust. Z důvodu vysokého zahřívání přichází
k poměrně rychlému opotřebování tiskových hlav, proto jsou na tomto typu
tiskáren tiskové hlavy vyměnitelné. Mohou být součástí kazety s inkoustem
anebo se vyměňují samostatně.
Piezoelektrický tisk je založen na tryskách, které ve svém vnitřku obsahují
drobné piezoelektrické krystalky schopné měnit svůj tvar pod vlivem
elektrického náboje. Pod vlivem změn se vytváří tlak, který vytláčí inkoust
z trysky. Hlavním přínosem této technologie je nižší opotřebování trysek
a tiskové hlavy a také nižší nároky kladené na kvalitu inkoustu (není potřeba,
aby dosahoval při dané teplotě přesný objem, protože jde jen o jeho vypuzení
na papír).
Kvalita tisku závisí v obou případech od počtu trysek, velikosti kapek a složení
inkoustu. Určuje ji rozlišení, které se měří v dpi stejně jako při skenerech.
Minimálním požadavkem by mělo být rozlišení 600 dpi (současné tiskárny bez
problémů dosahují i hodnoty okolo 4800 dpi).
Barva, kterou chceme vytisknout, se rozloží na složky odpovídající barvám
v tiskárně a tiskárna nanese na papír tečky tak, aby se překrývaly a tak
vytvářely výsledný odstín. Vyšší kvalitu se každá firma snaží dosáhnout
vlastními patentovanými technologiemi a zmenšováním objemu kapek
inkoustu (v současnosti až 2 pikolitry).
Při dosahování kvality hraje významnou úlohu rozpíjení inkoustu na
papírovém médiu. Na běžný kancelářský papír není možno klást vysoké nároky
pro jeho velkou absorbci a rozpíjivost. Povrch speciálního papíru se upravuje
materiály, které zabraňují protékání inkoustu dovnitř papíru a udržují kapičky
jednolité.
Mezi výhody inkoustové tiskárny patří:
- nákupní cena odrážející strategii výrobců předat zařízení přibližně na úrovni
výrobní ceny a zisk dosahovat prostřednictvím prodeje náplní. Nejlevnější
inkoustové tiskárny představují v současnosti dvoj-trojnásobek ceny
značkových inkoustů,
- schopnost barevného tisku a tisku fotografií jsou v současnosti jedním
z nejčastějších důvodů, díky kterým se uživatelé rozhodují právě pro tento typ
tiskárny. Pro tisk fotografií jsou ke standardním zařízením dodávány různé
balíčky, které mají tisk zkvalitnit, funkce, které umožňují tisk přímo
z digitálního fotoaparátu apod.
Nevýhod je na první pohled o něco více:
208
Počítačové systémy
- cena inkoustu představuje u inkoustových tiskáren nejvyšší nápor na kapsu
uživatele. Existují sice alternativy v podobě doplňujících zásobníků (když
uživatel naplňuje ty dané zásobníky vícekrát), anebo náplní vyráběných
neznačkovými výrobci avšak takovýto přístup určitě kvalitu výstupu nezvýší
a v případě neznačkových náplní je tiskárna vystavená riziku zanesení trysek,
- s cenou inkoustu přímo souvisí i cena vytištěné strany, přičemž určité úspory
se může dosáhnout zapnutím tzv. ekonomického anebo konceptového režimu,
ale i při jejich používání bude cena za stranu stále několikanásobně vyšší než
v případě laserových tiskáren,
- závislost kvality tisku na použitém papíru,
- nízká odolnost tiskáren vůči prostředí je důsledkem používání inkoustu.
Pokud se tiskárna delší dobu nepoužívá, může inkoust v tryskách zaschnout,
což v lepším případě vede k potřebě čistění, v horším k nutnosti zakoupení
nového zásobníku a v nejhorším k výměně tiskové hlavy (jejichž cena se
v některých případech blížící k ceně celé tiskárny).
Laserové tiskárny
Laserové tiskárny pracují na jiném principu než jehličkové a inkoustové, které
se někdy označují také jako řádkové vzhledem na fakt, že údaje na papír tiskne
po řádcích. Laserové tiskárny jsou tiskárny stránkové, protože netisknou
stranu po mikrořádcích, ale nejprve ji celou umístí do paměti tiskárny a potom
ji najednou přenesou na tiskový válec. Laserové tiskárny používají místi
inkoustu uhlíkový prášek označovaný jako toner.
Celý proces bychom mohli schematicky popsat následovně:
- nabití optického válce (OPC - Optical Photoconductor), který je
nejdůležitější součástí tiskárny. V prvním kroku se nabije záporným nábojem.
Stejně je nabitý i toner,
- vytvoření obrazu na válci prostřednictvím laserového paprsku probíhá tak,
že laserový paprsek osvětlí ta místa na válci, která mají být potlačena
a neutralizuje je,
- nanesení toneru na válec je zabezpečené otáčením válce, který na místa, kde
byl náboj vybitý, přitáhne elektrostatickou silou prášek toneru (ostatní místa
nabité stejným nábojem jako toner ho odpuzují),
- přenos toneru na papír zabezpečí zase otáčení válce, které nanesený prášek
dostane až k papíru, který byl při vstupu do tiskového procesu nabitý kladným
nábojem. Kladný náboj na papíře přitáhne záporně nabité částečky toneru a v
této chvíli je už strana hotová,
- toner je však na něj umístěný jen zvolna – velmi lehce bychom ho dokázali
z papíru sfouknout, proto v další fázi vstupuje papír do fixační jednotky, kde se
na něj pod tlakem a při 200° C teploty toner fixuje,
- nakonec následuje očistění válce.
Výhodou laserové tiskárny je rychlost (často i více než 20 stran za minutu),
vysoká kvalita a dlouhá životnost. V současnosti je cenově na úrovni středně
kvalitních inkoustových tiskáren.
Provozní náklady jsou obvykle podstatně nižší než u inkoustových tiskáren.
Většinu nákladů tvoří toner, který se v některých druzích tiskáren vymění spolu
s optickým válcem v jednom pouzdře, v jiných jsou toner a válec odděleny.
Kvalita tisku není závislá na použitém médiu – fotografický a kancelářský
papír dosahují minimálních rozdílů.
209
Počítačové systémy
Nevýhodou tohoto typu tisku je vysoká energetická náročnost během tisku
(300 - 600 W), mírně nižší kvalita barevného tisku a neschopnost tisknout na
nerovné povrchy (vizitky, diplomy, oznámení). Svůj podíl může sehrávat
i narůstající cena.
Obr. Vysokozátěžová barevná laserová tiskárna
I u nás se postupně začínají upřednostňovat barevné laserové tiskárny. Stejně
jako tiskárny inkoustové, využívají na zabezpečení barevnosti model CMYK,
přičemž pro každý toner standardně používají samostatný zásobník. Podle jeho
nanášení je můžeme rozdělit na vícepřechodové a jednopřechodové.
Vícepřechodové (karuselové) modely jsou technologicky starší. Používají
jeden optický válec a rotační mechanizmus s tonery, který zabezpečuje
postupné nanášení barev na válec a přenos na papír (čtyřikrát přechází papír
okolo optického válce). V závěru následuje stejně jako u monochromatické
laserové tiskárny vytvrzení ve fixační jednotce. Proces nanášení toneru je
realizovaný čtyřmi přechody, čím se tisk oproti monochromatické tiskárně
minimálně čtyřnásobně zpomalí. Z toho důvodu jsou tyto tiskárny vhodné spíše
pro příležitostný barevný tisk.
Modernější (a dražší) tiskárny se označují jako jednopřechodové (in-line)
a obsahují čtyři samostatné optické válce, na kterých se současně vytvářejí
kresby pro jednotlivé barvy. Jsou vhodné na místech, kde je požadavek
barevného tisku standardem a realizuje se často. Výhodou je rychlejší tisk
a nižší náklady na provoz (zejména výměna válců).
Cena laserových tiskáren byla odjakživa výrazně vyšší než cena ostatních typů, protože
používaly dražší a výkonnější elektroniku. Navíc mají tyto tiskárny v sobě implementovaný i
vlastní jazyk (PostScript, PCL), který umožňuje přenést část úloh při tisku z počítače na
tiskárnu.
Jako protipól však existují i tiskárny označované jako GDI (Graphical Device Interface), které
nemají v sobě vestavenou žádnou „inteligenci“ a všechny operace, které běžně vykonává
tiskárna, jsou ponechané na počítač. Tyto tiskárny obvykle nejsou schopny komunikovat se
staršími operačními systémy (DOS a pod.) mají vestavenou podporu pro Windows GDI. Při
tisku na takovou tiskárnu se nemusí údaje odeslané na tiskárnu konvertovat do formátu,
s kterými pracují běžné tiskárny (PostScript, PCL), ale tiskárna je schopna přímo vytisknout to,
co vidíme na obrazovce.
210
Počítačové systémy
Přidanou schopností některých tiskáren (laserových i inkoustových) je možnost
připojení do počítačové sítě, kde jsou přímo k dispozici všem připojeným
počítačům. Tuto možnost jim nabízí vestavěný tiskový server (print server).
Pokud tiskárna tento vestavený server nemá, můžeme si ho dokoupit buď jako
součást anebo jako nezávislé zařízení (v takovém případě se k tiskárně
připojují pomocí USB anebo paralelního portu).
Podobně jako kopírky, mohou i tiskárny obsahovat duplexní jednotku, která
dokáže zabezpečit oboustranný tisk. Duplexní jednotka neobsahuje další válec,
který by zabezpečil současný potisk obou stran papíru, ale po vytištění strany
dokáže papír otočit a poslat ho opětovně do tiskového procesu.
Pokud se rozhodujete mezi koupí inkoustové a laserové tiskárny, je třeba se orientovat zejména
na účel, na který bude tiskárna používaná. Většinou platí, že laserová tiskárna má vyšší
pořizovací cenu a nižší provozní náklady - vyplatí se tedy v případě častého tištění černobílých
(ale i barevných) dokumentů. Inkoustová tiskárna naopak - má nízkou pořizovací cenu a často
několikanásobně vyšší provozní náklady než laserová. Má smysl si ji obstarat v případě
menších objemů tisku kancelářských materiálů a občasného tisku fotografií.
Ostatní typy tiskáren
LED – tiskárny jsou jakousi odnoží laserových tiskáren. Místo laserového
paprsku se používá soustava LED diod, které stejně jako laserový paprsek
osvětlují nabitý válec. Jejich výhodou oproti laserovým tiskárnám je o něco
nižší cena při porovnatelné kvalitě výstupu.
Ploter je zařízení, které obraz na papír kreslí vektorově – pomocí čar (ne bodů,
jako je to v případě klasických tiskáren). Má k dispozici několik per, které
dokáže zdvihnout anebo přitlačit na papír a vytvořit s nimi čáru. Některé plotry
umožňují pohybovat perem do čtyř stran, jiné pohyb nahoru a dolů nahrazují
posouváním papíru.
Existují však i varianty, které pracují stejně jako inkoustové tiskárny, od
kterých se potom liší jen schopností velkoformátového tisku (A2, A1, A0). Tu
často využívají konstruktéři a dizajnéři.
Speciální kategorií jsou řezací plotery, které místo pera používají nástroj na
řezání. Na vyhotovení předloh pro výrobu desek plošných spojů se zase často
používá fotoploter, kde se místo pera používá světelná stopa, která se promítá
na světlocitlivý materiál.
211
Počítačové systémy
Obr. Ploter
Barevné voskové tiskárny se podobají inkoustovým tiskárnám Používají
pevné inkousty – vosky, které se při nahřátí přemění na kapalinu a tiskárna s
nimi pracuje stejně jako obyčejná inkoustová tiskárna. Výsledek je kvalitnější,
neboť vosk nezasychá vypařováním, ale okamžitě chladem tuhne.
Termální (tepelná) tiskárna tlačí lokálním zahřátím papíru potáhnutého
speciální látkou, která pod vlivem zahřátí změní barvu – zpravidla zčerná.
Při použití speciálního papíru je možné řízením tepelné energie vydané na
jeden bod dosáhnout dvojbarevného tisku - při menší energii je bod barevný
(modrý, zelený anebo červený), při dodání další energie bod zčerná.
Výhodou termálních tiskáren je nízká cena, tichý provoz a díky minimálnímu
počtu pohyblivých dílů vysoká spolehlivost a nízké nároky na údržbu.
Nevýhodou je potřeba použití speciálního papíru z čeho vyplývají vyšší
provozní náklady, nemožnost barevného tisku; a zejména omezená životnost
tisku, která rychle degraduje vlivem zvýšené teploty a za přítomnosti různých
chemikálií.
Termální tiskárny se používají zejména v registračních pokladnách a ve
faxových přístrojích.
V současnosti je možno se poměrně často setkat se spojením skeneru a tiskárny
(laserové anebo inkoustové) do jednoho zařízení. Taková kombinace se
označuje jako multifunkční zařízení a kromě tisku a skenování dokáže
pracovat také jako kopírka bez potřeby zapnutí počítače. Někdy se zařízení
navíc kombinuje i s faxem.
10.4.10
Parametry tiskáren
Kromě typu tiskáren, které jsme viděli na předcházejících řádcích, je
charakterizují následující parametry:
- rychlost tisku určuje počet stran za minutu, které je tiskárna schopna
vyhotovit. Tento údaj však výrobci velmi často zkreslují a s nimi uváděné
hodnoty jsou obvykle nejvyšší možné, které se nám při standardních
dokumentech složitějšího obsahu dosáhnout nepodaří,
- hlučnost je v současnosti, když jehličkové tiskárny patří minulosti, více-méně
na akceptovatelné úrovni,
212
Počítačové systémy
- rozlišení určuje kvalitu výstupu, přičemž pro tisk textu postačuje 300 dpi, na
fotografie je nutné používat alespoň 600 dpi. Tyto hodnoty dosahují prakticky
všechny v současnosti prodávané tiskárny (kromě jehličkových), není třeba
však jít při tisku běžných dokumentů do extrémů a třeba si uvědomit, že čím
nižší rozlišení použijeme, tím rychleji bude dokument vytištěn,
- režimy tisku souvisí jak s rozlišením, tak i s kvalitou výstupu. Standardní
tiskárny dovolují nastavení ekonomického režimu (konceptu), při kterém šetří
inkoust nebo toner na úkor kvality výstupu. Používání šetřících režimů dokáže
prodloužit životnost náplně často až dvojnásobně,
- s režimem úzce souvisí i provozní náklady, přičemž je třeba myslet na to, že
počty stran, na které má vystačit jedna náplň, výrobce udává u 5% pokrytí
černou barvou (texty) a u 15 % pokrytí pro barevný obsah,
- schopnost tisku na speciální média třeba zvážit zejména tehdy, jestliže
předpokládáme tisk na fólie anebo hrubší papíry (tehdy je vhodné, když má
tiskárna další vstup a výstup umístěný tak, aby se médium v tiskárně co
nejméně ohýbalo),
- pokud bude tiskárna určena na masivní tisk dokumentů, je třeba zvážit její
doporučené měsíční zatížení (uváděné výrobcem) a velikost zásobníku na
papír.
10.4.11
Zvuková karta
Zvuková karta patří mezi „nepovinné“ zařízení, i když v současnosti si už
počítač bez něj nedokážeme ani představit. V době prvních (i druhých a třetích)
počítačů typu PC byl jediným zdrojem zvuku systémový reproduktor (PC
speaker), který dokázal vydávat zvuky najednou jen v jediné frekvenci (do 16
kHz). Bylo ji sice možno měnit, ale ani těm nejzkušenějším programátorům se
nepodařilo přiblížit k reálným zvukům.
Nové možnosti jim poskytla až samostatná zvuková karta, která se u nás
rozšířila někdy v polovině 90. let 20. století. Prostřednictvím ní dokážeme zvuk
zaznamenat i zprostředkovat. Jako samostatná karta se v současnosti vyskytuje
jen zřídka, protože většina základních desek ji má integrovanou v podobě,
která stačí mohutné většině běžných uživatelů.
Struktura zvukové karty
Zvukové karty mají několik analogových vstupů (mikrofonový vstup, linkový
vstup určený na propojení s výstupem jiného zařízení, např. TV tuneru) a
výstupů (dvojice výstupních reproduktorů), občas je přítomný i digitální výstup
S/PDIF. Někdy bývá součástí zvukové karty i gameport určený na připojení
joysticka.
213
Počítačové systémy
Obr. Zvuková karta
Standardně se používá barevné rozlišení konektorů – mikrofonovému vstupu je přiřazena
růžová barva, linkovému modrá, hlavnímu výstupu (reproduktory) zelená, druhému černá.
Digitální výstup používá oranžovou barvu. Některé koncovky jsou z důvodu podpory
používání vícekanálového zvuku multifunkční a prostřednictvím softwaru je možno určit, zda
se budou chovat jako vstupní anebo výstupní.
Nejdůležitějším modulem zvukové karty jsou A/D a D/A převodníky, které se
starají o převod analogového signálu na digitální a naopak. Tento modul se
někdy označuje také jako kodek.
Druhým samostatným modulem je syntetizátor MIDI (Musical Instrument
Digital Interface), který umožňuje generovat zvukové charakteristiky
hudebních nástrojů na základě soustavy pravidel označované jako General
MIDI system. Proces, který tento obvod zabezpečuje, se někdy označuje také
jako FM syntéza. FM syntéza se snaží ze základních hudebních tónů poskládat
zvuk hudebního nástroje. Lepší zvukové karty pracují s Wavetable syntézou –
v paměti zvukové karty jsou uložené reálné zvuky hudebních nástrojů díky
čemu je potom i reprodukce omnoho reálnější.
Na plošném spoji zvukové karty se nacházejí ještě vstupní a výstupní
zesilovače a různě podpůrné obvody.
Postupem času s růstem výpočtové kapacity a paměti počítačů, byly zvukové
karty doplněny o digitální signálový procesor (DSP), který jim umožňuje v
reálném čase zpracovávat a upravovat digitální zvuková data (frekvenční filtry,
efekty atd.).
V současnosti mají téměř všechny zvukové karty stejné parametry. Údaje, které
z nich dělají kvalitní anebo nekvalitní zařízení, obvykle prodejci neuvádějí a je
nutné pátrat na stránkách výrobce:
- frekvenční rozsah představuje rozsah frekvencí, jenž je zvukový adaptér
schopný zaznamenat a zreprodukovat. Platí, že čím je větší, tím lépe.
Standardem jsou hodnoty od 30 Hz do 20 kHz.
- celkové harmonické zkreslení udává přesnost reprodukce jednotlivých tónů.
Udává se v procentech a platí, že čím je tato hodnota nižší, tím je reprodukce
zvuku věrnější. Tento parametr představuje hlavní rozdíl mezi zvukovými
kartami stejného typu a různé ceny.
- odstup signálu od šumu představuje rozdíl mezi silou signálu a šumu. Udává
se v decibelech a čím je hodnota vyšší, tím čistější zvuk by měla zvuková karta
poskytovat.
Reprodukce
Zvukové karty by bez zařízení schopných zprostředkovat jejich výstup
posluchači neměli opodstatnění. Na reprodukci získaného zvuku se používají
reproduktory (případně sluchadla).
Reproduktory je možno rozdělit na pasívní a aktivní. Pasivně používají signál
vygenerovaný zvukovou kartou, který reprodukují bez zesilnění. Jejich
výhodou je, že nepotřebují žádný zdroj napětí, nevýhodou slabý výkon.
Většina reproduktorů je aktivní. Ty jsou nabíjené síťovým napětím, které
slouží na zesílení vstupního signálu. Výsledný zvuk je zpravidla postačující.
214
Počítačové systémy
Zvukové karty i reproduktory mají společný parametr, který u zvukových karet
představuje informaci o podpoře počtu výstupních kanálů a u reproduktorů
jejich fyzickou skladbu.
První zvukové karty měly obvykle jeden anebo dva kanály a nemohly současně
zaznamenávat a reprodukovat zvuk. Později se kromě možnosti současného
příjmu a reprodukce zvýšil počet nezávislých kanálů, s kterými mohla zvuková
karta pracovat. V současnosti dosahuje počet použitelných (ne nutně
používaných) kanálů hodnotu minimálně 16. Pro více než dvojkanálový zvuk
(tento se označuje jako stereo) se používá označení prostorový (3D) zvuk
(surround sound). Kvalita jeho reprodukce závisí kromě jiného na rozmístění
reproduktorů v prostoru.
Vžilo se několik standardních označení (vybíráme základní):
- 2.0 představuje stereo soustavu – tj. jeden pravý a jeden levý reproduktor.
Podporují ho prakticky všechny (kromě nejstarších) zvukové karty.
- 5.1 přidávají k 2.0 po jednom pravém a levém kanále, navíc přední středový
a basový kanál. Tento systém je standardem domácího kina.
- 7.1 je podporovaný jen na poli výpočetní techniky (ne spotřebitelské
elektroniky) a přidává zadní středové kanály.
Obr. Surround 7.1 – umístění reproduktorů v prostoru
10.5 Ostatní vstupně-výstupní zařízení
Když byl před několika léty představen první digitální fotoaparát,
pravděpodobně nikdo netušil, že dokáže tak rychle proniknout na trh a tak
razantně vytlačit klasický film. Digitální fotoaparát nezaznamenává fotografie
na film, ale ukládá je na paměťovou kartu (vyměnitelnou a přenosnou).
Snímaný obraz vidíme obvykle po dobu fotografování na displeji, umístěném
na zadní straně přístroje.
Po fotografování (není potřeba zaplnit celou paměť) potom stačí přenést údaje
do počítače, případně ho připojit přímo k tiskárně a obrázky podle výběru
vytisknout – ušetří se tím čas a peníze potřebné na vyvolání filmu a zhotovení
nepožadovaných a nepodařených snímků. Kromě obyčejných fotografií dokáže
215
Počítačové systémy
digitální fotoaparát obvykle nahrávat i videosekvence anebo samostatný zvuk,
díky čemuž jej můžeme také jako jednoduchou videokameru anebo diktafón.
Obr. Digitální fotoaparát
Obraz je zaznamenávaný prostřednictvím CCD senzorů transformujících
intenzitu dopadajícího světla na elektrický signál, který A/D převodník mění na
digitální hodnoty (viz Skenery).
U digitálního fotografování je první důležitou vlastností rozlišení fotoaparátu.
Udává se v megapixelech a určuje počet bodů, které je fotoaparát schopen
zachytit na jednom snímku. Navzdory tomu, že v současnosti tyto hodnoty
nezadržitelně rostou, jsou pro fotografie prakticky až do velikosti A4
postačující 3 Mpix, které zachytí obraz do 3,2 miliónů bodů v rozlišení 2 048 x
1 536 bodů. Je třeba si také uvědomit, že čím více budou snímky
megapixelové, tím pravděpodobněji zachytí různé šumy a zaberou více místa či
už na paměťové kartě při fotografování anebo na pevném disku při přenosu do
počítače.
Neméně důležitým parametrem je optický zoom zabezpečující možnost
přiblížení objektu pomocí objektivu. V případě, že dosahuje hodnoty nad 5, je
vhodné, když fotoaparát obsahuje i stabilizátor obrazu. Velké přiblížení totiž
klade vysoké nároky na stabilitu objektivu během fotografování a každý, stačí
jen drobný pohyb fotografa, je znásobený velikostí zoomu, čímž se obraz může
stát neostrým a rozmazaným.
Na přitáhnutí zákazníka se jako důležitý parametr často udává i digitální
zoom, který však hovoří jen o schopnosti zvětšení obrazu (např. už vytvořené
fotografie na displeji fotoaparátu) a na kvalitu snímků nemá žádný vliv.
Vlastnost, od které kvalita snímků závisí pravděpodobně nejvíce, je podobně jako při
skenerech optická soustava. U fotoaparátů, jejichž charakteristiky jsou na první pohled stejné,
je zřejmě ona tím parametrem, který určuje rozdíl v ceně (i když to nemusí být vždy úplně
pravda).
Dalším zařízením, pomocí kterého dokážeme do počítače přenést obraz, je
digitální kamera. Pracuje podobně jako digitální fotoaparát, ale nabízí
podstatně kvalitnější parametry na snímání pohybu a zvuku. Obraz může
ukládat na paměťovou kartu, pásku anebo přímo na DVD.
Kromě digitální kamery je možné dostat do počítače také obraz z běžné
videokamery. Postačí k tomu videopřehrávač a zařízení na přijímání
videosignálu, např. střihová (VIVO) anebo televizní karta.
Zajímavým doplňkem určeným původně pro grafiky jsou grafické tablety,
které přenášejí pohyby pera do počítače. Kromě samotného kreslení, umožňuje
tablet ovládání systému perem stejně jako bychom používali myš.
216
Počítačové systémy
Zajímavým doplňkem určeným původně pro grafiky jsou grafické tablety, na
které grafik (zvyklý pracovat ručně) kreslí speciálním perem jako na papír.
Z tabletu se pohyby pera přenášejí do počítače a tímto způsobem se vytváří
grafický obrázek. Složitější tablety dokážou snímat nejen pohyb – čáru, ale
podle tlaku i její tloušťku a sílu.
V současnosti existují tablety, které je možno umístit na stůl podobně jako
podložku pod myš a kreslit na ně speciálním perem. Kromě samotného kreslení
umožňuje ovládání systému perem stejně jako bychom používali myš.
Obr. Notebook s tabletem
Zajímavým řešením využívajícím myšlenku tabletů jsou dotykové obrazovky.
Zpočátku byly k dispozici jen na kapesních počítačích (handheld), ale
v současnosti není ničím výjimečným se setkat s notebooky, které mají místo
klasické LCD obrazovky obrazovku dotykovou – označují se opět jako tablety.
Další rozvinutí snímání dotyků představují elektronické tabule, které jsou
schopny nahradit křídové, či fixové tabule.
Jejich princip je založený na kombinaci promítaného obrazu prostřednictvím
dataprojektoru (promítat je možno na tabuli zepředu i zezadu) a zaznamenávaní
pohybu elektronických fixů prostřednictvím snímačů umístěných na okraji
tabule. Pohyb se s přesností na milimetry přenáší bezdrátově do počítače,
odkud se okamžitě promítá prostřednictvím dataprojektoru zase na tabuli.
Výhodou je, že údaje je možno v počítači dále zpracovávat, exportovat, sdílet
anebo jednoduše opět zobrazit.
217
Počítačové systémy
Obr. Elektronická tabule
10.6 Zařízení umožňující připojení k počítačové síti
Síťová karta umožňuje připojení počítače do počítačové sítě. Obvykle je
hlavním účelem zabezpečení komunikace mezi dvěma anebo větším počtem
počítačů, přičemž nezáleží na tom, zda jsou v jedné místnosti anebo v jednom
městě. Počítače mohou mezi sebou komunikovat, přenášet údaje anebo
využívat např. tiskárny připojené k libovolnému počítači v síti. Často se
počítače propojují také pro připojení se na Internet.
Modem představuje vstupně-výstupní zařízení, které umožňuje komunikaci
mezi dvěma počítači prostřednictvím telefonního vedení. Klasický (analogový)
modem na jedné straně upravuje signál z počítače na přenos po telefonním
vedení, na straně druhé ho dekóduje a upravuje do digitální podoby, díky čemu
ho dokáže druhý počítač přijmout. Podle toho, kolik bitů za sekundu dokáže
modem “přepustiť”, hovoříme o 14,4 kbps, 33,6 kbps anebo 56,6 kbps (kilobitů
za sekundu). Pomocí modemu se obvykle připojujeme i na Internet.
10.7 Chlazení
Při své činnosti se počítačový systém zahřívá. Není se čemu divit, neboť
změnit svůj stav několikmiliardkrát za sekundu, vyžaduje investici značné
energie. Vnitřní změny, které přitom nastávají v jednotlivých komponentech,
zákonitě musí produkovat teplo.
Zřejmě nejvíc tepla se generuje na součástkách, které pracují na vysoké
frekvenci – procesor (CPU), grafický procesor (GPU) a čipset základní desky.
Někdy se přidávají i moduly operační paměti, ale jejich chlazení zatím není
standardem.
Na snížení teploty se používá chladič (cooler). Standardně se umisťuje tak,
aby přicházel s chlazeným zařízením do co nejužšího kontaktu na co největší
218
Počítačové systémy
ploše – často se používá i speciální pasta, která zlepšuje odvod tepla
z komponentu na chladič. Základním dělením chladičů může být dělení na
pasivní a aktivní.
Pasivní chladiče vykonávají svojí činnost na základě odvádění tepla
z chlazeného komponentu prostřednictvím plochy – znamená to, že jsou
vytvořeny tak, aby co největší plocha přicházela do styku s okolním vzduchem,
který je v tomto případě chladící látkou. Skládají se z množství žeber a často
jsou masivní. Jejich obrovskou výhodou je nehlučnost a bezporuchovost –
nemají žádné pohyblivé části. Využívají se hlavně na čipech čipsetu a méně
náročných grafických kartách. Nejnovější typy používají technologii heatpipes
založenou na použití trubiček naplněných kapalinou, která odvádí teplo do
okolí vypařováním.
Aktivní chladiče odvádějí teplo prostřednictvím cirkulace vzduchu (točící se
ventilátor, jehož otáčky se v některých případech regulují podle teploty
zařízení) anebo kapaliny (často obyčejná voda, která cirkuluje za pomoci
čerpadla). V rámci možností je zachovaná filozofie co největší plochy na
odvod tepla. Chladiče tohoto typu bývají v levnějších variantách poměrně
hlučné a po určitém čase se hlučnost ještě více zvyšuje v důsledku
opotřebování. Kromě procesorů a grafických karet se používají i na chlazení
čipsetů, jsou součástí zdrojů napájení a někdy se přidávají do skříňky počítače
na odvádění tepla z pevného disku anebo z celého systému.
Obr. Aktivní a pasivní chladič
Je potřebné si uvědomit, že čím více se teplota v systému sníží, tím větší
životnost komponentů můžeme dosáhnout.
10.8 Typy počítačových systémů
Počítače můžeme kategorizovat různými způsoby. Pokusíme se je nyní rozdělit
podle účelu, na který slouží: stolní počítače, přenosné počítače, vysokovýkonné
a průmyslové počítače.
10.8.1 Stolní počítače
Počítače, o kterých jsme dosud hovořili, patří do řady osobních počítačů (PC –
Personal Computer). Jsou nejčastějšími modely u nás i v celé Evropě.
Vzhledem k tomu, že jejich nejčastější použití je v kancelářích, resp.
v domácnostech a zpravidla bývají umístěné blízko u stolu, označují se jako
219
Počítačové systémy
stolní počítače anebo desktopy (a to bez ohledu na to, zda má skříňka
provedení desktop, tower anebo jiné).
Na první pohled téměř totožně jako PC vypadá i Apple Macintosh (Mac).
Počítače tohto typu jsou také určené primárně na desktopové použití
a představují skupinu osobních počítačů vyráběných americkou společností
Apple Computer. První Macintosh byl uvedený na trh v lednu 1984. Byl to
první osobní počítač, který používal grafické rozhraní, čímž předběhl všechny
své současníky o několik let – většina tehdejších operačních systémů pracovala
jen s příkazovým řádkem.
Obr. Apple Macintosh
Od roku 1984 do roku 1994 využíval procesor Motorola, potom přešel na RISC procesor
PowerPC (vytvořený konsorciem Apple, IBM a Motorola). Od roku 2006 začala společnost
přechod na architekturu Intel x86 údajně z důvodu výkonnostních problémů architektury
PowerPC.
Jako terminály bývaly v minulosti označovány zařízení skládající se z
obrazovky a klávesnice, které neměly vlastní diskový prostor a sloužily jen na
připojení se k systému, který jim poskytoval jak údaje, tak i výpočtové
prostředky. V současnosti může být terminálem i klasické PC, které se
připojuje na jiný počítač prostřednictvím počítačové sítě a slouží např. jen na
vkládání údajů – všechny důležité operace probíhají na cílovém počítači. Jako
terminál si můžeme představit např. bankomat, letištní terminál, terminál
v knihovně určený na prohledávání knižního fondu apod.
Specifickou kategorií je hrací (herní) konzola určená primárně uživatelům
orientovaným na hraní počítačových her. Jako zobrazovací zařízení může
posloužit televizní přijímač i monitor.
Současné konzoly umožňují kromě hraní her i sledování filmů, přehrávání
CD/DVD anebo připojení na Internet. Některé konzoly mohou sloužit i jako
plnohodnotný počítač.
Obr. Playstation
220
Počítačové systémy
Mezi nejznámější herní konzoly patří Microsoft XBox, Sony Playstation,
Nintendo. Kromě konzol připojitelných k zobrazovací jednotce existují
i kapesní (přenosné) s vlastním displejem.
10.8.2 Přenosné počítače
Nejtypičtějším přenosným počítačem je notebook. Je to přenosný počítač s
malými rozměry, nízkou hmotností a schopností pracovat díky akumulátorům
několik hodin bez potřeby elektrického napájení. Použité součástky jsou oproti
PC minimalizované a odolnější vůči otřesům, a proto jsou notebooky o něco
dražší než stolní počítače.
Někdy se tato kategorie počítačů označuje také jako laptop. Rozdíl mezi názvy
je historický – laptop byl původně větší než notebook a byl určený „na kolena“,
zatímco notebook velikostí připomínal knihu.
Klasický notebook se skládá ze sklopného LCD displeje, klávesnice se
zredukovaným počtem kláves a myš je obvykle nahrazena touchpadem
reagujícím na pohyb prstu, který se přenáší na kurzor myši.
Díky tomu, že notebooky je možno jednoduše přenášet, jsou oblíbené zejména
u uživatelů často měnících místo práce (kancelář, domov, služební cesta) a u
těch, kteří vyžadují mít svoje údaje stále sebou (manažeři, programátoři apod.).
Stále častěji se s nimi můžeme setkat i u studentů vysokých škol, kterým
nahrazují klasické zápisníky, pera i papíry.
Obr. Notebook
Kapesní počítače jsou počítači přenosnými v pravém slova smyslu. Patří zde
různé diáře a programovatelné mikropočítače (PDA – Personal Digital
Assistant – osobní digitální asistent, hand-held) pracující s vlastním systémem
často už na úrovni systémů stolových počítačů. Primárně se využívaly jako
příruční zdroje informací, ale v současnosti, navzdory nižšímu výkonu v
porovnání s desktopy, prožívají období rozkvětu.
Jejich funkce (textový editor, poznámkový blok, kalendář, adresář, plánovač
úloh, hry, fotoaparát atd.) jsou často integrované i v dražších mobilních
telefonech, případně funkce mobilních telefonů jsou integrované v nich.
Velikost zařízení je přizpůsobená tak, aby je bylo možné uchopit do dlaně
a přenášet v kapse. Ovládání je standardně realizované prostřednictvím
dotykové obrazovky, výjimečně prostřednictvím miniaturizované klávesnice.
221
Počítačové systémy
PDA se používají na místech, kde je použití notebooku vzhledem na
požadované funkce zbytečné (např. systémy, ve kterých postačí prohlížení
údajů, případně občasné kliknutí či potvrzení splnění úlohy). Známe jejich
nasazení v navigaci prostřednictvím GPS. Nejlevnější zařízení se cenově blíží
k ceně levného stolního počítače.
Obr. PDA s GPS
Speciální kategorii kapesních počítačů představují „rozšířené kalkulačky“
určené na řešení úloh z přírodovědných a technických oblastí. Typickým
představitelem je Casio ClassPad, který disponuje aplikacemi pro numerické
a algebraické výpočty (např. práce se zlomky, maticemi apod.), pro
sestrojování a analýzu geometrických objektů a kuželoseček, statistické
výpočty, práci s grafy a tabulkami, zpracování postupností, numerické řešení
rovnic atd.
Obr. .5 ClassPad
10.9 Vysokovýkonné počítače
Tato kategorie je velmi diskutabilní, protože počítač, který sloužil před rokem
jako vysokovýkonný, už v současnosti může být na úrovni průměrného
stolního počítače a navzdory tomu stále zpracovává stejné úlohy. Do této
kategorie spadají počítače spíše na základě určení než na základě svého výkonu
či speciálních funkcí. Některé označení jsou daná historicky, jiná úlohou
počítače v systému.
Minipočítač je zařízení navenek se nelišící od klasického PC, avšak svým
výkonem ho několikrát překoná. Využívá se zejména na místech, kde výkon
standardního PC nestačí (náročné konstruktérské výpočty, řízení jiných
222
Počítačové systémy
počítačů, server v síti – viz dále, apod.). Minipočítače mohou obsahovat
několik procesorů, čím se jejich výkon ještě více zvýší. Často poskytují svoje
služby dalším počítačům.
Pracovní stanice je obdobou minipočítače, ale obvykle je samostatná a má o
něco nižší výkon. Dnes slouží jako pracovní stanice běžné PC, čím se vlastně
rozdíl mezi systémy stírá.
Server nemusí představovat speciální počítač, je to len funkce, kterou může
dostat přidělenou jako minipočítač, tak i pracovní stanicí, notebook či
standardní desktop.
Z důvodu potřeby spolehlivosti a dosáhnutí stabilního výkonu se však jako
servery nasazují speciální počítače zkonstruované tak, aby odolaly vysoké
zátěži a nepřetržitému provozu. Jejich ceny jsou proto logicky několikanásobně
vyšší než v případě ostatních typů počítačů.
10.10Průmyslové počítače
Průmyslové počítače jsou určeny do prostředí charakterizovaného zhoršenými
pracovními podmínkami. Jsou schopné snášet prašné prostředí, širší rozsah
teplot, nárazy a vibrace, mají zvýšenou odolnost vůči elektromagnetickému
záření. Komponenty jsou obvykle vyráběné speciálně pro tuto kategorii,
provedení dokáže být prachuvzdorné i vodotěsné.
Cyklus života průmyslových počítačů je podstatně delší než u běžných
desktopů, ale navzdory tomu plně podporují jejich standardy. Konstrukce
umožňuje jednoduchou údržbu a pohotovou výměnu prvků s nejnižší životností
(např. HDD).
Využívají se zejména v průmyslové výrobě na řízení výrobních procesů,
ovládání jednoúčelových strojů a zařízení, v měřící technice na měření,
regulaci a sběr údajů. Můžeme je použít i jako routry v počítačových sítích.
Popsané typy výpočtových systémů někdy nedokážou mezi sebou
bezproblémově komunikovat, protože byly vytvořené různými technologiemi,
různými výrobci a na úplně odlišné účely. Hovoříme, že jednotlivé typy nejsou
kompatibilní.
Kompatibilita (compatibility - slučitelnost) je vlastnost zařízení a programů,
umožňující jejich použití bez změny i v jiných typech počítačů.
Kontrolní otázky:
13. Vyjmenujte jednotlivé části počítače?
14. Proč se hardware počítače tak často mění?
15. Jaké jsou funkce základní desky počítače?
16. Jaké znáte periferní zařízení počítače?
Úkoly k zamyšlení:
2. Zařízení jakého typu využíváte v práci a doma?
3. Kterými funkcemi se liší tzv. „chytré mobily“ od klasických mobilních
telefonů?
4. Jaký typ tiskárny máte k dispozici, jaká je cena barvy?
223
Počítačové systémy
5. Používáte Vy nebo někdo ve Vašem okolí pro zobrazení pracovní plochy
více než 1 monitor? Jaké výhody přináší toto zapojení?
6. K čemu slouží dataprojektor a jak se k počítači připojuje?
Shrnutí obsahu kapitoly
Student se z pozice uživatele seznámí se základními hardwarovými
komponentami. Dovede je rozpoznat a odlišit a vysvětlit jejich účel v rámci PC
sestavy. Student se orientuje v periferiích, je schopen je správně zapojit.
224
Počítačové systémy
11. Software osobních počítačů PC
V této kapitole se dozvíte:
•
•
•
•
Co je to software?
Jak se dělí software podle účelu?
Jaké jsou funkce operačního systému?
Jaké funkce mají aplikační programy?
Po jejím prostudování byste měli být schopni:
•
•
•
Charakterizovat druhy operačních systémů.
Znát typy aplikačních programů.
Porozumět základním funkcím programového vybavení počítače.
Klíčová slova této kapitoly:
Operační systém, aplikace, textový editor, tabulkový procesor, databáze.
Doba potřebná ke studiu: 6 hodin
Průvodce studiem
Kapitola si klade za cíl seznámit studenta se základními pojmy, se kterými se
může setkat v oblasti software. Student bude obeznámen se základním dělením
software, účelem jednotlivých skupin software, doplněným výčtem řady
příkladů. Výklad je doplněn řadou ilustrací pro snadnější orientaci.
Všechny prvky, o kterých jsme do této chvíle hovořili, představovaly součástky
počítače – hardware. I když z nich dokážeme poskládat počítač, od vykonávání
reálných úloh jsme ještě příliš daleko – systému nedokážeme nic přikázat,
a tím pádem od něho nemůžeme ani nic očekávat. Bez vhodného
programového vybavení je pro nás počítač jen směsí plastu a kovu. Na to, aby
počítačový systém věděl co, kdy a jak má vykonávat, potřebuje mít k dispozici
předpisy (příkazy), na základě kterých procesor řídí jeho chod. Tyto
postupnosti označujeme jako programy, aplikace nebo nejčastěji software.
Samotný software je však stejně nefunkční jako samotný hardware. Jedno bez
druhého nemůže pracovat, proto o počítači hovoříme jako o spojení softwaru a
hardwaru. Software s hardwarem dokážou zabezpečit chod systému, ale
v dvojkombinaci ještě celkem nenaplňují definici. Smyslem práce
počítačového systému je totiž zpracování údajů. Údaje představují vstup do
systému, který je zpracuje a na základě své činnosti poskytne uživateli
výsledky – opět údaje.
Ne každý software vyžaduje pro svoji činnost údaje – softwarem je např. i
program, který po spuštění pípne anebo vypíše „Ahoj“. Pokud však od něho
chceme, aby našel studenty, kteří chyběli v zadaném týdnu, nevyhneme se už
jeho „nakrmení“ údaji – potřebuje mít k dispozici údaje o docházce, které
překontroluje a na základě nich objeví a vypíše absentéry.
Jak tedy rozlišit údaje od softwaru? Trochu zjednodušeně můžeme říci, že
software je předpis a údaj je vstup, který se na základě předpisu zpracovává.
Textový editor je software a texty, které v něm napíšeme, představují údaje;
grafický editor je software, zpracované fotografie představují údaje. V případě
225
Počítačové systémy
různých encyklopedií představuje software prostředí encyklopedie, údaje jsou
zobrazované informace určené uživateli.
Pokud bychom chtěli být vulgární, mohli bychom za programy označit všechno to, čemu rozumí
počítač a za údaje to, čemu rozumí uživatelé.
Hardware má svoji hmotnost a tvar, software a údaje jsou abstraktní –
nedokážeme je nahmatat, nevíme jaký mají tvar, nedokážeme je detekovat ani
čichem. Na to, aby mohl software či údaje existovat, musí být někde uložené.
Když opomeneme různé fantastické a vizionářské úvahy, místem na ukládání
softwaru i údajů jsou paměti (dočasná operační paměť, CD, DVD, HDD, FDD
a případně flash-disky), kde jsou obě kategorie umístěny v souborech.
Software vzniká programováním. Každý počítačový program obsahuje
postupnost instrukci, kterou vykonává procesor. Podle místa nasazení
a způsobu určení je možno software rozdělit na dvě základní kategorie:
- systémový software představuje programové vybavení počítače, které
umožňuje a zabezpečuje spuštění dalších aplikací. Hlavním představitelem této
kategorie jsou operační systémy, do kterých zahrnujeme i různé servisní
programy umožňující a podporující jejich činnost,
- aplikační software (aplikace) tvoří velká skupina programů, která je určená
na řešení konkrétního problému anebo skupiny problémů. Můžeme sem
zahrnout textové editory, grafické editory, prezentační software, mailové
klienty, prohlížeče webových stránek atd.
Speciální kategorii softwaru, jehož je poměrně těžké jednoznačně zařadit,
tvoří:
- síťový software, který umožňuje skupině počítačů navzájem komunikovat,
- vývojový software (kompilátory, software určený na vytváření programů),
který poskytuje programátorovi nástroje, potřebné na napsání programů,
případně jeho přeložení do strojového kódu (anebo vykonání prostřednictvím
interpretera).
Vzhledem k tomu, že údaje i software můžeme velmi jednoduše rozmnožit a rozšířit bez
jakéhokoli zásahu do originálu, představují ideální objekt krádeží (viz Počítačové pirátství).
Pro činnost počítačového systému je nevyhnutelný právě operační systém.
Architektura operačních systémů byla detailně popsána v kapitolách 8 a 9. Na
tomto místě jen připomeneme základní vlastnosti OS ve vztahu k PC.
11.1 Operační systém
Základním softwarem, který nám dovolí spouštět programy a manipulovat
s uloženými údaji, je operační systém. Jeho existence začala na přelomu 50.
a 60. let 20. století v druhé generaci počítačů, kde představoval sadu příkazů a
instrukcí, které dokázaly komunikovat s paměťovými zařízeními a ukládat i
číst z nich údaje nebo programy.
Za půl století se hlavní úloha operačního systému velmi nezměnila –
představuje technické a programové prostředky počítače, které zabezpečují
komunikaci mezi hardwarem a uživatelem. Operační systém se stará o
efektivní využití operační paměti a procesoru, o optimální komunikaci mezi
226
Počítačové systémy
všemi používanými technickými i programovými prostředky. Inicializuje se
vždy, když se spustí počítač, a umožňuje uživateli realizovat obsluhu počítače
prostřednictvím příkazů.
Operační systém je složen ze tří základních částí:
- jádro operačního systému představuje výkonnou část systému, která je
umístěná v paměti od spuštění do vypnutí počítače. Jádro podle potřeby
a požadavků uživatele či aplikací spouští nebo přesouvá do operační paměti
ostatní součásti operačního systému,
- monitor operačního systému zabezpečuje komunikaci systému s
uživatelem. Přijímá a analyzuje impulzy z klávesnice, zjišťuje význam
systémových příkazů, vypisuje příslušné odezvy na výstupní zařízení,
- ovládače obhospodařují komunikaci operačního systému s hardwarovými
zařízeními. Každé hardwarové zařízení má svoji vlastní strukturu a využívá
specifické vlastnosti, které při vývoji operačního systému ještě nemusely
existovat. Ovladač je proto navržen tak, aby dokázal komunikovat s operačním
systémem prostřednictvím všeobecnějších (abstraktních) příkazů.
Např. příkaz operačního systému „zobraz výřez obrazovky“, ovladač transformuje do instrukcí
grafické karty, pro kterou byl napsaný. Ta ho potom podle svých možností a schopností
zrealizuje.
Vzhledem k tomu, že každý operační systém má svoje vlastní „abstraktní
příkazy“, je potřeba, aby byl ovladač vytvořený nejen pro konkrétní hardware,
ale i pro konkrétní operační systém. Ovladače jsou standardně k dispozici
v samostatných souborech ve formě knihoven, díky čemu jsou k dispozici
i aplikačním programům.
Všechny ostatní součásti systému můžeme chápat jako aplikační programy
(textový editor, služebné programy pro diagnostiku, komunikaci v síti apod.)
11.2 Dělení operačních systémů
Na operační systémy se můžeme pohlížet z více úhlů, na základě kterých je
dokážeme dělit:
- jednouživatelské operační systémy jsou takové, ve kterých v jednom
časovém okamžiku může počítači zadávat příkazy jediný uživatel. Jejich
opakem jsou víceuživatelské operační systémy, které povolují současnou práci
více uživatelům. Je samozřejmé, že uživatelé nesedí v jedné místnosti
a nepřipojují se prostřednictvím klávesnic k danému počítači – víceuživatelský
systém předpokládá počítačovou (případně terminálovou) síť, prostřednictvím
které se do počítače přihlásí uživatelé na základě jména, hesla a systém jim
přidělí výpočtové i paměťové prostředky,
- jednoúlohové operační systémy umožňovaly mít v jednom časovém
okamžiku spuštěný jen jeden program, víceúlohové umožňují současný běh
většího počtu programů. Tato schopnost operačních systémů se označuje jako
multitasking (multi=víc, task=úloha) a zabezpečuje se prostřednictvím
přidělování prostředků i času procesoru běžícím úlohám.
Skutečné paralelní zpracování je možné jen při víceprocesorových systémech,
v případě jednoprocesorových (když opomineme techniky jako např.
pipelining) nejsou úlohy zpracované najednou, ale dojem paralelního
227
Počítačové systémy
zpracování vyvolává rychlé přepínání mezi nimi zabezpečované operačním
systémem,
- systémy nepodporující práci v síti a operační systémy síťové, které dokážou
komunikovat s počítači připojenými do počítačové sítě,
- podle dalšího kritéria rozeznáváme operační systémy paměťově rezidentní
(pro jednoduché mikropočítače, kde je celý systém pevně umístěný v ROM)
anebo diskově orientované, jejichž součásti jsou umístěné na diskových
médiích a podle potřeby nahrávané do operační paměti,
Pro diskový operační systém je potřeba zabezpečit při startu počítače jeho zavedení do
operační paměti. Na této operaci spolupracuje BIOS, který hledá operační systém na
paměťových médiích v pořadí jaké má uvedené v paměti CMOS a diskové zařízení (HDD,
FDD, CD a pod.), které má v zaváděcím sektoru (boot sektore) zapsané příkazy, které z něho
zavedou operační systém.
Správné nastavení se obvykle nerealizuje manuálně, ale zabezpečí ho automaticky instalační
program operačního systému.
- první operační systémy byly orientované textově a všechny činnosti se
vykonávaly prostřednictvím příkazů zadávaných do příkazového řádku.
Současně s vývojem operačních systémů proto byla vyvíjena uživatelská
prostředí označovaná jako nadstavby operačního systému, které
zjednodušovaly jejich používání. Primární úlohou těchto aplikací bylo
poskytnout uživatelům nástroj na správu souborů a přehled o tom, co mají
uložené na svých discích a disketách. Navíc umožňovaly zadávat příkazy bez
toho, aby uživatel musel znát jejich přesný tvar - většinou výběrem z menu.
Zpočátku byly tyto prostředí orientované na využívání funkčních kláves, ale
později začali mít grafickou podobu a jako hlavní ovládací prostředek
používali myš. Odtud byl už jen krůček k vytvoření a zavedení grafických
operačních systémů, které se ovládaly intuitivně, s údaji se manipulovalo
prostřednictvím myši. Jejich prostředí se označuje jako GUI (Graphical User
Interface – grafické uživatelské prostředí).
11.3 Porovnání operačních systémů
V současnosti existuje několik základních operačních systémů. Mezi
nejpoužívanější v našich končinách a u běžných uživatelů patří Windows
a Linux. Není však na škodu disponovat také informacemi o ostatních.
11.3.1 Unix
V roce 1965 pracovali společnosti Bell Telephone Laboratories (divize AT&T)
a General Electric na projektu, jehož cílem bylo vytvořit operační systém
Multics. Po čase se společnost Bell Telephone Laboratories rozhodla od
spolupráce odstoupit, protože systém se rozrostl na nepoužitelný kolos. V
důsledku tohoto rozhodnutí ztratila šanci získat v krátké době vyhovující
operační systém.
Jako odezvu na tento čin se zaměstnanci K. Thompson a D. Ritchie rozhodli
navrhnout vlastní operační systém, který by splňoval požadavky jejich
zaměstnavatele. Ken Thompson návrh realizoval při vytváření vývojového
prostředí na počítači PDP-7. Toto bolo původně vytvořené v assembleru a až
228
Počítačové systémy
v roce 1973 kompletně přepsané do jazyka C, čím se zabezpečila možnost
kompilace prakticky na libovolné architektuře. Během vývoje se pro systém
ustálil název Unix, který mu už zůstal až do současnosti.
Koncem 70. let byla společnosti AT&T protimonopolním úřadem zakázaná
činnost v oblasti počítačového průmyslu, a proto se rozhodla za velmi
výhodných finančních podmínek provést licenci na operační systém Unix na
vybrané univerzity. Od tohoto momentu vývoj pokračoval ve dvou hlavních
větvích:
- komerční verze System III, System V pod vedením AT&T, Solaris, HP-UX,
AIX,
- akademické (volně šiřitelné) verze BSD Unix (FreeBSD, NetBSD, OpenBSD)
vytvářené pod záštitou Kalifornské univerzity v Berkeley a OpenSolaris.
Současný Unix je charakterizovaný jako víceuživatelský, víceúlohový a síťový
operační systém vybudovaný na třech vrstvách:
- jádro systému (kernel) komunikuje s technickými prostředky počítače a
poskytuje svoje služby jiným programům
- interpret příkazů příkazového řádku (shell) vykonává příkazy vyššího
programovacího jazyka určeného na komunikaci uživatele se systémem.
Zabezpečuje realizaci služebních programů systému a poskytuje také množinu
strukturovaných řídících konstrukcí, pomocí kterých je možné psát skripta,
- služební programy představují kategorii aplikačních programů a v rámci
Unixu se jejich počet se odhaduje na stovky.
K dispozici jsou i grafické rozhraní, ze kterých jsou nejznámější GNOME
a KDE. Grafické rozhraní pracující nad systémem Unix potřebuje pro svoji
práci rozhraní X-Windows, které představuje jakéhosi manažera mezi
grafickým rozhraním a grafickou kartou.
Obr. Prostředí KDE
229
Počítačové systémy
Obr. Prostředí GNOME
Výhody:
- stabilita, bezpečnost a spolehlivost systému představují optimální kombinaci
pro nasazení Unixu na servery a místa, kde je nevyhnutelný bezpečný a
bezporuchový provoz,
- volně šiřitelný zdrojový kód při nekomerčních verzích, z čeho vyplývají
nulové náklady na zakoupení,
- možnost kompilace prakticky na libovolnou hardwarovou platformu
a v případě dostatečných zkušeností i úprava systému podle vlastních
požadavků a potřeb.
Nevýhody:
- na správu systému jsou vhodné značné zkušenosti, což je v případě nasazení
v organizacích bez zkušeného administrátora, potřeba dobře zaplatit externí
firmě.
11.3.2 Linux
Pod pojmem Linux je skryté množství verzí operačních systémů založených na
platformě Unix, které mají společné jádro systému – Linux. Toto jádro (často se
používá i na označení celých operačních systémů GNU/Linux) bylo napsané
studentem Helsinské univerzity Linusom Torvaldsom. První distribuce (verze)
byla zveřejněná v roce 1991 a krátce na to se už na jejím vývoji podíleli tisíce
nadšenců.
GNU označuje svobodný (volně šiřitelný) unixový operační systém a představuje rekurzivní
zkratku: (GNU's Not Unix – GNU není Unix). GNU/GLP (General Public License) je licence
umožňující kopírování, změnu a distribuci softwaru, který ji podléhá avšak s podmínkou, že i
modifikovaný software bude šířený pod GNU/GPL.
Mezi neznámější distribuce Linuxu patří Debian, Fedora Core, Knopix,
Mandrake (Mandriva), Red Hat, SuSE a Ubuntu.
Linux představuje operační systém se vším, co k němu patří – grafickým
prostředím, aplikacemi pro práci s Internetem, kancelářskými balíky, hrami a
multimediálními přehrávači. Představuje víceuživatelský, víceúlohový síťový
operační systém.
230
Počítačové systémy
Výhody i nevýhody jsou stejné jako při systémech typu Unix, existují komerční
i nekomerční řešení, přičemž se obvykle neplatí za samotný systém, ale za jeho
instalaci, nastavení a následnou podporu uživatelů.
11.3.3 Mac OS
Mac OS (Macintosh Operating System) je operační systém pro počítače Apple
Macintosh, který kombinuje kvalitní grafické prostředí se stabilitou operačních
systémů Unix. Mac OS byl prvním komerčním operačním systémem
s grafickým uživatelským rozhraním a mnohé v něm implementované prvky
byly později přebrané dalšími operačními systémy (např. Windows).
Prvým verzím byl vyčítaný nedokonalý multitasking a chybovost při práci
s tzv. nadstavbami (rozšířením), které zabezpečovaly např. podporu sítí anebo
připojení dalších zařízení. V současnosti je aktuální verze Mac OS X, která
obsahuje jádro založené na BSD distribuci Unixu a grafické rozhraní Aqua
vytvořené společností Apple.
Výhody:
- přepracované grafické prostředí, stabilita.
Nevýhody:
- v minulosti omezení na platformu Apple Macintosh, v současnosti podporuje
už i platformu Intelu.
11.3.4 MS DOS
MS DOS (Microsoft Disk Operating System) je diskovým operačním
systémem určeným pro počítače IBM PC kompatibilní. Byl vyvinutý firmou
Microsoft na základě objednávky firmy IBM, která potřebovala základní
programové vybavení pro připravovaný model PC.
Jde o textový, jednoprocesorový, jednouživatelský a jednoúlohový operační
systém. Je tvořen pouze trojicí souborů msdos.sys (jadro), io.sys (odstraňuje
chyby BIOSu a obsluhuje periferní zařízení) a command.com (interpret příkazů
zadávaných do příkazového řádku).
Obr. Vzhled MS DOS
MS DOS se vyšplhal od verze 1.0 až po verzi 6.22, když na jeho místo
postupně přišel operační systém Microsoft Windows 95.
231
Počítačové systémy
Výhody:
- funkčnost a rychlost i na nevýkonných strojích,
- jednoduchost a v době největší slávy obrovské rozšíření.
Nevýhody:
- textové prostředí,
- nemožnost provozování většího počtu programů současně,
- neefektivní práce s operační pamětí nad 640 kB.
11.3.5 Ostatní operační systémy
CP/M – historický operační systém určený pro domácí počítače s procesorem
Z80, který byl orientovaný diskově (přesněji disketově) a díky tomu se stal
inspirací pro mnohé další operační systémy, zejména MS DOS.
Palm OS – operační systém používaný v handheldech typu Palm.
Symbian OS, Microsoft Windows Mobile Edition – operační systémy
používané v některých typech mobilních telefonů.
OS/2 - operační systém, který se začal vyvíjet ve spolupráci IBM a Microsoft
v roce 1986 jako náhrada systému MS DOS. Microsoft ho však po úspěchu
svého systému Windows přestal od roku 1990 podporovat, IBM vývoj
a podporu ukončila v roce 1998.
11.4 Windows
Období, kdy osobní počítače ovládal MS DOS se svým příkazovým řádkem,
skončilo na začátku 90-tých let. Nadstavby stárnoucího operačního systému
DOS Shell a Norton Commander nahradil operační systém Microsoft Windows
(první verze byla uvolněná v roce 1985).
První skutečně rozšířenou a populární verzí byl Windows 3.0 (1990), který
však nebyl plnokrevním operačním systémem, ale opět jen grafickou
nádstavbou MS DOS, určenou pro komfortnější a univerzálnější ovládání
počítače a aplikací. Navzdory tomu naznačil cestu, po které se v dalších letech
ubíraly stále novější a novější verze tohoto operačního systému.
Vzhledem k tomu, že právě operační systém Windows se v současnosti používá
nejčastěji, budeme se mu věnovat podrobně a pokusíme se na něm prezentovat
také další charakteristiky operačních systémů.
Prvním operačním systémem Windows v dnešní podobě byla verze 95.
Vzhledově je téměř totožná se svými následovníky, instalace však zabrala
podstatně méně místa a měla značně nižší nároky na hardware. Současně s ní
se na veřejnost dostala i verze Windows NT 4.0, jejichž design byl sice velmi
podobný, ale jádro bylo v paměti oddělené od spouštěných aplikací, díky čemu
nedocházelo k tolika kolizím a haváriím systému jako u Windows 95. Důraz se
kladl na bezpečnost údajů (souborový systém NTFS) a spolehlivost systému.
Windows NT byl náročnější na hardware, ale při kvalitních sestavách podával
podstatně lepší výkony než Windows 95.
Následovníkem Windows 95 se stal Windows 98, který měl kromě vnitřních
vylepšení zabudovanou značnou podporu Internetu. Spojením obou operačních
systémů (NT a 98) vznikla verze 2000 a současně s ní se na trh dostala také
verze Windows 98 – Milénium, které však komerční prostředí nepřijalo.
232
Počítačové systémy
Windows 2000 byl k dispozici ve třech verzích – dvě byly určeny pro práci na
serverech (Windows 2000 Server a Windows 2000 Advanced Server), jedna pro
pracovní stanice (Windows 2000 Professional).
Následovníkem verze pro pracovní stanice se stala verze Windows XP (ve
verzi Professional a odlehčené Home), pro servery je určený Windows 2003
Server orientovaný na týmovou a síťovou spolupráci.
Windows XP Home se později vyvinul do verze Media Center Edition, která
je určena pro domácí multimediální počítače typu all-in-one sloužící jako
systémy domácí zábavy (TV, DVD, rádio, CD, fotografie).
V současnosti je aktuálním operačním systémem verze Windows Vista, která
je ve verzích Ultimate, Home Premium, Home Basic, Business a Enterprise
určena pro nasazení na pracovních stanicích.
Ovládání Windows spočívá v ovládání grafického uživatelského rozhraní (GUI
– Graphical User Interface), které zabezpečuje intuitivní a lehce pochopitelnou
komunikaci uživatelů a operačního systému.
Operační systémy Windows je možné popsat z uživatelského hlediska
následovnými charakteristikami, přičemž jako východisko jsme zvolili
Windows XP:
- grafické prostředí (GUI) – v prvních operačních systémech od Microsoftu
bylo potřeba znát k ovládání počítače několik desítek příkazů a pracovalo se
obvykle v textovém režimu. Operační systém Windows tyto příkazy skryl za
klikání myší, ukazování na ikony a výběr z položek menu,
- intuitivní ovládání spočívá v manipulaci s myší, jejím ukazováním
a klikáním na objekty systému. Každý program i soubor s údaji má svůj
obrázek (ikonu), který obvykle na první pohled umožňuje určit jeho funkci
(např. štětec s obrázky – kreslící program, pero s poznámkovým blokem textový editor, kalkulačka – kalkulačka atd.). Ovládání je tím pádem
jednoduché na paměť i zručnost.
Pracovní plochu si může každý uživatel upravit „podle svého obrazu”. Může na
ni umístit často používané programy, soubory, dokumenty a vše ostatní
odsunout do pozadí a ponechat nezobrazené. Díky tomu je systém přehledný
a nezkušený uživatel se nemusí zaobírat soubory, které pro něj nemají význam
(anebo je nezná). S intuitivním ovládáním souvisí i možnost používat údaje z
jednoho programu v jiném (např. vložit obrázek do textu), která se označuje
jako OLE (Object Linking and Embedding).
- standardizovaný stejný vzhled, ovládání a základní funkce všech programů.
99 % programů běžících pod Windows má stejný vzhled i některé položky
menu (ukládání na disk, otvírání souborů, ukončení) a díky této vlastnosti není
třeba se učit u nového programu vše od začátku, ale stačí všímat si jen věcí,
které jsou nové a pro které se ho vyplatí používat. Z této filozofie se odvíjí i
univerzální nastavování – v případě, že změníme např. barvy prostředí,
projeví se změna ve všech programech; v případě, že připojíme k počítači
novou tiskárnu a nastavíme ji jednou, není třeba dělat změny v každém dalším
programu, ze kterého budeme tisknout.
- podpora multitaskingu – Windows umožňuje současný běh více úloh a/anebo
procesů. Pokud je k dispozici procesor s větším počtem jader anebo s podporou
hyperthreadingu, dokáže je naplno využít.
233
Počítačové systémy
- v případě nedostatku operační paměti umožňuje systém využít diskový
prostor jako virtuální paměť a právě nepoužívaný obsah operační paměti na
něj na určitou dobu odložit. Tento proces označujeme jako swapování.
- Windows je systém podporující práci většího počtu uživatelů. Správce
systému dokáže pro další uživatele vytvořit samostatné účty, které mohou
a nemusí být navzájem viditelné, umožní jim vytvořit vlastní prostředí (např.
vlastní pracovní plochu, menu apod.).
V případě potřeby dokáže omezit anebo zakázat přístup k systémovým
souborům a zabezpečit tak systém vůči chybám nezkušeného uživatele,
znemožnit anebo omezit instalaci nových a spuštění existujících programů.
Kolize a chyby systém obvykle řeší sám – ukončením práce s problematickým
programem.
- bezpečnost je kritickým bodem všech doposud vytvořených operačních
systémů (zejména od Microsoftu). Hlavním problémem, ke kterému může
v případě přelomení ochrany dojít, je ovládnutí počítače „zvenka“ (např. přes
Internet) jiným uživatelem. V kombinaci s občasným chybným kódem (jako
např. přetečení zásobníků či datových oblastí) a hlavně s obrovskou
popularitou a enormním množstvím uživatelů, se systémy Windows stávají
úspěšnými terči různých počítačových červů a virů. Microsoft prostřednictvím
služby Windows Update umožňuje zabezpečit automatické stahování oprav
(záplat), které obvykle řeší chyby a bezpečnostní nedostatky.
Závěrem je možno říci, že nejnovější verze Windows představují
víceuživatelský, víceúlohový a síťový operační systém (u nižších verzí tyto
vlastnosti často pokulhávaly).
11.4.1 Souborový systém
Úlohou operačního systému je v první řadě zabezpečit uživateli dostatečně
flexibilní prostředí pro práci s údaji. Doposud jsme o nich hovořili jen ve velmi
všeobecné a abstraktní rovině. Je samozřejmě nesmysl, aby uživatel, který chce
na disk uložit napsaný text, určoval část paměti, ze které se má text vybrat a
sektor či stopu na disku, kam se má pro další zpracování uložit. Tuto úlohu
zvládly už první operační systémy.
Údaje v počítači (přesněji na pevném disku i když disketa, flash-disk, CD
anebo DVD jsou analogií) musí být organizované na takové úrovni, aby
uživatele co nejméně zatěžovaly a byly k dispozici vždy v té podobě, v jaké
byly uloženy. Operační systém údaje ukládá do souborů.
Soubor je množina údajů představující kompaktní celek. Údaje v souboru jsou
obvykle smysluplné buď pro uživatele, anebo pro počítač. Můžeme si pod nimi
představit např. list, fotografii anebo tuto knihu (také to byl jen soubor, který se
skládal z textu a obrázků). Souborem je i textový editor, přehrávač videa či
zvuku a s přimhouřením oka můžeme i operační systém považovat za soubor,
který pro svoji činnost využívá podporu dalších souborů (knihoven, logovacích
a odkládacích souborů atd.).
Každý soubor má svoje jméno a na základě něho ho dokáže operační systém
jednoznačně identifikovat a prostřednictvím tabulky souborového systému
(FAT či NTFS) ve spleti stop a sektorů najít.
234
Počítačové systémy
V každém počítači se na pevném disku nachází značné množství souborů. Aby
byl na disku přehled a pořádek, sdružují se soubory se stejnými
charakteristikami (např. texty, obrázky) do celků – adresářů.
Adresář (složka, folder) představuje prostor, ve kterém je několik souborů
uložených pohromadě na základě společného znaku anebo jen podle libovůle
uživatele. Adresář může obsahovat i další adresáře anebo může být prázdný.
Rozdíl mezi adresáři a soubory je ten, že soubor obsahuje konkrétní údaje,
adresář má za úkol zpřehlednit jejich organizaci. Komplex adresářů a souborů
na paměťovém zařízení má logickou stromovou strukturu, ze které je na první
pohled zřejmé co kam patří.
Obr. Hierarchická stromová struktura na pevném disku
Operace se soubory i adresáři jsou zabezpečované operačním systémem
a zabezpečují vytvoření, odstranění, změnu názvu a změnu obsahu. Soubor,
se kterým se právě pracuje, označujeme jako otevřený a v tomto stavu obvykle
není přístupný na zpracování dalším uživatelům či programům. Název souboru
může mít v operačních systémech Windows od verze 95 délku až 255 znaků.
Každý slušnější operační systém nabízí i vyhledávání souborů na základě
jména, typu, velikosti a ostatních vlastností (viz níže). V případě standardně
podporovaných souborů dokáže operační systém prohledávat i jejich obsah
a najít soubory, které v sobě obsahují zadaný text.
Na to, abychom skutečně mohli pracovat se soubory a využívat adresáře,
potřebujeme při prvním zapojení pevného disku do počítače vykonat jeho
rozdělení na logické disky a ty potom naformátovat (viz Formátování).
235
Počítačové systémy
Přednastavený souborový systém pro Windows XP je NTFS, ale je možno
použít i FAT (např. FAT32).
Každý existující soubor anebo adresář reprezentuje v grafickém operačním
systému malý obrázek nazývaný ikona.
Má svoje vlastnosti, které se příležitostně prezentují v různých zobrazeních.
Pokud chceme zobrazit komplexní informace o příslušném objektu, můžeme je
získat prostřednictvím kontextového menu.
V případě použití souborového systému NTFS máme při údajových souborech
(programy a adresáře mají vlastnosti téměř identické) kromě názvu souboru
k dispozici informace o jeho umístění, velikosti, časových údajích (datum a čas
vytvoření, poslední úpravy a případného otevření), údaje o vlastníkovi a
přístupových právech. Navíc můžeme každému souboru určit atributy,
ze kterých potom vyplývá jeho chování vůči uživateli:
- jen na čtení (read-only) – soubor, který má nastavenou tuto vlastnost je
možné si prohlížet, ale pokud se v něm vykonají úpravy, není možno změny
uložit do původního souboru. Atribut mají nastavený obvykle soubory, pro
které není vhodné, aby je běžný uživatel měnil. Soubory i adresáře, které jsou
umístěné na médiích neumožňují ukládání standardním způsobem (CD, DVD),
- skrytý (hidden) určuje, zda je adresář anebo soubor viditelný. Pokud má
nastavený tento atribut, běžný uživatel s vypnutým zobrazováním skrytých
souborů ho v systému neuvidí. Tím se chrání před modifikací a náhodným
vymazáním zejména systémové údaje. V některých operačních systémech
může být tato charakteristika doplněna i dalším atributem – systémový,
- připravený k archivaci (archive) je vedlejší atribut využívaný některými
aplikacemi při zálohování - identifikuje soubory, které se mají zálohovat anebo
které byly zálohované.
Jedna z definic souboru hovoří, že jeho název se skládá ze jména a koncovky,
které jsou odděleny tečkou (např. muj text.txt, muj_list.doc, tabulka.xls apod.) –
název hovoří o obsahu, koncovka o typu souboru (text, obrázek atd.). Systémy
Windows takové zobrazování názvu potlačují a koncovku nahrazují ikonou,
která se určuje podle programu, se kterým je soubor asociovaný (propojený).
Na základě koncovky je souboru přiřazený program, který se při pokusu o jeho
otevření spustí a umožní ho prohlížet anebo upravovat. Asociovaný program se
obvykle také zobrazuje ve vlastnostech souboru.
Připojení koncovky a programu předpokládá registraci příslušné koncovky v systému
a vykonávají ji obvykle instalační programy, pomocí kterých “vkládáme” programy do
systému.
Koncovek, resp. částí názvu oddělených tečkami může být i víc. Pro asociování s programem
slouží poslední, kterou často využívají počítačové viry a červy na svoje zamaskování.
Např. soubor „obrázek.jpg.exe“ má při standardním nastavení systému Windows koncovku
„exe“ skrytou a uživatel vidí z názvu jen „obrázek.jpg“. Koncovka „exe“ reprezentuje
aplikaci, která se po otevření spustí a může vykonat škodlivý kód.
11.4.2 Objekty a nastavení
Pracovní plocha představuje výchozí prostředí pro práci se systémem.
Obsahuje několik základních ikon a podle typu uživatele mnoho anebo žádné
236
Počítačové systémy
ikony souborů a adresářů. Pruh v dolní části, na kterém je umístěné tlačítko
Start, se nazývá panel úloh (někdy hlavní panel).
1 – tlačítko Start
2 – panel úloh
3 – minimalizovaná okna aplikace na panelu úloh
4 – aplikace na panelu úloh se zobrazeným oknem
5 – samotná pracovní plocha s ikonami
Obr. Pracovní plocha ne příliš pořádkumilovného uživatele
Pracovní plocha soustřeďuje (měla by soustřeďovat) objekty, s kterými
pracujeme nejčastěji. Její obsah si vytváří a přizpůsobuje uživatel na základě
svých potřeb a smyslu pro pořádek. Vlastnosti objektů a jejich změnu můžeme
v rámci celého systému realizovat prostřednictvím kontextového menu, které
standardně jako poslední položku obsahuje Vlastnosti. Ikony na pracovní ploše
obvykle reprezentují:
- údajové soubory, ve kterých jsou uloženy údaje. Nejčastěji jde o různé texty,
obrázky anebo jednoduchá data, s kterými uživatel nejčastěji pracuje.
- adresáře, které mohou obsahovat soubory s údaji anebo další adresáře.
Pokud chce mít uživatel na ploše umístěno více údajů, pomohou mu je uklidit a
vytvořit v nich určitou hierarchickou strukturu.
- koš slouží k uchovávání odstraněných souborů. Pokud není nastavený jinak,
soubor (anebo adresář) se při vymazání přemístí do Koše, ve kterém čeká na
jeho vysypání. Takto vymazané soubory, samozřejmě, místo na disku při svém
odstranění neuvolní, změní se jen jejich umístění. Pokud je budeme chtít
později opět používat, můžeme je z Koše jednoduše vytáhnout – obnovit.
V případě, že obsah Koše přesahuje nastavenou diskovou kapacitu (standardně
10%), natrvalo se z něho odstraní nejstarší soubory. Funkce pro vysypání Koše
natrvalo odstraní celý jeho obsah a znepřístupní vymazané soubory různým
slídilům.
237
Počítačové systémy
- Dokumenty představují speciální adresář, který nabízí svůj prostor
automaticky při ukládání nových anebo otvíraní existujících souborů
z nejrůznějších aplikací. Měl by soustřeďovat všechny dokumenty, se kterými
uživatel pracuje. Pokud je v systému definováno více uživatelů, každý z nich
má samostatný adresář a jeho obsah je standardně navzájem neviditelný.
- Tento počítač představuje odrazový můstek, který zprostředkovává přístup k
údajům, které nemáme uložené na pracovní ploše ani v adresáři s dokumenty.
Standardně jde o záznam pevných disků a vyměnitelných zařízení (disketa,
CD, flash-disk), které nám po kliknutí nabízí svůj obsah a dovolí se v něm
pohybovat a přehrabávat. V případě zobrazení informací o počítači (přes
Vlastnosti v kontextovém menu) získáváme údaje o verzi operačního systému,
uživateli a hardwaru počítače.
- programy se na pracovní ploše vyskytují poměrně zřídka, většinou jsou
umístěné v adresáři Program Files v kořenovém adresáři pevného disku. Je
však velmi nepohodlné a zdlouhavé absolvovat vždy kompletní cestu k
programu a hledat v spletité struktuře menu či adresářů, proto Windows kromě
pravých ikon, za kterými se skrývá konkrétní program anebo soubor (když
ikonu vymažeme, vymaže se i soubor, který reprezentuje - běžné vymazání)
umožňuje vytvářet i odkazy. Odkaz (zástupce) představuje jen jakéhosi
ukazatele, který si říká: “Když jsem uživatel klikni, je třeba spustit ten a ten
program, případně otevřít ten a ten soubor, či dokonce ten a ten disk.” Jakmile
vymažeme odkaz, údajům se nic nestane – s jeho ikonou se ztratí jen odkaz
(link) na objekt.
Odkaz od pravé ikony můžeme odlišit dle malé šipky vlevo dole a můžeme ho
vytvořit pro libovolný objekt (program, soubor s údaji, adresář, disk atd.).
Z lehce pochopitelných bezpečnostních důvodů se na pracovní ploše častěji
používají odkazy než samotné pravé ikony.
Obr. Pravá ikona a odkaz
- Místa v síti představují bránu k místům, údajům a hardwarovým zařízením
(např. tiskárny), které jsou umístěné v jiných počítačích připojených
k aktuálnímu prostřednictvím počítačové sítě (viz dále).
- Internet Explorer je program, který umožňuje využívat služby zejména
celosvětové sítě Internet (setkáme se s ním později).
- panel úloh představuje na pracovní ploše jedinou jistou a na první pohled
neměnnou složku. Jeho hlavním prvkem je tlačítko Start, které zobrazuje
hlavní menu systému Windows a dává k dispozici nastavení, programy, funkce
a ostatní objekty operačního systému.
Panel úloh obsahuje i tlačítka spuštěných programů, prostřednictvím kterých je
se možno mezi programy přepínat (přenášet je do popředí). V pravé části jsou
zobrazené hodiny, indikátor klávesnice, hlasitosti a případných dalších
nastavení. Podle nastavení může zobrazovat často používané aplikace v panelu
s nástroji (např. panel pro rychlé spuštění) umístěnými vedle tlačítka Start.
238
Počítačové systémy
Samostatným objektem celého komplexu je i samotná pracovní plocha. Má
svoje vlastnosti a nastavení, které může uživatel v případě potřeby i požadavků
měnit – dokáže uspořádat anebo přidat nové ikony, zobrazit anebo skrýt
některé objekty (vyjmenované výše), změnit pozadí, nastavit šetřič obrazovky
anebo barvy systému. Všechny tyto parametry je možno si prohlížet anebo
měnit prostřednictvím položky Vlastnosti v kontextovém menu pracovní
plochy:
Motivy dovolují nastavit motiv pracovní plochy (a celého systému). Jde
vlastně o nastavení vzhledu oken, ikon, fontů, barev, kurzoru myši atd.
Pracovní plocha dovoluje nastavit vlastnosti pozadí pracovní plochy a určit
ikony, které se na ní budou zobrazovat.
Šetřič obrazovky nastavuje vlastnosti pro šetření obrazovky. Šetřič obrazovky
je program, který se v případě nečinnosti stará o změnu obsahu obrazovky,
anebo (podle autorů Windows) skrývá informace na monitoru v době nečinnosti
před nepovolanými očima. Funkce umožňuje nastavit i dobu nečinnosti, po
kterou mají monitor nebo pevný disk přejít do šetřícího režimu.
Když s monitorem dlouho nepracujete, zůstávají na stejném místě vysvícené stejné tečky a
obrazovka se tím unavuje - vybíjí. Nedávno se stalo, že kolega odešel z práce a zapomněl
vypnout LCD monitor, pro který neměl nastaven žádný šetřič. Ráno se marně pokoušel
o seriozní práci – neustále viděl na monitoru „vypálený“ obraz, který bez změny celou noc
neúměrně zatěžoval jednotlivé body. Naštěstí sehnal software, který LCD krystaly dostatečně
„rozcvičil“ a vrátil monitoru původní parametry.
Nastavení pracovní plochy umožňuje určit rozlišení (rozměry obrazovky),
počet používaných barev a velikost písma celého systému.
Pracovní plocha stejně jako i některé další objekty operačního systému
umožňuje změnit nastavení specifickým způsobem. Sdružujícím místem, na
kterém jsou shromážděna všechna nastavení, které je možno v systému
realizovat je v operačních systémech typu Windows Ovládací panel. Možnosti
nastavení můžeme rozdělit do většího počtu kategorií, což autoři ve verzi XP
také skutečně udělali:
- Vzhled a motivy umožňují měnit parametry obrazovky a pracovní plochy,
nastavit vlastnosti adresářů a manipulovat (přidat/odstranit) v systému s fonty
(podrobněji viz Textový procesor).
- Možnosti data, času a jazykového nastavení představují položku, ve které
nejvýznamnější je možnost definovat pro systém Místní a jazykové nastavení.
Ty určují prostředí, způsob psaní čísel (desetinná tečka, čárka), menu, času,
data a mají vliv na mnohé programy pracující pod Windows.
Důležitou je i možnost přidávání jazyků, které nám poskytnou možnost přidat
do systému další jazyk a k němu přiřadit příslušnou klávesnici. Díky tomu
můžeme bez speciálních doplňků používat znaky typické pro ten který jazyk
(azbuka, zavináč „@“ na anglické klávesnici a znaky s diakritikou na české
klávesnici).
Běžný uživatel disponuje minimálně českou a anglickou klávesnicí, mezi kterými se dokáže
přepínat prostřednictvím indikátoru zobrazeného v pravé části panelu úloh.
239
Počítačové systémy
- Tiskárny a jiný hardware dovoluje přidávat do systému tiskárny, měnit
jejich nastavení a v případě potřeby je ze systému i odstranit. Ve snaze
dosáhnout maximálního výkonu a využít všechny dostupné vlastnosti tiskárny
existuje pro každý typ tiskárny úzce specializovaný ovladač, který
zprostředkovává komunikaci mezi počítačem a tiskárnou. Na to, abychom
dokázali s tiskárnou komunikovat bez chyb a zbytečných problémů, musíme ji
při prvním použití na daném počítači nainstalovat („přidat do systému“).
Mezi další zařízení, kterým můžeme na tomto místě nastavovat parametry
patří: klávesnice, myš, hrací zařízení, modem a telefon, skenery a fotoaparáty.
Nastavení zvukových zařízení má na starosti položka Zvuky, řeč a zvukové
zařízení, která je v ovládacím panelu uvedená samostatně.
Systém při každém spuštění zkontroluje, zda mu náhodou nepřibylo nové
zařízení. Pokud nějaké najde, zobrazí informaci v pravém dolním rohu a pokusí
se ho instalovat. Jakmile instalace dopadne úspěšně, zařízení můžete začít
používat, pokud ne, buď jste vyzvaný na zasunutí média s ovladači, anebo se
zařízení deaktivuje.
Seznam všech instalovaných zařízení máme k dispozici v části Výkon
a údržba. Tato skupina je však určena pokročilejším uživatelům, protože
některé změny mohou mít vážný vliv na činnost počítače jako celku. Umožňuje
manipulovat s instalovanými hardwarovými zařízeními (součástmi počítače),
měnit jim ovladače a konfigurovat systémové služby operačního systému.
Součástí této sekce je možnost naplánovat spuštění prakticky libovolné
aplikace anebo činnosti prostřednictvím části Plánované úlohy. Můžeme ji
využít např. na pravidelné spouštění antivirového programu, programu na
zálohování údajů, anebo dokonce i na vypnutí počítače v plánovaném čase.
Síťové a internetové připojení nastavují chování a kontrolu počítače při práci
se sítí a Internetem (podrobněji viz dále).
Uživatelská konta představují položku typickou pro síťové a víceuživatelské
systémy. Jsou tu k dispozici prostředky na manipulaci s uživateli a jejich účty
(konty). Podle zařazení mezi privilegované nebo hostující, potom může
uživatel pracovat buď s celým počítačem, anebo jen se zpřístupněnými částmi
(adresáři, hardwarovými zařízeními atd.). Do systému se uživatel dostává
prostřednictvím přihlašovacího jména a hesla.
Nejvýše postavenému uživateli (se všemi právy) říkáme správce, administrátor,
superuživatel nebo supervisor. Ten může vytvářet konta novým uživatelům
nebo rušit či měnit parametry existujícím.
Skupina Zjednodušení ovládání obsahuje nastavení umožňující využívat
systém i hendikepovaným uživatelům – dokáže změnit kontrast prostředí,
zvětšit výřez obrazovky, upravit práci s klávesnicí anebo kurzorem myši.
Systém Windows je jen operační systém. Jako takový neobsahuje žádné
profesionální programy, jen několik velmi jednoduchých aplikací. Jestliže
chceme počítač (a tím i systém) naplno využívat, potřebujeme do něho vložit
další aplikace.
Zkopírování programu, jeho přenesení do jiného počítače a bezproblémové
spuštění je sice v některých operačních systémech přirozenou záležitostí,
Windows však k nim nepatří. Do tohoto operačního systému je nutné většinu
programů instalovat. Instalaci realizuje potřebné nastavení programu podle
240
Počítačové systémy
nastavení operačního systému (případně nastaví operační systém podle
požadavků instalovaného programu), zapíše je do speciálních souborů
označovaných jako registry, upraví menu tlačítka Start a případně si vyžádá
restart počítače. Celý tento proces se realizuje automaticky po vložení CD,
případně spuštěním programu často nazývaného setup anebo install.
Položka ovládacího panelu Přidání anebo odstranění programů má na
starosti zprávu nainstalovaných programů a je součástí Windows. Dáva
k dispozici jejich seznam a frekvenci používání, případně možnost jejich
odinstalování (některé programy pro tento účel po své instalaci přidají
samostanou položku do menu tlačítko Start). Funkce přidání programu
prostřednictvím této položky je už spíše přežitkem než praktickým řešením.
11.4.3 Nejpoužívanější systémové nástroje
Defragmentace
Údaje jsou na disku uloženy v souborech, přičemž při jejich ukládání dochází
k jevu označovanému jako fragmentace. Vzniká zejména v důsledku mazání
souborů, které po sobě zanechávají volné klastry. Ty se systém snaží později
využívat a zaplnit údaji nově vznikajících souborů. Protože nové soubory
obvykle nemají stejnou velikost jako odstraněné a nezaplní uvolněné místo
přesně, systém je nucen rozdělit je na více částí a uložit na různých místech
paměťového média.
Obr. Fragmentovaný soubor
Fragmentace nepříznivě ovlivňuje jak rychlost zápisu a čtení údajů, tak i
celkovou kapacitu, která při vyšším stupni fragmentace při stejném množství
údajů klesá. Fragmentaci není možné zabránit, je však vhodné minimalizovat ji
používáním aplikací vykonávajících defragmentaci, která spočívá
v přesouvání jednotlivých částí souborů tak, aby byly uloženy v za sebou
jdoucích klastrech. V systému Windows je k dispozici v podobě nástroje, který
nejprve analyzuje obsah disku a až potom na základě výsledku nabídne
možnost „uklizení“.
ScanDisk
ScanDisk je nástroj určený na kontrolu obsahu a povrchu disku. Jestliže
vypneme počítač nekorektním způsobem (například vypínačem), může se stát,
že některé soubory zůstanou neukončené (začalo se do nich ukládat, ale
241
Počítačové systémy
neobsahují značku konce souboru). Ty potom sice na disku existují, ale
nemůžeme se k nim dostat, protože systém je nezobrazuje, případně jim
přisoudí nesprávnou velikost.
Z takových údajů dokáže ScanDisk vytvořit soubory obsahující část, která se
stihla uložit, anebo neúplné údaje vymazat. V případě požadavku je schopný
zkontrolovat i spolehlivost magnetické vrstvy. Přechází postupně po celém
povrchu pevného disku anebo jiného paměťového zařízení, a když najde část,
ze které není možno číst, pokusí se ji obnovit. Když to nevyjde, označí ji jako
špatnou (bad), aby se předešlo ukládání údajů na poškozená místa. ScanDisk je
možno spustit manuálně, nebo se spustí automaticky při startu počítače, pokud
usoudí, že je to potřebné.
Zálohování
Operační systémy standardně disponují nástroji na zálohování. Jejich
opodstatněnost dokáže posoudit až ten uživatel, který např. při hardwarové
chybě přijde o jedinečné a nikde jinde uložené údaje. Windows disponuje
nástrojem umožňujícím zálohování celých disků nebo jen vybraných adresářů
či souborů. Ukládat můžeme vždy kompletní obsah anebo jen soubory, které se
od posledního zálohování změnily. Možno je ukládat na disketu, disk,
páskovou jednotku anebo jiný připojený počítač. Stejně tak je vhodné
zabezpečit spuštění funkce zálohování pravidelně.
Windows Update
Windows Update je služba tvůrců (a prodejců) systému uživatelům. Umožňuje
aktualizovat systém tak, aby se odstranily chyby, které v něm byly zjištěny
během provozu. Většinu z nich běžný uživatel nemá šanci odhalit ani
zpozorovat, mohou se však stát dírou, přes kterou do systému pronikne
potenciální útočník anebo vir (podrobněji v kapitole Počítačové sítě). Pokud je
počítač permanentně připojený k Internetu, doporučujeme z bezpečnostních
důvodů tuto službu nastavit a aktivovat.
11.5 Aplikační software
Z předcházejících kapitol víme, že počítače ovládáme a využíváme díky
softwaru. Pojem aplikační software představuje programové vybavení
počítače, které je určené pro přímou a interaktivní komunikaci s uživatelem.
Jeho účelem je zpracování a řešení konkrétní skupiny problémů uživatele.
Standardně má na komunikaci určené grafické (někdy textové) rozhraní.
Aplikační software je vždy zaměřený na komunikaci s uživatelem, zatímco
všeobecný pojem software v sobě obsahuje i jiné typy programového vybavení,
např. software pro vstřikování paliva v automobilech, software telefonní
ústředny anebo měření rychlosti či sledování dodržování dopravních předpisů
na křižovatkách.
V současnosti existuje obrovské množství softwaru spadajícího do této
kategorie a není možné se to nenaučit, ale ani se setkat s každým. Naštěstí,
nikdo a nic od nás nevyžaduje ovládat všechny aplikace. Jejich funkce, vzhled i
ovládání jsou obvykle velmi podobné a důležité je zejména pochopení
principu, výhod a možností využití. Naučit se ovládat např. nový textový
242
Počítačové systémy
editor, pokud už nějaký známe, je otázkou hodiny, naučit se pracovat
v grafickém editoru, když jsme už pomocí počítače kreslili, také není časový
problém – vždy jde jen o hledání drobných rozdílů, nových funkcí
a přizpůsobení se novému prostředí.
11.5.1 Rozdělení aplikačního softwaru
Dělit aplikační software je možno na základě více kritérií, pro nás jako hlavní
kritérium postačí dělení na základě oblastí použití:
- kancelářský software představuje skupinu aplikací používaných
na administrativní a kancelářské účely. Nejčastějšími představiteli jsou:
- textové editory sloužící na práci s textem, psaní a tisk dokumentů,
- tabulkové kalkulátory určené na práci v tabulkách orientovanou na
výpočty anebo evidování a zpracování menšího množství údajů,
- databázové systémy určené na práci s rozsáhlými údaji, na vytváření
tiskových výstupů a definování přístupových práv k údajům,
- prezentační programy můžeme chápat také jako součást kancelářských
balíků, ale v širším pojímání představují samostatnou kategorií využívající
grafické prvky, silu webového prostředí a případně i interaktivitu a multimedia,
- grafické editory slouží na práci s obrázky ve vektorovém anebo rastrovém
formátu,
- aplikace na tvorbu webových stránek poskytují nástroje na vytváření
webových prezentací, ve kterých kombinují funkce prezentačních, grafických
a textových editorů s prvky interaktivity.
Tyto kategorie mají v praxi velmi univerzální nasazení, není možno blíže
specifikovat oblasti, ve kterých se využívají (a jejich vyměňováním bychom
ztratili mnoho času). Kromě nich však existují i specializované typy aplikací,
které se nasazují při řešení konkrétních úloh:
- informační systémy – představují rozsáhlou kategorii systémů určených na
zpracování údajů, které se od databázových systémů liší tím, že neposkytují
množství univerzálních funkcí, ale omezují se na funkce typické pro oblast
svého nasazení,
- počítačová podpora výroby spočívá ve využívání aplikací na modelování
objektů či produktů a vytváření konstrukční dokumentace – návrhy se nekreslí
na papír, ale do počítače, kde na základě dvojrozměrných schémat dokážou
vytvořit prostorový model,
- vývojové nástroje jsou určeny na vytváření programů a aplikací pro
nejrůznější prostředí a nejrůznější kategorie problémů,
- výukové a vzdělávací programy jsou zaměřené na zvyšování efektivnosti
vyučovacího procesu nejrůznějšími způsoby,
- počítačové hry není třeba asi nikomu představovat. Navzdory tomu, že jsou
na okraji našeho zájmu, představují jednu z nejprogresivnějších oblastí
aplikačního softwaru,
- multimediální programy určené na zábavu v sobě zahrnují kromě
přehrávačů videa a zvuku i profesionální aplikace sloužící na zpracování
multimediálního obsahu,
- podpůrné aplikace představují úzce specializované anebo jednoúčelové
programy pro pravidelné anebo mimořádné používání (správcové souborů,
243
Počítačové systémy
poštovní programy, internetové prohlížeče, antivirové programy, různé utility
apod.).
11.5.2 Kancelářské balíky
Kancelářské programy představují skupinu aplikací určených pro každodenní
používání v kancelářích, škole, ale i v moderní domácnosti. Základní výbavu
takového balíku tvoří textový a tabulkový procesor, případně databázový
systém či grafický editor. V současnosti je na skupinu uživatelů pracujících
s kancelářským softwarem zaměřených více výrobců, přičemž některé balíky
jsou šířeny komerčně, jiné zdarma nebo za symbolický poplatek. V některých
případech jsou pro každý typ úloh k dispozici samostatné programy, jinde jsou
všechny funkce integrovány do jednoho prostředí. Mezi nejznámější
kancelářské balíky patří:
- Microsoft Office, který je v našich podmínkách zatím nejrozšířenější. Je to
komerční produkt firmy Microsoft obsahující standardně textový editor Word,
tabulkový procesor Excel, prezentační PowerPoint a emailového klienta
Outlook. V rozšířených verzích je k dispozici databázový systém Access,
nástroj na tvorbu webových stránek FrontPage případně některé další méně
používané součásti. Odlehčenou verzí MS Office je Microsoft Works, který je
určen pro nenáročné uživatele nevyžadují přepracované funkce komerčního
řešení za symbolickou cenu,
- Open Office představuje volně šiřitelný software skládající se z textového
procesoru Writer, tabulkového kalkulátoru Calc, grafického editoru Draw,
prezentačního nástroje Impress, databázového uživatelského rozhraní a editoru
na tvorbu webových stránek. Balík je multiplatformní, existují verze pracující
v systému Windows, Unix i Mac OS a disponuje i slovenskou lokalizací,
- Open Office byl vytvořen na jádru kancelářského balíku Star Office, který
vyvinula firma Sun Microsystems jako konkurenční nástroj proti Microsoft
Office, který je stále dostupný v komerčních verzích a oproti Open Office
obsahuje několik rozšíření chráněných autorskými právy,
- 602Office je produktem české firmy Software602 a i když byl původně
vyvíjený jako samostatný produkt postavený na vlastním jádře, v aktuální verzi
využívá Open Office,
- Lotus Smart Suite je balík patřící v současnosti IBM, se kterým se v našich
končinách pravděpodobně nesetkáte, ale v anglicky mluvících zemích se
používá,
- KOffice a GnomeOffice jsou balíky linuxových prostředí opět s komplexní
nabídkou aplikací.
11.5.2.1
Textový editor
Textový editor slouží na zpracování textu. Textových editorů existuje obrovské
množství. Patří mezi ně např. Poznámkový blok z Windows, editor používaný
v prostředí programovacího jazyka na psaní zdrojového kódu, editor sloužící
na nahlížení do obsahu textu v souborovém manažéru apod. Textové editory
umožňují manipulovat s textem na úrovni opravování, mazání, přepisování,
kopírování, hledání a nahrazování textu, ukládání a otvírání souborů.
244
Počítačové systémy
Nahlédněme trochu do historie: první textové editory sloužily na komunikaci mezi počítačem
a uživatelem. Uživatel – v tom čase zpravidla programátor – napsal příkazy, které počítač
vykonal a případně mu textovou zprávou i odpověděl. Obvykle byly příkazy psané anglicky
a na nějaké zvláštní úpravě vůbec nezáleželo, až do doby než programátor začal psát dopis své
nastávající. Tehdy se pro něho úprava stala jedním z nejdůležitějších cílů – zarovnával text,
doplňoval hvězdičky, při důležitých slovech vynechával mezery mezi písmeny, používal velká
a malá písmena atd. Nevýhodou prvních textových editorů byla neschopnost psát a zobrazovat
znaky s diakritikou (délkami a háčky). Postupně se však lokalizovaly (přizpůsobily se zemi, v
které se používaly) a kromě diakritiky začaly nabízet mnohé další doplňky.
Pokud textový editor dokáže manipulovat kromě textu i s tabulkami, obrázky
anebo disponuje pokročilými funkcemi jako např. automatické vytváření
obsahu, či kontrola pravopisu, nehovoříme už o editoru, ale o textovém
procesoru.
Pro textové procesory vytvářené v současnosti je vzorem MS Word, proto se, i
když naše další kroky budou orientované všeobecně, nevyhneme některým
specializovaným funkcím, či názvosloví, které používá.
11.5.2.1.1 Funkce textového procesoru
Navzdory rozšířenosti a častému používání textového procesoru se často stává,
že uživatelé neznají všechny možnosti, které poskytuje a využívají ho jen jako
lepší psací stroj na:
- opravu chyb a překlepů, doplnění a vymazání slov přímo v počítači,
- uložení textu pro pozdější úpravy,
- kombinování textu z většího počtu už existujících souborů,
- možnost tisknout libovolný počet kopií ve stejné kvalitě s možností vybrat jen
některé stránky.
11.5.2.1.2 Základní práce s textem
Na psaní textu žádné speciální vědomosti není třeba. Stačí používat klávesnici
a všímat si znaků napsaných na klávesách. Nezkušeným začátečníkům jde
psaní zpočátku pomalu, ale se zkušenostmi se jejich tempo zvyšuje až napíšou
3-4 strany za hodinu.
Častým problémem je odnaučit je stlačování klávesy Enter při přechodu do
nového řádku, který většina textových editorů realizuje automaticky při
dosažení pravého okraje stránky.
Napsaný text můžeme zarovnat do středu řádku, podle levého anebo pravého
případně obou okrajů. Oboustranné zarovnání se dosahuje dělením
a/anebo nepatrným zvětšením mezer mezi slovy.
Důležitými funkcemi při psaní jednoduchého textu je možnost nastavení
řádkování, vzdálenost mezi odstavci, odsazení prvního řádku odstavce
a automatické číslování v případě číslovaných seznamů.
11.5.2.1.3 Operace s blokem
Časté jsou změny velikosti, řezu, typu (fontu), barvy anebo dalších vlastností v
už napsaném textu. Pokud změníme nastavení a píšeme od místa, na kterém byl
245
Počítačové systémy
při změně nastavený kurzor, změněné vlastnosti se projeví okamžitě. Jakmile
však po změně přesuneme kurzor na jiné místo v textu, nastaví se parametry
písma podle písma na aktuální pozici. V případě, že chceme měnit vlastnosti už
napsaného textu, musíme nejprve část, kterou chceme změnit, označit. Výběr,
kterému říkáme blok, se od ostatního textu obvykle liší inverzním zabarvením.
Všechny další operace mají potom vliv jen na označený text.
Blok můžeme zkopírovat (vytvořit ještě jednu stejnou kopii), přesunout
(změnit jeho polohu vzhledem k ostatnímu textu), anebo vymazat. Tyto
operace můžeme vykonávat buď pomocí funkcí v menu, kombinacemi kláves
nebo pomocí myši. Kopírovat a přesouvat můžeme nejen v textu jednoho
souboru, ale i mezi dvěma různými– textové procesory umožňují otevřít
současně více souborů, přepínat a přenášet text mezi nimi.
11.5.2.1.4 Jazykové nástroje
Textové procesory obsahují v sobě slovníky jazyků, ve kterých jsou evidovaná
všechna běžná slova (v našich podmínkách obvykle z češtiny, němčiny
a angličtiny). Používají je na kontrolu pravopisu tak, že obsah slovníku
porovnávají s právě psaným textem. Pokud slovo ve slovníku nenajdou,
podtrhnou ho, aby pisatele upozornili, že něco není v pořádku. Pokud je
podtržené slovo správné, můžeme ho do slovníku přidat (od té chvíle se nebude
podtrhovat), v případě chybného slova ho opravíme ručně nebo na základě
nabídky slovníku.
To, že slova nejsou podtržena, ještě neznamená, že jsou napsaná správně. Např. „vír uletěl“
obsahuje chybu a slovník ho nepodtrhne, protože slovo „vír“ v češtině existuje. Znamená sice
vodní vír a ne sovu, ale textový procesor kontroluje jen slova, ne kontext.
V případě anglického textu dokážou textové editory do určité úrovně kontrolovat i gramatiku
(slovosled, předložky apod.).
Praktickým nástrojem je také nabídka synonym, která obvykle pomáhá
rozrušeným pisatelům, kteří si nemohou vzpomenout na vhodné slovo
se stejným významem.
11.5.2.1.5 Vkládání objektů
Každý textový procesor umožňuje kombinovat text s tabulkami, obrázky anebo
jinými speciálními objekty.
Tabulky slouží nejčastěji na evidenci jednoduchých seznamů, z čeho vyplývá
požadavek na možnost uspořádání údajů, podbarvení a slučování buněk.
Užitečné jsou i základní matematické funkce povolující výpočty ze zadaných
číselných hodnot.
Obrázky obvykle vylepšují vzhled dokumentu, ale mohou mít i důležitý
informační charakter. MS Word disponuje i speciálními objekty (automatické
tvary) pomocí kterých dovoluje kreslit vlastní obrázky. Vložený obrázek je
možno měnit velikostně, ořezávat, přenášet za text, otáčet, anebo pokud je
vytvořen v podporovaném formátu upravovat.
246
Počítačové systémy
Word navíc disponuje objektem WordArt, který dovoluje aplikovat na text
různé efekty (prostorový text, uspořádání do oblouku, plynulé zmenšování
anebo zvětšování apod.) a objektem Equation sloužícím na psaní
matematických, fyzikálních, chemických a technických vzorců.
Všechny „cizí“ objekty je možné kombinovat s existujícím textem, který je
dokáže obtékat více způsoby.
11.5.2.1.6 Šablony a styly
Běžná práce s textovým procesorem spočívá v častém vytváření dokumentů,
které se navzájem velmi podobají (potvrzení o návštěvě školy, povolení
prodeje na veřejném prostranství apod.). Aby uživatel nemusel vždy vytvářet
celý dokument znovu od začátku a nehrozilo mu, že při otevření existujícího
a jeho úpravách přepíše starý text, disponují textové procesory šablonami.
Šablonu si můžeme představit jako předpřipravený dokument, do kterého se
po otevření doplní potřebné údaje, vytiskne se, anebo uloží pro další použití.
Používání šablon je žádoucí tehdy, když chceme ušetřit čas, nebo dosáhnout
stejného vzhledu např. pro všechny dokumenty opouštějící jednu instituci.
Styly jsou založené na podobném principu, není však předpřipravený celý
dokument, ale jen vlastnosti pro text. Tyto vlastnosti potom můžeme jedním
kliknutím aplikovat např. na celý odstavec. Používání stylů zabezpečí jednotný
vzhled rozsáhlých dokumentů a umožní v nich vykonávat hromadné změny.
Pokud máte napsaný např. stostránkový dokument s 50 nadpisy, určitě vás
potěší, že nato, abyste všechny změnili podle nových požadavků, postačí
změnit vlastnosti stylů na jediném místě.
11.5.2.1.7 Práce s rozsáhlými dokumenty
V případě vícestránkových dokumentů je nevyhnutelnou funkcí číslování
stran a užitečnou funkcí možnost nastavení hlavičky a paty strany pro celý
dokument nebo jen jeho kapitoly.
Díky používání stylů (styly pro nadpis) můžeme v dokumentech automaticky
vytvářet obsah, seznam obrázků, případně registr.
Dalším požadavkem je možnost měnit velikost a orientaci strany, tj. tisknout
nejen na klasickou A4 na výšku, ale moci ji také otočit, změnit rozměry, okraje
atd.
11.5.2.1.8 Hromadná korespondence
Funkce hromadné korespondence dovoluje velmi rychle vytvořit sérii
dokumentů, které se odlišují jen v maličkostech (např. adresa příjemců,
oslovení). Běžně bychom dokumenty vytvářeli kopírováním a úpravou údajů,
případně bychom vypisovali množství dokumentů založených na jedné
šabloně.
Hromadná korespondence zredukuje proces vytváření dokumentů na dva:
- první dokument představuje univerzální „šablona” (označuje se jako
formulářový, resp. hlavní dokument) a skládá se z obsahu společného pro celou
sérii,
247
Počítačové systémy
- druhý obsahuje seznam (databázi) s odlišnými údaji (např. adresy).
Celá naše činnost spočívá v návrhu hlavního dokumentu, do kterého
připravíme univerzální text a určíme místa, na které se mají vložit údaje z
databáze.
Obr. Formulářový list s místem pro údaje z databáze
Po zkombinování je možno výsledek tisknout, anebo obě části sloučit do
jednoho souboru, který bude obsahovat text hlavního dokumentu s konkrétními
údaji (např. adresou) pro každou položku databáze.
11.5.2.1.9 Podpora tvorby webových stránek
Na webových stránkách se často setkáváme s odkazy, které nás po kliknutí
přenesou na jiné místo té jisté stránky. Velmi podobně vypadá filozofie
různých elektronických knih či manuálů. Textový procesor poskytuje možnost
zrychleného pohybu po dokumentu prostřednictvím záložek a hypertextových
odkazů.
Hypertextový odkaz nám dovolí odkazovat se nejen na záložky v rámci
dokumentu, ale na libovolné místo v počítači, lokální síti nebo síti Internet.
Pokud dokument obsahující hypertext uložíme ve formátu html, máme
okamžitě k dispozici pravou a nefalšovanou www stránku bez nutnosti jejího
vytváření ve specializovaném programu.
11.5.2.1.10 Makra
Makro je postupnost příkazů, které můžeme vykonat jediným kliknutím či
klávesovou zkratkou. Vytváření může probíhat dvěma způsoby:
- textový procesor zaznamená operace, které uživatel vykonává a uloží si je
v podobě příkazů textového procesoru.
- postupnost příkazů naprogramujeme v jazyce aplikace. V případě Wordu je
jazykem Visual Basic for Application.
Vytvořenou postupnost potom můžeme přiřadit ikoně, položce v menu nebo
kombinaci kláves.
Použitý programovací jazyk umožňuje naprogramovat i nebezpečné operace, proto buďte při
spouštění maker z neznámých zdrojů nanejvýš opatrní.
11.5.2.1.11 DTP
Většina textových procesorů slouží i na zpracování textu ve smyslu grafickém,
při kterém je důležitý nejen obsah, ale i vzhled dokumentu. Aplikacím, pomocí
kterých je možné kombinovat text, obrázky, tabulky a další objekty říkáme
aplikace DTP (DeskTop Publishing).
V těchto programech vzniká konečná podoba všech novin, knih a časopisů,
které dnes vycházejí. Nejsou to textové procesory v pravém slova smyslu –
jejich hlavní náplní není text napsat, ale upravit ho a umístit na stranu časopisu
či knihy.
248
Počítačové systémy
11.5.2.1.12 Wysiwyg
Důležitým pojmem v oblasti textových procesorů a DTP je pojem Wysiwyg
(What You See Is What You Get - co vidíš, to dostaneš), který popisuje
vlastnost, kdy výstup na tiskárnu (příp. webové stránku) bude odpovídat
výstupu, který uživatel vidí na obrazovce při tvorbě dokumentu – velikost
textu, rozložení obrázků, tabulek apod.
11.5.2.2
Tabulkový procesor
Tabulkové procesory (kalkulátory) jsou programy určené na zpracování
číselných údajů, tabulek, grafů a matematických výpočtů. Tabulkový procesor
využijeme tehdy, když nepotřebujeme údaje prezentovat jako součást textu, ale
chceme je přehledně uspořádat do tabulek, realizovat nad nimi výpočty,
případně je zobrazit prostřednictvím grafu.
V případě, že evidované údaje zpracováváme prostřednictvím výpočtů,
zabezpečí tabulkový procesor okamžitý přepočet při změně libovolné z hodnot,
na kterých závisí výsledek.
11.5.2.2.1 Základní pojmy
Tabulkový procesor nabízí pro práci s údaji archy, na kterých můžeme
vytvářet tabulky (případně celý arch může být jednou velkou tabulkou).
V tabulkovém procesoru MS Excel se arch skládá z 256 sloupců a 65 535
řádků. Pokud nám toto množství nestačí, můžeme v rámci jednoho souboru,
který nazýváme sešit, používat až 256 archů.
Nejmenší jednotkou archu je buňka, která představuje jedno políčko a je
jednoznačně daná svojí adresou skládající se z názvu sloupce a řádku,
ve kterém se nachází (např. A7, H42 apod.). Díky adrese se dokážeme na
hodnotu buňky odvolávat ve výpočtech.
Každá buňka může obsahovat číslo, text nebo datum, případně další typy
hodnot. Údaj, který je v buňce zobrazený, však nemusí být údajem, který
buňka obsahuje. Kromě konkrétních hodnot totiž můžeme do buňky vložit i
výpočet, který má v MS Excelu příznačné pojmenování – vzorec. Na základě
vzorce se v buňce zobrazí vypočítaná hodnota a na první pohled není zřejmé,
že byla získaná výpočtem.
Informaci o skutečném obsahu aktuální buňky nám poskytuje řádek vzorců
anebo buňka, pokud se pokusíme o úpravu jejího obsahu.
11.5.2.2.2 Základní operace v tabulce
Základní a zřejmě nejčastější používanou operací v tabulce je úprava vzhledu.
Tabulkové kalkulátory umožňují manipulovat se vzhledem (font, barvy
a orámování buněk tabulky) i s formátem údajů – můžeme nastavit počet
desetinných míst, formát menu či vzhled data.
Výpočty v tabulce je možno realizovat prostřednictvím standardních
matematických operací (+, -, *, / apod.), anebo využívat vestavené funkce,
249
Počítačové systémy
kterých je k dispozici několik stovek. Funkce můžeme prakticky libovolně
kombinovat a/anebo vnořovat do sebe.
V případě opakování hodnoty či funkce, např. v řádcích pod sebou nebo vedle
sebe je možné používat automatické vyplnění, které velmi jednoduchým
způsobem vyplní označenou oblast.
Automatické vyplnění využívá pro svoji činnost relativní adresování, díky
kterému se automaticky vyplněné výpočty chovají tak, jak se chovaly výpočty
ve vzoru, tj. když výpočet a v něm použité buňky byly v jednom řádku, budou i
automaticky vyplněné výpočty používat buňky nacházející se ve stejném řádku
jako výpočet.
Takovéto chování systému je většinou vyhovující, existují však situace, kdy
potřebujeme, aby se při automatickém výpočtu odkaz na buňky neměnil –
tehdy hovoříme o absolutním adresování a Excel ho zabezpečí pro adresy
doplněné znakem $.
K zajímavým funkcím patří ty, které určují výstup na základě splnění nebo
nesplnění podmínky. Umožňují to jednak funkce určené pro výpočty (do
výpočtu zahrne jen hodnoty splňující zadanou podmínku anebo zobrazí
výsledek na základě splnění podmínky) a jednak podmíněné formátování,
prostřednictvím kterého dokáže tabulkový procesor nastavit vzhled buňkám
splňujícím zadané podmínky.
11.5.2.2.3 Grafy
Silnou zbraní tabulkových procesorů jsou grafy, které umožňují údaje
v tabulkách vizualizovat a zobrazit je prostřednictvím grafu. Na to, aby údaje
poskytly co nejvypovídavější informace, je potřeba správně určit pro danou
situaci typ grafu. Výběr závisí vždy na adresátovi a účelu, na který se graf
vytváří. Často je vytvoření různých typů grafů pro ten daný problém vhodné,
avšak každý z nich klade do popředí jiný aspekt sledování tabulkových hodnot.
Nejčastěji se používají následující typy:
- sloupcový graf je určený pro zobrazení údajů tehdy, když chceme zobrazit
jejich skutečné (absolutní) hodnoty a porovnat je na základě výšky sloupců,
- čárový graf vyjadřuje průběh a růst, anebo pokles hodnot sledovaných
veličin. Je vhodný na zobrazení jejich vývoje v časových intervalech,
- koláčový graf zachycuje poměr zobrazených částí k celku. Obvykle jde
o rozdělení celku (100 %) mezi tabulkové hodnoty tak, aby se zachoval jejich
vzájemný poměr.
11.5.2.2.4 Práce s rozsáhlými údaji
Jak jsme už výše vzpomněli, tabulkový procesor můžeme využívat nejen na
vytváření tabulek s výpočty, ale i jako nástroj na evidenci údajů. Základním
požadavkem na tabulky je třídění a užitečnou funkcí je filtrování, které
umožňuje vybrat údaje splňující podmínku a ostatní ponechat skryté.
250
Počítačové systémy
Na možnosti filtrování navazují funkce schopné v zobrazených údajích
realizovat základní výpočty (součet, průměr, maximální a minimální hodnota
apod.), které se při změně výběru automaticky přepočítávají.
V rozsáhlých tabulkách často nejsou důležité konkrétní položky seznamu, ale
spíše pohledy na údaje jako celek. Ten poskytují souhrny, které dokážou
z údajů vytvořit skupiny na základě zadaného kritéria a pro každou skupinu
realizovat zadaný výpočet (početnost prvků ve skupině, průměr, součet hodnot
apod.) samostatně.
Ještě silnější a univerzálnější nástroj poskytuje kontingenční tabulka, která
umožňuje organizovat, sledovat a sumarizovat evidované údaje, či odhalovat
vztahy mezi jejich charakteristikami.
11.5.2.2.5 Aplikované funkce
Samostatnou kategorií tabulkových procesorů tvoří ekonomické a statistické
funkce, které rozšiřují možnosti jeho používání i do těchto oblastí.
Zajímavým nástrojem je i hledání řešení, prostřednictvím kterého dokážeme
při zadaných podmínkách najít vstupní hodnoty, ze kterých je možno získat
daný výsledek.
11.5.2.3
Databázové systémy
Databázový systém je systém určený na evidování a zpracování údajů. Práce s
databázovým systémem není složitá. Běžné operace (zpracování údajů) je
možno shrnout do několika oblastí:
- vkládání údajů a prohlížení databáze,
- úpravy (např. mazání, přepisování),
- třídění – uspořádání podle abecedy, podle číselných hodnot apod.,
- výběr, prohledávání (filtrování údajů splňující zadanou podmínku),
- matematické a statistické operace (součty, průměry apod.),
- tvorba a používání výstupů (tiskárna, monitor, web),
- tvorba a používání maker sloužících na automatické vykonání více operací.
Při práci s databázemi nezáleží na tom, s jakým systémem pracujeme, jde jen o
to, abychom měli přístup k údajům. Nejdůležitější jsou pro nás informace, ne
způsob (program - databázový systém), jakým se k nim dostaneme.
Existuje mnoho databázových systémů, které jsou schopny vykonávat všechny
popsané operace. Mezi nejznámější a nejpoužívanější patří v pořadí podle
věku: dBase, FoxPro, Paradox, Oracle, Interbase, MS SQL, My SQL a v
současnosti také MS Access, který se díky propojení na MS Office dostává do
popředí tam, kde se hojně využívají ostatní programy tohoto kancelářského
balíku.
V běžné praxi se s databázovým systémem v jeho původní – základní podobě setkáme jen
zřídka. V každém ze vzpomínaných systémů totiž můžeme vytvářet i aplikace, které jsou
přizpůsobené konkrétním oblastem použití. Ulehčují a zrychlují práci, skrývají nepodstatné
funkce, dávají k dispozici jen operace, které ta-která oblast využití potřebuje.
251
Počítačové systémy
Databázový systém před tabulkovým procesorem schopným realizovat
prakticky všechny popsané operace upřednostníme tehdy, když:
- rozsah údajů je velký,
- požadujeme nástroje, které prostřednictvím jednoho příkazu dokážou
aktualizovat celé seznamy,
- potřebujeme čerpat a spojovat údaje z více seznamů,
- potřebujeme, aby s údaji mohlo současně pracovat více uživatelů, kterým
jsme schopni určit oprávnění na přístup k jednotlivým objektům,
- v případě poruchy vyžadujeme nástroje, které dokážou údaje „opravit“.
Existuje několik typů databázových systémů (hierarchické, síťové, relační,
postrelační, resp. objektové), ale nejčastějším typem jsou v současnosti
databázové systémy relační, pro které platí i všechny následující řádky.
11.5.2.3.1 Základní pojmy
Základním pojmem databázových systémů je pojem databáze, který můžeme
v zúženém smyslu přeložit jako tabulku – seznam, ve kterém jsou údaje
uloženy v sloupcích a uspořádané podle zvoleného kritéria. V širším smyslu
pojem databáze zahrnuje nejen tabulku, ale i celou řadu dalších objektů,
obrazovkových a tiskových sestav, nastavení a výběrů.
Nejdůležitějším prvkem v databázových systémech jsou údaje, ze kterých
získáváme informace. Údaje jsou uložené v tabulkách skládajících se z polí
(sloupců) a záznamů (řádků). Každé pole musí mít definovaný údajový typ
(číslo, text, datum), na základě kterého se pro něj rezervuje potřebný počet
bytů v souboru.
Databázové systémy mohou pracovat lokálně, na jednom počítači, ale mnohem
častěji se setkáváme se sdílením údajů mezi větším počtem uživatelů. Tito
uživatelé mohou přistupovat k údajům i prostřednictvím prostředků operačního
systému (souborové databáze), ale přicházejí tak o výhody architektury klientserver.
Jádro této architektury tvoří speciální program – SQL server, který spravuje
databázi a na požádání poskytuje klientům údaje, nebo vykonává příkazy
formulované v jazyce SQL (Structured Query Language). Výhodou SQL
serveru je:
- optimalizace činnosti na databázové operace,
- minimalizace množství přenášaných údajů (server vybere údaje na základě
požadavků klienta u sebe a pošle klientovi jen to, o co žádal),
- možnost poskytovat údaje libovolnému typu aplikace, která o ni požádá
(nerozlišuje, zda jde o desktopovou aplikaci anebo webovou stránku)
- možnost sdílení a řízení přístupu k údajům přímo prostřednictvím nástrojů
SQL serveru.
11.5.2.4
Prezentace a prezentační software
Informace, kterými disponujeme, velmi často poskytujeme dalším uživatelům,
zda už za účelem prohloubení jejich vědomostí, informování o nových
skutečnostech anebo jednoduše proto, abychom je přesvědčili, že zboží, které
nabízíme potřebují a je pro ně to nejvhodnější. Způsobů, jakým to můžeme
252
Počítačové systémy
udělat je mnoho, pokud máme k dispozici prostředky informačních technologií
je nejefektivnějším řešením prezentace. Prezentaci můžeme rozdělit na:
- vedené, kde prezentace představuje vystoupení před publikem, při kterém
řečník jak pro lepší, efektivnější a názornější předávání informací, tak i pro
vlastní oporu používá podpůrné materiály, které si pro svoje vystoupení
připravil. Kromě osnovy prezentace obsahuje i informace, které by přednášející
jen těžko dokázal opsat (obrázky, grafy apod.),
- automatické se využívají na místech, kde není potřebná komunikace mezi
přednášejícím a posluchači. Obvykle takováto prezentace běží neustále,
přičemž po skončení začíná zase odznovu – důležité je věnovat dostatečnou
pozornost preciznímu zpracování snímků (obsah, časování apod.). Můžeme se
s nimi setkat při prezentaci zboží na výstavách i v některých obchodních
domech,
- interaktivní disponují oproti automatickým prezentacím prvky umožňujícími
uživateli ovlivnit její běh (zda už v podobě hypertextových odkazů anebo
tlačítek). Nejčastěji se vyskytují na prezentačních CD či webových stránkách
firem.
Pokud se na prezentační programy umožňující vytvoření a prezentování
informací pohlížíme jako na součást kancelářských balíků, můžeme sem
zahrnout konkrétní aplikace z kancelářských balíků, např. PowerPoint
z Microsoft Office anebo Impress z balíku Open Office, případně i Adobe
Reader určený na prohlížení souborů formátu pdf.
V širším pojímání je možno do softwaru podporujícího tvorbu a prohlížení
prezentací zahrnout i nástroje umožňující vytvářet a prezentovat webové
stránky, grafiku, animace a s „přitaženými vlasy“ i video či audio.
11.5.2.4.1 Nástroje na tvorbu prezentace
Základním pojmem prezentačního softwaru je snímek. Může obsahovat text,
obrázky, animace, tabulky, grafy a hypertextové odkazy. Objekty jsou
umístěny na měnitelném pozadí, jehož cílem je dát prezentaci vzhled
vystihující účel, na který byla připravená. Kromě grafických objektů umožňuje
prezentace přehrávání zvuku během celého svého běhu (na pozadí) nebo
doplnění každého snímku samostatným komentářem, který se dokáže
automaticky spustit po jeho otevření.
Snímky tvoří posloupnost obrazovek, které se standardně promítají
v postupnosti, v jaké jsou uložené (v případě interaktivních prvků samozřejmě
je možno dosáhnout také jiné posloupnosti). Můžeme s nimi realizovat
základní operace jako vkládání a mazání, duplikování existujících snímků
a změnu jejich pořadí.
Při přechodu mezi snímky můžeme nastavovat různé přechodové efekty (např.
spuštění snímku shora, zobrazování po slovech, různé spirálovité pohyby
apod.). Můžeme použít stejnou animaci na celý snímek či na každý objekt
jinou.
Nevyhnutelnou součástí prezentačních softwarů je funkce časování, pomocí
které dokážeme zabezpečit běh prezentace bez zásahu uživatele. Tato funkce se
využívá zejména při automatických prezentacích, ale někteří řečníci ji
používají i při prezentacích vedených – v takovém případě musí mít řečník
velmi precizně připravený slovní komentář.
253
Počítačové systémy
Na ulehčení prezentací je k dispozici více šablon obsahující v sobě vzpomenuté
parametry už předdefinované.
Prostředí obvykle disponuje několika způsoby zobrazení obsahu prezentace:
- normální zobrazení v PowerPointu poskytuje jednak osnovu snímku
skládající se z nadpisu a textu a jednak celkový vzhled vytvářeného snímku,
- uspořádání snímků poskytuje náhled na prezentaci a umožňuje jednoduše
měnit grafické parametry vybraných snímků,
- zobrazení poznámek umožňuje ke každému snímku připsat poznámky, které
se při prezentaci nezobrazují,
- náhled a spuštění prezentace dává tvůrci k dispozici podobu, v jaké budou
snímky zobrazené při prezentaci.
Finální prezentace se může spouštět z prostředí programu, nebo se může uložit
ve formátu pps (z PowerPointu), který po otevření souboru spustí prezentaci
okamžitě, bez spuštění aplikace na její tvorbu.
11.5.2.4.2 Tvorba prezentace
Dříve než se pustíme do tvorby samotné prezentace, je potřeba určit si cíl,
který prostřednictvím ní chceme dosáhnout. Cíli a publiku, na keré bude
prezentasce orientovaná, je potom potřeba přizpůsobit formát i šablonu. Je
vhodné dodržet následující doporučení:
- při projekci je vhodné zvolit tmavé pozadí a světlý text (nebo naopak),
- pro vyvolání spokojeného pocitu publika a soustředění se na obsah jsou
vhodné modré a zelené odstíny, jakmile je třeba publikum vyburcovat, je
vhodné žluté či červené pozadí,
- preferuje se bezpatkové písmo (napr. Arial), které je na obrazovce lépe čtivé,
- je vhodné, aby všechny snímky měly stejný formát; snímky s odlišným
barevným schématem je třeba používat jen ve speciálních případech, např. na
prezentaci zvlášť důležitých informací,
- videoukázky uspávají, třeba zkrátit na minimum,
- méně je někdy více – je třeba si uvědomit, že prezentace neprezentuje
schopnosti softwaru, ale informace. Efekty, které nabízejí prezentační
programy je třeba používat velmi střízlivě,
- úvodní snímek obvykle obsahuje název prezentace a jejího autora,
- závěrečný snímek děkuje za pozornost a obsahuje kontakt na autora,
- chyby v textu snímků se neodpouštějí!
Zřejmě nejpracnější činností při tvorbě efektivní prezentace je vytvoření její
obsahové náplně. Po vytvoření textové části následuje vylepšování grafického
vzhledu a případné doplnění multimediálními efekty.
V tomto stádiu je výsledek připravený pro automatickou prezentaci, ale
v případě vedené prezentace potřebujeme absolvovat ještě několik dalších
kroků:
- jako pomocný materiál pro přednášejícího je vhodné vytlačit kompletní
prezentaci např. ve zmenšené podobě (4 strany na list papíru),
- s podporou tohoto materiálu je potřeba vyzkoušet prezentaci
a zesynchronizovat slovní komentář s obsahem obrazové prezentace,
- na závěr můžeme připravit materiály pro posluchače v tištěné podobě,
v podobě webové prezentace či na CD.
254
Počítačové systémy
11.5.2.4.3 Prezentace před publikem
Při přípravě prezentace je důležité vědět, jaké publikum nás očekává, v jaké
místnosti budeme prezentovat a jakou techniku chceme použít. Pokud máme
možnost, je vhodné techniku před prezentací vyzkoušet.
Na úvod prezentace je potřeba popsat posluchačům její obsah.
Během prezentace je velmi důležité nečíst jen texty z obrazovky, ale používat
vlastní slova poskytující posluchačům podrobnější obsah, výklad nebo
vysvětlení než jim nabízí prezentace. Je potřeba hovořit zřetelně, srozumitelně
a pokud posluchači nejsou odborníci, nepoužívat odborný slang. Během
prezentace je možno se pohybovat, ale tak, aby byl přednášející vždy viditelný.
Když je prezentace obsáhlejší, je žádoucí připravit a rozdat tištěný a/anebo
elektronický materiál.
Na závěr je vhodné, pokud to typ prezentace dovoluje, otevřít diskusi. Otázky
posluchačů je třeba si pamatovat, případně poznačit – díky nim je možné do
budoucna prezentaci vylepšit. Pokud nedokážete, anebo neznáte odpověď, není
třeba se bát přiznání.
11.5.2.5
Aplikace na tvorbu webových stránek
Internet a speciální www stránky představují v současnosti jeden
z nejvyužívanějších zdrojů informací. Pasivní uživatelé ho využívají zejména
na vyhledávání dostupných informací, aktivní do jeho prostředí umisťují
vlastní informace a prezentace. Je potřeba si uvědomit, že webové stránky mají
při oslovování zákazníků a prezentací myšlenek mnohem vyšší potenciál než
prezentace popsané v předcházející kapitole – zatímco prezentaci
v PowerPointe zhlédne maximálně několik stovek diváků, webová stránka je
v prostředí Internetu k dispozici prakticky celému světu a navíc ji do svého
„repertoáru“ zahrnou i vyhledávače. Jakmile uživatel získá adresu webové
stránky jako výsledek vyhledávání, určitě ji věnuje pozornost a prohlédne si ji,
protože předpokládá, že její obsah může být pro něho zajímavý či důležitý.
11.5.2.5.1 Webový dokument
Webový dokument má svůj textový obsah, jehož úprava je daná
prostřednictvím příkazů značkovacího jazyka HTML (HyperText Markup
Language – hypertextový značkovací jazyk). Ten umožňuje vytvářet
dokumenty obsahující text, hypertextové odkazy, multimediální a jiný obsah,
formuláře na získávání údajů od uživatele atd.
Jazyk HTML prošel během své existence vývojem, na který dohlíželo W3C
konzorcium (World Wide Web Consortium). V současnosti se HTML nahrazuje
jazykem XHTML (odvozeným od XML), který umožňuje oddělit obsah
dokumentu (HTML) od jeho formátu definovaného prostřednictvím
kaskádových stylů (CSS – Cascading Style Sheets). Ty jsou zpravidla
definované v samostatném souboru, který se aplikuje na zobrazovaný
dokument. Používání kaskádových stylů přináší více výhod:
- jednoduchá změna vzhledu dokumentu – úpravou stylu na jednom místě
změníme vzhled všech dokumentů, které ho používají,
255
Počítačové systémy
- zpřehlednění html dokumentu a zmenšení velikosti html souborů – styl v sobě
obsahuje všechny parametry např. pro text, které bychom museli v dokumentu
jednotlivě vypisovat (barva, font, velikost a řez písma apod.),
- není nutné optimalizovat vzhled každé stránky pro různé prohlížeče – styl se
o to postará za nás.
- možnost používat styl zobrazení v závislosti od média – jinak bude stránka
vypadat na obrazovce, jinak po vytištění a jinak je budou vidět zařízení, které
zprostředkovávají informace zrakově postiženým.
Speciálním jazykem, jehož příkazy se někdy vkládají do html dokumentů je
javascript. Jde o jazyk, který umožňuje interaktivně reagovat na příkazy
uživatele bez znovunačítávání stránky a komunikace se serverem. Vkládá se
přímo do html kódu stránky a používá se zejména na ovládání interaktivních
prvků – tlačítek, rozbalovacích seznamů, textových polí apod. Javascript je
jazyk podporovaný na straně webového klienta – příkazy zpracovává webový
prohlížeč.
Obr. Příklad použití javascriptu v html dokumentu
Požadavek na zobrazení dokumentu zadává uživatel prostřednictvím URL.
Webový klient na příkaz uživatele vyšle požadavek, na základě kterého mu
server poskytne příslušný dokument. Klient dokument přebere a podle příkazů
html jazyka zobrazí. Všechny příkazy, které do dokumentu vložil jeho tvůrce,
jsou takto přístupné libovolnému uživateli, který si je může zobrazit
prostřednictvím svého webového prohlížeče (např. přes Zobrazit – Zdrojový
kód).
Tento způsob výměny informací je vhodný pro statické dokumenty sloužící
v první řadě na zobrazování obsahu, které mohou být případně oživeny
jednoduchými interaktivními prvky definovanými prostřednictvím javascriptu.
Pokud má být webová stránka dynamická a má zpracovat údaje zadávané
uživatelem, je potřeba údaje nejen získávat, ale prostřednictvím webového
klienta i odesílat na zpracování na server.
Pro zpracování údajů (příkazů) na straně serveru je charakteristické, že uživatel
nemá přístup ke kódu, který údaje zpracovává a do prohížeče dostává jen
výsledný dokument. Díky tomu není zatěžovaný klient a nedostávají se do něj
zdrojové kódy s případnými hesly na přístup do chráněných oblastí.
Jazyky, které tuto činnost zabezpečují, se označují jako skriptovací
a výsledkem jejich příkazů je zpravidla text obsahující příkazy html, které
server odešle klientovi. Mezi nejpopulárnější skriptovací jazyky patří PHP,
JSP a ASP.
256
Počítačové systémy
Obr. Získávání dokumentu html a html v kombinaci s PHP
Možností jak vytvořit webový dokument je několik:
- mnohé aplikace umožňují obsah svého dokumentu uložit jako html
dokument, čím se formát zpracovaných údajů přizpůsobí formátu
zobrazitelnému v prostředí webu,
- použít specializovanou aplikaci s funkcemi ulehčujícími a zjednodušujícími
formátování obsahu pro web,
- na základě znalostí jazyka html napsat zdrojový kód webové stránky
manuálně v jednoduchém textovém editoru, bez použití vizuálních nástrojů.
11.5.2.5.2 Aplikace na tvorbu webu
V současnosti existuje mnoho aplikací, které umožňují vytvářet webové
stránky. Kromě standardních desktopových aplikací podporujících WYSIWIG
(např. Adobe Dreamweaver anebo Microsoft FrontPage) můžeme na Internetu
najít prostředky, které vytvoří po výběru šablony a zadání základních údajů
webovou stránku prakticky na počkání.
Mezi základní požadavky a zároveň operace, které požadujeme od nástroje na
tvorbu webových stránek patří:
- možnost výběru šablony, podle které se rozdělí stránka na základní části
(menu, banner, samotný obsah, atd.), případně se definuje její vzhled a
barevnost,
- nástroje na formátování a strukturování textu (zarovnávání, výběr stylu,
odrážky a číslování, atd.),
- tvorba hypertextových odkazů,
- nástroje na práci s tabulkami, které v současnosti představují základní nástroj
na formátování obsahu (sloupcování, rozdělení stránky na sekce apod.),
- vkládání objektů a nastavování možností pro jejich obtékání (obrázky,
tlačítka apod.),
- možnosti rozdělení souborů stránky do více adresářů a automatická úprava
odkazů při změně jejich umístění,
- možnosti manuální úpravy html kódu,
- WYSIWYG editor zobrazující vytvářenou stránku v podobě, kterou bude mít
v prohlížeči.
11.5.2.5.3 Jazyk HTML jako prostředek tvorby webu
Uživatel, který chce na tvorbu webových stránek využívat skriptovací jazyky,
nebo potřebuje realizovat úpravy ve vytvořeném kódu existujících stránek,
potřebuje znát příkazy HTML jazyka. Tento jazyk patří do skupiny
značkovacích jazyků a na popis obsahu stránek využívá značky (příkazy,
tagy). Aby bylo možné odlišit příkazy od samotného obsahu, vkládají se
příkazy mezi znaky „<“ a „>“.
Příkazy HTML mají ve všeobecnosti dva tvary (i když v případě XHTML se
používá už jen první typ):
- párové příkazy tvořené otevírajícím a uzavírajícím příkazem, které se liší jen
tím, že uzavírající příkaz obsahuje na začátku znak „/“, např.: <B>tučný text</B>,
- nepárové příkazy jsou tvořeny jediným příkazem, např.: <BR>.
257
Počítačové systémy
Příkazy jsou tvořeny anglickými slovy nebo zkratkami – např. <B> pro tučný text je odvozený
od „bold“.
Příkazy můžeme pro naše potřeby rozdělit následovně:
- příkazy určené na formátování a strukturování dokumentu se používají na
nastavení vlastností textu a stránky jako celku. Umožňují definovat řez,
velikost, barvu, font textu apod. Příkazy podporující strukturování dokumentu
slouží na definování nadpisů, odstavců, odrážkových a číslovaných seznamů
atd.
- příkazy umožňující vkládání externích objektů často z externích souborů
a nastavování jejich parametrů (tabulka, obrázek, animace apod.),
- příkazy podporující hypertext a dovolující používání odkazů v rámci jednoho
anebo více dokumentů,
- příkazy sloužící na tvorbu formulářů a interaktivních prvků (textové pole,
tlačítko, zaškrtávací políčko, rozbalovací seznam atd.).
V korektně vytvořené struktuře stránky jsou příkazy umístěné v těle
dokumentu umístěném mezi značkami <BODY> a </BODY>. Předchází jim definice
typu dokumentu, která určuje množinu značek použitých v dokumentu, např.
pro verzi HTML 4.01 je to:
<!DOCTYPE
HTML
PUBLIC
"-//W3C//DTD
"http://www.w3.org/TR/html4/strict.dtd">
HTML
4.01//EN"
a hlavička dokumentu definující název stránky prostřednictvím příkazu <TITLE>.
Hlavička umístěná mezi <HEAD> a </HEAD> obsahuje údaje nadřazené obsahu
stránky – meta tagy. Důležitým tagom je tag určující kódování stránky, bez
použití kterého by mohlo dojít k nesprávnému zobrazování znaků s diakritikou:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
Užitečné je i používání tagu description, který některé vyhledávače zobrazují
jako popis stránky při zobrazování výsledků vyhledávání. Má podobu:
<meta name="description" content="Tajná stránka věnovaná okultním vědám.">
Ve všeobecnosti můžeme říci, že html dokument má v našich podmínkách
následující podobu:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<HTML>
začátek textu ve formátu HTML
<HEAD>
začátek hlavičky
<meta
http-equiv="Content-Type"
content="text/html;
charset=windows-1250">
znaková sada
<meta name="description" content="Moje prvé pokusy.">
popis stránky
<TITLE> Název stránky </TITLE>
název stránky
</HEAD>
konec hlavičky
<BODY>
definice a začátek těla
...
vlastní obsah stránky
...
</BODY>
konec těla
</HTML>
konec textu HTML
11.5.2.5.4 Přehled základních příkazů HTML
258
Počítačové systémy
Formátování textu:
příkaz
popis
příklad
B
Toto je <B>tučné</B> písmo.
tučné
I
Písmo
je
<I>šikmé
a současně
kurzíva
<U>podtržené</U></I>.
U
podtržené
STRIKE
přeškrtnuté
TT
neproporcionální písmo
SUB
H<SUB>2</SUB>O
dolní index
SUP
c<SUP>2</SUP>=a<SUP>2</SUP>+b<SUP>
horní index
2</SUP>
FONT
nastavení barvy (COLOR),
velikosti 1-7 písma
(SIZE) a fontu (NAME)
<font
color=red
size=4
name=”ARIAL”>Tento
text
je
změněný</font> a tento ne
Strukturování textu:
příkaz
popis
příklad
H
celkem
hlavní
nadpis zadané úrovně (např. H1, <h2>Ne
nadpis</h2>
H2 atd. po H6) podporující <p>standardní
text
odstavce
libovolně dlouhého</p>
zarovnání textu (ALIGN) doleva <p align=right>Další odstavec,
(LEFT), doprava (RIGHT) anebo na ale zarovnaný doprava</P>
<center>toto
potřebujeme
střed (CENTER).
zvýraznit ve středu</center>
P
nový odstavec umožňující <h1>Hlavní nadpis</h1>
odstavec
zarovnaný
zarovnání textu stejně jako při <p>Další
doleva</P>
nadpisech. Zarovnání do bloku
není k dispozici.
CENTER
centrování textu mimo struktury
odstavců
BR
přechod
na
nový řádek &nbsp;řádek1<BR>
&nbsp; &nbsp; řádek2<BR>
(odřádkování)
&nbsp; &nbsp; &nbsp; řádek3
&nbsp;
pevná mezera – používá se
tehdy, když potřebujeme dát za
sebou dvě a více mezer –
prohlížeč více standardních
mezer za sebou považuje za
jednu
<!...>
je ignorované-->Toto
komentář – obsah je ignorovaný <!--Toto
už ne
prohlížečem
HR
vodorovná čára s možností <HR size=10 color=red>
nastavení tloušťky (SIZE), barvy
(COLOR) a případně i dalších
atributů
UL
seznam
seznam s odrážkami s možností Odrážkový
<ul type=square>
nastavení jejich vzhledu (TYPE: <li>odrážka1
<li>odrážka2
DISC, SQUQRE, CIRCLE)
</ul>
OL
číslovaný seznam s možností
type="A" start=4>
výběru číslování (TYPE: 1, a, A, <ol
Číslovaný seznam - odsazené
i, I) a určení pořadového čísla <li>prvá
<li>druhá
startovací hodnoty seznamu </ol>
(START)
259
Počítačové systémy
LI
položka
seznamu
v obou
předcházejících typech
Používání externích objektů
příkaz
popis
příklad
IMG
obrázek
definovaný <IMG SRC=“obrázky/ja.jpg“>
prostřednictvím
svého deformace obrázku na daný
umístění (SRC) s možností rozměr:
<IMG
SRC=“obrázky/ja.jpg“
nastavení rozměrů (WIDTH, WIDTH=80 HEIGHT=50>
HEIGHT),
šířky
rámečku umístění obrázku na pravou
(BORDER), odsazení od textu stranu vedle textu:
SRC=“obrázky/ja.jpg“
(HSPACE, VSPACE) a zarovnání <IMG
ALIGN=RIGHT>
v rámci souvislého textu (TOP,
MIDDLE, BOTTOM, LEFT, RIGHT).
TABLE
tabulka. Počet sloupců a
řádků se zjistí automaticky
podle počtu použití příkazů:
TD – definuje nový sloupec
TR – definuje nový řádek
TH – záhlaví tabulky
V rámci buněk je možno
údaje zarovnávat horizontálně
přes ALIGN (LEFT, RIGHT, CENTER)
i vertikálně VALIGN (TOP, MIDDLE,
BOTTOM).
Prostřednictvím
WIDTH
můžeme definovat
šířku
tabulky, prostřednictvím ALIGN
způsob obtékání textem.
BORDER
definuje
tloušťku
rámečku,
CELLSPACING
mezeru mezi
buňkami
tabulky,
CELLPADDING
mezeru mezi
okrajem a
obsahem buňky.
Slučování buněk můžeme
realizovat
přes
COLSPAN
(sloupce) a ROWSPAN (řádky).
<table border=3>
<th>záhlaví1</th><th>z2</th>
<tr>
<td>1.buňka v 1.řádku</td>
<td>2.buňka v 1.řádku</td>
</tr>
<tr>
<td>v 2. řádku bude jen jedna
buňka</td>
</tr>
</table>
krásnější tabulka:
<table
border=1
cellspacing=0
cellpadding=0>
<tr>
<td>1,1</td><td>2,1</td>
</tr> <tr>
<td>1,2</td><td>2,2</td>
</tr>
</table>
Podpora hypertextu:
příkaz
popis
příklad
A HREF
link:
odkaz na URL. Linkem je textový
text
celý obsah mezi začátkem href="http://www.sme.sk">link
SME</a> text za linkom
a ukončením
link pro odeslání emailu:
prostřednictvím </A>
<a
na
<a
href="mailto:[email protected]">N
apište mi</a>
260
Počítačové systémy
A NAME
definuje v dokumentu místo
(návěští), na které je možno
prostřednictvím
odkazu
skočit.
Odkaz odkazující na návestí
obsahuje za url adresou
název návestí oddělený
znakem #
obrázkový link:
<a href="http://www.sme.sk">
<img src=”obrazky/noviny.gif”></a>
definice návestí:
<a name="začátek">Úvod stránky
skok
na
dané
místo
dokumentu:
<a
href="#začátek">
stránky </a>
v rámci
začátek
skok na dané místo v rámci webu:
<a
href="http://www.sme.sk#začátek">
začátek SME </a>
Atributy těla stránky (BODY):
příkaz
popis
příklad
BGCOLOR
<body bgcolor="black">
barva pozadí dokumentu
TEXT
předvolená barva textu v <body text="red">
dokumentu
LINK
text="red" link="blue"
barva hypertextového odkazu, <body
alink="yellow"
který ještě nebyl navštívený (na vlink="#ff3e12"
background="/images/pozadí.g
který uživatel nekliknul)
if">
ALINK
barva aktuálního odkazu
VLINK
barva navštíveného odkazu
BACKGROUND
jméno obrázku, který se použije
jako pozadí
11.5.2.5.4.1 Formuláře
Formulář slouží na získání údajů od uživatele prostřednictvím ovládacích
prvků a jejich odeslání na další zpracování. Zpracování můžeme realizovat
prostřednictvím příkazů javascriptu, ale mnohem častěji se používají
skriptovací jazyky, které údaje zpracují na straně serveru a uživateli nabídnou
výsledek v podobě nového html dokumentu.
Hlavička formuláře definuje prostřednictvím klíčového slova ACTION soubor
(skript), kterému se údaje formuláře odešlou a prostřednictvím METHOD způsob,
jakým přenos proběhne (GET nebo POST).
Ovládací prvky jsou ohraničeny příkazy <FORM> a </FORM> a na svoji definici
využívají klíčové slovo INPUT.
<form action="zpracuj.php" method="post">
Jméno: <input type="text" name="jméno">
Příjmení: <input type="text" name="příjmení">
<input type="submit" value="Odeslat">
</form>
paramet popis
příklad
r
TEXT
type="text"
jednořádkové
textové <input
value="předvyplněný text">
pole určené na vkládání
textu. Prostřednictvím
hodnoty VALUE je možno
nastavit text, který se
name="meno"
261
Počítačové systémy
PASSWORD
SUBMIT
v poli zobrazí při jeho
vytvoření.
analogie s TEXT, ale
místo psaného textu se
zobrazují jen hvězdičky
tlačítko
s textem
zadaným
v parametru
<input type="password" name="heslo">
<input type="submit" name="tlačidlo1"
value="odeslat">
VALUE
RESET
RADIO
CHECKBOX
SELECT
TEXTAREA
262
speciální
parametr
tlačítka, který vymaže
všechny údaje naplněné
ve formuláři
radiobutton určený pro
výběr z více možností.
Pokud
potřebujete
použít na stránce více
skupin,
je
potřeba
nazvat je různými jmény
(parametr
NAME).
V opačném
případě
bude
vždy
možné
zapnout na stránce jen
jeden z radiobuttonů.
zaškrtávací políčko
rozbalovací
tlačítko
(případně
seznam
položek)
obsahuje
hodnoty
definované
prostřednictvím OPTION.
Při hodnotě, která má
nastavená jako výchozí,
je
potřeba
použít
parametr SELECTED.
Pokud chceme najednou
zobrazit více řádků, je
potřeba
nastavit
parametr
SIZE
na
požadovanou hodnotu.
Pro výběr většího počtu
položek najednou se
jako
parametr
ovládacího prvku uvádí
MULTIPLE.
víceřádkové
textové
pole definované počtem
zobrazených
řádků
(ROWS) a sloupců (COLS).
<input type="reset"
value="vymazat">
Jste s našimi službami spokojení? <br>
<input
type="rádio"
name="meno"
value="1">ano<br>
<input
type="rádio"
name="meno"
value="0">ne<br>
Jaké služby si platíte?
<input
type="checkbox"
name="služby"
value="IB"> Internetbanking<br>
<input type="checkbox" name=" služby "
value="MB"> Mobilbanking<br>
Vyberte svoje zaměstnání:
<select name="zaměstnání">
<option value="PRO">Programátor<br>
<option value="SS">Správce sítě<br>
<option value="UC" selected>Učitel<br>
<option value="X">Jiné<br>
</select>
Nabídka zájezdu:
<select name="zájezd" size=4 multiple>
<option value="RF">Rusko<br>
<option value="TU">Tunisko<br>
<option value="BR">Brazílie<br>
<option value="TT">Naše Tatry<br>
</select>
<textarea cols=30 rows=5 name="txt">
Předvolený obsah
</textarea>
Počítačové systémy
Odeslání údajů z formuláře proběhne při použití tlačítka typu SUBMIT.
11.5.2.5.5 Zveřejnění webové stránky
Webová stránka se obvykle vytváří na to, aby byla zveřejněna v prostředí
Internetu.
Pokud uživatel disponuje trvalým internetovým připojením a veřejnou IP
adresou, může ji zveřejnit přímo prostřednictvím svého počítače. Na to, aby
bylo možné k stránce přistupovat z libovolného počítače na světě, stačí
spuštění webového serveru (Apache nebo IIS, který je součástí MS Windows)
a umístění stránky do nastaveného výchozího adresáře webového serveru.
Ke stránce bude možné přistupovat prostřednictvím IP adresy. V případě, když
takový způsob nestačí, je možné zakoupit si doménu, veřejně pevnou IP adresu
a nasměrovat ji na svůj počítač.
Navzdory tomu, že tento způsob je technicky nejjednodušší, většina uživatelů
využívá webhosting (umístění webové stránky na serveru profesionálního
poskytovatele služeb), který kromě prostoru garantuje ochranu umístěného
webu (zálohování, ochrana vůči průnikům apod.), funkčnost (nevypíná server
a používaný hardware umožňuje současné připojení mnohých uživatelů)
a hlavně rychlost připojení, kterou doma nemáme šanci dosáhnout.
Komerční webhosting poskytuje mnoho provozovatelů jak u nás, tak
i v zahraničí, přičemž často nabízejí kromě placených i free-hostingové služby
(stačí zadat do vyhledávače spojení free webhosting).
Umístění souborů na serveru poskytovatele se obvykle zabezpečuje
prostřednictvím FTP klienta, anebo přímo přes prohlížeč uploadom do
poskytnutého adresáře na základě přihlašovacího jména a hesla.
11.5.2.6
Grafické editory
Mnoho informací týkajících se práce s grafikou jsme prezentovali už v kapitole
o zpracování informací na počítači. V této části se zaměříme spíše na
specifické práce v grafických editorech.
Stejně jako grafické formáty, dělíme i grafické editory na rastrové a vektorové.
Hlavní nevýhodou rastrových obrázků jsou deformace a ztráty obrazové
informace pro změnu rozměrů obrázku. Hlavní nevýhodou vektorových
obrázků je zase obrovské množství objektů potřebných na vykreslení
složitějších obrázků.
11.5.2.6.1 Rastrový grafický editor
Na trhu je množství rastrových editorů, které se navzájem liší svoji cenou,
kvalitou a cílovou skupinou uživatelů. Nejjednodušším a nejznámějším
nástrojem je bezpochyby Skicák (Kreslení, MS Paint, PaintBrush), který je
součástí operačního systému Windows prakticky od jeho prvních verzí.
Tento grafický editor obsahuje základní funkce, které jsou typické i pro
profesionálně grafické editory.
Základními nástroji grafického editora jsou tužka a štětec umožňující kreslení
čar volným stylem – rukou. Tužka kreslí čáry s tloušťkou 1 bod, u štětce si
můžeme zvolit tloušťku a tvar jakým se čára bude kreslit.
263
Počítačové systémy
Na kreslení geometrických tvarů slouží nástroje pro kreslení čáry,
obdélníka, elipsy a dalších jednoduchých útvarů. Při kreslení se obvykle
požaduje zadání začátečního a koncového bodu (případně dalších bodů
nevyhnutelných pro zadání rozměrů a umístění objektu) prostřednictvím myši.
U obdélníka se určují protilehlé rohy, u elipsy střed a poloosy případně také
protilehlé rohy obdélníka, do kterého bude vepsaná.
Většina grafických editorů umožňuje při stlačení klávesy Shift nebo Ctrl (v
závislosti na editoru) kreslit čáry v předdefinovaných úhlech (30°, 45°, 90°,
120° atd.), nebo upravovat rozměry objektu tak, aby výsledkem byl pravidelný
útvar (čtverec, kružnice).
Podle nastavení se na kreslený objekt aplikuje barva, tloušťka a typ
(čárkovaná, tečkovaná apod.) obrysové čáry.
Nabídka dalších předdefinovaných tvarů závisí na použitém editoru.
Každý ohraničený objekt můžeme vyplnit barvou, texturou anebo vzorem
skládajícím se z přechodu mezi více barvami.
Speciálním objektem, který můžeme do obrázku vložit, je text. I když
možnosti pro formátování textu jsou obvykle omezené na typ, styl a velikost
písma, můžeme text jako celek deformovat či otáčet.
Standardní operace kopírování, přesouvání a mazání výběru jsou funkční
i v rastrových grafických editorech. Výběr se určuje prostřednictvím myši,
přičemž je možno vybírat pravoúhlé oblasti, myší označit nepravidelný výsek,
anebo prostřednictvím speciálních nástrojů vybrat plochu stejné nebo blízké
barvy.
S výběrem můžeme často realizovat operace otočení, zrcadlového zobrazení,
zvětšení/zmenšení, deformace, zkosení apod.
Navzdory tomu, že v rastrovém grafickém editoru nedokážeme s nakreslenými
útvary pracovat jako se samostatnými objekty, máme v profesionálních
editorech k dispozici silný nástroj v podobě vrstev, které nám umožňují
rozdělit obrázek. Vrstvy představují samostatné plochy, do kterých můžeme
kreslit a které můžeme na sebe ukládat a měnit jejich pořadí, přičemž objekty
na vrchní vrstvě překryjí objekty na spodní. Kromě zobrazení a vypnutí vrstvy
můžeme nastavovat její přehlednost a všechny efekty, kterými grafický editor
disponuje, můžeme aplikovat podle požadavků na jednu anebo více vrstev
(např. přidání stínů, odrazů, rozmazání anebo zpestření barev atd.).
Když vytváříme rastrový obrázek v grafickém editoru úplně od začátku,
potřebujeme před samotným kreslením definovat jeho rozměry a barevnou
hloubku. Rozměry můžeme definovat zadáním šířky a výšky obrázku
v bodech (pixelech) nebo v milimetrech (tehdy potřebujeme určit také dpi
obrázku). O rozměrech rozhoduje v první řadě účel, na který bude obrázek
použitý. Pro tisk doporučujeme minimální rozlišení 300 dpi, pro umístění na
webu postačí 72 (resp. 96) dpi.
264
Počítačové systémy
Mnohem častěji než vytváření nových obrázků, se rastrové grafické editory
používají na úpravu a retušování fotografií. Mezi základní retušovací
nástroje. patří:
- rozmazání obrazu nebo výřezu,
- klonování, které umožňuje zopakovat na pozici kurzoru obsah obrázku
z jiného místa (např. odtud, kde není pleť poškozená). Obě funkce se používají
na odstranění prachu, škrábanců a jiných defektů z fotografie,
- změna vybraných barevných odstínů (redukce červených očí),
- změna sytosti, ostrosti a barevného vyvážení, která nám umožní odstranit
špatné nastavení parametrů v čase snímání fotografie ať už fotoaparátem anebo
skenerem.
Kromě vysloveně praktických, obsahují rastrové grafické editory i množství
dalších funkcí, určených na profesionální prácí s obrazem, s
fotografiemi, vytváření animací (např. animovaný gif), skenování apod.
Mezi nejpoužívanější, nejznámější a profesionály používané rastrové grafické
editory patří Adobe Photoshop, Corel Photopaint, případně na školách je
v současnosti rozšířený zejména Zoner Callisto.
11.5.2.6.2 Vektorový grafický editor
Zatímco při práci s rastrovým grafickým editorem je základní jednotkou bod, u
vektorových grafických editorů je elementární jednotkou objekt
reprezentovaný svým tvarem, rozměry, barvou a výplní.
Základní stavební jednotkou je křivka, přičemž za nejjednodušší křivku
můžeme považovat čáru, která má přiřazenou barvu, tloušťku a styl (souvislá,
čárkovaná, tečkovaná). Pokud nakreslíme křivku volnou rukou, editor z bodů,
ve kterých se mění její tvar vytvoří tzv. uzly. Nakreslené křivce potom
můžeme prostřednictvím nich měnit tvar – ve vybraném bodě může mít křivka
ostrý roh anebo oblouček, nebo je v místech uzlů spojovat či rozdělovat.
Vytvořené uzly můžeme také mazat a zjednodušit tak tvar křivky.
Obr. Úprava uzlu
Uzavřenou křivku nebo část, kterou editor určí při neuzavřeném objektu,
můžeme vybarvit podobně jako při rastrovém editoru souvislou nebo
přechodovou výplní či texturou.
Od křivky jsou odvozené všechny složitější tvary (např. obdélník, elipsa, núhelník, případně útvary z knihovny objektů složitějších tvarů apod.), které
opět v případě potřeby dokážeme upravovat prostřednictvím uzlů.
V zásadě je možno prohlásit, že kreslení útvarů a základní operace s nimi
jsou totožné s rastrovým editorem.
Práce s textem nepatří mezi silné stránky ani v tomto typu grafického editora.
Na pracovní plochu můžeme vkládat text písmeno po písmenu, anebo v podobě
odstavcového textu, kde můžeme měnit typ, velikost, styl a zarovnání odstavce.
Navzdory tomu, že ve vektorovém grafickém editoru můžeme pracovat
s překrýváním objektů velmi jednoduše, disponuje i tato skupina vrstvami.
Každá vrstva může obsahovat jeden nebo více objektů, přičemž opět můžeme
265
Počítačové systémy
měnit pořadí vrstev, přehlednost a aplikovat efekty najednou na všechny
objekty vrstvy.
Mezi nejpoužívanější operace ve vektorových editorech patří:
- zarovnávání vzájemné polohy objektů (vzájemné zarovnání na střed, do
stejné výšky apod.),
- rovnoměrné rozmístění objektů do zadané oblasti (např. pravidelné uložení
latěk plotu),
- plynulý přechod mezi objekty (umožní přechod z jednoho objektu do
druhého),
- uložení textu podle křivky,
- stínování objektů,
- vytvoření perspektivy (objekt prostřednictvím zvětšení/zmenšení svých stran
vyvolává dojem vzdalování/přibližování se),
- barevné přechody v rámci jednoho anebo mezi objekty atd.
Vektorové editory disponují i možností vkládání rastrových objektů.
K takovým objektům se potom vektorový editor chová jako rastrový.
Jednodušší obrázky můžeme převést na křivky, čím se zmenší celková velikost
souboru, ale zvýší se počet objektů na pracovní ploše.
Mezi nejznámější vektorové grafické editory patří Corel Draw a Adobe
Ilustrator.
11.5.2.7
Animace a prezentace
Speciální postavení v rámci aplikačního softwaru má Adobe Flash (předtím
Macromedia Flash). Jeho jednoznačné zařazení je poměrně komplikované,
protože umožňuje vytvářet jak statické prezentace, tak i multimediální
a dokonce interaktivní aplikace. Zdrojový soubor umožňující vytváření
a manipulaci s obsahem nese koncovku fla. Z důvodu minimalizace velikosti
a ochrany obsahu před vykrádáním se soubor před publikováním zkompiluje
do formátu swf, na jehož spuštění potřebujeme flash player buď ve formě
aplikace nebo jako přídavný modul – plugin do webového prohlížeče.
Použití je zejména díky malé velkosti výsledných souborů velmi univerzální:
- vytvořené animace se nejčastěji používají v prostředí webu na zobrazování
pohyblivé reklamy,
- můžeme se setkat s webovými stránkami kompletně vytvořenými ve Flashi.
Tyto stránky obvykle neobsahují standardní hypertext, ale jejich obsahem je
jediný (anebo několik málo) soubor ve formátu swf,
- prezentační materiály umístěné na CD, kde swf soubor představuje rozhraní
zpřístupňující obsah média,
- jako mnohé jiné nástroje umožňující jednoduchou práci s obrazem a zvuky
i Flash se velmi rychle začal používat na tvorbu prezentací v podobě
počítačových her. Zpočátku se hry před spuštěním stahovaly do počítače,
v současnosti se velmi často můžeme setkat s on-line hry hranými přímo
v prostředí Internetu.
266
Počítačové systémy
11.5.2.8
Ostatní typy aplikací
11.5.2.8.1 Informační systémy
Informační systém představuje systém určený na sběr, uchovávání, zpracování
a poskytování informací. Jeho součástí je téměř vždy databázový systém. Mezi
informační systémy patří např.:
- ekonomické systémy představující jednu z nejčastějších aplikací
informačních systémů v praxi. V součinnosti s dalšími systémy se starají o
evidenci všech úkonů spojených s činností komerčních organizací,
- geografické informační systémy (GIS) jsou určeny na práci s údaji
geografického charakteru. Kromě poskytování a analýzy shromážděných údajů
dokážou modelovat povrch krajiny, zpracovat údaje ekonomického i sociálního
charakteru a simulovat geografický vývoj při zadání požadovaných parametrů,
- expertní systémy využívají databázi znalostí na zodpovězení požadavků
uživatelů tak, že upřesňující otázky kladou vždy na základě předešlých
odpovědí.
Vzhledem k postavení informačních systémů ve společnosti rozebíráme tuto
problematiku podrobněji v kapitole Informační společnost.
11.5.2.8.2 Počítačová podpora výroby
Doba, kdy konstruktéři zaobírající se návrhy nových součástek anebo
rýsováním konstrukcí staveb používali jako pracovní pomůcku pravítko
a rýsovací prkno je za námi. Konkurenční prostředí, široký sortiment výrobků a
rostoucí požadavky zákazníků donutily výrobce nejen zvyšovat kvalitu a
snižovat výrobní náklady, ale také zkracovat dodání výrobku na trh. V
současnosti se objevují výrobky, u kterých vývojová, přípravná a výrobní fáze
trvá spíše měsíce než roky. Pokud se výrobek nedodá na trh v pravý čas a
zmeškání trvá i jen několik měsíců, může organizace ztratit pozici na trhu a s ní
spojený zisk.
Systémy zaobírající se projektováním a s ním spojenými činnostmi se označují
jako CAD systémy (Computer Aided Design - počítačem podporovaný návrh).
Jsou určeny na podporu všech aktivit spojených s vyhotovením konstrukční
dokumentace. Orientují se zejména na inženýrské činnosti v oblastech
elektrotechniky, stavebnictví, architektury a strojírenství. Jsou náročné na
výpočtový výkon počítače zejména tehdy, když chceme prostřednictvím nich
budovat prostorové modely a manipulovat s nimi.
Kromě modelování prostorových objektů na monitoru počítače je možné prostřednictvím 3D
tiskárny vytvořit prostorový model i fyzicky. Využívá se na to speciální materiál (kombinace
lepidla a sypkého materiálu podobného sádře) pomocí kterého je možné vytvořit objekty
splňující požadavky kladené na prototypy zařízení.
Ještě vyšší úroveň představuje kombinace CAD/CAM (Computer Aided
Design/Computer Aided Manufacturing – návrh/výroba za pomoci počítače),
kde je návrhová část zabezpečovaná CAD systémem přímo propojená řízení
výroby.
267
Počítačové systémy
11.5.2.8.3 Vývojové nástroje
Do kategorie vývojových nástrojů patří aplikace určené na tvorbu jiných
aplikací. Tvorba standardně spočívá v psaní příkazů programovacího jazyka
a/anebo využívání už napsaných objektů, komponentů a nastavování jejich
vlastností. Základními součástmi vývojového prostředí jsou:
- editor sloužící na psaní kódu. Pokud je součástí vývojového prostředí,
poskytuje často prostředky umožňující barevné rozlišení syntaxe, rychlý pohyb
v rámci kódu a zrychlené zadávání příkazů,
- překladač zabezpečuje překlad zdrojového kódu do kódu, který dokáže
vykonat procesor. V případě kompilátora je vytvořen samostatný spustitelný
soubor, v případě interpreta se zdrojový kód překládá při každém spuštění
programu znova a znova,
- debugger se používá na odhalování chyb. Obvykle disponuje propojením na
zdrojový kód, umožňuje zastavit vykonávání programu prakticky na
libovolném místě a zobrazit aktuální obsah proměnných.
11.5.2.8.4 Výukové a vzdělávací programy
Výukové a vzdělávací programy představují skupinu programů, které využívají
technologii
databázových
a
informačních
systémů
(vědomosti),
multimediálních aplikací (kombinace zvuku, obrazu a interaktivity pro zvýšení
efektivnosti vyučování) a webových technologií (v současnosti se výuka
nejčastěji realizuje prostřednictvím prostředků webu). Jejich používání je
možné orientovat do libovolné části a libovolného typu vyučovací hodiny:
- motivací dokážou zabezpečit vzbuzení zájmu žáka o probíranou
problematiku zainteresováním všech smyslů (zrak, sluch, hmat)
prostřednictvím multimediálních prostředků, zavedením do konkrétní
problémové situace známé z běžného života, anebo navozením uměle
vykonstruované situace, ve které je nutné použít nové vědomosti,
- vysvětlování (expozice) a procvičování (fixace) vědomostí spočívá
v poskytnutí prvotní informace o probírané problematice a možnosti
libovolného počtu opakování bez strachu z neúspěchu, který by mohli žáci
pociťovat při komunikaci s živým učitelem. Existují aplikace schopné
generovat matematické příklady a aplikace umožňující simulovat chemické či
fyzikální pokusy,
- zkoušení (diagnostika) patří mezi nejpoužívanější a nejpropracovanější
oblasti vyučovacího procesu a existuje jak v rámci aplikací pokrývající
všechny části vyučovacího procesu, tak i samostatně obvykle se zaměřením na
konkrétní typ testování (matematické úlohy, slovní odpovědi, výběr z více
možností apod.).
Populární oblastí, o kterou se v současnosti zajímají mnozí učitelé, je
elektronické vyučování (e-learning), které se velmi často zužuje na používání
LMS (Learning Management System – systém na řízení výuky). LMS
standardně obsahuje všechny vzpomenuté prostředky a současně sleduje
a eviduje činnost učitelů i žáků, zabezpečuje jim elektronickou výměnu
informací, zadávání a odevzdávání úloh jako i prostředky na konzultaci mezi
žákem a učitelem i mezi žáky navzájem.
268
Počítačové systémy
11.5.2.8.5 Počítačové hry
Počítačové hry jsou kategorií, která využívá poznatky prakticky ze všech
oblastí informatiky: z projektování si bere trojrozměrné vidění, animace
umožňuje postavám pohyb, multimedia jim nabízejí možnost řeči, umělá
inteligence se vnáší do chování protivníků, sítě a Internet spojuje hráče na
různých místech světa.
Jestli chceme nebo ne, zda se nám to líbí nebo ne, zdokonalování a stále se
zvyšující nároky na hardware počítače diktují právě počítačové hry. První hry,
při kterých např. červíček konzumoval květy na louce a podle jejich počtu se
mu prodlužoval chvost, jsou dnes už nejen pro nás starší, ale i pro malé děti
trapné a jednoduché. Od hry, která má zaujmout se očekává skvělý nápad,
realistické prostředí ve filmové kvalitě, reálné zvuky a dobré ovládání.
Počítačové hry patří k softwaru, který má vysoké nároky na hardware počítače.
Hlavním důvodem je požadavek reálného zobrazování (stíny, povrch objektů,
dopad světla), které dokáže zabezpečit jen špičková grafická karta. Hry se píší
vždy tak, aby vytěžily co nejvíc z existujících grafických karet a proto karta,
která patřila před několika měsíci ke špičce, bude na čerstvě vydané hry už
pravděpodobně sotva stačit.
Na zabezpečení zvuku zpravidla stačí standardní zvuková karta, jen některé hry
podporují vícekanálový zvuk.
Hry se ovládají pomocí klávesnice nebo myši, ale časté je také používání
joysticku či dalších zařízení snažících se o vzbuzení dojmu skutečnosti (např.
volant s pedály, virtuální rukavice či brýle).
Existuje několik dělení počítačových her, přičemž je třeba brát v úvahu fakt,
že prvky jednotlivých kategorií se často prolínají. Uvedeme následující:
- adventury – obvykle jde o hry, ve kterých postupujeme od startu po konec
a sbíráme předměty, ze kterých získáváme energii, body. Na cestě za cílem
musíme překonávat různé překážky (zabíjet pavouky či jiné příšery,
přeskakovat plameny apod.). Někdy je na postup do další úrovně (levelu)
potřeba najít a vzít nějaké předměty anebo nahrát určitý počet bodů,
- RPG (Role Playing Games – hry na hrdiny) jsou založeny na podobném
principu jako adventury, ale jsou naprojektované tak, že během hry budujeme
charakter a schopnosti hlavního hrdiny, vytváříme svůj vlastní svět,
komunikujeme s ostatními postavami ve hře, a s jejich pomocí řešíme úlohy.
Snahou autora je, abychom se do úlohy hlavního hrdiny vžili a přenesli do
něho své chování, reakce a myšlení,
- akční (doom-klon, 3D střílečky) představuje osobitou kategorii, ve které
hlavním (a často jediným) cílem je zničit všechny protivníky, najít východ
a přesunout se do další úrovně. Tyto hry zobrazují prostředí prostřednictvím
pohledu první osoby (first person) tak, že pohledem do monitoru vidíme
prostor před sebou. Obvykle máme k dispozici několik zbraní s různě ničivým
účinkem a kromě pohybu vpřed a otáčení můžeme skákat, plazit se apod.
Označení doom-clon pochází z první hry tohoto typu, která se nazývala Doom,
- logické hry se vyskytují méně často než předcházející a následující typy. Je
to zřejmě proto, že vytvořit hru, která kromě stlačení kláves a reakcí na
výstřely nepřátele dokáže vyvolat v hráči i logické myšlení, je velmi náročné.
269
Počítačové systémy
Taková hra spočívá obvykle v posloupnosti úloh, které jsou buď rozděleny do
levelů a postupně se obtížnost zvyšuje nebo jsou propletené do adventury
(RPG), kde řešení problémů je součástí hry,
- board (stolní) hry jsou obvykle pro počítač upravené společenské hry, kde
např. místo hodu kostkou stlačíme klávesu, anebo kde počítač s námi hraje
šachy, dámu, karty apod.,
- simulace jsou hry, jejichž cílem je se přiblížit ke skutečným situacím
a prostředím, které simulují (letadlo, automobil, robot apod.). Některé
simulátory založené na stejných principech jako hry, se používají na výcvik
v autoškolách, ve vojenských, leteckých a kosmických střediscích,
- strategie učí hráče obvykle tvorbě bojové taktiky (má k dispozici několik
různě vycvičených vojáků či jednotek a musí splnit úlohu), vládnout (dělníci,
vojáci, knězi, atd., se kterými je třeba stavět a zvelebovat krajinu) anebo
podnikat (město, resp. firma, která zkupuje jiné firmy a vydělává peníze),
- sport představuje osobitou kategorii, ve které se můžeme setkat se všemi
druhy: od šachu, přes golf, až po leteckou akrobacii. Oblíbené jsou také
týmové hry (hokej, basketbal) anebo automobilové závody.
Hry může hrát uživatel sám, proti fiktivním spoluhráčům, kteří jsou součástí
prostředí (singleplayer), anebo může v mnohých z nich využít i možnost
týmového hraní (multiplayer) s nebo proti reálným hráčům. Kromě hraní
v lokální síti je možno při dostatečně rychlém připojení hrát i proti hráčům
připojeným na Internet.
Hrát počítačové hry je sice zábavné, ale někdy se může stát, že člověk jim
propadne. Někteří hráči ztrácejí pojem o čase, zapomínají na jídlo a spánek a
nejdůležitější je pro ně dostat se na konec, zvítězit v zápase anebo vyhrát
závody – zkoušejí, snaží se, tisíckrát opakují to samé, pokud se nedostaví
očekávaný výsledek. Nemůžeme říci, že každá hra je škodlivá, ale hry,
ve kterých převládá násilí, jsou perfektně graficky propracovány a uživatel si s
nimi často zkracuje dlouhou chvíli, natolik vtáhnou hráče do děje, že není
zřídkavé probuzení (zvířecích) reakcí i mimo počítač.
11.5.2.8.6 Multimediální programy určené na zábavu
Proniknutím počítačů do domácnosti se počítač v mnohých případech stal
hlavním anebo aspoň náhradním zdrojem zábavy reprezentované sledováním
videa a posloucháním hudby. Pro tento účel jsou určené přehrávače hudby,
videa a DVD.
V případě operačního systému Windows je tento software jeho součástí
(Windows Media Player), ale můžeme používat i alternativní a to jak komerční,
tak i volně šířitelné aplikace (WinAmp, Micro DVD Player, BS Player a pod.).
Kromě sledování videa mnozí uživatelé vyžadují i software, který jim umožní
konvertovat údaje mezi formáty, stříhat a upravovat video i audio nahrávky.
Mezi nejznámější produkty patří komerční Adobe Premiere, Ulead Video
Studio, CyberLink PowerDirector, Pinnacle Studio apod. Nekomerční software
reprezentuje např. Virtual Dub.
11.5.2.8.7 Podpůrné aplikace
270
Počítačové systémy
Do kategorie podpůrných aplikací patří různé programy ulehčující
každodenní práci se systémem, úzce specializované anebo jednoúčelové
programy Jako nejtypičtější příklady mohou posloužit:
- správcové souborů sloužící na řízení obsahu disků a výměnných zařízení,
které umožňují rychlejší a přehlednější práci se soubory jako programy, které
jsou součástí operačního systému,
- poštovní programy a programy pro instant messaging umožňující výměnu
různých typů zpráv mezi uživateli (např. mailový klient),
- internetové prohlížeče umožňující prohlížení webových stránek a využívání
služeb poskytovaných prostřednictvím nich,
- antivirové programy zabezpečující ochranu systému před viry a škodlivým
kódem,
- utility určené na údržbu anebo opravu chyb systému i uživatele.
Kontrolní otázky:
1. Čím se liší systémový software a aplikačního?
2. Do které kategorie programů patří antivirové programy?
Úkol k zamyšlení:
Zjisti jaká verze operačního systému je nainstalována na tvém PC nebo
notebooku, dále zjisti, jaký máš k dispozici textový editor.
Shrnutí obsahu kapitoly
Kapitola přináší základní definici software, jeho členění a definici účelu
jednotlivých skupin software. Student je schopen definovat účel operačního
systému, je schopen vyjmenovat několik variant operačních systémů. Orientuje
se v jednotlivých druzích aplikačního software.
271
Počítačové systémy
12. Komprimace dat
Cíl:
Po nastudování této kapitoly budete vědět:
• které programy považujeme za komprimační,
• jaké jsou principy komprimace dat,
• jak si vybrat pro naši potřebu ten nejvhodnější komprimační program.
A navíc proč vůbec data komprimovat.
Klíčová slova:
• bezztrátová komprimace
• ztrátová komprimace
Průvodce studiem
Většina z nás, uživatelů počítačů, se s nimi dříve či později setká. Dat je pořád
víc a víc a větších, disky a diskety nestačí, Internet je ucpaný. Ano, řeč je o
komprimačních,
archivačních
nebo
také
„pakovacích“
programech.
Komprimační programy představují nejlevnější řešení našeho problému,
protože data jednoduše stlačí do menšího objemu. Těchto programů existuje
spousta, ale jejich funkce je, jak již bylo naznačeno, stejná: zmenší velikost
uložených datových souborů. Nejednoho uživatele, který při své práci pociťuje
nutnost používat komprimační programy, trápí nezodpovězené otázky typu:
Proč pakovat soubory ( archivovat )?
Který program je nejlepší?
Co je základem komprimace a jaké algoritmy se používají?
Jak se liší komprimace textových, binárních a grafických souborů?
Co s komprimací zvuku a videa?
Na tyto i jiné otázky se Vám pokusí odpovědět studijní text, který právě držíte
v ruce. Studijní materiál je zaměřen na vysvětlení základních pojmů z oblasti
komprimace a archivace dat a rozšíří Vaše znalosti o komprimaci. Studijní text
je rozdělen do krátkých kapitol, na jejichž konci je vždy provedeno shrnutí
nejdůležitějších poznatků. Každá kapitola je doplněna kontrolními otázkami.
272
Počítačové systémy
12.1 Komprimační programy
Komprimační programy jsou programy schopné zakódovat datové soubory do
podoby, kdy je velikost těchto souborů menší ve srovnání s jejich velikostí
před komprimací. Komprimační program musí být samozřejmě schopen
dekomprimovat data do původní podoby.
Tak jako ostatní software i komprimační programy procházejí svým vývojem a
dnes nám nabízejí mnohem větší uživatelský komfort a více funkcí, než je
uvedeno v naší definici. Jednou z nich je například možnost vytváření archivů
dat složených z komprimovaných souborů, které spolu logicky souvisejí.
Odtud také pochází často užívaný termín archivační programy. Rozšiřující
funkce však nejsou v komprimačním programu nezbytně nutné. Program
označovaný za komprimační musí být schopen data alespoň komprimovat a
dekomprimovat.
A proč vlastně data komprimovat? Vždyť v dnešní době existuje velké
množství hardwaru, který je určen pro zálohování dat. Připomeňme jenom ZIP
mechaniky, páskové zálohovače se sekvenčním přístupem atd.. Většina
uživatelů však tyto možnosti nevyužívá a důvodem jsou vysoké pořizovací
náklady a navíc skutečnost, že dat určených pro zálohování není zase tak
mnoho. Na druhé straně pak uživatelé, kteří potřebují zálohovat velké množství
dat narážejí na nedostatek místa i na vysokokapacitních zálohovacích
mechanikách. Prvním důvodem, který svědčí pro komprimaci , je tedy
zálohování dat při současné úspoře místa na paměťovém médiu. Dalším
důvodem pro komprimování dat je možnost při zálohování vytvářet archivy dat
složené z komprimovaných souborů, které spolu logicky souvisí. Soubor je na
pevném disku zaznamenáván do clusterů ( alokačních jednotek ). Cluster je
nejmenší přidělená jednotka paměti na nosiči. Jeho velikost bývá různá, a to
podle konstrukce a celkové kapacity média. Typická velikost clusteru je 2 kB,
což znamená, že libovolně malý soubor zabere minimálně 2 kB. Proto je
vhodné soubory sdružovat do komprimovaných archivů. Navíc se ještě zvýší
přehlednost uložení souborů na pevném disku.
Jedním z dalších důvodů komprimace je potřeba dálkového přenosu dat.
Komprimovaná data se samozřejmě v počítačových sítích přenášejí rychleji a
tak při přenosu několikamegabytového souboru po telefonních linkách za
pomoci modemu můžeme předchozí komprimací ušetřit až několik desítek
minut. A to nemluvíme o ušetřených poplatcích za telefon. Při kratším přenosu
se také minimalizuje nebezpečí přerušení spojení během přenosu.
K výše uvedeným důvodům mluvícím jasně pro komprimaci můžeme přidat
možnost rozdělení komprimovaných souborů do bloků, které mají velikost
shodnou s kapacitou běžně používané diskety. Prakticky všechny dnes
používané komprimační programy nabízejí tuto funkci a často se jedná o
jedinou možnost, jak přenést například 3MB soubor z jednoho počítače na
druhý.
Shrnutí:
Komprimační programy jsou programy schopné zakódovat datové soubory do
podoby, kdy je velikost těchto souborů menší ve srovnání s původní velikostí.
Zároveň musí být schopny data dekódovat do původní podoby.
Pro komprimaci dat svědčí tyto důvody:
• úspora místa na paměťovém médiu,
273
Počítačové systémy
•
•
•
•
zvýšení přehlednosti uložených souborů,
zvýšení rychlosti dálkového přenosu dat,
ušetření finančních prostředků při dálkovém přenosu dat,
možnost rozdělení komprimovaných souborů do bloků požadované
velikosti.
Otázky:
Vymezte pojem komprimační program.
Představuje označení komprimační program totéž co archivační program?
Je možné MS Word považovat za komprimační program?
Jaké znáte komprimační programy?
Který komprimační program používáte a proč?
12.2 Parametry komprimačních programů a jejich testy
Tato krátká kapitola nám pomůže nalézt odpověď na základní otázku každého
uživatele komprimačních programů: „Jaký komprimační program je nejlepší?“
Seznámíte se také s pojmy kompresní poměr, rychlost komprese a dekomprese.
Při řešení tohoto problému je důležité si uvědomit, že komprimovaná data jsou
různého charakteru , a proto vyžadují rozdílný přístup ke kompresi. Je zřejmé,
že textová data se svým charakterem budou lišit od grafických a rozdílnost
těchto dat bude upřednostňovat v tom kterém případě konkrétní komprimační
algoritmy. Většinou lze předpokládat, zda datový soubor bude obsahovat
dlouhé texty stejných dat ( například v grafických souborech ) a pak je možné
použít algoritmy vyhledávající dlouhé řady dat, které jsou posléze nahrazeny
jediným symbolem. Jindy jsou zase známy pravděpodobnosti, se kterými se
v datech vyskytují jednotlivé symboly. Pak je jednou z možností použít
frekvenčně závislé kódování založené na přepisu častěji užívaných prvků
abecedy na kratší bitové posloupnosti a méně často vyskytující se prvky na
delší bitové posloupnosti. Z výše uvedených skutečností vyplývá, že neexistuje
jednoznačná odpověď na otázku, který komprimační program je nejlepší.
Každý komprimační program je založený na jednom algoritmu a ten bývá pro
posloupnosti dat určitého typu vhodnější a pro jiné pak méně vhodný. Každý
komprimační algoritmus je navržen tak, že hledá a využívá pro kompresi dat
určitý řád v uložených datech. Tímto řádem může být opakování sekvence
znaků, identifikace dlouhých bloků stejných dat a další.
O vhodnosti použitého komprimačního programu vypovídá test, který ovšem
sleduje tvz. objektivní výkonové ukazatele – parametry:
• rychlost komprese
• rychlost dekomprese
• kompresní poměr
Rychlost komprese (komprimace) je dána časem potřebným pro sbalení do
komprimované podoby. Čas potřebný pro kompresi různými komprimačními
programy se u rozsáhlých souborů liší o celé minuty, což není zanedbatelné.
Rychlost dekomprese je pak čas potřebný k rozbalení komprimovaného
souboru do původní podoby. Tento parametr je ze všech tří nejméně důležitý,
protože doba potřebná k dekompresi bývá téměř u všech komprimačních
274
Počítačové systémy
programů kratší, než doba potřebná ke kompresi. Proto tento parametr nebývá
omezujícím faktorem při výběru komprimačního programu.
Kompresní poměr je nejdůležitější a nejsledovanější. Bývá udáván v několika
různých formách, které při správné interpretaci vystihují stejnou
skutečnost.Kompresní poměr bývá udáván jako:
1. Poměr mezi velikostí komprimovaného a původního souboru. Jedná se
o procentuální vyjádření velikosti komprimovaného souboru vzhledem
k původnímu souboru. Čím je
menší hodnota procentuálního
vyjádření, tím je výsledek komprimace lepší.
2. Někdy je kompresní poměr nahrazen doplňkem předcházejícího údaje
do 100%. V tomto případě naopak čím vyšší je hodnota procent, tím je
výsledek komprimace lepší.
3. Kompresní poměr se také vyjadřuje převráceným zlomkem: velikost
dekomprimovaných dat ke komprimovaným.
Pokud kompresní program zkomprimuje soubor o původní velikosti 200kB na
50kB, je kompresní poměr 25%
Druhá forma zápisu by byla charakterizován kompresním poměrem 75%.
Poslední možností zápisu by byl kompresní poměre 4:1.
V praxi se můžeme setkat se všemi výše uvedenými typy kompresních poměrů.
Další parametr udávající výkon kompresních programů vychází z požadavku
nejlepšího kompresního poměru za přiměřený čas. Jedná se o poměr rychlost
komprimace / kompresní poměr. Tento parametr často nebývá v testech
komprimačních programů zmiňován.
Na soubor parametrů, které charakterizují výkon určitého komprimačního
programu ve vztahu k určitému souboru má kromě použitého komprimačního
algoritmu vliv mnoho dalších faktorů. Především se jedná o typ hardwaru, na
kterém byl test proveden. Z tohoto hlediska je nutné brát v úvahu například :
• taktování procesoru,
• přístupovou dobu pevného disku a jeho fragmentaci,
• velikost a přístupovou dobu paměti RAM,
• používání vyrovnávací paměti cache,
• typ operačního systému pod kterým byly komprimované soubory
testovány.
Tyto parametry obvykle neovlivní dosažený kompresní poměr, ale projeví se
na všech ostatních parametrech. Pokud má být test komprimačních programů
opravdu použitelný, měl by kromě názvu a verze testovaných komprimačních
programů obsahovat minimálně následující údaje:
• typ testovaných dat (textová, grafická,..),
• celková nekomprimovaná velikost původního souboru,
• údaj o uspořádání souborů do stromové struktury,
• typ počítače, na kterém byl test proveden,
• operační systém, na kterém byl test proveden.
Při volbě komprimačního programu se nemusíme řídit jen objektivními
výkonovými ukazateli. Neméně důležitým hlediskem je i komfort ovládání
těchto programů a další archivační funkce. Například prohlížení textových a
grafických souborů uložených v komprimovaných archivech, možnost oddělení
275
Počítačové systémy
manipulace
s jednotlivými
soubory
archivu.
Většina
moderních
komprimačních programů uživateli také nabízí volbu, zda chce vytvořit archiv
s nejlepším kompresním poměrem, nejkratší dobou komprese atd.
Shrnutí:
Vhodný komprimační program vybíráme podle typu dat určených ke
komprimaci. Data různého charakteru totiž vyžadují rozdílný přístup ke
kompresi a každý kompresní algoritmus je navržen tak, že hledá a využívá pro
kompresi dat určitý řád v uložených datech. O vhodnosti zvoleného programu
objektivně vypovídají parametry výkonu:
• rychlost komprese,
• kompresní poměr.
První dva parametry jsou ovlivňovány typem použitého hardware.
Jedním z hledisek výběru kompresního programu by měl být uživatelský
komfort ovládání těchto programů.
Úkoly:
1) Zapište kompresní poměr ve všech formách pro případ, kdy je soubor o
původní délce 400 kB zkomprimován na 160 kB.
2) Při komprimaci je dosaženo 30% kompresního poměru. Co tento údaj
znamená?
3) Interpretujte zápis kompresního poměru 5:1
12.3 Základní druhy a přístupy v kodování
Než ukončíme obecné povídání o základních principech komprimování, je
nezbytné se zmínit o druzích a přístupech v kódování. Po prostudování
následujícího textu zjistíte, jaký je rozdíl mezi ztrátovou a bezztrátovou,
fyzickou a logickou, adaptivní a neadaptivní komprimací. Zároveň si osvojíte
tyto pojmy.
Komprimační algoritmy můžeme rozdělit podle různých kritérií. V podstatě
existují dva zcela rozdílné principy komprese dat: bezztrátová a ztrátová.
Bezztrátová komprimace se používá tam, kde si nelze dovolit jakoukoliv
ztrátu dat – u binárních a textových souborů. Ztráta i jen jediného bitu u
binárního souboru vede v naprosté většině případů ke katastrofě v podobě další
nepoužitelnosti tohoto souboru. U textových a grafických situace tak kritická
není. Bezztrátovou komprimaci využívají například tyto programy: ZIP, RAR,
ARJ atd..Touto komprimací se budeme podrobněji zabývat v následujících
kapitolách.
Ztrátová komprimace se používá u souborů, u nichž nevadí ztráta dat.
Jsou to redundantní soubory (soubory s nadbytečným množstvím informací).
Jedná se především o obrázky, zvuková data a video. Obrázky mohou být
uloženy v různých formátech a vy jste si určitě už všimli, že obrázek BMP
zabírá na paměťovém médiu více místa, než obrázek ve formátu JPEG, PCX,
GIF atd.. Tyto formáty v sobě totiž zahrnují již kompresi dat. Většina obrázků
276
Počítačové systémy
převedených do digitální formy obsahuje nadbytečné informace, které není
lidské oko schopno postihnout. Lidské oko má omezenou rozlišovací schopnost
ve vztahu k barevné hloubce a k obrysovým detailům. Barvy blízko ležících
bodů průměruje. I když ztrátová komprimace vede ke „ztrátě“ nadbytečných
dat, je kvalita obrázků měřená lidským zrakem stále stejná. Náročnost obrázků
na paměť lze touto metodou snížit i 30x. Podobný způsob komprimace se
používá i zvuků a videa. U videa například často postačí uchovávat rozdíly
dvou následujících obrázků a z nich zpětně sestavovat celý film.
Kromě speciálního softwaru pro ztrátovou komprimaci využívají nedokonalosti
lidských smyslů i některá hardwarová zařízení. Ta fungují tak, že zvukovou a
obrazovou informaci, kterou lidské smysly nejsou schopny rozeznat neukládají
ani nepřenáší – ztrácejí ji cestou. Již nyní se ukazuje, že ztrátová komprese
obrazu a zvuku je velice důležitá a v budoucnosti bude ještě významnější, díky
masovému nástupu digitálních obrazových technologií (videokonference,
obrazový telefon…). Ty totiž budou správně fungovat jedině při vysoké
rychlosti přenosu a to bude zase možné jen při použití ztrátové komprimace
přenášených dat. Hardwarovými aspekty komprimace se však tento text
nezabývá.
Výše uvedené rozdělení komprimací je zásadní, ale přesto existují ještě další
kritéria dělení komprimačních algoritmů.
Všechny kompresní algoritmy převádějí data do kompaktnější formy, která má
stejnou informační hodnotu jako původní data. Tuto skutečnost zajišťuje
použití logické nebo fyzické komprimace. Rozdíl mezi nimi spočívá v tom, zda
komprimační algoritmus přihlíží k logické hodnotě komprimovaných dat a
nebo ne.
Logická komprimace používá logické substituce sekvence znaků jinou,
úspornější řadou. Například ODS – Občanská demokratická strana, ZŠ –
základní škola atd..
Fyzická komprese probíhá bez zřetele na logiku dat, se kterými pracuje.
Vytváří se při ní nová sekvence znaků, jejíž vztah k původním datům lze
rozpoznat výhradně s použitím dekompresního algoritmu. Bez jeho znalosti
nelze data dekomprimovat. Všechny dále popsané kompresní algoritmy
v tomto textu využívají fyzickou komprimaci dat.
Další kritérium rozdělení je založeno na porovnávání množství práce, která se
podle algoritmu vykoná při kompresi a dekompresi dat.
Pokud je doba potřebná pro kompresi a dekompresi dat přibližně stejná , jedná
se o symetrickou kompresi.
V opačném případě se jedná o kompresi asymetrickou. Některé algoritmy
jsou záměrně konstruovány jako asymetrické. Používanější jsou algoritmy,
jejichž práce při komprimaci je delší než při dekomprimaci. Tyto algoritmy se
používají ke komprimaci souborů, se kterými často pracujeme. Algoritmy,
které naopak využívají delší práce při dekomprimaci, se používají méně často.
Používají se především při vytváření záložních kopií dat v pravidelných
intervalech, u nichž se přepokládá, že se již s největší pravděpodobností
nebudou používat.
Podle přizpůsobení se charakteru dat se komprimační algoritmy dělí na
adaptivní a neadaptivní.
277
Počítačové systémy
Neadaptivní algoritmy jsou určeny výhradně pro komprimaci specifického
druhu dat a obvykle obsahují předdefinované slovníky nebo řetězce znaků,
jejichž pravděpodobnost výskytu v souborech dat je vysoká. Konkrétním
příkladem je Huffmanovo kódování, které bude popsáno dále. Použití
neadaptivního algoritmu na vhodný typ dat je velmi účinné co do dosaženého
kompresního poměru i co do času potřebného ke kompresi a dekompresi dat.
Adaptivní algoritmus je schopen dosáhnout určité nezávislosti na
komprimovaných datech a neobsahuje žádné statické slovníky řetězců.
Adaptivní algoritmus si buduje tyto slovníky dynamicky pro každý
komprimovaný soubor dat znovu v průběhu kódování. Příkladem takového
algoritmu je Lempel-Ziv-Welch algoritmus, jehož popis je také součástí jedné
z dalších kapitol. Adaptivní algoritmy mají širší použití, ale mají také nižší
rychlost ve srovnání s neadaptivními algoritmy.
Shrnutí:
Existují dva rozdílné principy komprimace dat: bezztrátová a ztrátová.
Bezztrátová komprimace se používá u binárních a textových souborů, u nichž
nelze připustit ztrátu dat. Ztrátová komprimace se používá pro komprimaci
obrázků, zvuku a videa, protože u těchto souborů nevadí ztráta některých dat.
Komprimační algoritmy lze dělit i podle jiných kritérií na:
Fyzické a logické - podle přihlédnutí k logické hodnotě dat.
Symetrické a asymetrické – podle práce potřebné ke kompresi a dekompresi
dat.
Adaptivní a neadaptivní – podle schopnosti přizpůsobit se charakteru dat, se
kterými pracují.
Otázky a úkoly k zamyšlení:
1) Vyjmenujte základní druhy komprimací.
2) Vysvětlete, proč ztrátová komprimace není vhodná pro komprimaci
binárních a textových souborů.
3) Vysvětlete, proč je nevhodné používat bezztrátovou komprimaci pro
kompresi zvuku a videa.
4) Vysvětlete rozdíly mezi adaptivní a neadaptivní komprimací, zhodnoťte
jejich účinnost.
5) Kdy je vhodné pro komprimaci používat asymetrické algoritmy?
6) Z jakého hlediska vychází rozdělení komprimačních algoritmů na
fyzické a logické?
7) U kterého typu komprimačních algoritmů je nutná znalost
dekomprimačního algoritmu?
8) Zkuste zařadit podle výše uvedených kritérií vám známé komprimační
programy.
Pokud se vám podařilo zodpovědět všechny výše uvedené otázky, orientujete se
dobře v základní problematice komprimačních programů a můžete přistoupit
k dalším částem studijního textu, který vám zprostředkuje konkrétnější
informace týkající se podstaty základních bezztrátových komprimačních
algoritmů. V opačném případě se ještě jednou vraťte k úvodním kapitolám.
278
Počítačové systémy
12.4 Bezztrátová komprimace
Následující kapitola vás srozumitelnou formou seznámí se základními
charakteristikami nejužívanějších bezztrátových komprimačních algoritmů a
jejich principem. Zároveň je uvede do souvislostí s vámi používanými
komprimačními programy. Jednotlivé metody jsou popsány a vysvětleny
v samostatných kapitolách a doplněny konkrétními příklady.
Bezztrátovou komprimaci (lossyless compression) využívají všechny
komprimační programy určené pro komprimaci souborů. Předpokládá se totiž,
že pro většinu souborů je nepřípustná jakákoliv ztráta dat v důsledku
komprimačního
a dekomprimačního
procesu.
Popis
konkrétních
komprimačních algoritmů začneme nejjednodušším, a to RLE algoritmem.
12.4.1 RLE (Run – length Encoding)
Run - length - Encoding označovaný zkratkou RLE je bezztrátový
algoritmus, který je do češtiny někdy překládán jako proudové kódování. Jedná
se o algoritmus, který je použitelný pro jakýkoliv druh dat, ale na jejich
charakteru závisí dosažený kompresní poměr. Ve většině případů RLE
nevykazuje tak dobrých kompresních poměrů jako složitější algoritmy, ale jeho
výhodou je snadná instalace, jednoduchost a z toho vyplývající poměrně
vysoké rychlosti komprese a dekomprese.
Základním principem komprimace RLE algoritmu je zhuštění opakovaných
znaků, které se v souboru vyskytují hned za sebou. Řetězec opakujících se
znaků se nazývá proud a ten je komprimován do formy jednoho paketu RLE.
Paket RLE vždy obsahuje dvě informace:
• proudové číslo udávající počet znaků proudu snížený o jedničku,
• proudovou hodnotu, která se shoduje s hodnotou opakujícího se znaku
v proudu.
Soubor obsahuje následující sekvenci znaků : AAAAkkRRRRRm. Zakóduje se
do podoby 3A1k4R0m. V uvedené posloupnosti znaků komprimační
algoritmus rozpozná 4 proudy a přiřadí jim čtyři pakety. Jsou to 3A, 1k, 4R,
0m.První údaj v paketu je proudové číslo a za ním je proudová hodnota.
Na příkladu vidíte, že zmenšení velikosti souboru bylo dosaženo díky
proudům, které obsahují více než dva znaky. Pokud se proud skládá jen
z jednoho znaku, pak je komprimovaný paket dokonce větší než původní proud
dat. Z této skutečnosti vyplývá, na jaká data bude tento algoritmus použitelný a
na jaká nikoliv. RLE algoritmus není vhodný pro komprimování textových
souborů a většiny binárních souborů, dále se nehodí pro komprimaci fotografií.
Metoda RLE je vhodná pro komprimaci jednoduchých obrázků s malou
barevnou hloubkou maximálně 256 barev. Takovéto obrázky vznikají
například v programu Paintbrush. U nich je možné dosáhnout kompresního
poměru 70%. ( to odpovídá komprimaci dat na 30% původní velikosti).
Protože RLE má praktický význam pro komprimaci jednoduchých obrázků
s malou barevnou hloubkou, zaměříme se při dalším popisu algoritmu
výhradně na tato grafická data. Existují tří přístupy k praktické realizaci
algoritmu RLE ve vztahu k bitovým mapám jednoduchých obrázků. Ve všech
jsou obvykle data předlohy proudově kódována sekvenčním postupem, který
279
Počítačové systémy
přistupuje k datům jako k jednorozměrnému poli dat. Bitová mapa se začíná
číst a komprimovat od levého horního rohu až do pravého dolního rohu. Při
komprimaci je vhodné udržovat informaci o koncích jednotlivých řádků (
sloupců ) bitové mapy. Tyto značky lze použít, pokud je třeba rozbalit jen část
obrázku.
Praktické přístupy se dělí podle typu základních datových prvků tvořících
proudy:
• bitová úroveň,
• bytová úroveň,
• pixelová úroveň.
Bitová úroveň rozeznává jen dva proudy znaků: proud 0 a proud 1. Paket je
tvořen jediným bytem logicky rozděleným do dvou částí. Nejvýznamnější bit
každého bytu určuje proudovou hodnotu a sedm dalších proudové číslo. Již
dříve jsme si řekli, že proudové číslo je sníženo o jednu. Důvodem je
skutečnost, že délka proudu musí být vždy v rozsahu 1 – 128 znaků, 7 bity lze
totiž zapsat číslo 0 – 127. V případě, že původní nekomprimovaná data
obsahují proud delší než 128 znaků, musí být při komprimaci rozdělen na více
proudů.
Tato metoda je prakticky účinná pouze pro monochromatické obrázky.
Pokud budeme byt s hodnotou 151 interpretovat jako paket kódování RLE na
bitové úrovni, zastupuje tento paket proud jedniček dlouhý 24 znaků. Číslo 151
v desítkové soustavě má totiž ve dvojkové soustavě vyjádření 10010111.
Nejvyšší bit je jednička a nižších sedm bitů představuje číslo 23 v desítkové
soustavě.
Bytová úroveň kóduje proudy opakujících se bytových hodnot a nevšímá si
dělení na bity nebo hranic 16bitových ( 32bitových ) slov. Paket se skládá ze
dvou bytů: první udává proudové číslo v rozsahu 0 – 255 a druhý byt
proudovou hodnotu ve stejném rozsahu. Bývá doplněn o schopnost ukládat
přesné nekódované bytové proudy do kódovaného toku dat. Metoda RLE na
úrovni bytů je vhodná pro obrázky, které jsou uloženy ve formě 1 byt na pixel.
U pixelové úrovně je jediný pixel reprezentován více než jedním bytem .
Informaci o počtu bytů je možné získat v hlavičce grafického souboru. Velikost
paketu RLE se liší podle počtu bytů na pixel.
Jestliže obrázek podporuje schéma „3 bytes per pixel“ ( tři byty na pixel ),
bude paket RLE čtyřbytový. První byt udává proudové číslo, další tři proudové
hodnoty.
Tato modifikace je vhodná pro složitější obrázky. Některé obrázky používají
pro zobrazení pixelu počet bitů, který neodpovídá celým bytům a pak je možné
RLE paket vytvářet na bitové úrovni a tím zlepšit kompresní poměr.
Existují i další modifikace metody RLE. Jednou z nich je modifikace, která se
snaží vyhnout záporné kompresi nastávající při velkém počtu jednoznakových
proudů v datech předlohy. RLE paket v tomto případě je 3 bytový: první byt
tvoří příznakovou hodnotu, druhý byt proudové číslo, třetí proudovou hodnotu.
Pokud komprimační program zjistí jedno-, dvou- nebo tříbytový proud, zapíší
se hodnoty přímo do komprimovaného toku dat. Při dekomprimaci se pak podle
280
Počítačové systémy
příznaku v 1. Bytu rozhodne, zda se paket dekóduje podle údajů proudového
čísla a hodnoty nebo se v opačném případě přímo přidá do nekomprimované
podoby souboru. Nevýhodou je vyšší kompresní poměr u některých dat. Další
problémy pak nastávají, jestliže nekódovaný tok dat obsahuje hodnotu, která se
shoduje s hodnotou vyhrazenou pro příznak.
Další modifikace RLE komprese představuje forma vertikálních replikačních
paketů nebo také pakety s opakovanými vzorkovými řádky. Tato forma se hodí
pouze na druhy dat, u nichž se předpokládá opakování celých řádků. U této
modifikace dosahujeme zlepšeného kompresního poměru vyjádřením toho, zda
se opakuje celý předchozí řádek.
Předpokládejme, že jeden řádek obrázku je složen z dat uložených do 512 bytů
a všechny pixely jsou stejné. Při dvoubytovém schématu RLE se řádek zakóduje
do 8 bytů (maximální kódovatelný proud 128 bytů). Pokud má stejnou barvu
prvních 100 řádků předlohy, zakóduje se těchto 100 řádků do 800 bytů.
Použijeme-li metodu vertikálních replikačních paketů stačí na 2. až 100. řádek
jeden paket a na celou komprimaci tedy 10 bytů. Tato metoda je využívána
grafickými formáty WordPerfect Graphics Metafile (WPG) a GEM Raster
(IMG).
Shrnutí:
RLE představuje jeden z nejjednodušších komprimačních algoritmů.
Základním principem komprimace je to, že se každá sekvence stejného znaku
původních dat uloží ve formě nesoucí informaci, o který znak se jedná
(proudová hodnota) a o počtu opakování znaku (proudové číslo).
Nevýhody:
Úzká oblast dat, na kterých tato metoda dosahuje dobré kompresní poměry.
Komprimace RLE je vhodná pouze pro jednoduché obrázky s malou barevnou
hloubkou. Nehodí se ani pro složitější obrázky ani pro textové nebo binární
soubory.
Výhody:
Jednoduchost algoritmu a jeho snadné použití vedoucí k vysoké komprimační a
dekomprimační rychlosti.
Otázky:
1) Vysvětlete základní princip RLE kódování.
2) Uveďte pro jaký typ dat je tato komprimační metoda vhodná a proč.
3) Uveďte pro jaký typ dat naopak tato metoda vhodná není a proč.
4) Popište tři konkrétní způsoby realizace RLE algoritmu.
5) Který formát obrázků využívá tohoto algoritmu?
Úkol:
4) Zakódujte řetězec znaků BBBBBaaaPPPkl RLE algoritmem. Jaká
proudová čísla a proudové hodnoty budou mít jednotlivé pakety?
12.4.2 Lempel-Ziv-Welch algoritmus
Cílem následující kapitoly je vysvětlit základ nejrozšířenějšího komprimačního
algoritmu, který používají komprimační programy (např. ARJ, PKZIP, ZOO,
LHA) i různé grafické formáty obrázků. Se známíte se také s pojmy jako
LZ77, LZ78, které označují další formy tohoto algoritmu.
281
Počítačové systémy
Základním principem Lempel-Ziv- Welch algoritmu je vyhledávání stejných
posloupností bytů. Z odkazů na tyto posloupnosti algoritmus buduje datový
slovník. Schéma komprimace je následující:
Jestliže se posloupnost bytů ve slovníku nevyskytuje je přidána do vytvářeného
slovníku a nezměněna zapsána do komprimovaného toku dat.
Jestliže se posloupnost bytů ve slovníku již nachází, zapisuje se do
komprimovaného toku dat pouze zástupná slovníková hodnota, která odpovídá
nalezené vstupní posloupnosti. Zástupná hodnota je menší než původní, a proto
dochází ke kompresi.
Dekomprese je inverzní proces, algoritmus čte komprimovaný tok dat a vytváří
si datový slovník posloupností bytů. Pro potřeby dekomprimace není
bezpodmínečně nutné uchovávat datový slovník vytvořený při komprimaci.
Existují dvě základní schémata tohoto komprimačního algoritmu. Původně
byly vytvořeny algoritmy LZ77 a LZ78 pány Abrahamem Lempelem a
Jakobem Zivem. Modifikací LZ78 pro potřeby hardwarových zařízení vznikla
dnešní podoba Lempel-Ziv-Welch algoritmu.
Komprimační část algoritmu LZ77 se pokouší hledat nejdelší opakující se
posloupnosti znaků. Pokud se taková posloupnost znaků nalezne, zapíše se jen
pomocí odkazu na předcházející výskyt řetězce. Svůj dynamický slovník
vytváří pomocí odkazů do již zkomprimovaného textu.
Řetězec „leze po železe“ je zakódován do podoby: leze po že[10,4]. Znaky
[10,4] považujeme za schématicky zapsaný ofset, který udává, že
z předcházejících deseti znaků má dekodér vybrat čtyři.
Podstatou tohoto algoritmu je použití „posuvného okna“, které obsahuje
koncovou část již přečteného a zkomprimovaného textu. V tomto okně
algoritmus vyhledává co nejdelší řetězec odpovídající řetězci na vstupu.
V kladném případě jej zakóduje v podobě odkazu, který musí obsahovat
ukazatel na začátek podřetězce a jeho délku. Aby kompresní algoritmus dosáhl
co nejlepšího kompresního poměru, musí být okno přiměřeně veliké (většinou
několik kB). Posuvné okno má dvě části: prohlížecí okno a aktuální okno. Na
počátku algoritmu odpovídá posuvné okno aktuálnímu, v posuvném okně se
pak najde co nejdelší počáteční podřetězec (předponu) řetězce z aktuálního
okna začínající v prohlížecím okně. Ten se zakóduje v podobě ukazatele na
počátek podřetězce v prohlížecím okně a jeho délku. Dvojici znaků: ukazatel,
délka se od jednotlivých znaků na výstupu rozeznává nejčastěji
prostřednictvím zápisu LZSS: <1, ukazatel,délka >, <0, jednotlivý znak>. Od
výše uvedeného algoritmu se odvozuje celá řada modifikací nazývaná třída
algoritmů LZ77.
Dekomprimace zkomprimovaného souboru touto metodou je rychlá a
jednoduchá. Když ukazatel najde ofset udávající ukazatel a délku řetězce, tento
řetězec zkomprimuje na výstup.
Metoda LZW, která patří do třídy algoritmů LZ78 používá odlišně slovníkové
odkazy.Vytváří dynamický slovník opakujících se řetězců v průběhu
komprimace a různé modifikace se liší ve způsobu vytváření tohoto slovníku.
Podstata slovníkové komprese spočívá v tom, že algoritmus postupně
282
Počítačové systémy
rozpoznává a ukládá do tabulky řetězce znaků a tyto řetězce nahrazuje ve
výstupním textu přirozenými čísly z předem definovaného intervalu.
Definice intervalu je závislá na charakteru dat. Např. při kódování ASCII je prvních
255 čísel vyhrazeno pro zobrazení samostatných znaků z původního souboru a
další čísla se přidělují nalezeným řetězcům. Přitom se vytváří tabulka již
rozeznaných řetězců, která je v paměti. Když je slovník zaplněn dříve než je
přečten celý soubor, je smazán a začíná se vytvářet znovu. Smazáním slovníku
se neztrácí žádná informace, jen se algoritmus připraví o možnost využití
smazaných odkazů. Při kompresi se často zjišťuje, zda je již nějaký řetězec ve
slovníku, a proto je součástí algoritmu i některá efektivní vyhledávací metoda.
Pro větší názornost a pro lepší pochopení algoritmu si uveďme příklad
konkrétního zakódování vstupního řetězce znaků: WEB/WEB/WEB!Běh
algoritmu začíná s prázdným slovníkem a řetězcem w obsahujícím první znak
W zdrojového souboru. Po přečtení dalšího znaku E zjistí, zda se řetězec W+E
vyskytuje ve slovníku. Pokud ne zapíše se nový odkaz na řetězec do slovníku.
Pokud řetězec obsahuje jediný znak,bude do slovníku zanesen jediný znak. Do
slovníku se vlastně zapisují čísla větší než 255. Postup vytváření výše
uvedeného řetězce je zachycen v tabulce.
Řetězec
W
E
B
/
W
WE
B
B/
W
WE
WEB
!
Přečtený znak
E
B
/
W
E
B
/
W
E
B
!
(eof)
Výstup
Nová položka ve
slovníku
W
W
E
B
/
(256)=WE
(257)=EB
(258)=B/
(259)=/W
(256)
(260)=WEB
(258)
(261)=B/W
(260)
!
(262)=WEB!
Dekompresní část algoritmu čte postupně kódy komprimovaného souboru,
zapisuje příslušné řetězce na výstup a přidává nové řetězce do slovníku. Do
slovníku je vždy přidán řetězec reprezentovaný předcházejícím kódem a první
znak z řetězce s aktuálním kódem. Pro případ, že by byl přečten kód, kterému
ještě nebyl přiřazen řetězec, je do slovníku přidán řetězec skládající se
z předcházejícího řetězce a jeho posledního znaku. Slovníky vznikající při
komprimaci i dekomprimaci jsou stejné.
Protože LZW algoritmy nemusí zdrojová data ani zkomprimovaná data
uchovávat a nezpracovávají data po blocích, využívají se také u takových
zařízení, jimiž data jen procházejí a je žádoucí, aby byla zpracovávána rychle.
283
Počítačové systémy
Shrnutí:
Skupina komprimačních programů známá pod označením Lempel-Ziv-Welch
(LZW) algoritmus je velice rozšířená jak při bezztrátové komprimaci
grafických, tak i binárních nebo textových dat. Tento typ komprese používá
například grafický formát GIF, TIFF a programy ARJ, PKZIP. LZW je také
součástí modemových standardů pro přenos dat.
Základním principem tohoto kompresního algoritmu je vyhledávání stejných
posloupností bytů v datovém souboru. Zápisem odkazů na tyto posloupnosti
dat algoritmus buduje datový slovník. Každá další výskyt takové posloupnosti
bytů se zakóduje jedním ze dvou postupů:
Odkazem na předcházející výskyt posloupnosti
Použitím slovníkového odkazu spojeného s příslušným řetězcem.
Výhody:
Velmi dobrý kompresní poměr.
Rychlá komprese i dekomprese a nevelké nároky na paměť.
Adaptivní metoda vytvářející dynamický substituční slovník. Tento slovník
není nutné ukládat pro potřeby dekomprese.
Možnost kontinuálního vysílání zkomprimovaných dat bez nutnosti čekání na
dokončení komprimace celého bloku dat.
Nevýhody:
Rychlý nárůst slovníkových kódů odkazujících na řetězce původního souboru,
což vede někdy k zaplnění paměti určené pro slovníky. Z toho vyplývá nutnost
smazání slovníku a vytváření slovníku nového, který nemůže využívat původní
odkazy. U větších slovníků pak zase narůstá doba potřebná k vyhledávání
řetězce v tabulce.
Otázky:
4) Vysvětlete podstatu LZW algoritmu.
5) Pro které typy souborů je tento komprimační algoritmus vhodný?
6) Které grafické formáty využívají LZW algoritmus?
7) Proč se tento algoritmus stal součástí modemových přenosových
standardů?
8) Které komprimační programy vycházejí z tohoto algoritmu?
9) Shrňte výhody a nevýhody LZW algoritmů.
12.4.3 Huffmanovo kódování a jemu podobné algoritmy
V závěrečné kapitole vysvětlíme podstatu posledního významného algoritmu,
který řadíme mezi bezztrátové a tím je Huffmanovo kódování. Zároveň
uvedeme další s ním příbuzné algoritmy jako jsou Shannon- Fanovo a
nejnovější aritmetické kódování. Tak jako v předchozích kapitolách vymezíme
oblast použití těchto komprimačních algoritmů a posoudíme jejich výhody a
nevýhody.
Huffmanovo kódování
Je zástupcem nejznámější skupiny algoritmů, které pracují na základě četností
znaků v kódovaných datech. Z toho je zřejmé, že tyto algoritmy jsou určeny
především pro komprimování textových souborů.
284
Počítačové systémy
Základní myšlenkou je uplatnění následujícího postupu: algoritmus zjistí
pravděpodobnosti výskytů jednotlivých znaků a každému přiřadí
jedinečný kód.
Ten má různou bitovou délku. Přiřazení jednotlivých kódů musí respektovat
požadavek na přiřazení bitově kratších kódů častěji se vyskytujícím znakům a
bitově delších kódů znakům méně častým. Pak algoritmus postupně načítá
znaky souboru a přiřazuje jim předem přiřazené kódy a zapisuje je na výstup.
Jednotlivé varianty tohoto algoritmu se liší především způsoby přiřazování
jednoznačných kódů znakům vstupního souboru.
Kódy přiřazené podle četnosti výskytu jednotlivým znakům souboru jsou
definovány binárním stromem. Vytvoření binárního stromu vysvětlíme na
konkrétním příkladu.
Komprimujeme soubor, který obsahuje pouze následující znaky: A, 8, 0,
K, R. Při analýze pravděpodobnosti výskytu těchto znaků byly zjištěny
tyto údaje:
Znak A se v souboru vyskytuje s pravděpodobností 50%.
Znak 8 se v souboru vyskytuje s pravděpodobností 12,5%.
Znak 0 se v souboru vyskytuje s pravděpodobností 6,25%.
Znak K se v souboru vyskytuje s pravděpodobností 6,25%.
Znak R se v souboru vyskytuje s pravděpodobností 25%.
Binární strom vytváříme od koncových listů stromu, tj. od znaků s nejmenší
pravděpodobností. Vybereme dva znaky s nejmenší pravděpodobností a
uděláme z nich dva koncové listy stromu. Pak vybereme ze zbývajících zase
znak s nejnižší pravděpodobností, uděláme z něj list a tak postupujeme dále až
ke kořeni stromu. Každý uzel binárního stromu představuje součet
pravděpodobností všech listů ve struktuře pod ním. Kódy jednotlivým znakům
se přiřazují postupem po stromové struktuře, při pohybu od uzlu k uzlu
zaznamenáváme jedničku vždy při cestě vpravo dolů a nulu při cestě vlevo
dolů.
Podle binárního stromu přiřadíme následující kódy: A-1, 8-011, 0-0100, K0101, R-00.
Uvedeným způsobem je možné binárních stromů vytvořit více, ale výsledná
komprimovaná délka souboru bude vždy stejná, protože počet bitů přiřazených
jednotlivým znakům bude ve všech případech stejný. Dekomprese vyžaduje
znalost původního binárního stromu, ale je jednoduchá. Algoritmus čte kód bit
285
Počítačové systémy
po bitu a podle hodnoty bitu postupuje po binárním stromu od kořene až po list
představující znak.
Nevýhodou tohoto algoritmu je skutečnost, že binární strom je možné bez
problémů sestavit jen v případě, že pravděpodobnosti výskytu všech
znaků vstupního souboru jsou mocninou čísla 1/2. Jenom v tomto případě
totiž každé vyšší patro stromu obsahuje uzel s dvojnásobnou pravděpodobností
výskytu proti listům umístěným o patro níž. Jen při dodržení této zásady je při
komprimaci dosaženo ideálního kompresního poměru. Ve skutečnosti tato
podmínka není splněna v podstatě nikdy, a proto se pravděpodobnosti výskytu
znaků zaokrouhlují. Při zaokrouhlování však může dojít k poměrně velkým
nepřesnostem. Například znak s pravděpodobností 22% musí být zaokrouhlen
na 12,5%. Tyto nepřesnosti pak zhoršují kompresní poměr a algoritmus tvorba
binárního stromu se stává složitější.
12.4.4 Shannon-Fanovo kódování
Je podobné Huffmanovu kódování. Rozdíl mezi nimi spočívá v tvorbě
binárního stromu. Konstrukce binárního stromu je v tomto případě jednodušší a
dá se shrnout do dvou kroků:
• Soubor symbolů rozděl na dvě skupiny se stejnou nebo co
nejpodobnější pravděpodobností výskytu znaků v obou skupinách.
První skupině se přiřadí symbol binární nuly a druhé binární jedničky.
V předchozím případu by po takovém rozdělení první skupina
obsahovala znak A a druhá skupina znaky 8, 0, K, R.
• Opakuj první krok na všech dosud vytvořených skupinách tak dlouho,
až každá skupina bude obsahovat jen jediný znak.
Při vytváření stromu v Shannon-Fanově kódování se postupuje naopak - od
kořene k listům a v některých případech může použít několik bitů navíc,
zatímco Huffmanova metoda při správném použití generuje kódy optimální.
V Shannen-Fanově variantě je kód příslušející ke znaku A reprezentován
jedním bitem a všem ostatním znakům je přiřazen kód tříbitový. Tak se vlastně
smaže rozdíl v pravděpodobnosti výskytu znaku 5% a 22%.
286
Počítačové systémy
12.4.5 Aritmetické kódování
Aritmetické kódování odstraňuje nedostatek Huffmanova kódování, které
zajišťuje optimální kompresní poměr pouze pro pravděpodobnosti jednotlivých
znaků vyjádřených jako mocniny 1/2. Aritmetické kódování odstraňuje tento
nedostatek tak, že celou zprávu kóduje jako jediné kódové slovo, jako číslo
z intervalu 〈 0,1 ). Na začátku kódování uvažujeme celý interval. Jak se zpráva
prodlužuje, zužujeme postupně interval a dolní a horní mez nově vytvářeného
intervalu se k sobě přibližují. Nakonec stačí zapsat jediné číslo z výsledného
intervalu a to samo o sobě reprezentuje celou zprávu. Algoritmus komprese
můžeme zapsat do několika kroků:
• Zjištění pravděpodobnosti výskytu jednotlivých znaků ve zdrojovém
souboru.
• Rozdělení intervalu na podintervaly, jejichž vzájemný poměr velikostí
odpovídá poměru pravděpodobností jednotlivých znaků.
• Uložení tohoto základního intervalu.
• Vlastní komprese víceznakové zprávy.Ta bude probíhat tak, že se
nejprve vybere první znak vstupního souboru a ten zúží interval 〈 0,1)
na podinterval příslušející tomuto znaku. Tento podinterval bude dělen
stejně jako první podle načteného znaku.Postup se opakuje tak dlouho,
až bude načten poslední znak.
• Posledním bodem je vybrání kteréhokoliv zlomku náležejícího do
výsledného intervalu a jeho převedení do binární formy.
Pomocí aritmetického kódování zakódujte tříbytovou zprávu obsahující znaky
„XXY“.
Podle prvního bodu zjistíme , že zpráva obsahuje pouze dva znaky.
Pravděpodobnost výskytu znaku X je 2/3, pravděpodobnost znaku Y je 1/3.
V dalším kroku rozdělíme v tomto poměru interval 〈 0,1) a zapamatujeme si
toto rozdělení.
Načteme první znak souboru a zjemníme původní interval na podinterval 〈
0,2/3). Ten opět rozdělíme v poměru 2:1 a dělícím bodem bude v tomto případě
bod 4/9. Načteme další znak, zase X, které podinterval na 〈 0,4/9). Ten zase
rozdělíme v poměru 2:1, dělícím bodem je 8/27. Posledním znakem je písmeno
Y a to zase zúží interval na 〈8/27;4/9). Ještě musíme vybrat hodnotu
z intervalu, která převedena do binární formy bude reprezentovat vstupní
řetězec. Vybereme číslo 3/8.
V následujícím diagramu jsou zobrazeny všechny možnosti kódování našeho
řetězce:
287
Počítačové systémy
Dekomprimace bude vypadat následovně: Načteme kód 3/8, který reprezentuje
vstupní hodnotu znaku. Tento zlomek patří do intervalu 〈 0,2/3), kterému
odpovídá znak X.Zapíšeme hodnotu na výstup. Nová hodnota kódu bude (3/80)/(2/3)=4/9. 4/9 náleží opět do intervalu 〈0,2/3).Druhý znak na výstupu bude
zase X. Další hodnota kódu bude (4/9-0)/(2/3)=2/3. Zlomek 2/3 leží
v podintervalu 〈2/3;1) a odpovídá znaku Y. Víme, že původní řetězec měl tři
znaky, a proto dekomprimace končí.
Pro potřeby dekomprimace je nutné předat dekomprimační části
algoritmu také poměry pravděpodobností jednotlivých znaků a počet
znaků původní zprávy. Dekomprese pak začíná načtením rozdělení intervalu
〈0,1) na podintervaly podle poměru pravděpodobností výskytu jednotlivých
znaků a počtu znaků.Další postup bude odpovídat následujícím krokům:
• Vybereme podinterval intervalu 〈 0,1), tak aby kód náležel do tohoto
intervalu.
• Na výstup zapíšeme znak náležející svou pravděpodobností do tohoto
intervalu.
Převádění aritmetického kódování do počítačové praxe je náročné a potýká se
s řadou problémů, z nichž nejzávažnější je potřeba konverze reálných čísel na
bitové vyjádření. Tyto operace musí být emulované softwarově a důsledkem je
poměrně dlouhá doba zpracování. Dalším problémem je zjištění
pravděpodobnosti výskytu jednotlivých znaků, což se řeší sekvenčním
načítáním celého souboru a vypočtením pravděpodobností z absolutního počtu
výskytů. Pokud se bude jednat o textové soubory, je možno využít statických
tabulek frekvencí jednotlivých znaků v různých jazycích.
Shrnutí:
Huffmanovo kódování, Shannon-Fanovo kódování a aritmetické kódování
tvoří rodinu příbuzných komprimačních algoritmů založených na využití
pravděpodobností výskytu jednotlivých znaků nebo jejich posloupností
v komprimovaných datech. Žádná z těchto metod se příliš nepoužívá
samostatně, ale dosahuje velmi dobrých výsledků v kombinaci s některou
288
Počítačové systémy
slovníkovou metodou (LZ77, LZ78, LZW). Samostatně má toto kódování
praktický význam především při použití na textových souborech.
Aritmetické kódování svým principem obchází nevýhodu Huffmanova a
Shannon-Fanova kódování, která dosahují optimálního kompresního poměru
pouze při hodnotách pravděpodobností výskytu jednotlivých znaků, které jsou
celočíselnou mocninou čísla 1/2.
Výhody:
Velmi dobré kompresní poměry ve spojení se slovníkovou metodou.
Poměrně jednoduchý algoritmus dekomprimace.
Nevýhody:
Huffmanovo a Shannon-Fanovo kódování je nejefektivnější při hodnotách
pravděpodobností výskytu jednotlivých znaků, které jsou celočíselnou
mocninou čísla 1/2.
Aritmetické kódování má vysoké nároky na technické vybavení počítače.
U aritmetického kódování je nutná softwarová manipulace s čísly o desetinném
rozvoji na 20-30 desetinných míst, přitom je nutné vyvarovat se jakéhokoli
zaokrouhlování – relativně dlouhá komprese.
Otázky:
1) Vysvětlete podstatu Huffmanova kódování.
2) Čím se liší Huffmanovo kódování od Shannon-Fanova kódování?
3) Pro jakou komprimaci dat se tyto algoritmy využívají?
4) Vysvětlete podstatu aritmetického kódování .
5) Shrňte nevýhody aritmetického kódování.
Korespondenční úkoly:
Zpracujte krátké pojednání srovnávající komprimační algoritmy bezztrátové
komprese. Zhodnoťte také výhody a nevýhody těchto algoritmů a jejich využití
ve známých komprimačních programech. Soubor zkomprimujte v programu
WinZIP.
Vyberte libovolný textový a grafický soubor, zkomprimujte je ve dvou
odlišných komprimačních programech a porovnejte jejich výkonové parametry.
Literatura:
• David Morkes – Komprimační a archivační programy
Řešení a odpovědi na otázky:
1. otázka
a)Kompresní poměr je 40 %.
b)Kompresní poměr je 60%.
c)Kompresní poměr je 5:2.
2. otázka
30% kompresní poměr znamená,že původní soubor byl zkomprimován na 30%
své původní délky.
3. otázka
Původní délka nekomprimovaného souboru je 5x větší.
4.. otázka
289
Počítačové systémy
Soubor se zakóduje do podoby 4B2a2P0k0l. V uvedené posloupnosti znaků
komprimační algoritmus rozpozná 5 proudů a přiřadí jim 5 paketů. První údaj
je proudové číslo a druhý proudová hodnota.
12.5 Ztrátová komprimace
Cíl:
Cíl této kapitoly směřuje k tomu, aby si zájemce osvojil základní pojmy
týkající se ztrátové komprimace, získal přehled o metodách a standardech ,
pochopil možnosti využití ztrátové komprimace v praxi. Cílem není podrobný
popis jednotlivých algoritmů a schémat.
Malé opakování:
Použití a přenos běžně používaných informací , jako je zvuk, obraz a video v
digitálním tvaru vyžaduje použití rozsáhlých pamětí a velkých šířek
přenosového pásma. To vše má za následek zvyšování nákladů na uchovávání
a přenos informací v této podobě. Máme-li zájem o výhody digitálního tvaru
informace (lépe se uchovává) máme k dispozici právě technologii komprimace.
Komprimace umožňuje efektivní digitální reprezentaci zdrojových signálů
jako je text, zvuk, obraz i video, použitím redukovaného počtu prvků digitální
informace (bitů) , než má originál. Pokud má být použití komprimace efektivní,
musí umožňovat reprodukci komprimované informace v požadované kvalitě.
Požadovaná kvalita může být v intervalu od požadavku úplné rekonstrukce
původní informace ( např. textové), až po omezení přenášeného frekvenčního
pásma (zvuková informace), počtu zobrazovaných barev (obrazová informace
, video ) nebo počtu rozlišitelných zobrazovacích prvků informace (obraz,
video, dynamika zvukového signálu).
Tedy zjednodušeně - komprimace je metodou efektivní
reprezentace
zdrojového signálu v digitálním tvaru nejnižším možným počtem bitů při
zachování požadavku přijatelné ztráty věrnosti.
Metoda komprimace může být bezztrátová ( je možné dokonale rekonstruovat
původní signál zdroje informací) anebo ztrátová. Při ztrátové komprimaci
vycházíme obvykle z modelu vnímání informace uživatelem a podle
požadavků na kvalitu, resp. rozsahu vnímání, redukujeme objem přenášené
informace. V tomto případě zpětná rekonstrukce signálu není možná. Na druhé
straně tyto metody umožňují dosáhnout zajímavých komprimačních poměrů, z
tohoto důvodu se používají pro paměťově náročná média jako je video nebo
zvuk.
12.5.1 Metody ztrátové komprese obrazu
JPEG
Jedna z nejpokrokovějších metod ve ztrátové kompresi redundantních
grafických předloh. Standardizační skupina: Joint Photografphic Experts
Group komise pro standardy pracující pod International Standard Organization
(ISO).
Oficiální název : digitální komprimace a kódování obrázků se spojitým
tónováním.
290
Počítačové systémy
Nejedná se o samotný přesně definovaný algoritmus. Je to sada kompresních
metod, kterou je možno přizpůsobit konkrétním požadavkům uživatele.
Komprimační technologie je založena na faktu, že lidské oko dokáže hůře
rozeznat malé změny barev blízkých bodů, než rozdíly v intenzitě a jasu, proto
je vhodnější pro barevné obrázky, než pro různé stupně šedi.
Vlastnosti:
• Je vhodný ke kompresi složitých barevných grafických předloh
(fotografie s velkou barevnou hloubkou - typicky 24 bitů na pixel ( 16
mil. barev), kompresní poměr je pak běžně 20:1, i bez vizuální újmy na
kvalitě obrázku. uvedený kompresní poměr se týká pouze digitálních
fotografií ( tedy obrázků s rozmanitou skladbou co se týká barevnosti i
drobných detailů), horších výsledků se dosahuje pro černobílé
fotografie - lze rozlišit pouze odstíny šedi.
• Není vhodný pro jednoduché vektorové obrázky, kde dochází ke
střídání málo barev s jednobarevným pozadím (např.Malování ve
Windows) zde JPG dosahuje nejhorších výsledků (zanechává na
jednobarevném pozadí viditelné artefakty, které dále degradují
obrázek).
Pro jednoduché vektorové obrázky je vhodnější použít některý z
grafických formátů - které využívají jednoduché bezeztrátové metody
komprese. Většinou pracují s barevnou hloubkou do 8 bitů na pixel
(256) barev .
• Není vhodný pro černobílé kresby, protože nemají žádnou z grafických
vlastností , které jsou podmínkou úspěšné komprese - vyžaduje alespoň
16 odstínů šedé ( 4 bity na pixel).
Např. GIF je bezeztrátový až do 256 odstínů šedé, zatímco JPG nikoli.
Ale barevná fotografie exportovaná například do formátu GIF tedy
nejdříve ztratí
většinu své barevné hloubky, přičemž dosáhne
kompresního poměru 3:1, GIF používá bezztrátovou kompresní metodu
Lempel-Ziv- Welsh (LZW) , která zvýší kompresní poměr průměru na
konečnou hodnotu 5:1. Ve srovnání s kompresním poměrem 20:1 je to
velice málo a ještě dochází ke ztrátám barevné informace.
Kompresní poměry od 30:1 mívají nevhodnou kvalitu - vhodné pouze
jako náhledy pro knihovny.
• Q faktor - možnost volby nastavení kvality obrázku po kompresi.
Hodnoty se pohybují od 1 do 100. Čím menší je hodnota Q faktoru, tím
je lepší kompresní poměr, ale za cenu horší kvality obrázku. Cílem je
rozumný kompromis.
• Vysokých kompresních poměrů dosahuje díky redudantnosti dat.
• Nebezpečí degradace obrázku ( hromadění "ztrátovosti") při opakované
kompresi a dekompresi lze snížit tak, že při potřebě udělat úpravy v
takovém obrázku ( JPEG) jej stačí vyexportovat se stejným Q faktorem,
s jakým byl obrázek uložen dříve.
Co je příčinou zhoršení kvality obrázku při malé hodnotě Q faktoru?
(Ztrátovost metody JPEG.)
291
Počítačové systémy
12.5.2 Druhy obrázků JPEG
JPEG základní
Základní verze kompresního schématu JPEG funguje tak, že celý obrázek je
dekomprimován z formátu JPEG během jediného skenu od horního k dolnímu
okraji obrázku.
JPEG progresivní
Progresivní JPEG je určen speciálně pro publikování na stránkách WWW celý
obrázek se zobrazuje v několika po sobě následujících skenovacích přebězích,
během nichž se zlepšuje kvalita obrázku-výhoda k prvnímu náhledu na celý
obrázek postačí zpracování malého zlomku celkových dat kódujících původní
grafickou předlohu. Je výhodný pro dial-up připojení k server WWW. Jako
určitá nevýhoda se jeví fakt, že při každém přeběhu musí počítač provést
prakticky stejné množství matematických operací, jako při jediném přeběhu u
základního JPEG. Při dnešních výkonech počítačů je limitujícím faktorem
přenosová rychlost modemů. Pokud se data na dekodéru objevují dostatečně
rychle, pak lze dekodér upravit tak, že přeskakuje některé zobrazovací přeběhy.
Tzn., že ani majitelé rychlých připojení k Internetu. Nebudou trpět větší
matematickou náročností při dekódování předlohy.
12.5.3 Kompresní algoritmus JPEG
Skládá se z následujících částí:
Transformace barev
Snímky se převedou do barevného modelu YUV (nebo YcbCr atd. ) , kde je
samostatně uchovávána jasová ( Y ) a dvě barvonosné složky (U a V) . Tento
mód je pro další zpracování daleko vhodnější než obvykle v počítači užívaný
mód RGB. Důvodem je již zmíněná vlastnost lidského oka lépe rozeznávat
změny v intenzitě (jasu ) a nikoli malé změny barvy.
Redukce barev
Pro zmenšení objemu obrazových dat se používá tzv. podvzorkování barev.
Jasové složky se ponechávají beze změny, ale barevné složky jsou redukovány
v poměru 2:1 v horizontálním nebo 1:1 (beze změny) ve vertikálním směru.
Snížení počtu barev je prováděno průměrováním na menší počet hodnot.
Podvzorkování barev je vhodné především u složitých barevných předloh.
Diskrétní kosinová transformace
Obraz se rozdělí do čtvercových oblastí 8x8 bodů a na každou takovou oblast
se aplikuje diskrétní kosinová transformace. Tato transformace v podstatě
převede amplitudovou informaci na informaci frekvenční, u které lze
jednoduše rozlišit, které části informace jsou pro danou oblast obrazu
dominantní (nižší frekvence), a které části popisují pouze jemné detaily (vyšší
frekvence). Získáme tak opět matice 8x8. Na rozdíl od původních matic, kde
byla obrazová informace rozložena rovnoměrně ( pro každý pixel jsme znali
jeho barevnou hodnotu), po aplikování transformace se informace s největším
vlivem dostaly do levého horního rohu a se stoupající vzdáleností od něj
důležitost informací klesá. Tím se dominantní a důležitější složky obrazu
292
Počítačové systémy
reprezentované nižšími frekvencemi oddělí od drobných detailů (vyšších
frekvencí) a obraz se tak připraví k další redukci vypuštěním těchto drobných
detailů.
Kvantifikace
Až do této fáze se v úpravách obrazu jednalo o vratné operace a nedocházelo
(kromě podvzorkování barev) ke ztrátě informací. Nyní přichází fundamentální
krok: provedením kvantifikace dochází k nevratným změnám, proto je
komprese JPEG nazývána kompresí ztrátovou. Každá ze 64 frekvencí
jednotlivých bloků po diskrétní kosinové transformaci se vydělí kvantifikační
koeficienty (které jsou součástí předem připravených kvantifikačních matic) a
zaokrouhlí na celá čísla. Podle volby kvantifikační matice můžeme ovlivnit
stupeň komprese a tím i výslednou kvalitu obrázku.
Kódování
Po provedení kvantifikace dostaneme řídkou matici, která kromě několika
koeficientů v levém horním rohu obsahuje samé nuly. Tuto matici převedeme
do posloupnosti čísel, přičemž postupuje po diagonálách od levého horního k
pravému dolnímu rohu. Takto získaná posloupnost se zakóduje Huffmanovým
nebo aritmetickým kódováním (viz. bezeztrátová komprimace). V části
kódování nedochází tedy nedochází k další ztrátě informací.
Konečná fáze
Pod pojmem konečné fáze se rozumí přidání hlavičky ke komprimovaným
datům. Aby dekompresor mohl správně rekonstruovat původní grafická data,
je nutné zahrnout do hlavičky kvantifikační tabulku a tabulku Huffmanových
kódů.
Dekomprese
Při dekompresi JPEG se požívá inverzního postupu. Vzhledem k tomu, že
inverzní postup není z matematického hlediska o moc jednodušší, nebývá doba
potřebná pro dekompresi o mnoho kratší než při původním kódovacím procesu.
Dokážete odpovědět?
1. Jak se liší základní a progresivní JPEG ?
2. Popište kompresní algoritmus JPEG.
3. Je pravda že JPEG je velmi vhodný pro jednoduché vektorové
obrázky ?
Shrnutí
Metoda kódování grafických předloh JPEG je vhodná pro kompresi složitých
obrázků s velkou barevnou hloubkou. Jedná se o ztrát. kompresi, která ke
zlepšení kompresního poměru využívá redundanci grafických dat způsobenou
nedokonalým vjemem lidského oka. Pro odlišení drobných detailů (jež lze při
komprimaci "ztratit") od fundamentálních tvarů v obrázcích se požívá diskrétní
kosinová transformace.
Výhody:
Mnohem lepší kompresní poměr než u bezztrátové komprese. Díky výbornému
kompresnímu poměru velice vhodný formát pro publikaci obrázků na
293
Počítačové systémy
stránkách WWW. Progresivní forma standardu JPEG je vhodná i pro uživatele
s pomalým připojením přes modem.
Nevýhody:
Nevhodný pro jednoduché barevné předlohy s rovnými ostrými barevnými
hranami a velkými jednobarevnými plochami. Poměrně značná složitost
komprimačního a dekomprimačního algoritmu promítající se do poměrně
dlouhé doby zpracování.
12.5.4 Vlnková transformace (wavelet transfomation)
obecně se předpokládá, že se jedná o příští standard ve ztrátové kompresi
obrazu,
• metoda komprese obrazu je založena na matematické transformaci obrazu
(je méně náročná na paměť),
• Obnovení původního obrazu se děje inverzní matematickou transformací.
Zjednodušeně lze k výkladu použít tzv. Haarovu transformaci. Je to
matematická transformace do jiného ortogonálního prostoru ( podobně jako
diskrétní Fourierova transformace), kde bázovými funkcemi je množina funkcí,
které se podobají obdélníkovým pulsům viz obrázek.
•
Množina funkcí pro osmiprvkovou 1D Haarovu transformaci
Popis
a),b),c)d) jsou určeny pro zakódování nejmenších detailů v nejjemnějším
rozlišení obrazu.Pomocí dalších dvou funkcí - označených e),f) se budou
kódovat hrubší detaily obrazu. Funkce označená g) se použije pro kódování
nejhrubších změn při malém rozlišení obrazu a za pomoci poslední funkce h)
se bude kódovat průměrná hodnota celého obrazu.
Nyní předpokládejte, že chceme udělat diskrétně vzorkový obraz spojité funkce.
Lze to provést skenováním této funkce za použití postupného "vyclonění "funkcí
[sin(x)/x] .
Stejného výsledku lze dosáhnout, pokud začneme s vysokým rozlišením již
diskrétně vzorkovaného obrazu funkce, který prakticky splývá s funkcí spojitou.
Diferencováním obrazů při různých rozlišeních lze sestavit množinu obrazů
funkce ukazující skokové změny při různých rozlišeních Zištným složením všech
takto vytvořených obrazů potom získáme původní funkci ( nebo grafický
obrázek).
294
Počítačové systémy
Jedná se vlastně o expanzi dat: pokud začínáte s obrázkem 1024x1024 bodů,
dostanete př. obrázek 64x64 bodů nejhorším rozlišením a další diferencované
obrázky o velikosti 128x128 bodů, 512x512 bodů a poslední o rozměrech
1024x1024 bodů.
Pokud se pozorně zamyslíte nad systémem, kterým byla tato množina obrázků
konstruována, uvědomíte si, že všechny obrázky budou obsahovat znatelnou
redundanci - většina hodnot v obrázcích se bude pohybovat okolo nuly.Lze tedy
(na základě znalostí použitého systému, jakým jsme sestavili jednotlivé
obrázky) sestavit množinu funkcí na kterékoli úrovni rozlišení tak, že jejich
celková hodnota ze všech vyšších úrovní bude nula. Tím jsme sestavili
ortonormální množinu bázových funkcí pro transformaci obrazu. Matematická
transformace uskutečněná za pomoci této množiny transformačních funkcí se
nazývá vlnková transformace (wavelet transformation).
Taková transformace se trochu podobá Haarově transformaci s tím rozdílem,
že obdélníkové funkce byly nahrazeny symetrickými funkcemi, které v
nekonečnu spojitě limitují k nule. (Haarovy funkce díky svému obdélníkovému
tvaru dosahují nuly ostře a nikoli postupně. )
12.5.5 Fraktální komprese (Fractal Image Compression)
•
•
•
Fraktální komprese obrazu patří mezi další rozvíjející se komprimační
techniky. Jedná se také o ztrátovou komprimaci redundantních dat, která je
vhodná (jako všechny ztrátové algoritmy) pro složité předlohy s velkou
barevnou hloubkou.
Fraktální geometrii lze ve stručnosti jedinou větou charakterizovat jako
geometrii, která se svými tvary a hraničními čarami nepodobá klasické
geometrii rovných čar a hladkých povrchů, ale spíše geometrii stromů,
mraků či hor.
Počátky fraktální geometrie, na jejímž základě se fraktální komprese
obrazu vyvinula, spadají do roku 1977.
Rozšiřující učivo
• Matematický popis takové geometrie se opírá o teorii iteračních funkcí
(Iterated Function Theory) a především systémy iteračních funkcí
(Iterated Functions Systems), které podal Michael Barnsley v bibli
fraktální geometrie Fractals Everywhere .Kniha obsahuje i důkaz teorému
známého jako Callage Theorem, který říká, jak musí vypadat sytém
iteračních funkcí , aby tyto funkce mohly reprezentovat obrázek.
• Od této chvíle se myšlenky začaly obracet směrem k reprezentaci"
přírodě se podobajících obrázků " za pomoci systému iteračních funkcí a
k otázce, zda by tato metoda nemohla sloužit ke kompresi takových
grafických předloh.k tomu bylo nejprve nutné vyřešit problém zpětné
rekonstrukce obrazu ze systému iteračních funkcí. Barnsley, vyzbrojen
znalostí svého Callage Theoremu, publikoval řešení v roce 1988.
• Řešení však mělo stále několik drobných nevýhod: Zakódování
barevného obrázku trvalo přibližně 100 hodin, dekódování okolo 30ti
minut a oba tyto procesy byly natolik složité, že u nich byla nezbytná
asistence lidského operátora - proces se stále nedařilo zautomatizovat.
295
Počítačové systémy
Řešení na sebe nechalo čekat až do roku 1992, kdy Arnaut Jacquin publikoval
první praktický algoritmus fraktální komprese grafických dat.
Tento algoritmus lze metaforicky přirovnat ke kopírce, která pracuje jako
klasická kopírka s několika odlišnostmi. Odlišnosti: v kopírce systém čoček
způsobuje, že výstupem z kopírky jsou vícenásobné kopie originálu. Systém
čoček zmenšuje originál.
V kopírce funguje zpětná vazby tak, že výstup z kopírky se zároveň stává
vstupem pro další stupeň "kopírování". Původním vstupem může být cokoli.
12.5.6 Skalární a vektorová kvantifikace
•
•
•
Není samostatnou formou ztrátové komprese, většinou se používá ve
spojení s jinými metodami.
Skalární kvantifikace spočívá v tom, že skalární hodnota je reprezentována
fixní podmnožinou bitů (Např. u obrázku s barevnou hloubkou 16 bitů na
pixel reprezentujeme každý pixel pouze významnější osmicí bitů, dochází
ke komprimaci obrazu v poměru 2:1 za cenu ztráty barevné informace.).
Vektorová kvantifikace se zakládá na reprezentaci malých polí hodnot.
(např. barevný obrázek může být reprezentován 2D polem tripletů - hodnot
RGB. Ve většině obrázků nevyužívají tyto triplety celý barevný prostor
RGB, ale mají tendenci koncentrovat barvy do určitých částí obrázků. Pro
obrázek lesa se vybere relativně malá oblast a v ní aproximovat každý
triplet jednou reprezentativní barvou -zelenou. Triplet tak degeneruje ze tří
bajtů na jediný bajt, za cenu rozumné ztráty barevné informace.
12.5.7 Metody ztrátové komprese videa a audiosignálu
MPEG
Moving Picture Expert Group, komise, která se zabývá vývojem standardů pro
komprimaci videa a připojeného audiosignálu. Skupina pracuje pod organizací
ISO.
Normy pro kompresi videa (podle různých oblastí využití.)
a) MPEG - 1
Tato nejpoužívanější norma je navržena s ohledem na technologii CD
tak, že nejvyšší datový tok je až 1,5Mb/s. v principu je norma MPEG–1
definována až do velikosti obrázku 4095x4095x60 (60 snímků za
sekundu).
Pracuje s neprokládanými celými snímky.
Skládá se ze čtyř částí:
- IS 11172-1 popisuje synchronizaci a multiplexaci videa i zvukového
signálu
- IS 11172-2 popisuje kompresi neprokládaného videosignálu
- IS 11172-3 popisuje kompresi připojeného audiosignálu
296
Počítačové systémy
-
IS 11172-4 popisuje testování shody přenesených dat s původnímu
b) MPEG - 2
Tato forma je navržen s ohledem na využití v dálkových a satelitních
přenosech signálu při zachování televizní kvality. Umožňuje rozlišení
až 1638x1638 bodů, omezení je aby výška i šířka snímku byly dělitelné
16, pro lepší rozdělení na oblasti při komprimaci.
Vedle neprokládaných snímků dovoluje také použití prokládaných
snímků - výhoda pro použití u televizních přijímačů, které právě
prokládání obrazu používají.
c) MPEG - 3
Původně myšlena jako podpora HDTV , tedy televize s vysokým
rozlišením, ale toto pokrývá po úpravách i MPEG -2. Od normy se
upustilo.
d) MPEG - 4
Na rozdíl od rostoucích požadavků na datový tok v předcházejících
normách je norma
MPEG - 4 definována pro přenos videa a připojeného audiosignálu po
pomalých linkách s rychlostí od 4800 do 64000 bitů/s, tedy převážně
po modemech .Tato rychlost je velice malá a MPEG - 4 proto vychází z
rozlišení 176x144 bodů, při 10 snímcích za sekundu.
Kompresi a přenos dat, videosekvencí a audiosignálů je možno řešit buď
softwarově nebo hardwarově.
Softwarové řešení je vždy levnější, má však značně vysoké nároky na
výpočetní výkon počítače. Je poměrně vhodné pro amatérské využití,
především tam, kde se pracuje s menšími objemy dat.
Hardwarové řešení je rychlejší, nevyžaduje tak výkonný počítač, jediným jeho
nedostatkem je relativně vyšší cena. Pro profesionální využití je tato investice
nutná protože zatím co hardwarová komprese videa je možná v reálném čase,
softwarová komprese videosouboru zabere i na výkonném počítači často
mnohonásobně delší dobu, než je délka přehrání výsledného videosouboru.
Shrnutí MPEG:
MPEG je ztrátový kompresní standard pro uchovávání a
digitalizovaných videosekvencí snímků a připojeného audiosignálu .
přenos
Existují tři normy
• MPEG - 1 vytvořený s ohledem na přenosové rychlosti a využití v
souvislosti s technologií CD
• MPEG - 2 pro využití při dálkových a satelitních přenosech vysokou
rychlostí. Na rozdíl od MPEG - 1 je schopen pracovat s prokládaným
videosignálem.
• MPEG - 4 navržen pro použití na pomalých (především modemových
linkách)
Zatímco standard MPEG - 1 je zatím a možná i pro budoucnost vyhovující, pro
MPEG - 2 stále není nalezen nejvýhodnější algoritmus a tato norma není ještě
plně standardizována.
297
Počítačové systémy
Pro přenos audio signálu v normě MPEG - 1 slouží tři "vrstvy "nazývané Layer
1 až 3. I komprese zvuku je ztrátová a lze při ní dosáhnout kompresních
poměrů až 100:1. U nejsložitějšího záznamu pomocí vrstvy Layer 3 lze
dosáhnou kompresního poměru až 1:12 při zachování kvality běžného audio
CD.
Výhody:
Možnost ztrátové komprese přináší velkou výhodu digitalizovaného videa a
audia proti oproti běžným analogovým technologiím.
Při kompresi videosnímků je možné použít tzv. pohybové vektory udávající,
jak se změnil snímek oproti jinému snímku sekvence. Není tedy nutné každý
snímek videa kódovat jako statický - to je výhoda, která umožňuje dosáhnout
ještě lepších kompresních poměrů.
Nevýhody:
Samotná komprimace videa je složitým procesem jak na paměť, tak i na
početní výkon počítače. Ačkoliv dekódování (přehrávání ) je mnohonásobně
jednodušší, i zde jsou paměťové nároky a především početní výkon počítače
limitující pro čistě softwarové zpracování dat ve formátu MPEG.
K dosažení profesionálních výsledků v této oblasti je nezbytné využít přídavné
HW zařízení ( speciální karty pro přehrávání videa).
Literatura:
1. Morkes David, Komprimační a archivační programy, Computer Press,
Brno, 1998;
2. Čapek Jan, Fabian Peter, Komprimace dat principy a praxe, Computer
Press, Praha, 2000
Závěr:
Dospěli jste úspěšně k závěru tohoto studijního materiálu, který se vám snažil
přiblížit problematiku komprimace datových souborů různého typu. Jeho cílem
bylo seznámit vás s vymezením pojmu komprimační program, s rozdělením
komprimačních programů podle obecných kritérií a především pak podrobněji
objasnit podstatu nejpoužívanějších algoritmů bezztrátové komprese. Doufám,
že vám pomohl nalézt odpověď na otázky spojené s komprimací dat a že vás
posunul z pozice uživatele „začátečníka“ k pozici uživatele zkušenějšího a
poučeného.
298
Počítačové systémy
13. Použitá literatura a další zdroje
1) Pisklák, B., Novotná, V.: Základy elementární matematiky a
elementární geometrie, skripta OU
2) Kolektiv autorů: Číselné soustavy, Kancelářské stroje
3) Microsoft: Windows Resource Kit, Computer Press
4) Born, G.: Registr Windows 98, Computer Press
5) Krol, E.: Vše o Internetu, Science
6) Engst, A., Low, C., Orchard, S.: Internet pro uživatele Windows 95,
UNIS
7) Kosek, J.- Janíková, V.: Internet první kroky českého uživatele. Grada,
Praha 1996
8) Kusala, J.: Internet ve škole. Fortuna, Praha 2000
9) ABC: Internet od ABC až do Z. Gryf, Praha 2001
10) Čermák, M.: Internet snadno a rychle. Moraviapres
11) Brázda, J.: Internet.cz-jak hledat a najít. Grada, Praha 1999
12) Hlavenka J.: Microsoft® Windows 98 CZ Second Edition. Praha:
Computer Press, 2000.
13) Hlavenka J.: První kroky s počítačem. Brno: Computer Press, 1995.
14) Born G.: Registr Microsoft® Windows 98 Konfigurujeme a
vylaďujeme operační systém. Microsoft Press.
15) Morkes David, Komprimační a archivační programy, Computer Press,
Brno, 1998;
16) Čapek Jan, Fabian Peter, Komprimace dat principy a praxe, Computer
Press, Praha, 2000
17) Jiří Mrnušík, Viry 98, Grada Publishing
18) Jalůvka, J.: Moderní počítačové viry
19) Tanenbaum, A. S.: Operating Systems. Design and Implementation.
Prentice Hall. 1997, ISBN 0-13-638677-6
20) Hansen, P. B.: Principy operačních systémů. SNTL Praha 1979
21) Král, J., Demner J.: Softwarové inženýrství, ACADEMIA Praha 1991
22) Bach, M. J.: Principy operačního systému UNIX, Softwarové Aplikace
a Systémy 1993, ISBN 80-901507-0-5
23) Hlavenka J.: Microsoft® Windows 98 CZ Second Edition. Praha:
Computer Press, 2000.
24) Staudek, J.: Operační systémy. Elektronická podoba přednášek. FI MU
Brno, 2002
25) Madnick, S.E., Donovan, J.J.: Operační systémy. SNTL Praha 1981
26) Čada, O.: Operační systémy. Grada 1993. ISBN 80-85623-44-7
27) Hořejš, J., Brodský, J., Staudek, J.: Struktura počítačů a jejich
programového vybavení. SNTL Praha 1981
28) Skočovský, L.: UNIX POSIX PLAN 9. Duo Press, Mnichovo Hradiště,
1998. ISBN 80-902612-0-5
29) Plášil, F.: Operační systémy. ČVUT Praha 1991. ISBN 80-01-00178-4
30) Petzold, Ch.: Programování ve Windows. Computer Press Praha 1999.
ISBN 80-7226-206-8
31) Klimeš, C. a kol.: Prostředky automatického řízení IIA. Počítačové
systémy. Skripta VŠB Ostrava 1983
299
Počítačové systémy
32) Klimeš, C. a kol.: Prostředky automatického řízení IIB.
Mikropočítačové systémy. Skripta VŠB Ostrava 1985
33) Blatný, J. a kol.: Číslicové počítače I – II. Skripta VUT Brno. SNTL
Praha 1983
Další zdroje informací:
1) http://archiv.czech.net/
2) http://www.microsoft.com
3) http://home.netscape.com
4) http://www.internetjam.net
5) http://www.seznam.cz;
6) http://www.click.cz;
7) http://domeny.czechia.com
8) http://www.viry.cz/
9) http://www.hoax.cz/
10) http://biohazard.zde.cz
11) www.mujweb.cz/www/computerweb/viry.htm
12) www.mujweb.cz/www/mirap/virus.htm
300

Podobné dokumenty

Výroční zpráva katedry ATŘ-352 za rok 2000

Výroční zpráva katedry ATŘ-352 za rok 2000 tel.: 069-699 3486, [email protected] Zajišťuje výuku v předmětech magisterského studia Projektování systémů řízení a Manažerské řízení, v předmětech bakalářského studia Programové produkty, Ekon...

Více

1 - Informatika – definice a základní pojmy 2

1 - Informatika – definice a základní pojmy 2 o Se zápisem funkce, kde na začátku je znak “rovnítko“: =SUM(A1:C3) Např: Excel, OpenOffice o

Více

Informatika 2010

Informatika 2010 Protože velikost paměti vyhrazená jednomu číslu je omezená, může, pokud je výsledek číselné operace větší, dojít k tzv. přetečení. Analogicky pokud je výsledek operace menší než nejmenší zobrazitel...

Více

2005 / 1 leden

2005 / 1 leden Přehled instant messengerů. Přesvěčte se, zda vám některý z testovaných produktů nebude vyhovovat více. 102 Přizpůsobte si svůj mobil Operátoři často cejchují své telefony svými logy. V našem článk...

Více

WWW stránky

WWW stránky Antivirový program je počítačový software, který nám slouží k nalezení, odstranění a eliminaci počítačových virů a jiných škodlivých softwarů. Jde tedy o to, aby byl náš počítač chráněn před viry, ...

Více

H2650_USB_Guide_Czech - Support

H2650_USB_Guide_Czech - Support neb na počítači Macintosh nebo Mac OS. z Provoz na počítači, na kterém byla provedena aktualizace na systém Windows® 7, Windows Vista® nebo Windows® XP z jiného operačního systému, není podporován....

Více

metodika spolupráce mezi jednotlivými institucemi, v jejichž

metodika spolupráce mezi jednotlivými institucemi, v jejichž Dokumentování trestného činu PORUŠOVÁNÍ PRÁV K OCHRANNÉ ZNÁMCE, OBCHODNÍMU JMÉNU A CHRÁNĚNÉMU OZNAČENÍ PŮVODU - § 150 trestního zákona..................................................................

Více

Logické systémy a jejich návrh

Logické systémy a jejich návrh sloupcích a také křížky sloupců, které se nacházejí v jiných řádcích – postupujeme do pokrytí všech sloupců

Více

postel Vele

postel Vele design Daniele Lago Aktivní stěna. Připojte, odpojte a znovu připojte, kamkoli budete chtít. Tapeta Playwall 36e8 má povrch suchého zipu pro připojení kovových polic 36e8 a polštářů, které slouží j...

Více

Úplné normální formy logických funkcí (ÚNF) – kanonické formy

Úplné normální formy logických funkcí (ÚNF) – kanonické formy V úplné normální formě každé jedničkové hodnotě logické funkce odpovídá hodnota právě jednoho mintermu (resp. maxtermu) a naopak.

Více