Tömörítés

A Miau Wiki wikiből
A lap korábbi változatát látod, amilyen Vekony (vitalap | szerkesztései) 2006. december 21., 15:22-kor történt szerkesztése után volt. ('''Történeti modul''')

Tömörítés

Történeti modul

  • 1950-es Az első publikációt egy tömörítési algoritmusról Shannon és Fano tette közzé.
  • 1977-ben az egyik leghíresebb adattömörítéssel foglalkozó páros Ziv és Lempel publikálták,több algoritmust is készítettek.A legtöbb tömörítő program Ziv és Lempel valamelyik algoritmusát használja. Ilyen tömörítő program például a Pkzip, vagy az õ munkájuk során készült a GIF képállományok belső tömörítése is.
  • 1987-ben indult a leghíresebb tömörítési formátum,az mp3 története,amikor az erlangeni Fraunhofer Intézet az EU Digitális Rádiósugárzási projektjének finanszírozásával megkezdte annak kutatását.
  • 1989-ben az indulás után az intézet szabadalmaztatta eljárását, melyet ma mp3 néven ismerünk. A tömörítés megvalósítása alapvetõen két módon, veszteséges és veszteségmentes formában valósítható meg. Az mp3 a veszteséges tömörítés körébe tartozik, mely a veszteségmentes tömörítésnél lényegesen kisebb méretû fájl létrehozását teszi lehetõvé, a tömörítés folyamán információ vész el.
  • 1991-ben látott napvilágot a Zip nevű alkalmazásuk. A program előnye az volt, hogy kis méretű, megfelelően működött és rendelkezett néhány kiegészítő, munkát is megkönnyítő funkcióval. A program bármilyen formátummal rendelkező fájlt Zip formátumba tömörített. Ennek során külön fájlokat, egész katalógusokat vagy részeiket is külön archiválta. Annak köszönhetően, hogy ez a program egyike volt az elsőknek és megfelelő kidolgozással rendelkezett, nagyon nagy népszerűséget vívott ki magának.
  • 1995-ben napvilágott látott a Microsoft Windows 95,az új operációs rendszer számos újdonságot hozott magával, mind a programok, mind a hardverek működésében. Hiba lett volna nem kihasználni a lehetőséget. A WinZip Computing Inc. cég munkatársai és a RAR Windows számára készített verziójának programozója -- Jevgenyij Rosal -- érezték meg a legjobban a közeledő vihart. Így jelent meg a WinZip és a WinRAR.


Definíciós modul

A számítógépes veszélyforrások fajtái (és védekezés ellenük) • illetéktelen hozzáférés – zárható ház, azonosító eszköz, jelszavas védelem • a gép vagy adathordozó sérülése • programozott fenyegetések – vírusirtó, tűzfal • túlfeszültség vagy áramszünet – PFC (Power Factor Correction, azt jelenti, hogy a tápegység ventilátora a rendszer által felvett teljesítménnyel arányos mértékben pörög), túszfeszültség védő, szünetmentes táp Az archiválás fogalma Adatok állományba írása, a fájl biztonsági másolatainak elkészítése, tárolása. Az állományok tömörítésének célja Az operációs rendszer a környezetében előforduló adatfájlokat nagyon különbözd módon és gyakorisággal kezeli. Az adminisztratív adatok egy részét gyakrabban, a rend¬szerfájlokat és programokat csak olvasásra, bizonyos felhasználói állományokat ritkáb¬ban kell használni. Az állományokról időnként másolatot kell készíteni mentés céljából, ami nagy fájlokra tároló- és időigényes művelet, és lehet, hogy a másolatra sohasem lesz szükség. Hasonló a helyzet archiváláskor is. Ezek mellett egyre gyakrabban lehet igé¬nyünk nagyobb dokumentumok továbbítására az Interneten, ami az átviteli sebességkor¬látok miatt reménytelenül sokáig eltarthat. Ezért ma már minden operációs rendszertől elvárható, hogy legalább szervizprogram szinten támogatást nyújtson a tömörítéshez. Elsősorban a merevlemezes tárolók kisméretű állományaira lehet jellemző, hogy ki¬sebbek a fájlrendszer által megengedett legkisebb tárolóegységnél, a blokknál. Mivel egy¬nél több fájlt egy-egy blokkokban elhelyezni nem lehet, a helykihasználás viszonylag nagy blokkméret esetén igen rossz hatásfokú. Kisebb blokkméret választásával, vagy a fájlok csoportos elhelyezésével ezen a helyzeten viszonylag könnyen segíthetünk. Adataink gyakran hordoznak fölösleges, más néven redundáns információt. Ha sok adattal dolgozunk, akkor ez nem szerencsés, hiszen a redundancia egyben több adatot, azaz hosszabb kódokat jelent, pazarolja a tárat, késlelteti és drágítja a feldolgozást és az adattovábbítást. Úgy tűnik, jó lenne tőle megszabadulni. Azonban a redundancia egyszerűbbé is teheti az adatok feldolgozását, segíti az elke¬rülhetetlen hibák felismerését és javítását a tárolás, az adatfeldolgozás és továbbítás so¬rán. Hogyan lehet akkor az optimális mértéket megállapítani? A redundancia csökkenté¬sével rövidebb kódot kapunk ugyan, de nagyon bonyolulttá tehetjük a feldolgozó algoritmusokat. Az adatátvitel pedig másféle redundanciát igényelhet, mint amit a fel¬dolgozó algoritmusok. Az elviselhető hibák detektálásához és/vagy javításához szükséges optimális redundancia is nagyon sok, esetenként környezeti tényező függvénye. Az állományok tömörítésének módszerei Másképp kell kezelni az adatokat akkor ha azok véletlenszerűek, vagy ha többé¬kevésbé determinisztikusak, vagyis az előzményekből meghatározhatók. Véletlenszerű adatok redundanciájának csökkentéséhez elég jó algoritmusokat talál¬hatunk. Legismertebb közülük a Huffmann-kód, ami olyan, hogy a gyakoribb adatokhoz rövidebb kódot rendel, csökkentve az átlagos kódszó hosszat. A Huffman-kód véletlen adatokra jól közelíti az elvileg lehetséges tömörítési határt. Determinisztikusak például egy függvény egymást követő egész számokonfelvett értékei. Tehát az olyan adatok, amelyek között jól meghatározott összefüggések vannak. Elegendő például a függvény együtthatóit és az argumentumok határait megadni, amiből az adatok előállíthatók. Ilyen de termisztikus objektumok a vektor és fraktálképek. Sokszor azonban, bár az adathalmaz elemei között nyilvánvalóan léteznek összefüg¬gések, kapcsolatok, ezek pontos megadása nagyon nehéz, esetleg lehetetlen. Ezért az ilyen esetekre a jó tömörítés elkészítése nem könnyű. A differenciális vagy különbségi kódolás segíthet akkor, ha az egymásra következő adatok csak „lassan" változnak. Ilyenek lehetnek egy fénykép árnyalatai. Ha a kép¬pontok valódi fényességkádjai helyett csak azok változásait jegyezzük fel, akkor ezek kisebb intervallumon, rövidebben kódolhatók. Másrészt az új kódok a korábbi változásokból többé-kevésbé becsülhetők. Ha az egyszerű különbségek helyett azt az eltérést kódoljuk, amellyel a tényleges értékek a becsülttől eltérnek, akkor még a differenciálisnál is tömörebb kódot kaphatunk. A mód¬szert előrebecslésnek hívják. A képfájloknál maradva, a homogén foltokban azonos színű képpontok lesznek, így a teljes fájlban változó hosszúságú, ismétlődő elemekből álló sorozatok fordulnak elő. Ezekre használhatjuk a futamhossz kódolást, angolul Run Length Encoding, vagy röviden RLE. Ilyenkor az azonos értékeket tartalmazó sorozatokat két adattal, a sorozat elemével és az. ismétlődések számával adhatjuk meg. A multimédiás alkalmazásokban, különösen a video- és hangfeldolgozásban az ed¬dig említett tömörítések gyakran nem elegendőek. A kép- és a hangállományok „szeren¬csére'" sok olyan információt is hordoznak, amit nem tudunk érzékelni, nem látunk vagy nem hallunk. A szokásos kép- és hangtechnikával rögzített fájlokban tehát az emberi ér¬zékelés számára redundáns adatok is vannak. Ezek eltávolítását veszteséges tömörítés¬nek mondjuk, hiszen a fájl információtartalma így megváltozik, a tömörített változatból az eredeti állapotot nem lehet visszaállítani. A veszteség mértéke szabályozható, hogy a látvány vagy a hangérzet változása az észlelési küszöb alatt maradjon, illetve elviselhető legyen. A képfájlok közül ilyenek a JPG, a hangfájlok közül az MP3, a Dolby Difiital, a vicieoanyagok között pedig az MPG (MPEG), DivX, Xvid állományok. Ha a tömörítést és a kibontást ugyanaz a program végzi, azt kódeknek (coding-decod-ing) nevezzük. A tömörítés típusának megválasztásakor gondolni kell arra is, hogy az összenyomás és a visszaállítás mennyire könnyen, gyorsan végezhető el. A kódek szim-metrikus, ha a két művelet körülbelül ugyanannyi időt igényel. Archív állományokra a ki¬bontás tarthat tovább is, míg hang- és mozgóképadatokhoz nem célszerű lassú kódéket választani, akár tömörítésről, akár kibontásról van szó. Hibafelismerés és -javítás A hibák észlelése természetesen kevesebb redundanciát követel, mint a javításuk. Ha az adatok az átvitel idején sérültek meg, akkor elegendő lehet a hiba detektálása is, ha a fogadó fél megkérheti a küldőt, hogy a rossz adatokat adja újra. De hogyan veheti észre a rendszer a hibát? Már gyakran hardverszinten megvalósí¬tott eljárás, hogy a továbbítandó adatblokkról az átvitel előtt egy CRC-nek (Cyclic Redundancy Checking) nevezett „digitális ujjlenyomatot" készítenek. Ez azt jelenti, hogy a hosszabb adatblokkról egy viszonylag rövid, szabványos jelsorozat készül, ami úgy jel¬lemzi a blokk tartalmát, mint egy embert az ujjlenyomata. Ezt a blokkhoz illesztve továb¬bítják majd a vevő oldalon újra kiszámítják és összehasonlítják a kapottal. Ha egyeznek, az adatblokk nem sérült meg az átvitelkor ha nem, a vevő újra kéri az átvitelt. Többféle CRC-szabvány létezik (ISO, IBM stb.), de többnyire igaz, hogy 4 Kbájt méretig 16 bites, nagyobb blokkok esetén 32 bites CRC-ket használnak. Az átviteli hibák mellett gyakran kell számolni azzal is, hogy adatokat már a tárolás¬kor sérülés éri, például egy rossz író-olvasó fej a winchesteren vagy egy durva karcolás a CD-n szomszédos bitek sokaságát teheti tönkre. Másrészt elképzelhető, hogy a rend¬szernek nincs ideje kivárni, míg a sérült adatot újra küldik. ilyenkor gondoskodni kell a vevő oldalán a hiba javításáról. Ez a CRC-hez hasonló módon történhet, de az adatblokk¬hoz fűzött redundáns kódból nemcsak a hiba észlelése, hanem javítása is elvégezhető lesz. A hibajavító kódok nagyon megnövelhetik a redundanciát, ezért csak olcsó adathor¬dozókon (pl. CD, DVD) és korlátozott mértékben szokták használni. A leggyakrabban használt tömörítő programok, jellemzői • WinZip Egyszerű és leginkább ezt használják az Interneten. • WinRAR Egyesek szerint a tömörítők királya a WinRAR. Mivel az összes komolyabb tömörítő ki tudja bontani a többi formátumát is, így elvileg (!) lényegtelen, hogy milyent használunk. Gyakorlatilag viszont minden egyes tömörítő a saját formátumát tudja igazán jól létrehozni és szétszedni. A WinZip-pel szemben a WinRAR regisztráció-köteles. WinACE A harmadik leggyakoribb tömörítő a WinACE. Ez leginkább a futtatható programfájlokat, illetve az egyes DLL-eket tudja komolyan tömöríteni. Tömörítés és kicsomagolás bemutatása - WinZip Tömörítés A betömörítést több módon is el lehet végezni. Az egyik módszer alapján ki kell jelölni a betömörítendő fájlt, fájlokat és jobb egérgombbal rá kell kattintani. Ha csak egy fájl, vagy mappa volt kijelölve, akkor a windowsos felület felajánlja, hogy a fájllal megfelelő nevű ZIP kiterjesztésbe tömörít. Ezt automatikusan megcsinálja az alap beálltásokkal. A WinZip elindítását is lehet választani (Add to Zip), ahol a felhasználó beállíthatja magának a legmegfelelőbb konfigurációt. Ha több egység van kijelölve, akkor csak a WinZip-et lehet indítani. WinZip indítása esetén először mindig egy olyan ablak jelenik meg mely regisztrációval és jogi dolgokkal kapcsolatosan figyelmezteti a felhasználót. Az „I Agree” gombra kattintva mindezt elfogadjuk és megjelenik egy újabb ablak, ahol be lehet állítani milyen módon tömörítsen a WinZip. Mindig a legutolsó beálltást fogja megjelenteni. New gombbal meg lehet határoznia az archív fájl helyét, Open-ra kattintva egy már létező fájlhoz hozzá lehet csatolni a kívánt fájlt. Compression: Itt lehet beállítani a tömörítés gyorsaságát. Ez persze a tömörség rovására megy, ugyanis minél gyorsabban tömörít a program annál kevésbé hatékony a tömörítés. Options: Be lehet állítani, hogy mentse-e el a ZIP-fájl és a bemásolandó fájl közötti relatív elérési utat, valamint itt állítható be, hogy az elkészült ZIP-fájlt DOS-os környezetben is lehet használni. Fontos, hogy a keletkezendő fájl neve maximum 8 karakter hosszú legyen. Password: Jelszó megadásának lehetősége. Vigyázni kell vele, mert ha az ember elfelejti, akkor elveszett az anyag. Ha minden beálltást elvégeztünk, akkor vagy Enter-t kell nyomni, vagy az Add gombra kell kattintani. Ezáltal láthatóvá válik a WinZip program főablaka. Tömörítés alatt a jobb alsó sarokban egy piros lámpa világít. Amíg nem vált zöldre a lámpa más műveletet nem lehet végrehajtani. Amint a program végzett a művelettel megjelenik a fájlok listája, ahol azok jellemzői több oszlopban rendezve láthatók. Az első oszlopban az eredeti fájlok nevei szerepelnek, a másodikban a dátumozásuk időpontja, a harmadikban az eredeti méretük, a negyedikben hány százalékkal sikerült tömöríteni az egyes fájlokat, az ötödikben a betömörített méretet. Az Options / Configuration párbeszédablakban be lehet állítani mely mezők legyenek aktívak. A program azonnal végrehajtja a kiválasztott műveletet és automatikusan menti is az archív fájlt. Így bármikor megtekinthető a keletkezett fájl mérete. A második módszer a tömörítésre, hogy létrehozunk egy ZIP-fájlt, melynek üres a tartalma és ehhez a fájlhoz hozzáadjuk azokat a fájlokat, amelyeket be akarunk tömöríteni. Az Asztalon egy üres terület fölött kattintsunk az egér jobb gombjára és ott válaszuk ki az Új / WinZip File-t. Ekkor megadhatjuk a leendő archív fájl nevét, aztán nyomjunk kétszer Enter-t és a WinZip főablaka megjelenik. Az Add gombbal lehet az üres archívumhoz hozzácsatolni a fájlokat. Add from: Megadható hogy hol találhatóak a betömörítendő fájlok. Fájlnév: Ezzel beállítható, mely típusú fájlokat szeretnénk betömöríteni Másik módszer a bővítésre, hogy az Intézőnek, ill. a WinZip-nek nyitunk egy-egy ablakot és az Intézőből áthúzzuk a kiválasztott fájlokat a WinZip ablakára, mely az aktuális archívumhoz hozzáadja az új fájlokat. Kicsomagolás Ezt is többféle képpen lehet megoldani. Az egyik módszer a WinZip-en belüli Extract gomb használatával történik. Ki lehet tömöríteni egyesével a fájlokat, ami elég hosszadalmas eljárás. Azonban ha kijelöljük az összes fájlt a ZIP-en belül a CTRL-A billentyű kombinációval, vagy az Action / Select All menü segítségével, akkor egyben kitömöríti az archív fájlt. Extract to: Hova tömörítsen a program. Files: Itt meg lehet adni, hogy mely fájlokat tömörítse ki, csak a kijelölteket, esetleg mindegyiket, vagy a megadott jokerkarakteres fájlokat. New Folder: Ha új könyvtárba szeretnénk kitömöríteni. A másik módszer úgy működik, hogy kijelöljük a ZIP fájlt, és jobb egérgombbal rákattintunk. Itt vagy Extract to Folder C:\..., mely felajánl egy fájl nevet, amibe automatikusan kitömörít. Az Extract to... eljárást is lehet választani, ami a legelső kitömörítési módszerhez hasonlít. Create Self-Extractor (EXE), ami a ZIP fájlt átalakítja EXE fájllá. Ezt a programot csak el kell indítani, ugyanis önmagát csomagolja ki. A program teljesen automatikus. Ezt alkalmazzák az Internetről való letöltés esetén is, mert nincs más dolgunk vele, csak el kell indítani.