Capitolo 1. Struttura del filesystem

Perché condividere una struttura comune?

La struttura a filesystem di un sistema operativo è il suo livello più elementare di organizzazione. Quasi tutti i modi in cui un sistema operativo interagisce con gli utenti, le applicazioni e i modelli di sicurezza dipendono dal modo in cui il sistema memorizza i suoi file su un dispositivo di memorizzazione primario (solitamente un disco fisso). Per svariate ragioni è importante che gli utenti, così come i programmi al momento dell'installazione e dopo, possano fare riferimento a una linea guida comune per sapere dove leggere e scrivere i file binari, di configurazione, di log, ecc.

Un filesystem può essere visto come comprendente due diverse categorie logiche di file:

I file condivisibili sono file a cui vari host possono accedere, mentre i file non condivisibili non sono disponibili per altri host. I file variabili possono cambiare in qualsiasi momento senza l'intervento (passivo o attivo) dell'amministratore del sistema, i file statici, come i file di documentazione o i file binari, non cambiano senza un'azione dell'amministratore del sistema.

La ragione che ci porta a classificare i file in questo modo ha a che fare con il tipo di autorizzazione dato alla directory che contiene i file. Il modo in cui il sistema operativo e i suoi utenti utilizzano i file determina la directory dove questi verranno inseriti, indipendentemente dal fatto che la directory sia montata in modalità di sola lettura o di lettura e scrittura e indipendentemente dal livello di accesso autorizzato a ogni file. Il livello massimo di questa organizzazione è fondamentale, poiché l'accesso alle directory sottostanti può essere limitato o possono insorgere problemi di sicurezza, se il livello massimo è disorganizzato o privo di struttura.

Tuttavia, il fatto di avere una struttura non significa molto a meno che non sia standard. La creazione di strutture rivali rischia di causare problemi anziché risolverli. Per questo motivo, Red Hat ha scelto la struttura di filesystem più comune estendendola leggermente per adattarla a file speciali utilizzati all'interno di Red Hat Linux.