T: Archiwizacja i kompresja danych.

Zadanie1:
Odszukaj na stronach Wikipedii definicje archiwizacji i kompresji danych.

Archiwizacja (ang. backup) to proces wykonywania kopii danych w celu zabezpieczenia ich przed utratą wskutek wystąpienia takich zdarzeń losowych jak powódź, pożar, włamanie, awaria sprzętu lub oprogramowania, czy skasowanie ich przez użytkownika. Pod pojęciem archiwizacji rozumie się również proces przenoszenia danych z systemów komputerowych na inne nośniki w celu zredukowania ilości danych np. już niepotrzebnych w głównym systemie komputerowym (bazie danych).

Ze względu na sposób doboru danych do kopiowania możemy wyróżnić następujące rodzaje backupu:

Archiwizacja może obejmować zarówno dane tworzone i przechowywane bezpośrednio przez użytkownika (dokumenty tekstowe, obrazy, filmy, bazy danych itp.), a także elementy systemu (pliki konfiguracyjne, rejestry), czy nawet całe systemy operacyjne.

Archiwizację można przeprowadzać w regularnych odstępach czasu - tym częściej im ważniejsze (dla użytkownika/użytkowników) są dane. Aby zmniejszyć objętość takich danych poddawane są one najczęściej kompresji, a przy częstych archiwizacjach zapisywane są np. tylko zmienione dane (tzw. kopie przyrostowe). Istnieje oprogramowanie ułatwiające wykonywanie takich kopii oraz ich odtwarzanie. Wybrany nośnik danych musi być wówczas podłączony do danego komputera w celu przesłania zarchiwizowanych danych.

Niektóre formy archiwizacji:

Sposób i rodzaj archiwizacji jest ściśle związany z potrzebami, systemem operacyjnym, kosztami oraz wymaganym czasem niezbędnym do jej odtworzenia, a także wreszcie dostępnym oprogramowaniem. Najczęściej im mniej skomplikowany jest proces odtwarzania informacji tym szybciej można je odtworzyć. Stąd informacje poddane kompresji, czy podzielone na kopie przyrostowe (które wymagają połączenia) mogą przedłużyć taki proces, ale jednocześnie zajmują mniej miejsca na dysku i są przez to mniej kosztowne. W wypadku danych, które nie muszą być szybko odtwarzane nośniki z kopią danych można trzymać w innym miejscu niż nośniki z oryginalnymi danymi.

Aby możliwe było szybkie odtworzenie całego systemu sprzed awarii konieczne jest wykonanie backupu, czyli kopii bezpieczeństwa. Operacja ta polega na kopiowaniu kompletnego systemu operacyjnego na niezależny, bezpieczny nośnik danych.

Kompresja danych polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję i tym samym objętość zbioru, nie zmieniając przenoszonych informacji. Innymi słowy chodzi o wyrażenie tego samego zestawu informacji, lecz za pomocą mniejszej liczby bitów. Działaniem przeciwnym do kompresji jest dekompresja.

Kompresja dzieli się na:

Algorytmy kompresji dzieli się na algorytmy zastosowania ogólnego oraz algorytmy do danego typu danych. Z definicji nie istnieją algorytmy kompresji stratnej zastosowania ogólnego, ponieważ dla różnych typów danych konieczne jest zachowanie różnych właściwości. Na przykład kompresja dźwięku używa specjalnego modelu psychoakustycznego, który nie ma sensu w zastosowaniu do obrazu, poza bardzo ogólnymi przesłankami dotyczącymi sposobu postrzegania rzeczywistości przez człowieka.

Większość algorytmów bezstratnych to algorytmy zastosowania ogólnego oraz ich drobne przeróbki, dzięki którym lepiej działają z określonymi typami danych. Nawet drobne poprawki mogą znacząco polepszyć wyniki dla pewnych typów danych.

Algorytmy kompresji stratnej często jako ostatniej fazy używają kompresji bezstratnej. W takim przypadku poprzednie fazy mają za zadanie nie tyle kompresować ile przygotować dane do łatwiejszej kompresji.

Zadanie2:
Dokonaj kompresji bieżącego pliku przy użyciu systemowych narzędzi Windows dla systemu plików NTFS (zaawansowane właściwości pliku lub folderu). Porównaj zajmowaną przestrzeń dyskową pliku z przed kompresji i po skompresowaniu.

Zadanie3:
Skorzystaj z systemowego programu Kopia zapasowa (Start => Programy => Akcesoria => Narzędzia systemowe => Kopia zapasowa) i utwórz archiwum bieżącego dokumentu. Porównaj zajmowaną przestrzeń przez archiwum.

Pogramy archiwizujące, zwane popularnie „archiwizatorami”, „pakerami” lub „kompresorami”, należą do grupy programów narzędziowych przeznaczonych do umieszczania plików w archiwach i odtwarzania zapisanych w nich informacji. Obecnie standardowym formatem kompresji plików jest ZIP, ale można również spotkać: ACE, LZA, ZOO, ARJ, GZ, TAR, 7Z.

Możliwe jest tworzenie archiwów samorozpakowujących się (SFX). Takie archiwum ma rozszerzenie exe i posiada program dekompresujący, służący do wypakowania danych po uruchomieniu pliku. Aby przechować duże archiwa na wielu nośnikach, należy zastosować metodę archiwizacji z podziałem na woluminy (dyskietki, płyty CD).

Zadanie4:
Odwiedź stronę domową programu 7-Zip (http://www.7-zip.org/pl/). Na polecenie nauczyciela zainstaluj program i sprawdź jego funkcjonowanie (dostępną konfigurację dla archiwum).

Zadanie5:
Dokonaj maksymalnej kompresji bieżącego dokumentu przy użyciu programu 7-Zip. Porównaj przestrzeń zajmowaną przez plik archiwum z oryginalnym dokumentem.

Algorytm Hoffmana - Procedura rozpoczyna się od zebrania danych statystycznych dotyczących występowania poszczególnych znaków w całym zbiorze. Drugi etap polega na zbudowaniu drzewa binarnego, w którego koronie umieszcza się, jako liście, znaki według zasady: występujące najczęściej - na zewnątrz grafu, najrzadziej - w jego środku. Drzewo tworzy się łącząc kolejno w pary elementy o najmniejszej liczbie powtórzeń. Wygenerowanie nowego kodu dla wybranego znaku następuje w wyniku przejścia drogi od korzenia drzewa do odpowiedniego liścia, przy czym każdy krok w lewą stronę powoduje dodanie do kodowanego znaku zera, krok w prawo - jedynki.