home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga MA Magazine 1997 #3
/
amigamamagazinepolishissue03-1
/
ma_1995
/
09
/
ami928.txt
< prev
next >
Wrap
Text File
|
1997-04-07
|
10KB
|
214 lines
PACKDISK & PACKDEV
<lead>Niedawno pisaîem o róûnego rodzaju archiwizerach dyskowych.
Niestety, nie udaîo mi sië opisaê wszystkich programów, jakie
wtedy odszukaîem na amigowskim rynku. Pozostaîy jeszcze dwa
którym z pewnych wzglëdów warto sië dokîadniej przyjrzeê.
<a>Jarosîaw Horodecki
<txt>Te dwa wspomniane przeze mnie programiki to PackDev oraz
PackDisk. Ich wspólnâ cechâ jest to, ûe w odróûnieniu od innych
tego typu kompresorów, nie korzystajâ one z wîasnych procedur
pakujâcych, ale z procedur zewnëtrznych. Oba wykorzystujâ po
prostu bibliotekë XPKMaster.library oraz przeznaczone dla niej
kompresory. Warto jednoczeônie nadmieniê, ûe robiâ to w róûny
sposób.
Zacznijmy od programu PackDisk autorstwa Edgara Vigdala z
Norwegii. Jest to program nieco mniej uniwersalny i dysponujâcy
nieco mniejszymi moûliwoôciami niû PackDev, dlatego postanowiîem
od niego zaczâê.
Autor PackDiska przede wszystkim podkreôla jego zalety w stosunku
do powszechnie znanego DiskMashera. Najwaûniejszâ z nich jest
moûliwoôê stopniowego odczytywania archiwum oraz nagrywania go na
dysk docelowy, co jest szczególnie przydatne, gdy archiwum,
odczytywane z tej samej stacji dysków, nagrywamy na inny dysk,
wkîadany do tego samego urzâdzenia. W wypadku DiskMashera trzeba
byîo wczeôniej archiwum przekopiowaê do RAM-u. W epoce twardego
dysku cecha ta wydaje sië jednak maîo przydatna. Druga zaleta
programu przedstawiana przez autora, czyli jego niewielka dîugoôê
(5 KB), jest natomiast nieco problematyczna. Wszak potrzebne jest
jeszcze w pamiëci miejsce na dwie biblioteki (XPKMaster oraz
odpowiedni kompresor).
Mimo tych nieco moûe wâtpliwych zalet PackDisk z pewnoôciâ jest
programem bardzo ciekawym. Jego omówienie rozpocznë moûe od
prostego przykîadu. Na poczâtek wiëc czytanie zawartoôci dysku:
<l>packdisk -p -4 nazwa_pliku
<txt>Jak widaê, skîadnia odpowiedniego polecenia jest wyjâtkowo
prosta. Opcja -p to oczywiôcie przestawienie programu w tryb
pakowania dysku. Druga z opcji to z kolei wybór stopnia
kompresji pliku. Im mniejsza liczba, tym gorsza kompresja. W
jaki jednak sposób program ten korzysta z kompresorów XPK? Otóû
kolejne stopnie kompresji to po prostu korzystanie z róûnych
zewnëtrznych kompresorów. I tak:
1 -- kompresor RLEN o bardzo sîabej efektywnoôci, ale za to
bardzo szybkiej kompresji oraz dekompresji;
2 -- NUKE to z kolei kompresor o szybkim algorytmie pakowania,
zachowujâcym jednoczeônie stosunkowo niezîy stopieï kompresji,
rozpakowanie pliku jest równieû bardzo szybkie;
3 -- BLZW gwarantuje równieû bardzo szybkâ kompresjë oraz
dekompresjë, nie najgorsze wyniki;
4 -- HUFF to algorytm Huffmana, doôê sîaby stopieï kompresji przy
bardzo duûej prëdkoôci;
5 -- IMPL jest bardzo dobrym kompresorem o doskonaîym stopniu
kompresji, jednakûe nie najwyûszej prëdkoôciâ pakowania, a bardzo
duûej prëdkoôci rozpakowywania;
6 -- SHRI to najlepszy z wymienionych kompresorów,
charakteryzujâcy sië, niestety, bardzo maîâ szybkoôciâ zarówno
przy kompresji, jak i dekompresji dysku;
Wiemy juû wiëc, jak dany dysk spakowaê do wskazanego pliku.
Równie waûnâ czynnoôciâ jest oczywiôcie rozpakowanie wczeôniej
przygotowanego archiwum. Oto skîadnia odpowiedniego rozkazu:
<l>packdisk -u nazwa_pliku
<txt>Tutaj chyba nie trzeba niczego wyjaôniaê. Opcja -u to po
prostu wîâczenie trybu rozpakowywania dysku, znaczenie drugiego
parametru jest natomiast oczywiste.
To wszystko, co potrafi PackDisk. Niewâtpliwie doôê istotnâ wadâ
posiadanej przeze mnie wersji programu jest brak moûliwoôci
pakowania danych z urzâdzeï innych niû DF0:. Przydaîaby sië
choêby moûliwoôê skorzystania z RAD-u, zwîaszcza przy
rozpakowywaniu.
Drugi program, czyli PackDev autorstwa Christiana Wasnera z
Niemiec, to narzëdzie o wiele bardziej rozbudowane i znacznie
bardziej uniwersalne. Wîaôciwie jedynâ wspólnâ cechâ tych dwóch
programów jest, o czym juû wspomniaîem, korzystanie z bibliotek
XPK przy pakowaniu danych.
Program PackDev nie jest jednak zwykîym kompresorem, przeznaczonym
do pakowania tylko i wyîâcznie dyskietek, czy teû urzâdzeï o
strukturze identycznej ze strukturâ dyskietki (jak RAM-dysk
RAD:). Program ten potrafi odczytaê, skompresowaê oraz zapisaê do
pliku dokîadnâ zawartoôê dowolnie wybranego urzâdzenia, poczâwszy
wîaônie od zwykîej dyskietki, a skoïczywszy na choêby twardym
dysku, czy teû pîycie kompaktowej. Moûliwoôci jest wiele. Jak
wiëc widaê, PackDev jest programem îâczâcym pewne cechy zwykîego
archiwizera dyskowego z programem przeznaczonym do wykonywania
backupów zawartoôci róûnego typu urzâdzeï.
Autor programu, podobnie jak w poprzednim wypadku, na poczâtku
dokumentacji wylicza wiele zalet swojego dzieîa w zestawieniu z
DiskMasherem. Tu jednak z wiëkszoôciâ spoôród wymienionych
pozycji muszë sië zgodziê. Gîównâ czëôciâ tej listy jest
oczywiôcie moûliwoôê pakowania dowolnych urzâdzeï oraz
korzystania z bibliotek XPK. Ostatniâ z przedstawionych zalet
jest równieû niewielka dîugoôê programu.
Zasada dziaîania programu jest bardzo prosta. W pierwszym kroku
odczytywane sâ dane o wskazanym urzâdzeniu. Jeûeli istnieje
moûliwoôê odczytania mapy zajëtoôci dysku, a system zapisu danych
jest znany, czytane sâ tylko wykorzystywane sektory, w przeciwnym
wypadku natomiast odczytywana jest caîa zawartoôê pakowanego
urzâdzenia.
Korzystanie z programu, na razie, nie naleûy natomiast do
czynnoôci najprostszych. Wszystkie funkcje dostëpne sâ jedynie z
poziomu CLI/Shella, naleûy sië wiëc zapoznaê z poszczególnymi
opcjami, jakich uûycie dopuszcza PackDev.
Pierwszym i chyba najwaûniejszym parametrem, jaki musi byê
podany, jest czynnoôê, jakâ PackDev ma wykonaê. Moûna tu wybraê
spoôród czterech róûnych dziaîaï: READ (czytanie zawartoôci
wskazanego urzâdzenia), WRITE (zapis wskazanego archiwum na dane
urzâdzenie), VIEWFILE (wyôwietlenie zawartoôci pliku),
VIEWFILESYS (podanie informacji o wskazanym urzâdzeniu).
Po wskazaniu czynnoôci naleûy okreôliê takûe nazwë urzâdzenia, z
jakiego program ma odczytaê dane, bâdú na które dane te bëdâ
zapisywane. Sîuûy do tego parametr FILESYS (lub FS), po którym
wpisujemy po prostu nazwë czytanego urzâdzenia. Po podaniu nazwy
urzâdzenia pozostaje jeszcze wskazanie odpowiedniego pliku. W
zaleûnoôci od wybranego dziaîania programu bëdzie to oczywiôcie
plik úródîowy lub docelowy. Do jego okreôlenia sîuûy opcja FILE
(albo F).
Kolejne trzy opcje dotyczâ niejako technicznej strony czytania
dysku i traktowania jego zawartoôci. Po pierwsze wiëc dostëpna
jest opcja CLRUNUSED (lub CU). Skorzystaê z niej moûna tylko przy
zapisie danych na dysk, a jak sama jej nazwa wskazuje, sîuûy ona
do czyszczenia nie zajëtych sektorów. Gdy jest wyîâczona,
zawartoôê tych sektorów pozostaje nie naruszona, co w niektórych
wypadkach doprowadzi do pozostawienia na dyskietce niepotrzebnych
danych. Warto wiëc z tej opcji korzystaê.
Druga z nich natomiast to ETDFORMAT (lub ETDF). Korzystaê z niej
moûna równieû tylko podczas zapisywania danych. Podczas
rozpakowywania pliku na nie sformatowanâ dyskietkë, zostanie ona
przed zapisem kaûdej ôcieûki automatycznie sformatowana. Warto
zwróciê uwagë, ûe opcja ta nie bëdzie dziaîaê z twardym dyskiem,
poniewaû uûywana jest tutaj funkcja formatowania, przystosowana
tylko do formatowania dyskietek.
Dziaîanie trzeciej z kolei opcji, czyli TDFORMAT (lub TDF) jest
niemal identyczne z poprzednio omówionâ. Poza tym opcja bëdzie
równieû dziaîaê z dowolnym innym urzâdzeniem, a nie tylko ze
stacjâ dysków, jak to byîo w wypadku ETDF. Opcja ta korzysta ze
standardowej systemowej procedury formatowania, przeznaczonej do
przygotowywania wszystkich rodzajów noôników.
Ostatni z kolei zestaw opcji pozwala na odpowiednie ustawienie
parametrów pakowania. Najwaûniejsza z nich to oczywiôcie opcja
PACK (lub P). Sîuûy ona do okreôlenia rodzaju kompresora XPK,
jaki ma zostaê uûyty, oraz ustawienia jego efektywnoôci. Warto
tutaj wspomnieê, ûe czëôê kompresorów zgodnych z tym standardem
pozwala na ustawienie efektywnoôci kompresji w zakresie od 0 do
100. W ten sposób moûna dodatkowo wpîywaê na stopieï kompresji
oraz jej szybkoôê. Dostëpne sâ oczywiôcie wszystkie moûliwe
kompresory XPK, a nie, tak jak w wypadku PackDiska, tylko kilka
wybranych przez autora programu.
Za pomocâ dwóch dodatkowych opcji moûna natomiast wpîywaê na
technicznâ stronë samego pakowania danych. Moûliwe jest wiëc
wybranie rodzaju pamiëci, z jakiego korzystaê ma PackDev. Sîuûy
do tego opcja MEMTYPE (lub M) wraz z odpowiednim parametrem,
oznaczajâcym rodzaj pamiëci, jaka ma byê wykorzystana. Moûe to
byê jeden z nastëpujâcych rodzajów: Chip, Fast lub Any (dowolny
rodzaj pamiëci, w zaleûnoôci od potrzeb).
Z kolei opcja XPKBUFSIZE (lub XB) umoûliwia ustawienie wielkoôci
bufora tworzonego w pamiëci, a przeznaczonego na potrzeby
procedury kompresujâcej. W niektórych wypadkach skorzystanie z
duûego bufora, umieszczonego w pamiëci Fast, moûe spowodowaê
wyraúnie zauwaûalne zwiëkszenie prëdkoôci dziaîania programu.
Po omówieniu wszystkich opcji warto jeszcze podaê kilka
podstawowych przykîadów, które moûe nieco uîatwiâ praktyczne
wykorzystanie programu. Na poczâtek, jak zwykle, czytanie
zawartoôci dysku:
<l>packdev read fs rad: f dh1:nazwa_pliku nuke.75 xb 200
<txt>Komenda ta powoduje oczywiôcie czytanie zawartoôci dysku
wirtualnego, znajdujâcego sië w pamiëci RAM oraz nagranie na
dysku dh1: jego zawartoôci, spakowanej za pomocâ kompresora nuke z
75-procentowâ efektywnoôciâ oraz przy uûyciu bufora o wielkoôci
dwustu bloków, czyli normalnie 100 KB. I kolejny przykîad:
<l>packdev write fs df1: dh1:nazwa_pliku etdf
<txt>Tutaj szczegóîowe wyjaônienia wydajâ sië byê zbëdne. Po
prostu rozpakowujemy dane, znajdujâce sië w pliku na partycji
dh1: na nie sformatowanej dyskietce, znajdujâcej sië w napëdzie
df1:.
Jak widaê, obsîuga programu nie jest aû tak strasznie trudna.
Samâ ocenë programu oraz decyzjë, czy bëdziemy go uûywaê,
pozostawiam juû jednak Czytelnikom. Warto moûe jeszcze dodaê, ûe
mimo tak wielu interesujâcych moûliwoôci i w miarë prostej
obsîugi program ten nie zyskaî zbytniej popularnoôci.