Directory
Una directory (talvolta per analogia indicata anche cartella), in informatica, è una specifica entità del file system che elenca altre entità, tipicamente file e altre directory[1], e che permette di organizzarle in una struttura ad albero. Essa è pertanto definibile come un percorso (o indirizzo o path) o locazione del file system in cui sono presenti file o altre directory[2].
Caratteristiche
[modifica | modifica wikitesto]Terminologia
[modifica | modifica wikitesto]Il termine della lingua inglese directory ha tra i suoi significati quelli di elenco nominativo, guida e indice[3] ed il termine telephone directory indica l'elenco telefonico: analogamente a quanto avviene per un elenco telefonico, che associa dei nomi a dei numeri telefonici, una directory associa dei nomi alle strutture dati nel file system che rappresentano il contenuto dei file e delle altre directory, in modo da potervi fare riferimento per nome; ciò è particolarmente evidente nei sistemi Unix (ove le directory associano dei nomi a degli inode) nel momento in cui si vuole ad esempio modificare il nome di un file, operazione per la quale è necessario disporre dei permessi di scrittura sulla directory che lo elenca piuttosto che sul file stesso.
Una directory elencata in un'altra directory è anche detta subdirectory, mentre quella che la elenca è la sua directory superiore (o directory di livello superiore). Cartella e sottocartella possono, a fini pratici, essere considerati sinonimi di directory e subdirectory.[4] In lingua inglese si utilizza anche il termine folder per indicare un contenitore quindi una cartella ed una sottocartella (subfolder).
Elementi tipici
[modifica | modifica wikitesto]Un tipico file system può contenere anche miliardi di file: le directory consentono di suddividerli in gruppi più piccoli, tenendoli ordinati e facilitandone l'uso da parte degli utenti e dei programmi. Ogni entità del file system diventa individuabile tramite un pathname, ovvero un nome qualificato dai nomi delle directory che occorre attraversare per accedervi, a partire dalla radice dell'albero oppure dalla directory corrente.
Da un punto di vista implementativo una directory è un file contenente una lista di nomi e di collegamenti fisici ai file. Le directory associano il nome in ASCII e il Collegamento fisico ai file (in alcuni file system, come ad esempio FAT, le directory specificano anche i metadati delle entità a cui fanno riferimento, quali ad esempio la data di ultima modifica e permessi d'accesso); ogni collegamento fisico elencato è caratterizzato da un nome univoco nell'ambito della stessa directory: ciò implica anche che una directory non possa elencare più nomi identici tra di loro, tuttavia directory diverse possono contenere nomi identici.
Struttura
[modifica | modifica wikitesto]I sistemi operativi generalmente impediscono di creare più collegamenti fisici alla stessa directory, in modo che ogni directory abbia una ed una sola directory superiore, ed anche per evitare che si possa includere una parte della gerarchia di directory all'interno di sé stessa, cosa che creerebbe problemi ai programmi che esaminano ricorsivamente il contenuto del file system (come ad esempio i programmi che ricercano file o quelli che effettuano il backup).
Storicamente, ed anche in alcune periferiche integrate moderne, i file system non offrivano supporto per le directory ma avevano una struttura piatta, con un solo un gruppo alla radice che elencava tutti i file (come ad esempio nel caso dei sistemi CP/M e dei sistemi MS-DOS precedenti la versione 2.0). I file system con pieno supporto gerarchico, già dettagliati nella progettazione di Multics,[5] divennero popolari con UNIX.
Rappresentazione
[modifica | modifica wikitesto]Interfacce testuali
[modifica | modifica wikitesto]![](http://upload.wikimedia.org/wikipedia/it/f/fa/FAT_root.jpg)
Nelle interfacce testuali, come ad esempio quella dei sistemi MS-DOS o delle shell testuali dei sistemi Unix e Unix-like, una directory è presentata in forma un elenco di nomi di file e di subdirectory, visualizzato in risposta all'esecuzione di determinati comandi (ad es. dir
o ls).
Tra i nomi elencati ve ne sono tipicamente due particolari: .
che rappresenta la directory corrente e ..
che rappresenta la directory superiore.
Interfacce grafiche
[modifica | modifica wikitesto]La gestione delle directory da parte dei sistemi operativi è tale per cui esse figurano agli utenti come dei contenitori di file e di altre directory, pur specificandone in realtà solo i nomi ed i riferimenti ad essi. Su questo comportamento si basano anche le metafore usate nelle interfacce grafiche per rappresentare le directory ed altri tipi di elenchi di file, che sono ad esempio:
- la cartella per documenti (in inglese, folder), usata nei sistemi Mac OS e Microsoft Windows, ed anche nei Desktop environment CDE, GNOME, KDE e Xfce
- il cassetto (in inglese, drawer), usato ad esempio in AmigaOS.
Queste metafore tuttavia non si limitano a rappresentare directory, benché sia il caso prevalente: a seconda dell'interfaccia grafica in uso vi possono essere anche cartelle virtuali che rappresentano ad esempio il risultato di una ricerca eseguita in tempo reale, o il contenuto di un file di archivio (ad esempio un file ZIP o TAR) o di un'immagine disco, ed alle quali non corrisponde una directory nel file system.
Note
[modifica | modifica wikitesto]- ^ (EN) directory [collegamento interrotto], su Free On-Line Dictionary Of Computing, sez. 2. URL consultato il 24 giugno 2008.
- ^ In inglese non tecnico, directory è "elenco".
- ^ Tra i significati di directory vi è anche quello di organo direttivo (come ad esempio in directory board), per cui il termine viene talvolta tradotto con direttorio anche se in questo contesto è fuori luogo. Vedi anche: Giancarlo Livraghi, Directory, su Ambiguità di alcune parole inglesi (e possibili errori di traduzione). URL consultato il 18 maggio 2008 (archiviato dall'url originale il 14 giugno 2008).
- ^ What is the difference between a directory and folder?, su computerhope.com.
- ^ (EN) R. C. Daley; P. G. Neumann, A General-Purpose File System For Secondary Storage, su multicians.org, 1965. URL consultato il 15 agosto 2008.
Bibliografia
[modifica | modifica wikitesto]- Andrew Stuart Tanenbaum, Istruzioni per la gestione di directory, in Architettura dei calcolatori. Un approccio strutturale, Milano, Pearson Education, 2006, pp. 445-446, ISBN 978-88-7192-271-3.
Voci correlate
[modifica | modifica wikitesto]- Article directory
- Directory corrente
- File
- File system
- Home directory
- Percorso
- Servizio di directory
- Web directory
Altri progetti
[modifica | modifica wikitesto]Wikizionario contiene il lemma di dizionario «directory»
Wikimedia Commons contiene immagini o altri file sulla directory
Collegamenti esterni
[modifica | modifica wikitesto]- directory, su Treccani.it – Enciclopedie on line, Istituto dell'Enciclopedia Italiana.
- directory, su Vocabolario Treccani, Istituto dell'Enciclopedia Italiana.
- directory, su sapere.it, De Agostini.
- (EN) Denis Howe, Directory, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL