. .
Formáty uložení dat Výpočetní technika I Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně
[email protected]
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Osnova přednášky Datové formáty — vyjádření hodnot datového typu — formátová specifikace — textový a binární formát
Souborové formáty — otevřený a uzavřený formát — rozpoznávání formátu — asociace a konverze
Komprimace a archivace — komprimační metody — archivace a zálohování — metody a postupy archivace Výpočetní technika I
Přednáška 3: Formáty uložení dat
Datové formáty Vyjádření hodnot datového typu
Vyjádření hodnot datového typu Datový formát – způsob uložení dat v jakékoli paměti počítače Příklad 1: věk osoby – 26 let a) převod čísla do dvojkové soustavy 11010
00011010
1a
b) zápis čísla pomocí znaků (znakový kód) 110010 110110
Výpočetní technika I
00110010 00110110
Přednáška 3: Formáty uložení dat
32 36
Datové formáty Vyjádření hodnot datového typu
Vyjádření hodnot datového typu Příklad 2: příjmení osoby – Cimrman a) s určením délky 7
'C' 'i' 'm' 'r' 'm' 'a' 'n'
07
43
69
6d
72
6d
61
6e
43
69
6d
72
6d
61
6e
00
'C' 'i' 'm' 'r' 'm' 'a' 'n' ' '
''
''
43
69
6d
72
6d
61
6e
20
20
20
43
69
6d
72
6d
61
6e
0d
0a
b) s oddělovači
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Datové formáty Vyjádření hodnot datového typu
Porovnání způsobů uložení Tvar použitý v operační paměti 43
00
1a
6e
20
20
20
32
'C' 'i' 'm' 'r' 'm' 'a' 'n'
''
''
''
'2' '6'
69
6d
72
6d
61
6e
Tvar použitý pro vstup nebo výstup 43
69
6d
72
6d
Výpočetní technika I
61
Přednáška 3: Formáty uložení dat
36
Datové formáty Formátová specifikace
Formátová specifikace V operační paměti jsou obvykle data ve tvaru vhodném pro zpracování (výpočty, řazení, …) Viditelný tvar (tiskárna, displej, klávesnice, …) musí být složen výhradně z čitelných (zobrazitelných) znaků Formátová specifikace – popis formátu, tj. přesný význam jednotlivých bitů (bytů) dat Příklad formátové specifikace: — délka příjmení L – jeden byte — příjmení – řetězec, ISO 8859-2, L bytů — věk – binárně, jeden byte 07
43
69
6d
Výpočetní technika I
72
6d
61
6e
Přednáška 3: Formáty uložení dat
1b
Datové formáty Textový a binární formát
Druh formátu Textový formát – data jsou připravena pro zobrazení a přímé čtení člověkem Netextový (binární) formát – data jsou připravena pro aritmetické a logické operace v paměti počítače
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Datové formáty Textový a binární formát
Definice formátu Intuitivní definice — textový formát: všechny prvky formátu jsou složeny výhradně ze zobrazitelných znaků — binární formát: alespoň některé prvky formátu jsou řešeny jiným způsobem (řídicími znaky)
Problémy — kolik řádků může mít soubor, je-li v textovém formátu? — jak poznáte konec souboru?
Upravená definice — textový formát: všechny prvky formátu jsou složeny ze zobrazitelných znaků, mezi nimiž jsou použity jako oddělovače konce řádků a na konci dat nejvýše jeden znak konce souboru Výpočetní technika I
Přednáška 3: Formáty uložení dat
Datové formáty Textový a binární formát
Konec řádku a konec souboru V různých operačních systémech jsou řídicí znaky různé Vedlejší efekt: podle tvaru konce řádku lze zjistit operační systém, ve kterém byl soubor vytvořen Dnešní kvalitní textové editory dokážou řídicí znak změnit Operační systém
Konec řádku
Název znaku
Konec souboru
Název znaku
Unix Mac MS
0a 0d 0d 0a
LF CR CR LF
04 04 1a
EOT EOT ESC
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Datové formáty Textový a binární formát
Textový formát – vlastnosti Data jsou přímo čitelná člověkem Pro zpracování je obvykle nutná změna vyjádření Zpracovatelný celou škálou obecných programů a služeb každého operačního systému, což zvyšuje přenositelnost Odolnost vůči porušení (ztrátě) informací Nenapadnutelné virem Většinou nižší úspornost zobrazení
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Datové formáty Textový a binární formát
Binární formát – vlastnosti Data nejsou přímo čitelná člověkem Vhodný pro přímé zpracování Nízká přenositelnost, závisí na určitém programu, který zná přesnou a detailní strukturu dat Snadná ztráta všech informací při porušení Napadnutelné virem, lze ukrýt mnoho informací Někdy maximálně úsporný (ale i naopak)
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty
Souborový formát Pojem odvozený z pojmu „datový formát“ Specifikace tvaru dat uložených v souboru Místo podrobného popisu dat používáme jména formátů Dokument – soubor obsahující — vlastní text — formátovací značky
Dělení souborů podle tvaru značek — textové – HTML, XML, RTF, PostScript, TEX, CSV — binární – DOC, DOCX, SAM, INDD, PDF, Text602
Datové soubory programů určitého zaměření mohou být v obojím formátu – mají rozdílné vlastnosti a možnosti použití Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Otevřený a uzavřený formát
Otevřený a uzavřený formát Otevřený formát — specifikace formátu je volně dostupná — prostředek pro výměnu informací, efektivní využití a zpracování uložených dat — příklady: JPG, PNG, PDF, všechny textové
Uzavřený formát — specifikace formátu je utajována — umožňuje získat monopol pro jeho zpracování a zároveň silně omezuje možnosti využití uložených dat — příklad: CDR, dříve MS Office (DOC, XLS, PPT)
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Otevřený a uzavřený formát
Přehled základních souborových formátů Textové formáty — — — —
webové aplikace: HTML, XHTML, XML, MHT, CSS zdrojové kódy: JS, PAS, JAVA, PL, PHP, ASP dokumenty: RTF, PS, CSV, TEX, TXT grafika: SVG
Binární formáty — historie: SAM, INDD, T602 — dokumenty: DOC(X), XLS(X), PPT(X), ODF, PDF — grafika: BMP, JPG, PNG, GIF, TIFF, CDR, EPS
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Otevřený a uzavřený formát
Přenositelnost formátu Lze pracovně definovat jako množství programů schopných zpracovat tento formát Důležitým faktorem je podpora zpracování formátu v různých operačních systémech Přenositelnost je také úzce svázána s otevřeností formátu, ale závisí také na majiteli formátu (DOC × PDF) Přenositelnost textových formátů je obecně daleko větší Binární otevřené formáty rovněž přenositelné
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Rozpoznávání formátu
Rozpoznávání formátu První krok — roztřídění na textové a binární formáty — využití běžných programů (type, more)
Druhý krok — rozšířené textové formáty – rozpoznání kódování národních znaků a operační systém, v němž soubor pravděpodobně vznikl — binární formáty – použití rozpoznávacích programů — Unix: file, enca, od — Windows: není nástroj (zkusmo?)
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Asociace a konverze
Asociace formátů a aplikací Udává, která aplikace bude pracovat se souborem dané přípony Laikům usnadňuje zpracování dat v operačním systému Princip – tabulka s řádky „formát → aplikace“ (Tento počítač; Nástroje/Možnosti složky) Spouštění aplikace v případě aktivace souboru příslušného formátu (stažení přes prohlížeč, dvojklik v manažeru, výběr v dokumentech apod.)
Orientace jen podle rozšíření (přípony) jména souboru může vést ke zmatkům Ideální stav: 1 formát → 1 aplikace — platí pro speciální případy, např. CDR → CorelDraw! Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Asociace a konverze
Problémové případy Více formátů → 1 aplikace — časté, ale neproblematické
1 formát → více aplikací — problém nejednoznačnosti, nepříjemné řešení — aktivuje se buď posledně instalovaná aplikace, nebo podle výběru z nabídky
1 formát → žádná aplikace — chybové hlášení s nabídkou instalovaných aplikací, z nichž uživatel může vybrat (prakticky nikdy nevede k úspěchu) — Windows XP: rozšíření nabídky programů z Internetu
Žádný formát → 1 aplikace — buď aplikace žádné formáty nepotřebuje, nebo se jedná o aplikaci DOS, nebo o chybnou instalaci Výpočetní technika I
Přednáška 3: Formáty uložení dat
Souborové formáty Asociace a konverze
Konverze formátů Změna souborového formátu bez změny informačního obsahu
V praxi vzácné ideální případy Často vede ke ztrátě, ale i k nabytí informací Provedení konverze — speciálním konverzním programem — služby Open a Save (As) běžných programů
Příklady — — — —
konverze čísel mezi textovou a binární podobou konverze obrazových formátů (Unix: convert) konverze kódování národních znaků (cstocs) konverze dokumentních formátů (DOC → RTF) Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace
Potřebnost komprimace Redundance v datech – nutná pro zpracování dat Vznik redundance – nedokonalým kódováním dat – nutností rychlého přístupu k datům – přidáním zabezpečovacích zařízení
Odstranění (snížení) redundance – použitím komprimace
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace
Základní pojmy Hrubá data – data před komprimací Čistá (komprimovaná) data – data po komprimaci Komprimační poměr – poměr délek hrubých a komprimovaných dat, vyjadřuje se různým způsobem – h/k – udává násobek hrubých dat – k/h · 100 – udává, na kolik procent se data zmenšují – (1 − k/h) · 100 – udává, o kolik procent se data zmenšují Záporná komprimace – data se komprimací zvětšují Ztrátová komprimace – některá data se vynechávají Adaptivní komprimace – komprimační metoda pracuje v závislosti na hrubých datech Symetrická komprimace – čas komprimace a dekomprimace je stejný Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Komprimační metody Logická komprimace – jiný (kratší) způsob vyjádření stejných informací – je nutné znát detailně sémantiku (význam) dat – příklady – zkracování slov (těsnopis), čb fotografie vyjádřená v odstínech šedi
Fyzická komprimace – hledání lepšího (kratšího) kódu – nezávisí na sémantice dat
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Metoda RLE Běh – posloupnost stejných hodnot Run Length Encoding – kódování délkou běhu Základní princip – opakovač, hodnota – hrubá data – 65 65 65 65 78 78 78 32 32 32 32 32 – výsledek – 4 65 3 78 5 32
Problém – střídavá data; může dojít k záporné kompresi, řeší se speciálním tvarem opakovače Bitová / bytová / pixelová úroveň
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Metoda LZW Lempel, Ziv, Welch (1977, vylepšeno 1984) – algoritmus a jeho implementace Princip – hledání optimálního kódu pro zadaná hrubá data – prvkem hrubých dat, který se kóduje, jsou posloupnosti
Postup – data se analyzují, zjišťují se posloupnosti a jejich četnost – na základě analýzy a vzniklého slovníku se hledá optimální kód
LZMA – Lempel, Ziv, Markov-Chain Algorithm, pomalejší, ale s lepším komprimačním poměrem
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Metoda CCITT Princip – stejný jako u LZW – používá se však pevný slovník
Implementace – CCITT Group 4 pro monochromatická obrazová data (formáty BMP, TIFF, PCX)
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Vlastnosti komprimačních metod Metoda RLE – jednoduchá – závislá na bězích v hrubých datech – nízký komprimační poměr
Metoda LZW – – – –
nejsložitější adaptivní, nezávislá na datech vysoký komprimační poměr univerzální použití, kvalitu lze ovlivnit hloubkou analýzy
Metoda CCITT – jednoduchá – závislá na prvcích odpovídajících slovníku – nízký komprimační poměr Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Implementace Komprimátory – programy schopné komprimovat, ale také archivovat, pracovat se soubory a adresáři, šifrovat obsah, vkládat poznámky apod. Komprimace pod OS třídy Unix – gzip, zip/unzip Komprimace pod OS Windows – pkzip/pkunzip, WinZIP, WinRAR, arj, 7zip apod. Různé komprimátory – různé formáty archivů, různé ovládání, ale prakticky vždy metoda LZW (LZMA) s mírnými modifikacemi
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Archivy Soubor vytvořený komprimátorem, obsahuje čistá data a režijní informace Procento režijní informace závisí na velikosti a počtu komprimovaných souborů Formát archivu je pro každý komprimátor jiný Moderní komprimátory jsou schopny číst a někdy i vytvářet archivy různých typů
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
Vnitřní fragmentace Každý disk je složen z alokačních bloků určité délky Uložený soubor zabírá vždy určitý celočíselný počet alokačních bloků Poslední alokační blok souboru není zcela využit – vnitřní fragmentace Velikost souboru ≤ velikost na disku Shrnutí více souborů do jednoho archivu znamená eliminaci vnitřní fragmentace (i bez komprimace jde o zmenšení prostoru na disku)
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Komprimační metody
On-line komprimace Implementace uvnitř jiného programu – služby Otevřít (Open) a Uložit (Save, Save As)
Při běžné práci se skrytě komprimuje a dekomprimuje Používáno u programů pracujících s vnitřně komprimovanými daty, například obrazové editory, zpracování hudebních dat a videodat Použita symetrická komprimace – čas otevření a uložení je podobný, menší nároky na kvalitu komprimace, často i ztrátová komprimace
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Archivace a zálohování
Archivace a zálohování Archivace – uchování dat pro budoucí použití – nutnost uchování dokladů o provedených pracích
Zálohování – ochrana před poškozením nebo ztrátou dat (viry, požár, povodeň, chyby uživatelů)
Vzdálenost archivu – – – –
příruční – na stejném disku odkládací – na stejném počítači, ale jiném disku bezpečnostní – mimo počítač, archivní média podle vzdálenosti roste i bezpečnost uchování
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Archivace a zálohování
Způsoby zálohování Záloha dat, záloha programů Zálohují se soubory, adresářové podstromy, disky, systémové soubory a oblasti Výchozí záloha – kopie původního systému, provádí se po první instalaci Úplná záloha – všechna data, která byla k dispozici v okamžiku jejího vytvoření Rozdílová (diferenciální) záloha – pouze data, která byla změněna od úplné zálohy Přírůstková (inkrementální) záloha – pouze data, která byla změněna od vytvoření poslední plné nebo přírůstkové zálohy Plán záloh Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Metody a postupy archivace
Metody a postupy archivace Vytváření archivních souborů – většinou vhodným komprimátorem nebo specializovanými programy Četnost archivace – podle vzdálenosti archivu, po každé modifikaci dat, jednou denně, jednou týdně, jednou měsíčně, … Média pro zálohy a archivy – pevné disky – v počítači (oblast téhož disku, jiný disk, mirror) – zálohy – přenosná média (CD, DVD, magnetické pásky, flash disky) – zálohy i archivy – NAS (Network Attached Storage) – síťově dostupné úložiště – zálohování
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Metody a postupy archivace
Archivace v Unixu Program tar (tape archive) a jeho kombinace s bezztrátovou komprimací gzip – soubory .tar, .tgz Vytvoření skriptu (uživatelské dávky) pro archivaci vybraných souborů a adresářů Nastavení času a periodicity archivace – cron Automatizované posílání archivů případně na jiný stroj (připojení disku jiného stroje do souborového systému)
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Metody a postupy archivace
Archivace ve Windows Program backup – varianta v příkazovém řádku nebo interaktivní (i s průvodcem) Možnosti zálohy systémových záznamů a jejich obnova v případě havárie Zálohování souborů – výběr zdrojů a umístění archivů Plánovač úloh – možnost volby času zálohování a periodicity
Výpočetní technika I
Přednáška 3: Formáty uložení dat
Komprimace a archivace Metody a postupy archivace
Osnova příští přednášky Úvod do teorie informace — základní pojmy — měření množství informace ve zprávě — přenos a kódování dat
Ochrana dat — parita — kontrolní součet — samoopravný kód
Výpočetní technika I
Přednáška 3: Formáty uložení dat