1,5 hodiny, písemná zkouška, bez pomůcek, 6 příkladů (z toho 3 početní, 3 koncepčního typu), max. 12 bodů, na E alespoň 6 bodů
informace -- získaná fakta o něčem nebo o někom, snižuje míru entropie
zpráva -- sdělení o nějakém objektu, události, jevu..., obsahuje informace
nosič -- médium, které slouží k přenosu a uchovávání informace, informace je na něm nějak zakódovaná
signál -- fyzikální veličina uchovávající informaci ve svých proměnnách v čase
informační teorie -- Claude E. Shannon
syntax -- skladba, forma, uspořádání, kvantitativní (informační teorie)
sémantika -- obsah, význam, kvalitativní chápání (SW inženýrství)
- množství informace souvisí s pravděpodobnosti jejího výskytu (Shannonova formule)
- míra množství informace -- nejvhodnější řešení
f{x} = −log(x)
, musí mít aditivní charakter (pravděpodobnosti sčítáme) - ASCII je velmi redundantní kódování, ale zato se s ním snadno manipuluje
- množství informace je vždy kladné
- méně pravděpodobná zpráva nese větší množství informace
- informace ze skupiny různých zpráv = součet informací z jednotlivých zpráv
- míra je spojitá a symetrická
- entropie má maximum, když jsou všechny výstupy stejně pravděpodobné
- množství entropie odpovídá množství informace
- entropie roste s počtem možností
- minimální kódování: Fanovo kódování -- kódy znaky mají délky úměrné množství informace, které nesou (častější znak je zakódován krátce), oddělovače nejsou potřeba
-
zpracování -- srozumitelné pro funkce a procedury
-
sdělování -- srozumitelnost
-
skladování -- minimalizace redundance
-
přenos -- minimalizace redundance & samoopravitelnost
-
statické (př. text) × dynamické (př. zvuk) informace
- zpráva je tvořena symboly zdrojové abecedy
- kódování je proces přiřazování symbolům (nebo skupinám symbolů) zprávy symboly z cílové (kódovací) abecedy
- zpráva musí jít zase rozkódovat a výše zmíněná přiřazení musí být unikátní
- cílem je kódovat s co nejnižším nárokem na paměť
- trojce: kódovací abeceda, vstupní abeceda, výstupní abeceda
- kód s kódovými slovy pevné nebo proměnné délky
- kód by měl být jednoznačně dekódovatelný
- stupeň -- průměrný počet bitů kódových znaků
- třídy nesingulárních kódů: prefixové, sufixové a blokové (ty mají pevnou délku)
- prefixový ⊂ jednoznačně dekódovatelný ⊂ nesingulární
Kraftova nerovnost -- abeceda q-árního kódu obsahuje q znaků, Suma všech záporně vzatých mocnin q je menší rovno 1.
McMillanova věta -- Kraftova věta platí pro libovolné jednoznačně dekódovatelné kódování.
- C(1) = 1
- C(2) = 01
- C(3) = 001
- ...
- musíme použít oddělovače nebo určit pevnou délku slova
- univerzální kód pro kladná celá čísla
- C1: N nul + první binární jednička + zbytek binárního čísla, která má délku N
- C2: z binární reprezentace čísla odstraním nejvyšší jedničkový bit, následně před každý bit umístím 0 a za celé číslo přidám 1.
- C3: délka (počet nul, N + 1) zakódovaná pomocí C2 + druhá půlka slova
= proces identifikace a odstraňování redundance
-
ztrátová × bezztrátová komprimace
-
kompresní a dekompresní algoritmus
-
kompresní poměr (zakódovaná/původní)
-
kompresní faktor (původní/zakódovaná)
-
kompresní zisk, redundance zprávy, redundance komprimované zprávy
-
hodnotící metody kompresních algoritmů: algoritmická složitost, paměťová složitost, kompresní poměr, míra ztrátovosti
-
metodika kompresních technik:
- modelování (hledání redundance)
- kódování
-
fyzická (logika na úrovni bitů) vs. logická (logika na úrovni typu dat) komprese
-
statická komprese -- neadaptivní, vždy použije stejný postup, nehledě na význam dat
-
adaptivní komprese -- využívá význam komprimovaných dat
prefixový kód -- žádný kód slova nemá prefix takový, že by to byl kód jiného slova
model -- vyjádření zprávy pro její rozpoznávání a generování
- **statistické (nahrazení za kratší)
- slovníkové metody (seznam často se opakujícího)
- predikativní kódování
- GSM (kódování řeči), MP3 (kódování zvuku), JPEG (kódování obrazu), DVD (kódování videa)
- statistický model nultého stupně -- pravděpodobnosti výskytu znaků jsou stejné
- statistický model prvního stupně -- pravděpodobnosti výskytu znaků jsou různé
- statistický model druhého stupně -- pravděpodobnosti výskytu dvojic znaků
- Braillovo písmo
- Baudotův kód -- dvě kódová slova slouží k rozlišení, zda se jedná o písmeno nebo číslo
- Ad-hoc textové komprese -- vynechání mezer, ASCII
- Slovníková přední komprese -- opakování prefixů (víno bílé, víno červené, víno růžové)
- MacWrite -- symbol = slabika, některé paragrafy kódovány nebo ne (podle toho, jestli je komprimovaná verze kratší)
- RLE (Run Length Encodings) -- opakující se znak -> znak + počet opakování (MNP)
- MNP class 5 -- inflight coding - statistika výskytu znaků, častá slova probublávají nahoru na kratší kódy
- BinHex 4.0 Format -- RLE + kódování do textové formy
- Move to Front Coding (Bentey kódování) -- upravuji tabulku, lokální adaptivita
- bázový princip - shora dolů
- rozdělím na poloviny se zhruba stejnou pravděpodobností, jedna bude mít 1 druhá 0, atd.
- bázový princip zhora zdola nahoru
- není jednoznačné
- algoritmus FGK
- Huffmanův (binární) strom - postupné budování
- sourozenecká vlastnost: každý uzel kromě kořene stromu má sourozence, lze to uspořádat podle vah, aby byli vedle sebe
- vždy spojím dvě slova s nejmenší pravděpodobností a ty budou mít zbytek cifer už společný
- kódový slova na intervalu
<0,1)
- kódujeme řetězce
- LZ77 -- používá WinZip, Leupel-Ziv, okno
- LZ78 -- kódovací (vyhledávací) strom
- VZW -- GIF, TIFF, PDF
- VZSS - Leupel-Ziv-Storer-Szymanski
- stopy > sektory
- doba vystavení
- rotační zpoždění
- řadič disku, řídící jednotka disku
- postupy vystavení: FIFO, Shortest Seek Time First, výtah (SCAN), jednosměrný výtah (C-SCAN)
= organizace diskového pole tak, aby působila jako jeden disk
- RAID 0 -- žádná redundance
- RAID 1 -- zrcadlení
- RAID 2 -- sebeopravující kódy
- RAID 3 -- parita
- RAID 4 -- disk na víc, který kontroluje paritu napříč ostatními disky ("po řádcích")
- RAID 5 -- jako předchozí, ale každý disk má kontrolu parity pro jeden řádek ("diagonála")
- tiché, rychlejší, bytelnější, omezená životnost
- magnet + laser
- bez magnetismu
- využívá se u přepisovatelných CD a DVD
- -ROM: Read Only Memory
- -R: Recordable
- -RW: ReWritable
- levnější, pomalejší, větší kapacita
- vhodné pro archivaci
bandwidt -- šířka pásma (kolik můžeme přenést naráz)
latence -- zpoždění při přístupu
Hierarchical Storage Management (HSM) -- zahrnuje i terciální paměti, v superpočítačových centrech
- soubor může obsahovat jak data, tak programy
- data lze do vnější paměti zapsat pomocí souboru
- pole (elementární jednotka), záznam (strukturovaná jednotka, kolekce polí), soubor (kolekce záznamů, databáze
- logický (z fyzického pomocí
open()
) × fyzický
databáze -- kolekce souvisejících dat
soubor -- logicky související kolekce údajů, se kterou se dá manipulovat (soubor > záznam > atribut)
- statické soubory -- vnitřní struktura se nemění
- dynamické soubory -- vnitřní struktura se mění
záznam -- jeho obsah je specifikován atributy, podle atributů fixní × proměnná délka
- logický záznam -- kolekce hodnot atributů tvořící záznam
- fyzická záznam -- logický záznam + oddělovače, definice délek,...
atribut -- proměnná × fixní délka (oddělovač), pojemnovaný × nepojmenovaný
homogenní soubory -- jednotná deklarovaná struktura, liší se hodnotami atributů
blok -- manipulační jednotka dat
primární klíč, sekundární klíč
logická stránka, fyzická stránka -- alokační blok
implementační schéma -- optimální využití diskového prostoru (související data by měla být umístěna na stejném válci apod.)
konstruktor/destruktor: create, build, remove
modifikátory: insert, delete, update
inspektory: read, query, list
údržba souboru: open, close, reorganize
logické schéma -- logická paměť (soubor + pomocné soubory)
fyzické schéma -- zobrazení logických stránek do konkrétního typu fyzické paměti
implementační schéma -- umístění fyzických stránek v zařízení
- prostorová a časová složitost
- zpřístupňování souborů: sekvenční, stromy, hašování
- strukturované × nestrukturované soubory
- ovlivňuje přístup, údržbu, spolehlivost...
- vkládání O(1)
- vyhledávání O(n), uspořádaný O(log n)
- homogenní soubor
- klíč
- keysort -- netříděný primární soubor + tříděný index, který ukazuje na původní místa v paměti hodnot (nemusíme je přesouvat)
- nehomogenní soubor
- obsahuje záznamy proměnné struktury
- nutnost použít oddělovače
- záznamy uspořádány posle klíče
- přetoková oblast
- záznamy jsou neuspořádané, vyhledávají se podle (více) klíčů
- B-strom (hierarchická struktura)
- lineární (tabulková) struktura
- soubor s přímým přístupem
- klíčová je doba přístupu
- soubor služeb sloužících k přístupu k vnější paměti
- sjednocuje pohled na paměť
- zajišťuje soukromí, autorizaci a bezpečnost
- soubory + adresářová struktura
- požadavky: vytvářet, mazat, upravovat a číst soubory, měnit oprávnění, restrukturalizovat, zálohovat, optimalizovat, umožnit paralelismus
- jméno (vnitřní × vnější - číselné, v tabulce otevřených souborů)
- typ
- organizace
- umístění
- rozměr
- oprávnění
- čas, datum, historie
- obsahuje charakteristiku souboru (metadata)
- na vnější paměti
logický soubor, fyzický soubor
- ukazatel na právě zpřístupňovaný záznam
- čítač otevření
- přístupová práva
- typ souboru
- snazší vyhledávání, kolekce podobných souborů, možnost existence souborů se stejným jménem
- implementace: acyklické grafy, stromy, B-stromy
pracovní adresář -- aktuální adresář
absolutní vs. relativní cesta
linky na soubory
File System Mounting -- připojení souborového systému z externího zařízení
DAC (Direct Access Control) -- kdo soubor vytvořil, tak má práva, určuje OS
MAC (Mandatory Access Control) -- určují aplikace
ACL (Access Control List)
- standardní stup a výstup a chybový výstup, roury (pipe), přesměrování
inode
NTFS
- existuje na vnější paměti
- hierarchické uspořádání
- součást OS
- Logical File System -- stará se o správu metadat (organizace, adresáře, oprávnění)
- File Organization Module -- spravuje volnou paměť
- Basic File System -- manipulace s fyzickými stránkami
- I/O Control -- správa přerušení, drivery
- pro manipulaci se souborem jej musíme otevřít
otevírání souboru -- mapování jména souboru na index (vnitřní jméno)
čtení souboru -- identifikace pomocí indexu
- raw disk -- s prostorem na disku nakládá sama aplikace
- dělení disku na oddíly
- virtualizace -- jednotné API pro různé souborové systémy
- lineární struktura jmen (bez uspořádání lineární složitost)
- B-strom (logaritmická složitost)
- Hašování (konstantní složitost)
- přidělování souvislých diskových prostorů
- vázané přidělování (mapa disku - FAT) -- soubor je rozptýlen do bloků
- indexované přidělování (mapa souboru) -- seskupení ukazatelů na boky pro jeden soubor
- kombinace přístupů
- problém s vnitřní fragmentací
- bitová mapa disku
- řetězení volných stránek
- ukazatelé na volný prostor
- NTFS svazek (volume)
- metadata ukládána jako soubory
- struktura svazku: ID, tabulka MFT, blok dat
- svazky jsou lineární posloupnosti alokačních bloků
- soubory jsou strukturované, mají atributy pojmenované (metadata) a nepojmenované (data)
- index jmen v adresáři je organizován do B+ stromu
- Recovery funkce
- security token (vlastník + ACL práva)
- definuje obsah svazku
- lineární posloupnost 1 KB záznamů pevné délky
- jméno, čas, čítač násobných vazeb, bezpečnostní deskriptor, data...
- NTFS
- pro disky nad 500 MB
- lepší řízení přístupu
- podpora obnovy
- adresáře log(n)
- RAID 1 (zrcadlení) & RAID 5 (diagonální parita)
- FAT
- nižší paměťová náročnost
- jednodušší efektivnější
- rychlejší vytvoření
- adresáře n/2
- {klíč, ukazatel na záznam}
- primární soubor - data, sekundární soubor - indexy + ukazatele
- metriky indexů:
- typ přístupu
- doba přístupu
- doba vložení
- doba rušení
- režie paměti
- lineární indexy, indexové bitové mapy, hašované indexy, stromové indexy
- primární, sekundární index (musí být hustý)
- víceúrovňové indexy
- přímé × nepřímé indexování
- rozsáhlý index se těžko umisťuje do RAM, není vhodný pro dynamické struktury
hustý index -- každý záznam má svůj index
řídký index -- jen vybrané záznamy mají index (vymezují jednu skupinu), soubor je tříděný
index sekvenční organizace souboru -- problém při vkládání je řeší přetekovou oblastí, jednou za čas je nutno soubor reorganizovat
- konstantní složitost pro nalezení prvku O(1)
- hashovací funkce
m = h(k)
m
... cílová adresah
... hashovací funkcek
... klíč záznamu
- na cílové adrese jsou ukazatele na data nebo se jedná pří o umístění souboru
perfektní hašování -- funkce h
je prostá
perfektní minimální hašování -- prostoru je tolik, kolik položek
- deterministická
- rychlá (konstantní)
- vypočítává se z celého klíče
- umisťuje souboru rovnoměrně
- přímé zobrazení
- modulo
- modulo +× konstanty
- mid-square
- změna číselné soustavy
uniformní hašovací funkce -- každá kapsa obsahuje stejný počet položek
- lineární adresování -- při mazání si musím poznačit, že na onom místě něco bylo
- kvadratické adresování -- nezpůsobuje shluky
- násobné adresování -- dvojité adresování, znovu se použije nová funkce modulo +1
- kapsy - logické paměťové jednotky, na výsledné adrese je místo pro více položek, kapsa je procházena lineárně
- adresace s kapsami
- rozšiřitelné hašování
- kapsy indexovány adresářem kapes
- tries
- štěpení kapes - rozšiřování adresového prostoru při každém přetoku
- dvojce vrcholů a hran
G = (V, E)
orientovaný graf × neorientovaný graf
stupeň vrcholu
arita vrcholu -- počet výstupních hran z vrcholu (binární graf, n-ární graf...)
délka cesty -- počet hran mezi vrcholy
cyklus
smyčka
jednoduchá cesta -- žádný z vrcholů se neopakuje
ohodnocený, souvislý, acyklický graf
jednoduchý graf -- orientovaný, acyklický, bez cyklů, smyček a násobných hran
strom -- neorientovaný souvislý acyklický graf
kořenový strom -- vstupní stupeň roven jedné (kromě kořenového uzlu)
list, podgraf, kostra grafu, podstrom
hloubka uzlu -- hloubka kořene = 0
úroveň ve stromu, hloubka stromu, šířka stromu (na určité úrovni)
výška stromu hloubka - 1
vyvážený, uspořádaný, neuspořádaný strom
(neúplný, úplný, kompletní, degenerovaný) binární strom -- Huffmanovo kódování, indexování
- vyvážené (Balanced), neredundantní
- vyšší prostorová režie + časová režie
- štěpení a slévání
- uzel v B stromě řádu 3 má 3 syny
- hodnoty jsou i ve vnitřních uzlech stromu
- jsou redundantní
- hodnoty jsou jen v listech
- m-ární strom
- uzly reprezentují slova nebo prefixy slov
- není vyhledávací
- využití: rychlé prohledávání textů
- (funguje to jako pomůcka na morseovku)
- výška je dána délkou nejdelšího klíče
CHYBY V SLAJDECH: 04 - str. 3: aplykačnímy systémy -> aplikačními systémy 04 - str. 6: redord -> record