Kompresja dysku - Disk compression

Program narzędziowy do kompresji dysku zwiększa ilość informacji, które mogą być przechowywane na dysku twardym o określonym rozmiarze. W przeciwieństwie do narzędzia do kompresji plików , które kompresuje tylko określone pliki — i które wymaga od użytkownika wyznaczenia plików do skompresowania — narzędzie do kompresji dysku w locie działa automatycznie za pomocą oprogramowania rezydentnego, bez konieczności informowania użytkownika o jego istnieniu. Kompresja dysku w locie jest zatem znana również jako przezroczysta , kompresja dysku w czasie rzeczywistym lub kompresja online .

Gdy informacje muszą być przechowywane na dysku twardym, narzędzie kompresuje informacje. Gdy konieczne jest odczytanie informacji, narzędzie dekompresuje informacje. Narzędzie do kompresji dysku zastępuje standardowe procedury systemu operacyjnego . Ponieważ wszystkie aplikacje uzyskują dostęp do dysku twardego za pomocą tych procedur, działają one nadal po zainstalowaniu kompresji dysku.

Narzędzia do kompresji dysków były popularne, zwłaszcza na początku lat 90., kiedy dyski twarde mikrokomputerów były wciąż stosunkowo małe (20 do 80 megabajtów ). Dyski twarde były wówczas również dość drogie, kosztowały około 10 USD za megabajt. Dla użytkowników, którzy kupili aplikacje do kompresji dysków, oprogramowanie okazało się na krótką metę bardziej ekonomicznym sposobem na zdobycie większej przestrzeni dyskowej w przeciwieństwie do wymiany ich obecnego dysku na większy. Dobre narzędzie do kompresji dysku może średnio podwoić dostępną przestrzeń przy znikomej utracie prędkości. Kompresja dysku wyszła z użycia pod koniec lat 90., ponieważ postęp w technologii dysków twardych i ich produkcji doprowadził do zwiększenia pojemności i obniżenia cen.

Popularne rozwiązania do kompresji dysków

Samodzielny sprzęt

Niektóre z początkowych rozwiązań do kompresji dysków były wspomagane sprzętowo i wykorzystywały dodatkowe karty koprocesora kompresora/dekompresora oprócz sterownika programowego. Znane rozwiązania to:

Samodzielne oprogramowanie

Wraz ze wzrostem mocy procesorów komputerów PC rozwiązania oparte wyłącznie na oprogramowaniu zaczęły osiągać, a nawet przewyższać wydajność rozwiązań wspomaganych sprzętowo w większości scenariuszy. Te narzędzia do kompresji były sprzedawane niezależnie. Użytkownik musiał konkretnie wybrać instalację i konfigurację oprogramowania.

Dołączone oprogramowanie

Pomysł dołączenia kompresji dysku do nowych maszyn spodobał się sprzedawcom i użytkownikom. Sprzedawcom podobało się, że mogą ubiegać się o więcej miejsca do przechowywania; użytkownikom podobało się, że nie muszą konfigurować oprogramowania. Dołączone narzędzia zawarte (w porządku chronologicznym):

  • DR-DOS 6.0 (1991), z Digital Research , zawarte niestandardową wersję AddStor „s SuperStor .
  • PalmDOS 1.0 (1992) firmy Novell (po przejęciu Digital Research) zawierał wersję SuperStor z obsługą DPMS .
  • MS-DOS 6.0 (1993), od firmy Microsoft , zawarte DoubleSpace , który został częściowo oparte na Vertisoft Systems ' Doubledisk . MS-DOS 6.0 wprowadził tak zwany DOS preload API , nieudokumentowany interfejs typu challenge-response , który umożliwiał automatyczne ładowanie oprogramowania do kompresji dysku ( DBLSPACE.BIN ) jeszcze przed przetworzeniem CONFIG.SYS .
  • PC DOS 6.1 (1993) od IBM , podczas gdy oryginalne wydanie nie zawierało kompresora dysku, niestandardowa wersja SuperStor/DS (po przejęciu AddStor) została dołączona do późniejszej wersji, wprowadzając również preload API w linii PC DOS .
  • MS-DOS 6.2 (1993) firmy Microsoft zawierał ulepszoną wersję DoubleSpace .
  • Novell DOS 7 (1993) firmy Novell zawierał wersję Stackera 3.12 z obsługą DPMS ( STACKER.BIN ) firmy Stac Electronics , która również obsługiwała wymianę skompresowanych danych ze zdalnymi serwerami NetWare i PNW , również z uruchomionym Stackerem, aby uniknąć niepotrzebnej rekompresji, gdy kopiowanie plików. Wprowadzono również obsługę wstępnego ładowania API DOS 6, aby zachować zgodność z Microsoft DoubleSpace w scenariuszach z wieloma systemami rozruchowymi. Podobny mechanizm został użyty do załadowania opcjonalnego komponentu SECURITY dla jednego lub wielu użytkowników .
  • PTS-DOS Extended 6.4 (1994) firmy PhysTechSoft zawiera komponent kompresji dysku o nazwie Folder ( FOLDER.SYS )
  • PC DOS 6.3 (1994) firmy IBM zawierał wersję SuperStor/DS .
  • MS-DOS 6.22 (1994) firmy Microsoft zawierał DriveSpace , który był DoubleSpace z innym algorytmem kompresji ( DRVSPACE.BIN ), po tym jak MS-DOS 6.21 musiał być dostarczany bez żadnego oprogramowania do kompresji dysku z powodów prawnych.
  • PC DOS 7.0 (1995) firmy IBM zawierał z obsługą DPMS wersję Stackera 4.02 firmy Stac Electronics.
  • Windows 95 (1995) firmy Microsoft zawierał zaktualizowaną wersję DriveSpace 2 .
  • Windows 95 OSR2 (1996) firmy Microsoft zawierał uproszczoną wersję DriveSpace 3 .
  • Windows 95 Plus! (1996) firmy Microsoft dołączył pełną wersję DriveSpace 3 .
  • OpenDOS 7.01 (1997) firmy Caldera (po przejęciu Novell DOS) zawierał wersję Stackera 3.12 z obsługą DPMS .
  • DR-DOS 7.02 (1998) firmy Caldera zawierał wersję Stackera 3.12 obsługującą DPMS . DR-DOS 7.02 dodał także wsparcie dla Microsoft DriveSpace .
  • PC DOS 2000 (1998) firmy IBM zawierał wersję Stackera 4.02 z obsługą DPMS .
  • Windows 98 (1998) firmy Microsoft zawierał pełną wersję DriveSpace 3 .
  • DR-DOS 7.03 (1999) firmy Caldera zawierał wersję Stackera 3.12 obsługującą DPMS .
  • Windows 98 SE (1999) firmy Microsoft zawierał pełną wersję DriveSpace 3 .
  • PTS-DOS Pro 2000 (1999) firmy Paragon Technology Software zawierał komponent kompresji dysku o nazwie DATACOMP .

Inne rozwiązania

Chociaż system Windows XP firmy Microsoft zawierał zarówno natywną obsługę, jak i polecenie o nazwie compact, które kompresuje pliki w systemach NTFS , nie jest to zaimplementowane jako oddzielny „dysk skompresowany”, jak te powyżej.

Operacja

Kompresja dysku zwykle tworzy jeden duży plik, który staje się wirtualnym dyskiem twardym. Jest to podobne do tego, jak pojedynczy fizyczny dysk twardy można podzielić na wiele dysków wirtualnych. Dostęp do skompresowanego dysku uzyskuje się za pośrednictwem sterownika urządzenia .

Kompresowanie istniejących dysków

Wszystkie dyski byłyby początkowo puste. Narzędzie do tworzenia dysku zwykle oferuje „skompresowanie bieżącego dysku”. Oznaczało to, że narzędzie będzie:

  • Utwórz pusty dysk skompresowany, przechowywany na istniejącym dysku.
  • Przenieś istniejące pliki ze starego dysku na nowy skompresowany dysk.
  • W razie potrzeby zwiększ rozmiar nowego skompresowanego dysku, aby pomieścić więcej plików i pozostawić puste miejsce po zakończeniu.
  • Po przeniesieniu wszystkich plików litery dysków zostaną zamienione.

Zazwyczaj niektóre pliki systemowe nie były przesyłane. Na przykład pliki wymiany systemu operacyjnego pozostaną tylko na dysku hosta.

Kompresja dysku rozruchowego

Aby uzyskać dostęp do skompresowanego dysku, trzeba było załadować sterownik urządzenia. Skompresowany dysk C: wymagał następujących zmian w procesie rozruchu :

  • Systemu BIOS ładuje sektor 0 w pierwszym fizycznym dysku twardym ( Master Boot Record ).
  • Sektor partycji ładuje sektor 0 partycji startowej ( Volume Boot Record ). W tym przypadku jest to dysk hosta.
  • Sektor 0 dysku hosta ładuje (w przypadku DOS ) BIOS DOS ( IO.SYS , IBMBIO.COM itp.) W zależności od wersji do pamięci może być załadowanych tylko kilka pierwszych sektorów pliku lub cały plik. W pierwszym przypadku załadowany kod zawiera inny program ładujący ładujący pozostałą część pliku z dysku. W przypadku DR-DOS BIOS jest spakowany i dekompresuje się za pomocą wbudowanej procedury dekompresji.
  • BIOS DOS ładuje następnie jądro DOS ( MSDOS.SYS , IBMDOS.COM itp.)
  • Jeśli system DOS obsługuje interfejs API wstępnego ładowania , system BIOS DOS próbuje załadować wstępnie ładowany sterownik kompresji ( DBLSPACE.BIN , DRVSPACE.BIN lub STACKER.BIN ) z katalogu głównego dysku hosta i próbuje komunikować się z nim za pośrednictwem interfejsu API wstępnego ładowania systemu DOS. Jeśli sterownik zareaguje zgodnie z oczekiwaniami, BIOS DOS zachowa sterownik, jeśli nie, zostanie odrzucony. Jeśli zostaną odpowiednio zachowane i skonfigurowane, litery dysków mogą zostać zamienione, tak że skompresowany dysk stanie się C:.
  • System DOS BIOS rozpoczyna przetwarzanie pliku CONFIG.SYS, wyszukując plik w katalogu głównym dysku rozruchowego. W przypadku DR-DOS, DCONFIG.SYS ma pierwszeństwo przed CONFIG.SYS, jeśli jest obecny.
  • Sterowniki kompresji, które nie są ładowane przez interfejs API wstępnego ładowania, mogą być ładowane za pomocą instrukcji DEVICE .
  • W zależności od konfiguracji i jeśli to się jeszcze nie stało, litery dysków mogą zostać zamienione, tak że skompresowany dysk stanie się C:.
  • Przetwarzanie jest kontynuowane ze skompresowanego dysku.

Wpływ na wydajność

W systemach z wolniejszymi dyskami twardymi kompresja dysku może w rzeczywistości zwiększyć wydajność systemu. Dokonano tego na dwa sposoby:

  • Po skompresowaniu pozostało mniej danych do zapisania.
  • Dostępy do dysków często były grupowane w celu zwiększenia wydajności.

Jeśli system musiałby często czekać na zakończenie dostępu do dysku twardego ( powiązanie we/wy ), przekonwertowanie dysku twardego na dyski skompresowane mogłoby znacznie przyspieszyć system. Kompresja i dekompresja danych zwiększa wykorzystanie procesora. Jeśli system był już powiązany z procesorem , kompresja dysku zmniejsza ogólną wydajność.

Wady

Niektóre typowe wady korzystania z kompresji dysku:

  • Nie wszystkie narzędzia do kompresji potwierdzą brak błędów w systemie plików FAT przed skompresowaniem dysku na miejscu. Niektóre błędy, takie jak pliki usieciowane , mogą spowodować dodatkową utratę danych podczas procesu przesyłania.
  • Skompresowany dysk jest widoczny tylko wtedy, gdy sterownik urządzenia jest załadowany, a skompresowany dysk jest zamontowany. Na przykład dysk rozruchowy może nie zawierać sterownika. (Normalnie nie stanowiło to problemu w przypadku rozwiązań dołączonych do systemów operacyjnych, chyba że uruchamiano obce systemy operacyjne, ponieważ narzędzia systemowe, takie jak SYS, zostały zmodyfikowane w celu domyślnego kopiowania sterowników kompresji na dyski startowe, a odpowiednie systemy operacyjne również wracały do poszukaj ich na dyskach innych niż dysk rozruchowy, jeśli nie można ich tam znaleźć.)
  • Dezinstalacja była problematyczna, jeśli rozszerzony rozmiar danych na skompresowanym dysku był większy niż normalna pojemność dysku.
  • Użytkownicy nie zawsze zdawali sobie sprawę, że duży plik na dysku hosta zawiera skompresowany dysk. Chociaż zwykle był on domyślnie „ukryty”, użytkownicy, którzy uznali ten duży plik za ciekawy lub podejrzany, mogli go usunąć. Spowodowałoby to zwykle utratę danych.

Zobacz też

Uwagi

  1. ^ W plikach usieciowanych dwa pliki przechowują przynajmniej część swoich danych w tej samej lokalizacji. Przynajmniej część jednego pliku ("zły" plik) jest zawsze tracona w tym przypadku. Jeśli jednak „zły” plik zostanie skopiowany, a następnie usunięty, część „dobrego” pliku również zostanie usunięta. Microsoft SCANDISK został stworzony po części w celu lepszego sprawdzenia systemu plików przed kompresją niż narzędzie MS-DOS CHKDSK .
  2. ^ Na przykład, DOS kojarzy do czterech atrybutów z plikami: System, Ukryty, Tylko do odczytu i Archiwum. Pliki z atrybutami Systemowy lub Ukryty często nie są domyślnie wyświetlane. Plików z atrybutem Systemowy lub Tylko do odczytu nie można usunąć za pomocą polecenia ERASE lub DEL DOS. Większość narzędzi do kompresji oznaczałaby plik na dysku co najmniej jednym atrybutem systemowym, ukrytym i tylko do odczytu (wiele używałoby wszystkich trzech). Pliki oznaczone takimi atrybutami można jednak przeglądać i usuwać w inny sposób. Ponadto użytkownik może również usuwać atrybuty.

Bibliografia

Zewnętrzne linki