di  -  venerdì 20 agosto 2010

Pubblichiamo un guest post di Felice Pescatore

“Salve… vorrei un computer…” “E’ assolutamente nel posto giusto… le posso consigliare questo nuovissimo sistema con ben 1 TB di disco rigido per tutte le sue foto, i suoi video, ecc…ecc….”

Quello brevemente sintetizzato è uno dei presunti consigli che un classico addetto alla vendita di computer,  giornalmente,  dispensa a chi si appresta ad acquistare l’ultima meraviglia informatica. Ma fermiamoci un attimo: 1 TB, mille miliardi di byte… eppure lo spazio non ci basta mai. Siamo diventati disordinati e i nostri dischi pullulano di dati inutili, scaricati dalla Rete o dal supporto di un amico.

Poco più di 20 anni fa, però, la normalità era rappresentata da dischi di 20 Mb (si si… 20 megabyte!) visto l’alto costo che si attestava intorno ai 10$ per Mb. Lo spazio, comunque, cominciava anche allora ad essere appena sufficiente, complice il primo timido utilizzo di strumenti multimediali (vedi Windows MMC e Windows 3.1) e la diffusione di nuove applicazioni “pesanti”: WordPerfect per DOS aveva bisogno di circa un paio di mega, Quattro Pro per DOS di 4/6 MB, e Harvard Graphics per DOS di circa 10MB per l’installazione completa. La situazione peggiorava se si decideva di installare un sistema operativo evoluto come OS/2 che occupava di per sé decine di mega.

Come fare, allora, per risolvere la carestia di spazio senza spendere una cifra pari a quella dell’intero calcolatore?

Ecco, allora, affacciarsi sul mercato i quasi dimenticati sistemi di Compressione del Disco al Volo, venduti a circa 120-150$.
Nomi come Stacker o Double/DriveSpace hanno accompagnato molti utenti di PC nel primo quinquennio del ’90, permettendo di ottenere un significativo incremento di spazio con punte fino all’ 80-90%.

Queste utilities creavano un grosso file compresso chiamato “Volume” e intercettavano le chiamate di lettura e scrittura al sistema, preoccupandosi, rispettivamente, di leggere e decomprimere o di comprimere e scrivere. Il tutto al volo ed in modo trasparente. Questo modus-operandi era, comunque, anche il lato più delicato: infatti un volume corrotto significava la perdita irrimediabile, o quasi, di tutti i dati.

Spesso i produttori riportavano percentuali di aumento dello spazio disponibile tra il 2.5:1 ed il 3.1:1, cioè quasi il triplo di quello reale, cosa da accreditare ad un utilizzo più efficiente dell’allocazione dei file su disco (valido in modo particolare per le partizioni FAT) più che alla percentuale di compressione dei file.

Nel processo di compressione venivano utilizzate varianti proprietarie del celebre algoritmo Lemple-Ziv (LZ), ottimizzate dal punto di vista computazionale, in modo da ridurre l’impatto sulle performance del sistema. C’è da dire che nello stato di massima maturità di questa categoria di software, l’obiettivo era stato raggiunto, tant’è che il degrado prestazionale era quasi impercettibile su hardware veloce dotato di processori 486DX4 o Pentium I.

Lo scettro della categoria apparteneva a Stacker di Stack Electronics, che per primo si era affacciato sul mercato conquistando l’attenzione di utenti e software house, in particolare quelle produttrici di sistemi operativi DOS LIKE. Stacker utilizzava l’algoritmo Lempel-Ziv-Stac (LZS o Stac Compression), ancora oggi sfruttato per le comunicazioni di rete e fatto proprio dal CISCO IOS Stack. L’LZS garantiva un ottimo incremento di spazio, vicino al limite teorico del 100%, senza un degrado significativo delle performance.

Il suo principale antagonista era SuperStor della AddStor Inc., particolarmente apprezzato per la possibilità di comprimere i floppy e leggerli anche su sistemi sprovvisti del tool, grazie ad suo un subset (2XON) incluso su ogni floppy “trattato”.

Ma la diffusione di questi sistemi avvenne con la loro inclusione nei vari DOS, che portò all’abbattimento del costo di acquisto. Il primo ad integrare un sistema di compressione fu Digital Research con il DR DOS 6, come sempre era un passo avanti alla coppia Microsoft/IBM, che scelse inizialmente SuperStor in versione Lite. Anche IBM decise di includere il prodotto di AddStor a partire dalla versione 6.1 del proprio DOS anche se, in realtà, nel package dell’OS non era presente il software vero e proprio ma il coupon d’ordine. L’inclusione fattiva avvenne con la release IBM DOS 6.3.

Microsoft con l’MS-DOS 6.0 scelse di sviluppare una soluzione propria, chiamata DoubleSpace, derivata da un prodotto realizzato da Verisoft.

La scelta non fu delle più felici. DoubleSpace provocava, in alcuni casi, la perdita di dati e la corruzione del volume compresso, costringendo così BigM a rilasciare rapidamente la versione 6.20 del DOS con uno Scandisk in grado di controllare i dischi compressi, con DoubleGuard (residente in memoria) per controllare lo stato del volume compresso e con altri fix minori alle utility che utilizzavano il file system.

Inoltre Stack El. citò la casa di Redmond per aver violato i brevetti sull’algoritmo LZS, costringendo BigM al rilascio dell’MS-DOS 6.21 senza utility di compressione e, nel giro di alcuni mesi, al rilascio della versione 6.22 con il nuovo DriveSpace basato su un nuovo algoritmo misto Lempel-Ziv/Huffman . Nel frattempo le nuove release del DR-DOS (diventato Novell-DOS 7) e dell’IBM DOS (7.0 e 7.0 rev 1 alias 2000) sostituirono SuperStor con una versione specifica di Stacker.

Intorno alla metà degli anni ’90 questi software iniziarono a cedere il passo, soprattutto per l’abbattimento dei costi dei nuovi dischi rigidi misurati in GB e non più per MB. Inoltre con la diffusione di Windows 95/98, SuperStor venne praticamente cancellato dal mercato, mentre Stacker tentò inutilmente di resiste con versioni specifiche, ricche di nuove funzionalità e con migliori performance rispetto a DriveSpace fornito in bundle da Microsoft.

All’alba del nuovo millennio i tool di compressione “on-the-fly” spariscono definitivamente e l’ultimo Windows a fornire DriveSpace è stato ME, che ne incorporava una versione light (la 3.0) per questioni di compatibilità, non permettendo, comunque, di creare nuovi volumi compressi. Le versioni attuali di Windows consentono di attivare un’opzione di compressione del disco per risparmiare spazio ove possibile, ma le dimensioni dei dischi sono tali da renderla praticamente inutile.

Ma il mondo Apple? La casa di Cupertino aveva una scelta limitata incentrata su DiskDoubler (DD) che invece di comprimere l’intero disco, si occupava singolarmente di ogni file trattandolo con LZ78, una ulteriore una variante dell’algoritmo LZ. Ovviamente anche per la casa di Cupertino i tempi sono cambiati e DiskDoubler è finito nel cassetto dei ricordi.

Oggi è assolutamente impensabile utilizzare un tool come Stacker, anche se qualcosa dell’idea originale può essere ritrovata in prodotti che interessano settori completamente diversi. Un  esempio per tutti gli strumenti di Virtualizzazione come VMWare e Virtual PC che utilizzano un “volume” unico che racchiude l’intera macchina virtuale permettendo di effettuare opportune policy di caching nella gestione dei dati per ottimizzarne le prestazioni.

Prima di salutarci, per completezza, è doveroso ricordare che anche per la RAM fu tentata la stessa strada, ma senza successo, visto che per tale tipo di memoria l’elemento primario è la velocità di accesso e poi la sua dimensione. Comunque RamDoubler, sviluppato da Connectix autore originale anche di Virtual PC, resta negli annali come il tool della categoria meglio riuscito.

23 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    fede
     scrive: 

    la compressione su directory o partizioni dedicate ai file di log è ancora utilissima!

  • # 2
    Drizzt
     scrive: 

    Dire che l’opzione di compressione dei dischi di Windows oggi come oggi e’ inutile mi sembra un po’ una sparata inutile, eh…ad esempio, io senza quella non riuscirei a tenere tutta a roba che tengo sugli hd :-)

  • # 3
    samuel
     scrive: 

    RamDoubler, originale con tanto di scatola e manuale che ancora conservo, e’ stato il miglior acquisto software per il mio Mac SE/30 all’epoca. Gran software.

  • # 4
    Lorenzo
     scrive: 

    Bell’articolo, personalmente ricordo di aver fatto ricorso a double space per fare fronte alle richieste in termini di MB dei giochi della defunta origin. In particolare oltre ai famosi ultima VII (black gate e serpent isle) ricordo Strike commander, simulatore di volo per i tempi graficamente rivoluzionario che occupava la bellezza di 50MB (che su 170 di disco erano un’esagerazione). Fa riflettere che adesso una qualsiasi inutility ne occupa almeno 100.
    PEr il resto segnalo che anche Windows 7 ha la gestione nativa di file VHD…per cui è ad esempio possibile creare un file VHD, montarlo e da quel momento viene visto dal SO come un disco a tutti gli effetti (col vantaggio di poterlo spostare come si fa con un file)…su quello stesso volume è poi possibile installare un’altra copia di W7 e fare un dual boot…o ancora è possibile deployare su macchine nuove volumi VHD preconfiguati e bootare da lì..fare il nesting di volumi VHD dentro altri volumi VHD. Il tutto con perdite di prestazioni impercettibili.
    In effetti il concetto alla base dei vari prodotti presentati nell’articolo è ancora vivo e vegeto, solo i presupposti sono cambiati: prima era per risparmiare spazio, adesso è per facilitare la gestione.

  • # 5
    Mirko
     scrive: 

    La compressione dei dati dei dischi e’ utilissima tutt’ora!
    Per non distruggere le prestazioni dei dischi è utile creare più partizioni di piccole dimensioni piuttosto che usare un “C:” che occupi tutto il disco.
    A questo punto conviene utilizzare la mirabolante funzionalità (“ln” di linux per intenderci) di NTFS per montare delle partizioni in directory di un’altra partizione.
    Per esempio, io ho messo tutto il contenuto di C:\Windows\Installer in una partizione separata compressa e ho recuperato circa 10G, e potendo così tenere Windows in una partizione tutta sua di soli 20G.

  • # 6
    Mirko
     scrive: 

    Quanti ricordi con il DOS!
    La compressione dei dischi, aggiungo, era comoda all’ora com’e’ oggi.
    Non è proprio giusto affermare che influiva/influisce sulle prestazioni, anzi, in molti contesti si ha l’effetto contrario.
    Certo, comprimere foto jpg, mp3 o video non ha senso e fa perdere solo tempo, ma per file eseguibili e dati generici, il vantaggio sia in termini di spazio risparmiato che di prestazioni è tangibile.
    Sia all’epoca del DOS che oggi, i processori era comunque molto più veloci delle unità di memorizzazione di massa, quindi, il tempo perso per le operazioni di compressione/decompressione, venivano recuperati dal minor tempo perso per leggere/scrivere grosse quantità di dati sui dischi!
    I floppy compressi, oltre che contenere un sacco di dati, erano molto più veloci di quelli non compressi e anche oggi, un file di log di 1G, che compresso occupa magari 100M, si copia molto più velocemente! (Con il mio i7 da 4+4 core, la CPU mi ringrazia quando riesco a farla lavorare per bene!)

  • # 7
    Andrea R
     scrive: 

    Beh oggi stiamo tornando a queste cose in ambiti particolari: penso allo swap compresso su ram e alla compressione di zfs e btrfs.

  • # 8
    Felice
     scrive: 

    Salve a tutti,
    sono contento che questo articolo abbia suscitato interesse.
    Voglio intervenire sul post di Mirko per completare il quadro. Con Stacker 4.1 su un PC dotato di Pentium I, l’avvio di Windows passava da 20 a 45 sec. Mentre quello di Word 7 (95) da 10 a quasi 25. In effetti con i programmi DOS, invece, la velocità era abbastanza simile, come anche evidenziato nell’articolo.
    Il discorso della gestione dei log e quant’altro è assolutamente vero, ma bisogna guardare il contesto: prima questo tipo di utility erano rivolte agli utente “classici” di PC mentre ora sono usati per lo più in ambiti avanzati (sistemistici, backup, ecc) per motivi di ottimizzazione/gestione. Inoltre raramente si comprime il disco/partizione primaria, ovvero dove viene risiede il sistema operativo, sia per una questione di performance che garantire l’avvio del sistema in caso di problemi con il volume compresso.

    Grazie a tutti, Felice.

  • # 9
    bacco
     scrive: 

    mi ricordo che da piccolo (scuole medie) avevo un olivetti 286 con 20mb di hd e 1mb di ram, schermo b/w. Per un periodo avevo installati solo il dos 6.22 e indiana jones and fate of atlantis* (5 floppy da 1.44) :)
    ovviamente avevo drivespace attivo con rapporto di compressione massimo… mi ricordo che se copiavo qualcosa tipo un’immagine ad esempio da 100kb lo spazio calava anche di 10mb perché il totale dello spazio libero era stimato e non reale. ^_^

    * per fare andare indana jones dovevo disabilitare il mouse altrimenti non mi bastava la ram :)

  • # 10
    GianL
     scrive: 

    Ciao Mirko,
    potresti approfondire il discorso del tuo post, magari con link anche tecnici? si può fare anche in sistemi Win immagino, giusto?

  • # 11
    JPage89
     scrive: 

    Io sono arrivato un po’ tardi, con un vecchio Pentium 1 e win95
    però drivespace era comunque utilissimo, avendo un disco ma 1 GB (in realtà erano circa 950 MB)
    all’inizio non sarebbe servito, ma appena sono approdati i divx più grandi ne ho avuto bisogno :)

  • # 12
    Mirko
     scrive: 

    E’ tutto documentato qua:
    http://support.microsoft.com/kb/307889/it

  • # 13
    TheDarkAngel
     scrive: 

    Divx? hai giusto nominato una delle poche non comprimibili

  • # 14
    Giacomo
     scrive: 

    io uso correntemente UPX per comprimere exe e dll, il risparmio di spazio arriva grosso modo al 100% e senza impatto sulle prestazioni.

  • # 15
    Piero
     scrive: 

    ancora prima, fine anni 70, inizio anni 80 si ragionava in Kbit.
    Sull’Apple II europlus, processore 6502, floppy da 128Kb, 48 Kb di ram.
    Allora non c’erano molti programmi disponibili ed uno se li costruiva scambiandoli con amici e conoscenti. Per risparmiare bit si usava l’assembler. Oppure lo Z80 come processore (Federico Faggin). Il processore del Sinclair ZX80, ecc.

    Ha ragione a dire che siamo diventati disordinati e che i nostri HD, pennette varie ecc., sono più delle discariche che degli hd di lavoro o di svago.

    Personalmente ogni tanto rimpiango quei tempi e non perché ero senz’altro più giovane ma per 2 motivi principalmente
    a/ dovevi pensare e bene prima di metterti a scrivere un programma
    b/ cooperatavi volentieri con gli altri in termini di scambio di informazioni e di programmi.

    E poi molte funzioni sia dei SO che del software, in generale, sono inutili oppure non verranno mai utilizzate (ad es.: word di MS, ricerca MS di molti anni fa, le segretarie, brave, usano il 12% delle funzioni il resto il 3, 4%. Lo stesso OpenOffice). Per non dire di Linux che invece di andare per la propria strada ha preso a scimmiottare i vari SO della MS e della Apple, alcune volte senz’altro in meglio.

    Saluti, Piero

  • # 16
    The Solutor
     scrive: 

    Le versioni attuali di Windows consentono di attivare un’opzione di compressione del disco per risparmiare spazio ove possibile, ma le dimensioni dei dischi sono tali da renderla praticamente inutile.

    Non è esattamente così, diciamo che diventa utile per motivi esattamente opposti a quelli di 15 anni fa.

    All’epoca comprimendo un disco si otteneva una netta perdita di velocità a vantaggio dello spazio.

    Adesso, con la potenza dei processori attuali, e coi dischi che non si dono evoluti alla stessa velocità dei primi, comprimere vuol spesso dire guadagnare in velocità, in quanto si trasferiscono meno dati, magari il 50%in meno, al prezzo di un carico aggiuntivo per il processore, risibile.

    E poi non dimentichiamoci che non esistono solo PC e HDD da 1TB, esistono telefonini, aplliances, memorie a stato solido, e le distro live, dove la compressione ha o può avere tutt’ora un senso.

    Per la cronaca ho installato “per gioco” un intera distro di linux su una (lenta) RS-MMC da 2GB, senza nessuna rinuncia ne in termini di velocità, ne in termini di SW installato, grazie a BTRFS ed al suo supporto alla compressione.

  • # 17
    Tasslehoff
     scrive: 

    Si ma ragazzi, qui non si sta parlando di compressione di file e directory, per cui che senso ha citare file di log, archivi di vario genere o divx…
    Qui si parla di compressione di volumi interi, una cosa che come giustamente fa notare l’autore non ha più senso oggi, vuoi per il costo dei supporti, vuoi anche per il rischio intrinseco di non riuscire più a recuperare i dati in caso di corruzione.

    Cmq bell’articolo, un altro piacevole salto nel passato.
    La prossima dedicatela ai tool per la ram, quelle due righe su RamDoubler non bastano, c’era anche il mitico Qemm.

    Poi ci sarebbe da fare anche un bell’articolo sulle utility storiche, da Norton Commander all’NDos :)

  • # 18
    Flare
     scrive: 

    Torno anche io col pensiero al passato: 20 anni fa… se 20 mega era la norma, l’HDD era comunque un mezzo lusso, non l’avevano tutti, molti avevano solo il FDD, qualche volta due. Su un floppy da 700k circa tenevo sistema operativo, compilatore e IDE del Turbo Pascal 5 e alcune utility. Quando arrivarono i CD-ROM, mi sembravano immensi: un CD conteneva l’equivalente di centinaia di floppy, “non li riempirò mai”, dicevo… adesso ci sta poco.
    Anche io avevo usato un programma di compressione (avevo DR-DOS 6 e usavo SuperStor, citato nell’articolo) per i giochi della Origin, come Lorenzo: alcuni avevano richieste piuttosto alte per l’epoca.
    Poi gli hard disk crescevano e insieme cresceva anche lo spazio richiesto dal software: il mio primo hard disk da un gigabyte sembrava enorme, ora stanno strette anche le chiavette di tale capienza.

    Però certe richieste di spazio sono ridicole, forse dettate dal marketing (“molta roba” allora vale di più? Come i megapixel delle compatte e i Gb di RAM nelle schede video da ufficio?): ci sono programmi e driver che fanno in pochi Mb, talvolta pochi K, quello che certo software fa in centinaia di Mb (tipo porcherie per gestire le foto o per gli scanner o per le stampanti).
    Qualche anno fa ricordo che nei giochi riempivano il DVD più che potevano a costo di metterci Gb di texture non compresse, se no chi comprava un DVD mezzo vuoto?
    Abbiamo raggiunto e superato il terabyte, chissà fra vent’anni? exabyte? Con driver della stampante (o quel che esisterà allora) da 100 terabyte, facendo le dovute proporzioni…

  • # 19
    Flare
     scrive: 

    P.S.: fra vent’anni, se AD e io ci saremo ancora, tornerò qua e sorriderò, pensando ai vecchi tempi, quando un terabyte non era poco e non c’era bisogno di un’interfaccia corticale con un terabyte di RAM per girare in rete :P

  • # 21
    Loregori63
     scrive: 

    Che articolo e quanti ricordi. All’epoca usavo solo Mac e ricordo bene quanto costavano gli HD e la RAM (circa 100.000 Lire degli anni 90 a Mb…). Quando passai al mitico 8100/80 (primo PowerMac) avevo una configurazione da urlo per l’epoca: HD interno da 500 Mb, esterno da 1Gb, 16Mb di RAM e Masterizzatore esterno 4x… solo l’HD esterno e il Masterizzatore costarono 3.000.000 di Lire nel 1994. Ricordo benissimo i software citati nell’articolo, soprattutto RamDoubler e DiscDoublere (usati all’epoca su un Macintosh II vx), ma una volta provati li disinstallai per il vistoso rallentamento della macchina.

  • # 22
    samanara
     scrive: 

    Uso con soddisfazione le cartelle compresse di windows (ntfs), le ritengo di enorme comodità. Puoi avere tera e tera ma lo spazio non basta mai!

  • # 23
    Pik
     scrive: 

    Accidenti se tool così ci fossero ora sarebbero interessanti. Pensate ai dischi SSD che costano molto e hanno poco spazio.

    Sono estremamente veloci che si potrebbe usare uno di questi strumenti di compressione per aumentarne la capacità a costi ridotti.

    Penso sia meglio qualcosa a livello file e non a filesystem così da eviatare in caso di problemi la perdita di tutti i file ma limitarne la portata.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.