Nowe i ulepszone polecenia w MS DOS-ie 6 (cd.)

Kontynuujemy omawianie nowych poleceń MS DOS 6. Dzisiaj omawiamy program kompresji danych na dysku DBLSPACE.EXE, który wywołał największe zainteresowanie tą wersją systemu MS DOS, ale jednocześnie budzi największe kontrowersje. Każdy użytkownik komputera musi sobie postawić pytanie, czy gotów jest już dzisiaj sformatować na nowo swój dysk stały. Bo prawda jest niestety brutalna: zdarzają się nieudane próby wykonania kompresji danych na dysku, kończące się przeformatowaniem i utratą całej zawartości dysku. Nie jest to właściwość specyficzna dla programu kompresji załączonej z DOS-em 6.0. Naszemu koledze redakcyjnemu zdarzyła się ta katastrofa już trzy razy, za każdym razem z innym programem kompresji! Jak wynika z doniesień prasowych, zdarza się to częściej laboratoriom testującym różne programy i operującym wyrafinowanymi, ale też bardzo wymagającymi narzędziami, niż zwykłym użytkownikom.

Kontynuujemy omawianie nowych poleceń MS DOS 6. Dzisiaj omawiamy program kompresji danych na dysku DBLSPACE.EXE, który wywołał największe zainteresowanie tą wersją systemu MS DOS, ale jednocześnie budzi największe kontrowersje. Każdy użytkownik komputera musi sobie postawić pytanie, czy gotów jest już dzisiaj sformatować na nowo swój dysk stały. Bo prawda jest niestety brutalna: zdarzają się nieudane próby wykonania kompresji danych na dysku, kończące się przeformatowaniem i utratą całej zawartości dysku. Nie jest to właściwość specyficzna dla programu kompresji załączonej z DOS-em 6.0. Naszemu koledze redakcyjnemu zdarzyła się ta katastrofa już trzy razy, za każdym razem z innym programem kompresji! Jak wynika z doniesień prasowych, zdarza się to częściej laboratoriom testującym różne programy i operującym wyrafinowanymi, ale też bardzo wymagającymi narzędziami, niż zwykłym użytkownikom.

Wstępne przygotowania

Jeżeli instalujemy MS DOS 6 na istniejącym i już mocno zapchanym dysku, to z operacją kompresji danych nie należy się spieszyć. Jeden tydzień upewniania się, że DOS działa poprawnie nie zmieni w istotny sposób naszej sytuacji, a może wpłynąć na decyzję co do konieczności i celowości wykonania tej operacji. Jeżeli bowiem okaże się, że ważny program nie działa w nowej wersji MS DOS, to powrócić do wersji poprzedniej można jedynie z dysku jeszcze nieupakowanego.

Pierwszym etapem przygotowania dysku do operacji kompresji jest solidne zrobienie porządku. Należy zawsze zacząć od wywołania polecenia CHKDSK/F, sprawdzającego poprawność zapisu danych na dysku i odnajdującego zagubione klastery dyskowe, nie używane przez żaden plik i nie dołączone do puli wolnej przestrzeni na dysku. Opcja /F polecenia pozwala na podjęcie decyzji, co należy zrobić z oderwanymi klasterami. Na zadawane przez program pytanie, czy oderwane klastery zapisać w postaci plików zwykle należy odpowiedzieć No, chyba że właśnie ostatnio zaginęły nam ważne pliki tekstowe. Jest wtedy szansa, że znajdują się w oderwanych klasterach i uda się je odzyskać w ten sposób.

Następnie zalecane jest usunięcie wszystkich zbędnych plików. Pisałem w jednym z poprzednich odcinków tego cyklu o celowości i wynikach, jakie można osiągnąć przy starannej selekcji plików. I tę właśnie operację dobrze jest wykonać przed kompresją dysku.

Kolejny etap przygotowania do kompresji, to wykonanie defragmentacji dysku. Wprawdzie nie jest to operacja konieczna, gdyż program upakowujący dobrze radzi sobie nawet z dyskiem nieuporządkowanym, ale szybkość upakowywania będzie większa na dysku uporządkowanym. Na szczęście MS DOS 6 zawiera program DEFRAG, służący do porządkowania rozkładu plików na dysku stałym.

Kompresja danych

Program kompresji korzysta z metody zwanej DoubleSpace, opracowanej specjalnie dla MS DOS 6. Jak sama nazwa wskazuje, można oczekiwać dwukrotnego powiększenia rozmiaru dysku, choć mało komu udaje się osiągnąć ten rezultat. Program kompresji wywołuje się poleceniem DBLSPACE.

Kompresja polega na zapisaniu na dysku specjalnego upakowanego pliku Compressed Volume File (CVF), do którego zapisuje się dane tak, jak na dysk stały i który z punktu widzenia systemu jest dyskiem logicznym. Plik CVF nosi zwykle nazwę DBLSPACE.000 i ma nadane atrybuty: tylko czytany, systemowy i ukryty. Polecenie DBLSPACE w stosunku do dysku C spowoduje utworzenie nowego dysku logicznego H (Host_for_C), z którego startować będzie system operacyjny i na którym zapisany będzie plik CVF i niektóre inne pliki, w szczególności pliki startowe systemu IO.SYS, MSDOS.SYS, sterownika kompresji danych DBLSPACE.BIN i DBLSPACE.INI. Jeśli na dysku zapisany był stały plik roboczy Windows (386SPART.PAR), to także dla niego znajdzie się miejsce w części nieupakowanej.

Przebieg operacji upakowania

Wywołanie polecenia DBLSPACE bez żadnych opcji oznacza, że chcemy upakować dysk C. Wiele dodatkowych opcji tego programu nie jest wprawdzie opisanych zbyt szczegółowo w dokumentacji MS DOS 6, ale jest dostatecznie dokładnie wyjaśnione w elektronicznym pomocniku do programu. Należy wywołać polecenie Help Dblspace i przeczytać na ekranie wielostronicowy opis opcji.

Program DBLSPACE zaczyna operację upakowania od wywołania polecenia CHKDSK, w celu sprawdzenia poprawności zapisu danych. W razie stwierdzenia istnienia oderwanych klasterów, program kończy operację, zalecając wykonanie najpierw porządku na dysku. Następnie program zmienia konfigurację komputera, dopisując do pliku CONFIG.SYS wiersz ze sterownikiem dysków upakowanych DBLSPACE.SYS. Korzystanie z tego sterownika wymaga uruchomienia komputera na nowo, to też program wykonuje ten start. Następnie po podjęciu przez użytkownika decyzji, jaka operacja ma być wykonywana (kompresja dysku C, kompresja dysku D, czy stworzenie nowego logicznego dysku upakowanego z wolnej przestrzeni na dysku) rozpoczyna się kompresja danych na dysku C.

Program przez cały czas trwania pracy ocenia ile jeszcze czasu operacja będzie trwała i pokazuje nazwy plików podlegających upakowaniu. Znacznym utrudnieniem dla programu są pliki już w jakiś sposób wcześniej upakowane. Na moim dysku o pojemności 41 MB było 13,6 MB wolnej przestrzeni i znajdowało się ok. 10 MB w ponad 500 plikach częściowo upakowanych (definicje i miary krojów pisma dla programu składu komputerowego TeX). Program wstępnie ocenił, że operacja potrwa 17 minut, po czym systematycznie wydłużał ten czas. Ostatecznie operacja trwała 61 minut.

Pliki upakowane zapisywane są w końcowych sektorach dysku fizycznego. W celu przyspieszenia operacji dyskowych, program DBLSPACE samoczynnie wywołuje program defragmentacji, przenoszący pliki upakowane (a raczej plik CVF dysku upakowanego) na początek dysku fizycznego. Ta operacja potrwała tylko 4 minuty.

W wyniku otrzymałem dysk C o pojemności (ocenianej przez program DBLSPACE) 68 MB i dysk H o pojemności 4 MB. Wcześniej założyłem na dysku stałym C plik roboczy (stały) dla Windows. Po operacji upakowania okazało się, że tego pliku nie ma. Wystarczy jednak założyć go na nowo na dysku nieupakowanym H. Program upakowujący zarezerwował bowiem na dysku nieupakowanym dość miejsca na założenie stałego pliku roboczego dla Windows.

Stopień upakowania danych na dysku znacznie zależy od ich charakteru i jest tym większy im pliki zawierają więcej powtarzających się jednakowych bajtów. Najlepiej więc upakowują się pliki graficzne, pliki tekstowe, bazy danych, najgorzej pliki już upakowane.

Jeżeli mamy kompletnie nowy komputer, to wydaje się że najlepszą metodą przygotowania dysku stałego do optymalnego wykorzystania możliwości kompresji będzie podzielenie go na co najmniej dwie partycje: dysk C o pojemności 10ţ15 MB, przeznaczony jedynie na zainstalowanie systemu operacyjnego i stałego lub tymczasowego pliku roboczego dla Windows oraz inne partycje, o dowolnych pojemnościach, na których wykonamy kompresję danych.