Il File System

10 Novembre 2010 di Daniele Frulla


Un file system è un meccanismo con il quale i files sono memorizzati sui dischi e sui supporti di memoria di massa e rappresenta 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.

Il file system organizza il contenuto dei supporti di massa in Files e Cartelle, e per quanto riguarda quello su cui si trova il sistema operativo, la gran parte dei files e delle cartelle che vi si trovano, sono creati e gestiti direttamente dalle applicazioni senza l’intervento dell’utente.

I files necessari per il corretto funzionamento dei programmi e del sistema operativo, non devono essere mai alterati dall’utente, per non compromettere il funzionamento della macchina. Ogni disco contiene l’indice di tutti i files, generato ed aggiornato automaticamente dal sistema operativo che memorizza per ogni file il nome, la posizione fisica nel disco, le dimensioni in bytes, la data di creazione o modifica, la cartella in cui è contenuto. Il sistema operativo fornisce poi all’utente tutti i programmi per visualizzare l’indice dei dischi e per organizzarne il contenuto, spostando, copiando o cancellando i file, cambiandone il nome, creando nuove cartelle. Alcuni sistemi operativi pongono restrizioni e protezioni sui file, impedendo modifiche ai files di sistema o impedendo la visualizzazione di file che contengono informazioni riservate o personali.

Il file system vede gli hard disks come array di blocchi di dimensione fissa da 512 bytes, chiamati settori. Le operazioni disponibili sono la lettura e la scrittura di un blocco. Ciascun file viene distribuito in un insieme di settori e l’utente non deve preoccuparsi di quali settori sono utilizzati per la memorizzazione, Il software di gestione del file system è responsabile dell’organizzazione di questi settori in files e di tenere traccia del loro collegamento  e quali  settori non sono utilizzati. E’ possibile organizzare i files dando loro dei nomi gerarchici e la loro associazione viene eseguita tramite la tabelle di allocazione dei file (file allocation table).

I file system tradizionali presentano alcuni svantaggi in quanto non permettono di creare collegamenti addizionali alle cartelle, di rinominare i collegamenti padre e di creare collegamenti bidirezionali fra i file. Questi file system tradizionali hanno anche dei metodi per creare, spostare, cancellare e troncare i files, per sostituire o aggiungervi in coda alcuni dati, ma non permettono di aggiungere dati o troncare in testa un file, impedendo l’inserzione o la cancellazione arbitraria di dati, risultando inefficienti in contesti particolari.

Un altro problema dei filesystem é rappresentato dal fatto che se non sono stati smontati correttamente, si può provocare un disallineamento tra quanto è stato scritto su disco e i metadata che dovrebbero localizzarlo, costringendo il sistema operativo a controllare tutto il disco alla ricerca dei disallineamenti per correggerli. I metadata registrano tutte le informazioni che riguardano i file: grandezza e collocazione fisica sul supporto. Ogni volta che si crea, modifica o cancella un file il sistema deve aggiornare i metadata, così da mantenerli sempre allineati, che implica una certa quantità di accessi fisici al disco con tempi relativamente lunghi.

Nel corso della storia informatica, sono stati ideati svariati file system. I sistemi operativi moderni sono spesso in grado di accedere a diversi file system, installando semplicemente un apposito modulo o driver. Esistono file system per dischi (ext, fat, hfs, iso9660, jfs, ntfs ecc.), file system per rete (Samba, Lustre ecc.) e file system per compiti speciali.

S3QL è un filesystem che immagazzina tutti i suoi dati online utilizzando Amazon S3 o server SFTP fornendo un hard disk dinamico di capacità infinita a cui si può accedere da qualsiasi computer connesso alla rete, supporta diverse caratteristiche come symlink e hardlink, e prima dell’upload, i files vengono compressi, criptati e generato un checksum.

FHS rappresenta lo Standard di Gerarchia dei Filesystem, che definisce le directory principali ed il loro contenuto nei sistemi operativi Linux e Unix-like. Il processo di sviluppo di una gerarchia standard per i file system iniziò nell’agosto 1993 con l’idea di ristrutturare la struttura dei file e delle directory di Linux. L’FSSTND (Filesystem Standard) conobbe vari rilasci e con l’aiuto di alcuni membri della comunità di sviluppo BSD, si stabilirono le caratteristiche che accomunavano tutti i sistemi Unix-like, il nome dello standard venne cambiato in Filesystem Hierarchy Standard (FHS).

Oggi, quasi non si parla più di File System, ma di Files in Cloud, poiché lo spazio disco di ogni PC viene utilizzato in parallelo creando potenzialmente File Systems di grandezza immensa che sono la nostra nuvola nel Web 3.0.

Related Posts


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812