Az informatika alapjai

Download Report

Transcript Az informatika alapjai

Archiválás, tömörítés
• Archiválás (biztonsági másolat,
tartósabb idejű „megőrzés”) –
külön tudomány.
• Tömörítés: helymegtakarítás.
• Másolás és tömörítés.
• Backup - restore.
A tömörítés egy olyan eljárás,
amelynek segítségével egy fájlból egy
kisebb fájl állítható elő. Ha a tömörített
fájlból teljes mértékben visszanyerhető
az eredeti fájl („bitről bitre”), akkor
veszteségmentes, ha nem, akkor
veszteséges tömörítésről beszélünk.
Az első általánosan alkalmazható, a
második csak akkor, ha kis eltérések
nem számítanak, pl. kép- és
hangfájlok esetén.
A veszteséges tömörítési eljárások
általában hatékonyabbak, de nem
minden esetben alkalmazhatóak-egy
futtatható programot akár egy bitnyi
eltérés is használhatatlanná tenne.
A tömörítés nagyon hasznos lehet, ha pl. helyet
akarunk megspórolni a lemezen, vagy egy
viszonylag lassú (pl. telefon) vonalon
szeretnénk egy nagyobb fájlt elküldeni.
Általános szabályként elmondható, hogy minél
hatékonyabb egy tömörítési eljárás, annál több
számolást igényel, vagyis lassabb. Nincs
„optimális” tömörítés, mindig el kell dönteni,
hogy érdemes-e több időt rááldozni arra, hogy a
kapott fájl valamivel kisebb legyen.
A tömörítések többek között a fájlban levő
ismétlődéseket
és
más
redundanciákat
használják ki, például azt, hogy egy szövegfájl
minden egyes byte-ján 256 érték lenne
ábrázolható, szemben az általában kihasznált
kb. 70 betűvel és írásjellel. Azok a fájlok,
amelyek nem ennyire „rendezettek”, kevésbé
tömöríthetők. Például egy bináris fájl általában
kevésbé tömöríthető, mint egy szövegfájl, egy
tömörített fájl pedig szinte egyáltalán nem
tömöríthető tovább.
A különböző típusú tömörítő
programok különböző módszereket
használnak az állományok becsomagolására. A becsomagolás hatékonysága nagymértékben függ az állomány
típusától is.
Az adattömörítés módszerei
Az operációs rendszer az állományokat a háttértárolón
ún. klaszterekben tárolja. 1 klaszter mérete ált. 8
szektor, azaz 4096 byte. Minden állomány külön
klaszterben kezdődik, amennyiben a tárolandó adat
túlnyúlik az igénybevett klaszter területén, akkor az
operációs rendszer újabb blokkban folytatja az írást, és
ez addig folytatódik, amíg van kiírandó adat. A
fájlokat nem lehet úgy méretezni, hogy teljesen
kitöltsenek egy blokkot, így a helykihasználás nem jó.
A helykihasználás javítható, ha az állományokat egy
állományba tömörítjük össze, így a blokkba történő
írás folyamatos.
A másik módszer, hogy a fájlokban nagy számban
ismétlődő szerkezeteket megfelelő módon
helyettesítjük, így akár nagyságrendekkel
csökkenthetjük a fájl tárolásához szükséges
lemezkapacitást.
Például a szöveges állományok jól tömöríthetők,
mivel gyakran vannak bennük ismétlődések. Ha
ugyanazt a karaktert kell egymás után 50-szer
tárolni, akkor elegendő 50 byte helyett 3 byte a
tároláshoz. Ez úgy lehetséges, hogy az ismétlődő
karakterek számát 2 bájton a karaktert pedig
elegendő 1 bájton tárolni.
Tehát, kisebb méretű állományokhoz úgy
jutunk, hogy a gyakran ismétlődő
karaktereket, karaktersorozatokat, rövidebb
kódokkal helyettesítjük, ahol minden kód
egy jelet vagy jelsorozatot képvisel. Például
a magyar nyelvben nagyon gyakori „e”
betűt, melynek a bináris megfelelőjét
01100101 (ASCII kódban), egy rövidebb
kóddal helyettesítjük, pl. 101-gyel, akkor a
korábbi 8 bit helyett csak 3 bitet
használunk, ez máris több mint 50%-os
helycsökkenést jelent.
Most
már
csak
a
megfelelő
algoritmusról kell gondoskodnunk, ami
a rövidebb kódokat visszaállítás esetén
visszaalakítja eredeti méretűre. Azért,
hogy a tömörített kódok mindig
visszaállíthatók
legyenek
eredeti
állapotukra, a tömörítő programok
mindig eltárolják a tömörítetlen kódokat
az archív állományok elején.
A tömörítetlen kódokat hívjuk átváltási
táblázatnak is, hiszen ez mondja meg, hogy
melyik bitsorozatot mivel helyettesítjük. A nagy
mennyiségű, vegyes összetételű fájl esetén a
tömörítő programok hatékonysága általában
nem megy 50% fölé. A különbség a képek
tömörítésénél a legszembetűnőbb. A BMP
állományok jól tömöríthetők (akár 90% is lehet),
mert nagy bennük az adatok ismétlődése. A GIF,
TIFF kiterjesztésű képállományok tömörítési
hatékonysága rossz (5% körüli), mivel ezek a
fájltípusok már tömörített formátumúak.
A beszerezhető adattömörítő programok használatához
nem kell különösebb előképzettség, a tömörítés
bonyolult matematikája a programozókra és a
matematikusokra tartozik.
Tömörítő programok
1. Dos-os programok:
ARJ
PKZIP (becsomagoló), PKUNZIP (kicsomagoló)
RAR
2. Windows-os programok:
WINRAR
WINZIP
ACE
HTML
Hypertext Mark-up Language
• HTML-szerkesztők (Microsoft
FrontPage).
• Word-konverzió.
• ASCII szövegszerkesztők
(pl. Jegyzettömb)
SGML, XML
SGML
Az SGML (Standard Generalized Markup
Language) egy szövegleíró nyelv. Leginkább a
HTML-hez lehetne hasonlítani, valójában a HTML
is az SGML nyelvből származtatható. A szöveg
tagolását, formázását tag-ekkel oldják meg a HTMLhez hasonlóan, azonban a HTML-től eltérően a tageket mi definiálhatjuk tetszés szerint, olyan nevet
adhatunk nekik, amit logikusnak tartunk. Ezeket a
tag definíciókat egy DTD dokumentumleíró fájlban
kell megadni.
Az SGML-ből lehet saját elemkészlettel
rendelkező
dokumentum
típus
leírást
létrehozni, s ezen saját dokumentum típusok
létrehozásának legismertebb terméke az 1991ben létrehozott HTML volt.
Mivel az SGML-ben elég tág korlátok közé
vannak
szorítva
az
egyes
elemek
létrehozásának feltételei, nehézkes lenne
olyan programot írni, amely tökéletesen fel
tudná dolgozni ezen dokumentumokat. A
HTML nyelvben viszont kezdett nehézkessé
válni a bonyolultabb felépítésű adatok tárolása
illetve megjelenítése.
XML
Ezért volt szükség egy, a webre optimalizált jelölőnyelv
létrehozására, amelyet 1996-ban alkottak meg Extensible
Markup Language néven.
Az XML, mint ahogy a HTML is, az SGMLből
leszármaztatott jelölőnyelv. Annak ellenére, hogy mindkét
jelölőnyelv ősatyja ugyanazon nyelv, mégis alapjaikban
különböznek. Míg a HTML megadott elemhalmazból épül
fel, addig az XML-ben saját magunk hozzuk létre az egyes
elemeket.
Mivel az XML-ben az elemek létrehozására szűkebb
szabályok vonatkoznak mint az SGML-re, ezért könnyebben
megtanulható, olvasható és leprogramozható.
Számítógéppel támogatott
oktatás, kutatás
• Office’xx.
• Programcsomagok (Mathematica,
Maple, Derive stb.).
• Oktatóprogramok.
• Saját készítésű programok.