Beta [ Pagina Principale || Sommario || Redazione || Informazioni || Beta Browser ]
a cura di Luciano Giustini
Le dolenti note
Seconda Parte
I nomi lunghi, le conseguenze di questa scelta su partizioni FAT e l'implementazione su Windows 95;
il trucco degli Shortcut e l'interfaccia a "Oggetti"; la sicurezza e la protezione offerti da Explorer.
di Luciano Giustini
Fino a ora umiliati dalla ristrettezza degli 8.3 caratteri permessi dal DOS nei nomi file, possiamo sbizzarrirci con
Windows 95 a usare i nomi lunghi fino a 255 caratteri, inclusi spazi. La Apple prende in giro la Microsoft
inserendo su alcune testate internazionali commerciali ed economiche la dicitura di cui in Fig.1, che significa
"Congratulazioni", nel senso di "ce l'avete fatta finalmente, noi siamo anni che abbiamo i nomi lunghi".
Solo che c'è una piccola differenza: gli altri sistemi, i nomi lunghi, li hanno previsti fin da subito creando dei file
system ad-hoc (HPFS, NTFS, ecc.), alla Microsoft invece li hanno "appiccicati" sulla FAT, che non è stata costruita per questo. Il risultato è (manco
a dirlo) disastroso, ma di questo di occupa Francesco Sileno in "VFAT = Very FAT";
noi invece diamo uno sguardo all'implementazione su Windows 95.
Quando si salva un file con nome lungo (fino a 255 caratteri), esso viene salvato fisicamente con nome di 8.3 caratteri, e
poi, come leggerete nel riquadro, vengono salvate una serie di entry fittizie con attributi impossibili che contengono il nome
lungo. Come fa Windows 95 a avere un'idea del collegamento? A livello software si serve di USER.DAT (o Registro di
configurazione, che contiene anche altre informazioni), nella directory
WINDOWS o chi per lei. Ciò gli serve perchè altrimenti per ogni nome lungo dovrebbe fare un'analisi sul disco fisso, e vedremo
dopo cosa succede in questo caso.
Introduciamo a questo punto il discorso degli Shortcut, l'escamotage della
Microsoft per ottenere degli "oggetti" sulla scrivania che puntino ai file fisici. Gli Shortcut creati a livello di interfaccia non sono
altro che file
contenenti le informazioni sul file puntato, che Windows 95 crea al momento della scansione o di un salvataggio, in una delle
directory deputate a contenerli (Desktop, Recent, ecc.). Essi si riconoscono per avere il nome dell'oggetto puntante con
un'estensione .lnk. Per esempio scriviamo un testo con Notepad e salviamolo su C:\DOCUMENT con nome
"Prova nome Lungo.txt". In Start Menu avremo sotto Documents una voce con lo stesso nome.
Questa voce fisicamente è
il file "Prova nome Lungo.txt.lnk" contenuto nella directory Recent. In questo file ci sono scritti nome del file in DOS, partizione,
directory, nome lungo, data, ora e altri codici di controllo. Il file .lnk può essere considerato a tutti gli effetti un puntatore al
file fisico (che nel nostro caso avrà nome PROVA~1.TXT). Torniamo un attimo a USER.DAT: qui, a questo punto,
vedremo una entry "Prova nome Lungo.txt" e "Prova nome Lungo.txt.lnk" che rappresenta da una parte la registrazione che Windows ha fatto
del nome lungo e dall'altra il collegamento con il file .lnk che porta le informazioni di percorso, data, ora, ecc. Già immagino
che stiate iniziando a intravedere la contorsione di questi procedimenti..ma andiamo avanti..
Ora, quando fate click sull'oggetto rappresentato sulla scrivania, voi in realtà non fate altro che attivare l'Associazione definita da Windows 95
per i file .lnk Per vedere questo basta che cambiate associazione a uno di questi file, per esempio da File Manager: tutto
il castello degli Shortcut frana rovinosamente. A proposito, non lo fate: non ho ancora scoperto come si torna indietro.
Attivata l'Associazione, viene eseguito il programma che legge all'interno del file .lnk, va a vedere dove sta il file fisico e di
che tipo è, controlla con USER.DAT che i conti tornino e alla fine lo esegue. Se manca anche una sola di tutte le pedine necessarie
a compiere l'operazione, l'interfaccia a "Oggetti" non funziona più.
Un esempio noto di come sia facile fuorviare il meccanismo degli Shortcut è lo spostamento del file fisico. Aprite un DOS Prompt prendete il vostro
documento e mettetelo, tramite MOVE per esempio, in una directory diversa da
quella originaria. Poi
tornate su Windows 95 e provate a rifare click sullo Shortcut che puntava a quel file: non lo trova più. Alla Microsoft
devono essersi resi conto di questa "piccola" difficoltà e hanno messo un finder a porvi rimedio. Peccato
che il finder ricerchi solo nel drive in cui stava il file originariamente, e non anche nelle altre partizioni. In questo
modo se lo spostate da C: a D: avrete perso il collegamento. La stessa cosa succede se lo rinominate..insomma si
potrebbe dire un'interfaccia molto conservatrice ! Il bello è che tutto ciò è stato amabilmente passato come "nuova
filosofia" orientata al documento e non alla applicazione che lo genera. Come dire: avete scritto qualcosa? Guai a
toccarla altrimenti non sarete più in grado di leggerla. Senza tirarmi addosso le ire dei "Macintosh-iani" (che tanto non
ci leggono, NdR-igh), potrei dire che
alla Microsoft hanno voluto fare un'interfaccia che di questi riprende la filosofia (l'utente non deve vedere cosa c'è dietro),
ma senza riuscire a mutuarne le funzionalità. Però hanno tolto all'utente la possibilità di intervenire nei casi in cui il sistema dà
ingiustificato forfait, a risolvere a mano situazioni ingarbugliate, com'era per esempio con Windows 3.1.

Fig. 2 - Addio collegamento..
Il file in questione è stato spostato da DOS dalla directory originale in una directory
gerarchicamente distante. Quando si è fatto click sul suo Shortcut, Windows ha iniziato la ricerca sulla base delle informazioni in
suo possesso. Ricerca che, come si vede dalla figura, non è andata neanche a buon fine, pur trovandosi il file nello stesso volume.
L'Explorer in questo caso fa da Grande Fratello, nel senso
che solo da lui potete (e dovete) fare tutte le operazioni di copia, movimento, rinominazione, ecc....ma neanche tanto.
Ci sono altre idiosincrasie presenti nel meccanismo. L'Explorer, come depositario di tutte le operazioni su HD consentite, dovrebbe
porre un minimo di sicurezza su quelle che possono inficiare il funzionamento del sistema. Macchè: ho cancellato USER.DAT
tranquillamente (da Explorer), ed ecco cos'è successo:

Fig. 3
Windows 95 infatti tiene una copia di archivio di USER, cioè ogni volta che fate qualcosa lui aggiorna due file contemporaneamente,
perfettamente identici, tanto lo spazio è abbondante (si sa, gli HD non bastano mai): ma fare in modo che non potesse venir cancellata
accidentalmente una copia sola no, eh?
Ho eliminato anche la copia di backup di USER.DAT, sperando che almeno questa fosse in qualche modo protetta dalla
cancellazione:

Fig. 4
Si, c'è scritto proprio reinstallare Windows. Comodo no? Ricapitolando: per distruggere l'interfaccia a "oggetti"
basta sbagliarsi con l'Associazione per i file .lnk, mentre per distruggere proprio tutto basta sbagliarsi a cancellare il Registro.
Manco avessimo cancellato la FAT! Un sistema a prova di crash, non c'è dubbio. Il Registro di configurazione di Windows 95
contiene informazioni non vitali per il funzionamento di sistema, come le impostazioni grafiche, eventualmente riferite al
numero di utenti definiti sulla macchina, l'OLE cui la Microsoft tiene tanto, le famose Associazioni di cui prima, e una copia
ridondante delle caratteristiche hardware del computer (l'altra sta in SYSTEM.DAT). Il System.Dat, a proposito, è un altro
registro di sistema contenente informazioni di vario tipo, alcune delle quali molto interessanti, ma che analizzeremo in un'altra
puntata. Ora rimaniamo sul Registro "canonico" e andiamo avanti con le scoperte. Abbiamo detto che Windows 95
non permette che si vada avanti senza di esso, anche se tecnicamente potrebbe benissimo. Perchè? In realtà il Registro
contiene alcune informazioni sulle impostazioni di Explorer (Gestione Risorse nella versione italiana). Che centra Explorer? Centra centra...
Spostiamoci nel riquadro "La sovrastruttura di Windows 3.1" per capirne di più.
Conclusioni
In ultima analisi, se tutto ciò vi può sembrare normale (forse siete stati abituati "bene" da Windows 3.1) non avete
mai avuto modo di fare un raffronto con gli altri sistemi operativi del settore, sia per quanto
riguarda le interfacce che la sicurezza. In alcuni di essi è stata implementata
la tecnica degli Oggetti, imperniata sulla metafora della scrivania. Nella realtà gli Oggetti sono tali perchè possiedono
informazioni atte a definirli in tutte le loro caratteristiche, informazioni che viaggiano insieme all'oggetto e sono
controllate attraverso degli standard di interfaccia (per esempio le Classi). Non s'è mai visto che muovendo un
Oggetto esso perda le sue caratteristiche, e soprattutto i riferimenti ad esso. Così come non s'è mai visto che
un sistema operativo cosiddetto "serio" permetta all'utente di cancellare accidentalmente file determinanti
per il funzionamento del sistema, o che non gliene dia perlomeno avviso. Per esempio OS/2 crea delle
immagini runtime dei suoi file di sistema accessibili all'utente, e oltretutto ne conserva comunque una o più copie
sicuramente "pulite" attivabili in bootstrap; Windows NT, della stessa Microsoft, non dà neanche conto di dove e chi sia il registro di sistema,
creando inoltre un alveare delle informazioni vitali rese inaccessibili allo stesso Administrator . Ora, se tutto questo si poteva sopportare (ma neanche poi tanto) su Windows 3, che nel 1989 si
proponeva di essere poco più
che una shell grafica al DOS e non aveva certo "pretese" da grande sistema operativo, non è più accettabile su un
prodotto che Microsoft invece sbandiera come rivoluzione nei sistemi operativi. Se pensate che Windows 95 sarà utilizzato
da un pubblico anche composto
da segretarie o da "smanettoni" della prima ora, vedete bene che andiamo incontro a un futuro di complicazioni per
l'informatica.
Nota: tutte le prove sono state effettuate sulla versione USA definitiva di Windows 95.
Beta [ Pagina Principale || Sommario || Redazione || Informazioni || Beta Browser ]
Beta - La rivista ipertestuale tecnica, copyright © 1994-95
Luciano Giustini e Fernando Carello. Tutti i diritti riservati.
(-installazione in rete)