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.

Fonte: Appunti del corso universitario: "Sistemi Operativi Sicuri", Paolo Bettini