File system e link simbolici

Curiosità, novità e consigli sulla Rete e dintorni.

Moderatori: darkglobe, rmontaruli

Rispondi
Avatar utente
rmontaruli
Moderatore
Moderatore
Messaggi: 4595
Iscritto il: giovedì 11 dicembre 2003, 16:59
Località: Milano

File system e link simbolici

Messaggio da rmontaruli »

Se il titolo del topic non ha fatto spaventare nessuno, e del resto non mi e' venuto in mente nulla di meglio che puri termini tecnici, vado a spiegare l'argomento di cui intendo trattare e che applicazioni puo' avere nel campo dei files multimediali, che e' quello che potrebbe interessare chi legge.

Voi tutti dovreste sapere, o per esservi documentati, o per semplice pratica derivata dall'uso dei computer, che un disco viene organizzato con una struttura ad albero, in cui ci sono tante directory (o cartelle) ciascuna contenente altre directory o contenenti files.

In questo modo ogni file viene identificato da un percorso costituito da tutte le directory precedenti fino a quella iniziale.
Esempio: C:\pippo\pluto\paperino\topolino.avi

Il file topolino.avi e' contenuto nella directory paperino, la quale e' contenuta nella directory pluto, la quale e' contenuta nella directory pippo, la quale e' contenuta nella directory di root (o radice) dell'unita' C:

Questa organizzazione gerarchica si chiama file system, e rispecchia lato utente, il modo in cui i dati sono memorizzati fisicamente sul disco.
Ci sono diversi tipi di file system, che hanno differenti metodi di memorizzazione fisica dei dati, ma tutti presentano all'utente una organizzazione gerarchica di directory e sottodirectory.

I nomi di questi filesystem li avrete sentiti: FAT e' quello che usava anticamente il DOS e che tuttora windows supporta. E' quello usato anche dalla stragrande maggioranza di chiavette, schedine di memoria, etc...
Poi c'e' NTFS che e' un file system proprietario utilizzato dai sistemi windows da NT in poi
Poi c'e' ext che e' un file system usato dai sistemi unix/linux, che windows volutamente si rifiuta di riconoscere, pur potendo farlo, visto che ext e' un filesystem libero e totalmente documentato.

Ma all'utente non interessa quasi mai sapere che filesystem c'e' sotto, visto che tanto al lato pratico cambia poco o niente.

Finiamo qui la parte introduttiva e torniamo all'esempio di prima:
C:\pippo\pluto\paperino\topolino.avi

Per rendere meglio l'idea e l'utilita' di quello di cui andro' a parlare tra breve, ipotizziamo che topolino.avi sia un file bello grosso, di un giga o due.
Non cambia assolutamente niente, se fosse piu' piccolo, ma il fatto che sia molto grosso aiuta a comprendere l'utilita' dei link simbolici.

Voi pensate tutti che il file topolino.avi risieda fisicamente in quel percorso, e che, se volessimo averlo anche in C:\archivio, l'unico modo sia quello di farne una copia.

E invece no! E' possibile averlo a disposizione anche sotto C:\archivio\topolino.avi, senza doverlo copiare (anche perche' e' bello grosso e magari non c'e' spazio).

[fine della prima parte]
ATTENZIONE!
Tutti i DVD distribuiti da Warner Home Video sono prodotti non commestibili.
Se accidentalmente ingeriti possono nuocere gravemente alla salute.
Avatar utente
rick_13
Moderatore
Moderatore
Messaggi: 6337
Iscritto il: lunedì 3 agosto 2009, 12:04
Località: Roma
Contatta:

Re: File system e link simbolici

Messaggio da rick_13 »

molto interessante rmont... aspetto la seconda parte... :-21
"Party's over. We are at war." - MyCollection
Avatar utente
rmontaruli
Moderatore
Moderatore
Messaggi: 4595
Iscritto il: giovedì 11 dicembre 2003, 16:59
Località: Milano

Re: File system e link simbolici

Messaggio da rmontaruli »

Chi ha detto "collegamento" ?

La funzionalita di creare un collegamento ad un documento o ad una cartella, che windows mette a disposizione, e' una porcheria inimmaginabile. E' una VHS col nastro attorcigliato, rispetto ad un Blue Ray, forse anche peggio!

Spieghiamo.

Abbiamo detto nella prima parte che esistono tre importanti categorie di File System:
FAT - usata dal vecchio DOS fino a Windows 98, e ancora utilizzata per le chiavette e le schede di memoria
NTFS - usata da windows NT in poi, di struttura proprietaria Microsoft
ext - usata dai sistemi linux, di struttura libera

I sistemi microsoft da NT in poi riconoscono NTFS e FAT (quest'ultima per retrocompatibilita'), e si rifiutano di riconoscere ext.
I sistemi linux riconoscono ext e FAT, e solo recentemente, sono riusciti a riconoscere e usare NTFS.

Orbene, FAT non supporta il concetto di link dei files, NTFS e ext invece si'.

Che cos'e' il link di un file? E' la possibilita' di poter avere un file in piu' posti diversi nel file system, anche se questo esiste fisicamente in una unica copia.

Vale a dire: il file topolino.avi, di due giga, lo creo una volta in C:\pippo\pluto\paperino\
poi lo linko in C:\archivio (vedremo in seguito come).

Questa cosa e' diversa dal "Crea Collegamento" che windows propone, perche' quella cosa li' che windows fa, e' una porcheria immane che serve solo per poter dare l'illusione del collegamento, e per poter funzionare anche quando il disco non e' NTFS ma FAT.

Apriamo una parentesi.
Piuttosto che dire "Attenzione, il filesystem non supporta il link", hanno preferito proporre un aborto di funzionalita' che adesso permane anche se FAT e' praticamente scomparso da tutti i computer.

Il collegamento che fa windows non e' altro che la creazione di un file.lnk (l'estensione non la fa vedere) che contiene il percorso effettivo del file che si trova altrove, ma questa cosa viene gestita a livello applicativo, dal programma che vuole aprire il file (e infatti non tutti i programmi sono in grado di aprire i collegamenti), non solo, ma se il file originario viene cancellato, il collegamento rimane morto li', e va rimosso a mano.
Questo e' il collegamento di windows, nonostante NTFS supporti una funzionalita' di link nativa e molto ma molto piu' potente.
Solo che windows, gli strumenti per poterla sfruttare questa funzionalita', non li offre.
Ringraziate, e chiudiamo la parentesi.

Torniamo al link.
Creiamo il file topolino.avi sotto C:\pippo\pluto\paperino
Ne facciamo un link sotto C:\archivio

Il risultato e' che vi sara' un file C:\pippo\pluto\paperino\topolino.avi di 2 giga, un file C:\archivio\topolino.avi di 2 giga, ma lo spazio complessivo occupato sul disco e' solo di 2 giga, vale a dire che il file topolino.avi esiste una volta sola.

Non solo, ma se io poi cancellassi uno dei due, l'altro non sparisce!!!
Perche'? Perche' ogni volta che un file viene linkato altrove, invece che copiato, c'e' un contatore dentro il file che viene incrementato, quindi il sistema sa il numero di link al file che ci sono, e quando il file viene cancellato da uno di questi posti, semplicemente viene decrementato il contatore.
Solo quando questo contatore e' 1, la cancellazione del file avviene anche fisicamente e lo spazio su disco viene liberato.

Si, ma? Tutto questo a che cosa servirebbe?
Lo vedremo nella prossima puntata.
ATTENZIONE!
Tutti i DVD distribuiti da Warner Home Video sono prodotti non commestibili.
Se accidentalmente ingeriti possono nuocere gravemente alla salute.
Avatar utente
rick_13
Moderatore
Moderatore
Messaggi: 6337
Iscritto il: lunedì 3 agosto 2009, 12:04
Località: Roma
Contatta:

Re: File system e link simbolici

Messaggio da rick_13 »

:plauso
"Party's over. We are at war." - MyCollection
Avatar utente
rmontaruli
Moderatore
Moderatore
Messaggi: 4595
Iscritto il: giovedì 11 dicembre 2003, 16:59
Località: Milano

Re: File system e link simbolici

Messaggio da rmontaruli »

Riprendiamo il discorso.
A che cosa servirebbe avere piu' copie di un file, che in realta' copie non sono?
Serve per fare ordine nel proprio disco, e serve per organizzare un po' meglio i propri dati, e per sfruttare la peculiarita' della gerarchia delle directory per velocizzare le proprie ricerche.

Certo, oggi i computer sono piu' potenti, i sistemi operativi dispongono di sofisticati strumenti di ricerca, e magari per cercare un documento e' piu' semplice pigiare F3, compilare qualche campo, e lasciare che sia il computer a trovare il documento smarrito.

Ma i dischi non sono solo infilati nei computer, oggigiorno.
Attualmente troviamo memorie di massa nei posti piu' improbabili e impensabili fino a pochi anni fa, e di dimensioni tali da richiedere un minimo di ordine.
Sto parlando di lettori mp3, macchine digitali, dischi multimediali e cose del genere.

Quindi supponiamo di avere un lettore multimediale che contiene un migliaio di brani.
Potremmo organizzare la nostra alberatura nel modo seguente:

/ALFABETICO/A-D/
/ALFABETICO/E-H/
/ALFABETICO/I-P/
/ALFABETICO/Q-Z/
/AUTORE/PIPPO/
/AUTORE/PLUTO/
/AUTORE/PAPERINO/
/GENERE/X/
/GENERE/Y/
/GENERE/Z/
...
e poi collocare ogni brano, sfruttando i link, in ciascuna delle sottodirectory di competenza.

Il brano esiste sul disco una volta sola, ma puo' essere raggiunto con percorsi diversi, rendendo l'uso del nostro dispositivo piu' pratico, e le ricerche piu' facili.

Tutto questo e' fattibile con un paio di click di mouse utilizzando questa estensione della shell per windows:
http://schinagl.priv.at/nt/hardlinkshel ... llext.html

Installandola, e poi cliccando su un file col tasto destro, compariranno dei comandi in piu' per poter effettuare i link invece che le copie, e sulle icone dei files linkati appariranno dei simbolini, e nelle proprieta' dei files medesimi appariranno informazioni in piu', che analizzeremo in seguito.

Il tutto e' comunque ben spiegato (in inglese) nella pagina indicata.
ATTENZIONE!
Tutti i DVD distribuiti da Warner Home Video sono prodotti non commestibili.
Se accidentalmente ingeriti possono nuocere gravemente alla salute.
Avatar utente
Sand
Amministratore
Amministratore
Messaggi: 6137
Iscritto il: sabato 25 maggio 2002, 0:22
Località: Milano
Contatta:

Re: File system e link simbolici

Messaggio da Sand »

:clap

Complimenti. Una guida interessante ed esauriente. Touché!
Avatar utente
rmontaruli
Moderatore
Moderatore
Messaggi: 4595
Iscritto il: giovedì 11 dicembre 2003, 16:59
Località: Milano

Re: File system e link simbolici

Messaggio da rmontaruli »

Concludiamo con una verifica pratica, che ho personalmente testato sull'hard disk multimediale della iomega, formattato NTFS.

Nel disco ho una directory
\DVD\
nella quale sto travasando alcuni dei miei DVD per poterli riprodurre tramite l'hard disk multimediale.
Ci sono appositi software che travasano da disco ad hard disk. Il risultato e' che sul disco si ottengono le due directory tipiche AUDIO_TS e VIDEO_TS, quest'ultima contenente i files.VOB che vengono riprodotti.

Quindi ho organizzato l'alberatura in questo modo

\DVD\Tutti\

\DVD\Alfabetico\A-F
\DVD\Alfabetico\G-M
\DVD\Alfabetico\N-R
\DVD\Alfabetico\S-Z

\DVD\Genere\Animazione
\DVD\Genere\Avventura
\DVD\Genere\Commedia
\DVD\Genere\Drammatico
\DVD\Genere\Fantascienza
\DVD\Genere\Horror
\DVD\Genere\Western

\DVD\Registi\Mel Brooks
\DVD\Registi\Peter Jackson
\DVD\Registi\Steven Spielberg
\DVD\Registi\Altri...

E poi ho collocato la directory di ogni film nelle opportune posizioni utilizzando il link.
Il risultato e' che col telecomando dell'hard disk multimediale, posso navigare nell'albero delle directory e raggiungere il film in tanti modi diversi, mentre lo spazio su disco viene occupato una volta sola.

In un TB di disco ci stanno parecchi film, quindi una buona organizzazione gerarchica e' fondamentale per avere le cose in ordine.
Non e' escluso che potrei preparare anche uno strumentino automatico, basato su foglio elettronico, per poter gestire questa cosa in modo piu' pratico.
Vederemo... sabato vado in ferie e avro' tutta la calma per giocherellare col computer.

Nel frattempo se qualcuno si cimentasse nell'installazione di questa estensione e portasse la sua esperienza in merito ai propri devices multimediali, potrebbe essere interessante per tutti.
ATTENZIONE!
Tutti i DVD distribuiti da Warner Home Video sono prodotti non commestibili.
Se accidentalmente ingeriti possono nuocere gravemente alla salute.
Avatar utente
rick_13
Moderatore
Moderatore
Messaggi: 6337
Iscritto il: lunedì 3 agosto 2009, 12:04
Località: Roma
Contatta:

Re: File system e link simbolici

Messaggio da rick_13 »

ottimo lavoro rmont!! :plauso
"Party's over. We are at war." - MyCollection
Rispondi