Il numero di file che devono essere memorizzati su un disco può essere estremamente elevato Si ha quindi la necessità di mantenere i file in una forma ordinata Un unico spazio (contenitore) di file è scomodo perché le operazioni di ricerca di un file e di creazione di un nuovo file diventano onerose (non è possibile avere due file con lo stesso nome) L'idea è quella di raggruppare i file in sottoinsiemi (seguendo magari dei criteri di tipo logico)
Tutti i sistemi operativi forniscono operazioni per creare delle directory (cartelle) Una directory (cartella) è costituita da un insieme di file I nomi dei file sono locali alle directory (si possono avere due file con lo stesso nome purché siano in due directory diverse) In questo modo l indice conterrà due tipi di oggetti: nomi di file e nomi di directory relazione1 relazione2 cartella-esami cartella-documenti-privati relazione3 { Rel-esame1 Rel-esame2 { Elenco-Appuntamenti Elenco-Indirizzi
Applicazioni Elab_imm Elab_suoni Elab_testi Photoshop.exe Premiere.exe Winword.exe Floppy da 3,5 pollici (A:) Radice Biblioteca Nodi Utenti Indice Narrativa-Fra Narrativa-Ing Narrativa-Ita Bianchi Pautasso Rossi libro3 libro3 Questa struttura viene chiamata albero Foglie
Se non esiste la strutturazione in directory, tutti i file possono essere identificati mediante il loro nome Nel caso di un organizzazione gerarchica a più livelli il nome non è più sufficiente ad identificare il file (nell esempio precedente esistono diversi file con lo stesso nome) Per individuare un file o una directory in modo univoco si deve allora specificare l'intera sequenza di directory che lo contengono, a partire dalla radice dell'albero
Ad esempio il file di narrativa italiana è univocamente identificato dalla sequenza: A:\Biblioteca\Narrativa-Ita\ La directory Pautasso di Utenti è identificata dalla sequenza: A:\Utenti\Pautasso il carattere \ (slash) viene usato come separatore. Una sequenza di questo tipo può essere vista come il cammino che si deve compiere per raggiungere un determinato file a partire dalla radice dell'albero, ed è chiamata pathname assoluto
Un altro modo di individuare un file (o una directory) è basato sul concetto di posizione In questo caso per individuare un file o una directory in modo univoco si deve specificare l'intera sequenza di directory che lo contengono, a partire dalla posizione corrente
Applicazioni Elab_imm Photoshop.exe Elab_suoni Premiere.exe Elab_testi Winword.exe Floppy da 3,5 pollici (A:) Biblioteca Narrativa-Fra Narrativa-Ing Narrativa-Ita libro3 libro3 Utenti Bianchi Pautasso Posizione corrente Indice Rossi
Per raggiungere un determinato file a partire dalla posizione corrente si utilizza il pathname relativo Se la posizione corrente è A:\Biblioteca, il file di narrativa italiana è univocamente identificato dalla sequenza: Narrativa-Ita\ Se la posizione corrente è A:\Utenti, la directory Pautasso è identificata dalla sequenza: Pautasso
Per usare il pathname relativo bisogna anche poter denotare la directory che contiene la posizione corrente Si usa il simbolo.. cioè due punti in sequenza che si pronuncia: punto punto Se la posizione corrente è A:\Biblioteca, il file Photoshop.exe è univocamente identificato dalla sequenza:..\applicazioni\elab_imm\photoshop.exe Se la posizione corrente è A:\Utenti\Pautasso, la directory Narrativa-Fra è identificata dalla sequenza:..\..\biblioteca\narrativa-fra
Applicazioni Elab_imm Photoshop.exe Elab_suoni Premiere.exe Elab_testi Winword.exe Floppy da 3,5 pollici (A:) Biblioteca Narrativa-Fra Narrativa-Ing Narrativa-Ita libro3 libro3 Utenti Bianchi Pautasso Posizione corrente Indice Rossi
Per organizzare gerarchicamente i file, il sistema operativo deve fornire all'utente un insieme di operazioni sulle directory, per esempio: creare una nuova directory rimuovere una directory ridenominare una directory elencare il contenuto (l'insieme di file e sotto-directory) di una directory copiare o spostare i file da una directory ad un'altra