Directory

Da Wikipedia, l'enciclopedia libera.
bussola Disambiguazione – Se stai cercando il significato usato nel World Wide Web, vedi Web directory.
bussola Disambiguazione – Se stai cercando il significato relativo all'organizzazione e memorizzazione di informazioni riguardanti reti di computer e risorse condivise, vedi Servizio di directory.

Una directory, 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 indirizzo, percorso (path) o locazione del file system in cui sono presenti file o altre directory.

Una directory elencata in un'altra directory è anche detta subdirectory, mentre quella che la elenca è la sua directory superiore (o directory di livello superiore).

Caratteristiche[modifica | modifica sorgente]

Il termine della lingua inglese directory ha tra i suoi significati quelli di elenco nominativo, guida e indice[2] 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.

Un tipico file system può contenere anche centinaia di migliaia 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.

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,[3] divennero popolari con UNIX.

Rappresentazione delle directory[modifica | modifica sorgente]

Interfacce testuali[modifica | modifica sorgente]

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 sorgente]

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:

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 sorgente]

  1. ^ (EN) directory in Free On-Line Dictionary Of Computing, pp. sez. 2. URL consultato il 24 giugno 2008.
  2. ^ 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 in Ambiguità di alcune parole inglesi (e possibili errori di traduzione). URL consultato il 18 maggio 2008.
  3. ^ (EN) R. C. Daley; P. G. Neumann, A General-Purpose File System For Secondary Storage, 1965. URL consultato il 15 agosto 2008.

Bibliografia[modifica | modifica sorgente]

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica