File System
In informatica, un file system è, informalmente, un meccanismo con il quale i file sono immagazzinati e organizzati su un dispositivo di archiviazione, come un disco rigido o un CD-ROM. Più formalmente, un file system è l'insieme dei tipi di dati astratti necessari per la memorizzazione, l'organizzazione gerarchica, la manipolazione, la navigazione, l'accesso e la lettura dei dati.
I file system possono essere rappresentati sia testualmente che graficamente tramite browser di file e shell. Nella rappresentazione grafica è generalmente utilizzata la metafora delle cartelle che contengono i file ed altre cartelle.
Dal punto di vista dell’utente, un file system è composto da due elementi:
- File: unità logica di memorizzazione. Viene considerato l'entità atomica di assegnazione/gestione della memoria secondaria, una collezione di informazioni correlate e fornisce una vista logica uniforme ad informazioni correlate
- Directory: un insieme di informazioni per organizzare e fornire informazioni sui file che compongono un file system
I sistemi operativi possono attuare diverse scelte nella gestione della struttura dei file:
- Scelta minimale: i file sono considerati semplici stringhe di byte, a parte i file eseguibili il cui formato è dettato dal sistema operativo. Ad esempio UNIX e MS-DOS.
- Parte strutturata/parte a scelta dell'utente. Ad esempio Macintosh (resource fork / data fork).
- Diversi tipi di file predefiniti, ad esempio VMS, MVS.
In base ai metodi di accesso ai file vi sono diversi approcci:
- Sequenziale
- read, write
- nastri
- Ad accesso diretto
- read pos, write pos (oppure operazione seek)
- dischi
- Indicizzato
- read key, write key
- database
In questi casi l'indice è una tabella di corrispondenza chiave-posizione. Tale indice può essere memorizzato sia in memoria (metodo efficiente ma dispendioso) che su disco.