Najlepsze pytania
Chronologia
Czat
Perspektywa
DriveSpace
narzędzie do kompresji dysków Z Wikipedii, wolnej encyklopedii
Remove ads
DriveSpace (początkowo znane jako DoubleSpace) – program narzędziowy do kompresji dysków dostarczane z systemem operacyjnym MS-DOS od wersji 6.0 w 1993 roku do 2000 roku razem z wydaniem Windows Me. Celem DriveSpace jest zwiększenie ilości danych jaką użytkownik może przechowywać na dyskach poprzez kompresję i dekompresję danych „w locie”. Choć jest przeznaczony głównie do użytku z dyskami twardymi, obsługuje również dyskietki. Nie jest dostępny w systemie Windows XP i późniejszych.
Remove ads
Przegląd
Podsumowanie
Perspektywa

W najczęściej występującym scenariuszu użytkowania, użytkownik miałby jeden dysk twardy w komputerze, z całą przestrzenią zalokowaną do jednej partycji (zwykle jako dysk C:). Oprogramowanie skompresowałoby całą zawartość partycji do jednego dużyego pliku w katalogu głównym. Podczas rozruchu systemu sterownik przypisałby ten plik jako dysk C:, pozwalając na dostęp do danych.
Decyzja Microsoftu o dodaniu funkcji kompresji dysku do MS-DOS 6.0 została podyktowana faktem, że konkurujący system DR-DOS zawierał oprogramowanie do kompresji dysków od wersji 6.0 wydanej w 1991 roku.
Zamiast tworzyć swój własny produkt od podstaw, Microsoft nabył licencję na technologię stosowaną w DoubleDisk rozwijanym przez Vertisoft oraz dostosował ją do własnych potrzeb, tworząc DoubleSpace. Dla przykładu, wczytywanie sterownika sterującego kompresją/dekompresją (DBLSPACE.BIN) zostało bardziej zintegrowane z systemem operacyjnym (ładowane poprzez nieudokumentowane wstępnie ładowane funkcje API[1] przetwarzane jeszcze przed plikiem CONFIG.SYS).
Microsoft pierwotnie chciał pozyskać licencję od Stac Electronics, który miał podobny produkt o nazwie Stacker lecz negocjacje zakończyły się niepowodzeniem. Firma Microsoft została później pozwana przez Stac Electronics o naruszenie niektórych z patentów dotyczących kompresji danych. W trakcie procesu Stac Electronics uważało, że Microsoft nie chciał zapłacić za pozyskanie licencji na program Stacker, oferując jedynie wytwarzanie produktów ulepszających.
Remove ads
Kompatybilność
Niektóre z programów komputerowych, zwłaszcza gry, nie były kompatybilne z DoubleSpace ponieważ skutecznie pomijały sterownik DoubleSpace. DoubleSpace również pobierał znaczną część pamięci konwencjonalnej co utrudniało uruchamianie programów potrzebujących dużo pamięci.
Błędy i utrata danych
Podsumowanie
Perspektywa
Krótko po wydaniu pojawiły się pierwsze doniesienia o utracie danych. Firma Blossom Software twierdziła, że odkryła błąd prowadzący do uszkodzenia danych. Błąd ten występował przy zapisie plików na mocno pofragmentowanych dyskach i został zademonstrowany przez program BUST.EXE. Przedsiębiorstwo sprzedawało program DoubleCheck, który służył do weryfikowania stanu fragmentacji, mogącego prowadzić do opisanego błędu. Zdaniem Microsoftu błąd ten mógł wystąpić jedynie w nieprawdopodobnych przypadkach, jednak problem ten został naprawiony w MS-DOS 6.2[2].
Stan fragmentacji był powiązany z tym, w jaki sposób DoubleSpace kompresuje pojedyncze klastry (o wielkości np. 8 K) i dopasowuje je na dysku, zajmując mniej sektorów (o wielkości 512 bajtów) niż wymagana liczba (w tym przykładzie 16 sektorów). Rodziło to możliwość wewnętrznej fragmentacji, gdzie DoubleSpace nie byłby w stanie znaleźć wystarczającej ilości kolejnych sektorów do przechowywania skompresowanego klastra nawet gdyby było dużo dostępnej przestrzeni.
Do innych możliwych przyczyn utraty danych zaliczane było również uszkodzenie obszarów pamięci DoubleSpace przez inne programy; obszary pamięci zajmowane przez DoubleSpace nie były chronione ponieważ MS-DOS pracował w trybie rzeczywistym. Microsoft próbował rozwiązać ten problem w DoubleSpace dla MS-DOS 6.2 (poprzez funkcję DoubleGuard, która sprawdzałaby pod kątem takiego uszkodzenia).
Fakt przechowywania skompresowanej zawartości skompresowanego dysku w postaci jednego pliku implikował możliwość przypadkowego skasowania wszystkich danych przez użytkownika poprzez zwykłe usunięcie tego pliku. Do takiej sytuacji mogłoby dojść, gdyby użytkownik nieumyślnie uzyskał dostęp do tzw. dysku hosta zawierającego tylko ten plik. Sterownik kompresji przeważnie mapował dysk hosta pod literą H:. Jednakże, gdyby sterownik nie mógł zostać załadowany użytkownik zobaczyłby dysk hosta jako C:.
Wyłączanie komputera zanim DoubleSpace zakończyłby aktualizację swoich struktur danych również mogłoby doprowadzić do utraty danych. Problem ten był pogłębiony przez to, że Microsoft uczynił domyślnie włączonym buforowanie zapisu w oprogramowaniu SMARTDRV dostarczanym do MS-DOS 6.0. Z powodu tej zmiany, po zakończeniu aplikacji znak zachęty MS-DOS mógł pojawić się na ekranie jeszcze przed ukończeniem zapisu danych na dysku. Z powodu braku kontrolowanej procedury zamykania systemu (która występuje we współczesnych systemach operacyjnych), wielu użytkowników mogło uznać wyświetlenie się znaku zachęty MS-DOS jako sygnał, że można bezpiecznie wyłączyć komputer co było powszechnie spotykane przed MS-DOS 6.0. Microsoft odniósł się do tego problemu w MS-DOS 6.2, w którym buforowanie zapisu wciąż było domyślnie włączone jednak pamięć podręczna (ang. cache) ulegałaby czyszczeniu przed ponownym pojawieniem się linii wiersza poleceń.
Remove ads
Dodatki
Podsumowanie
Perspektywa
AddStor, Inc. oferowało produkt Double Tools for DoubleSpace. Zawierał on narzędzia ulepszające funkcje DoubleSpace występującego w MS-DOS 6.0. Narzędzia te zawierały składniki diagnostyczne, funkcję automatycznego montowania skompresowanych nośników wymiennych w chwili ich użycia oraz możliwość defragmentacji w tle dysków skompresowanych w DoubleSpace[3]. Aby zdefragmentować pliki w tle, można było pozwolić DoubleTools na podmianę niskopoziomowego sterownika DoubleSpace (DBLSPACE.BIN) na dostarczany przez DoubleTools. Podmiana sterownika oferowała również inne przydatne funkcje, takie jak używanie 32-bitowych ścieżek kodu w przypadku wykrycia procesora Intel 80386 lub wydajniejszego, pamięć podręczną i – w dodatku do obsługi pamięci górnej (ang. Upper Memory Area) – pozwalała na częściowe użycie pamięci rozszerzonej dla części swoich buforów (zmniejszając tym samym całkowite wykorzystanie pamięci konwencjonalnej i górnej, kosztem wolniejszego działania)[4]. Kolejną z funkcji była możliwość rozdzielenia skompresowanego woluminu na liczne dyskietki oraz możliwość podglądu całego woluminu przy włożonej tylko pierwszej dyskietce (i zmianie na kolejne gdy zaistniała taka potrzeba). Dostępne było również udostępnienie skompresowanego woluminu dla komputerów zdalnych. Double Tools mógł też umieszczać specjalne narzędzie na skompresowanych dyskietkach dające dostęp do skompresowanych danych nawet na komputerach nie wyposażonych w DoubleSpace czy Double Tools.
Vertisoft, twórca programu DoubleDisk, którego licencję kupił Microsoft i opracował na jego podstawie DoubleSpace, opracował i sprzedawał dodatkowy program SpaceManager zawierający ulepszenia w użyteczności oraz stopniu kompresji.
Inne produkty, takie jak późniejsze wersje Stacker od Stac Electronics, umożliwiały konwersję istniejących skompresowanych dysków DoubleSpace do swoich własnych formatów.
Remove ads
Późniejsze wersje
Podsumowanie
Perspektywa
MS-DOS 6.2
MS-DOS 6.2 zawierał nową i ulepszoną wersję DoubleSpace. Dodano możliwość usunięcia DoubleSpace. Wprowadzony w tej wersji SCANDISK potrafił skanować nieskompresowane i skompresowane dyski oraz sprawdzać wewnętrzne struktury DoubleSpace. Funkcje ochronne (znane jako DoubleGuard) zostały dodane w celu ochrony przed uszkodzeniem pamięci i utraty danych. Użycie pamięci przez sterownik DoubleSpace zostało zmniejszone w porównaniu do wersji rozprowadzanej z MS-DOS 6.0. Naprawiono także opisany wcześniej problem z fragmentacją.
MS-DOS 6.21
W wyniku pozwu ze strony Stac Electronics dotyczącego naruszenia patentów, Microsoft wydał MS-DOS 6.21 nie zawierający DoubleSpace. Ponadto nakaz sądowy nie dopuszczał do dalszej dystrybucji wcześniejszych wersji MS-DOS, które zawierały DoubleSpace.
MS-DOS 6.22
MS-DOS 6.22 zawierał powtórnie implementowaną wersję narzędzia do kompresji dysków, tym razem pod nazwą DriveSpace. Zasadniczo z punktu widzenia użytkownika oprogramowanie było identyczne z DoubleSpace w MS-DOS 6.2 oraz było kompatybilne z wcześniejszymi wersjami.
DriveSpace w Windows 95
Windows 95 miał pełną obsługę DoubleSpace/DriveSpace poprzez natywny 32-bitowy sterownik do dostępu do skompresowanych dysków, razem z graficzną wersją programów narzędziowych. Użytkownicy DriveSpace z MS-DOS mogli bezproblemowo zaktualizować do Windows 95. Co więcej, zestaw Microsoft Plus! for Windows 95 zawierał DriveSpace w wersji 3. Wersja ta wprowadziła nowe formaty kompresji (HiPack oraz UltraPack) z różnymi charakterystykami wydajności dla jeszcze większych stopni kompresji, a także narzędzie do rekompresji danych na dysku poprzez inne formaty w zależności od tego, jak często pliki były używane. Użytkownik mógł dokonać aktualizacji DriveSpace 2 do DriveSpace 3 lecz bez możliwości powrotu do wersji 2. Jednak było możliwe zdekompresowanie dysku DriveSpace 3. DOS-owy sterownik urządzenia DriveSpace zajmował około 150 KB pamięci z powodu nowych funkcji. Stwarzało to trudności dla użytkowników przy uruchamianiu trybu MS-DOS w Windows 95 celem uruchomienia gier z powodu mniejszej ilości dostępnej pamięci konwencjonalnej.
DriveSpace 3 dostarczany był też z Windows 95 OSR2, przy czym wiele funkcji było nieaktywnych do momentu instalacji dodatku Plus!. DriveSpace nie mógł też być używany z systemem plików FAT32 przez co był mało użyteczny na komputerach z dużymi dyskami twardymi[5].
DriveSpace w Windows 98
Windows 98 był rozprowadzany z DriveSpace 3 jako składnikiem systemu. Funkcjonalność była identyczna jak w Windows 95 z Plus!.
DriveSpace w Windows Me
Z powodu usunięcia obsługi trybu rzeczywistego, FAT32 stającego się powszechnie stosowanym systemem plików oraz malejącej popularności DriveSpace, DriveSpace w Windows Me miał ograniczone wsparcie. Nie oferował już kompresji dysku twardego lecz wciąż umożliwiał odczyt i zapis do skompresowanych nośników wymiennych; oprócz tego jedyną możliwą operacją było usuwanie i realokacja skompresowanych dysków.
Istnieje nieoficjalna możliwość przywrócenia pełnej użyteczności DriveSpace 3 w Windows Me poprzez skopiowanie pliku wykonywalnego z instalacji Windows 98 i nadpisanie go na ten dołączony do Windows Me. W rezultacie użytkownik może ponownie skompresować dysk tak jak w Windows 98.
Remove ads
Wsparcie poza Microsoftem
DMSDOS, sterownik jądra Linuksa[6][7], został opracowany w końcówce lat 90. w celu odczytu i zapisu dysków DoubleSpace/DriveSpace. Jednakże odczyt i, w szczególności, zapis do skompresowanych systemów plików jest niezawodny jedynie w określonych wydaniach jądra w wersji 2.0, 2.1 i 22.
Podczas gdy DR-DOS obsługiwał własną technologię kompresji dysków (pierwotnie bazującą na SuperStor, później Stacker), Novell DOS 7 w 1993 roku i nowsze wprowadziły emulację nieudokumentowanych wstępnie ładowanych API celem wsparcia także dla DoubleSpace[1]. Ponieważ sterowniki DR-DOS były przystosowane do DOS Protected Mode Services (DPMS), a te w MS-DOS nie, nie oferowało to żadnej przewagi dla użytkowników DR-DOS ale pozwalało na łatwiejszą koegzystencję lub migrację z powodu możliwości współdzielenia już skompresowanych woluminów w scenariuszach posiadania więcej niż jednego systemu operacyjnego na komputerze (ang. multi-boot). W 1998 roku DR-DOS 7.02 i nowsze również dodawały obsługę dla DriveSpace[8].
Remove ads
Przypisy
Bibliografia
Linki zewnętrzne
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads