A confronto Linux e Microsoft d i A g n e s e D a i d o n e
File System Livello fisico Livello logico Allocazione dei File Uso del FS Il File System è un registro di sistema che gestisce tutte le informazioni contenute nei file. Si possono identificare due grandi classi di file system: Per unità locali, destinate ad organizzare fisicamente i dati su un disco Distribuiti, come Network File System (NFS), nati per condividere i dati fra più computer collegati attraverso una rete, superando le differenze fra sistemi operativi e file system locali delle varie macchine. I file system possono essere rappresentati graficamente tramite la metafora delle cartelle che contengono documenti (i file) ed altre cartelle (le directory).
File System Livello fisico Livello logico Allocazione dei File Uso del FS A livello fisico, i file sono memorizzati in una serie di blocchi all interno delle memorie di massa. Un blocco corrisponde ad un informazione che può essere utilizzata in un unica operazione e corrisponde a un settore o ad un gruppo di settori. Il software di gestione del file system deve tenere traccia di quali settori appartengono a quali file. Struttura della superficie di un disco: A) Traccia B) Settore C) Settore di una traccia D) Cluster, insieme di settori contigui Dal punto di vista logico il file system è organizzato sottoforma di tabella che racchiude tutte le informazioni che ricollegano all informazione del file all indirizzo della sua allocazione sulla memoria di massa. Nel File System vengono memorizzati gli indirizzi di allocazione di tutti i file che cono contenuti, e quindi memorizzati, all interno del computer, sia nella RAM, che nell Hard Disk, che nelle memorie di massa esterne all elaboratore, quali Pen Drive, CD-ROM, e altri dispositivi di memorizzazione.
File System Livello fisico Livello logico Allocazione dei File Uso del FS Il più grande problema del File System è la frammentazione. Quando i file vengono eliminati, creati o spostati, le loro varie parti si disperdono sull'unità, rallentandone progressivamente la lettura e la scrittura. Una soluzione a questo inconveniente è la deframmentazione, un processo che riordina i file sull'unità. Questa può durare anche diverse ore e deve essere eseguita regolarmente per mantenere le prestazioni dell'unità. Esistono vari metodi per la memorizzazione dei file: Blocchi concatenati: blocchi collegati attraverso dei puntatori che rimandano al blocco successivo ma l accesso è solo sequenziale, rallentando il processo di memorizzazione e utilizzo dei file. Tabella di puntatori: ogni elemento della tabella può contenere un puntatore che rimanda alla parte del file successiva a quella che contiene il blocco oppure un indicatore se è libero. Mappa di blocchi: esiste una tabella per ogni file che contiene la sequenza dei puntatori dei blocchi che lo contengono. Al momento dell uso del file viene caricata in memoria tuta la tabella, che appesantisce il processo dato che occupa ulteriore spazio sulla RAM
File System Livello fisico Livello logico Allocazione dei File Uso del FS Utilizzo del File System Attraverso il file system è possibile creare, cancellare, visualizzare, spostare e copiare file e directory; è possibile identificare un file attraverso il nome globale (absolute pathname), il percorso completo di allocazione, o il nome locale (relative pathname), la posizione del file rispetto alla directory corrente. Controllo d'accesso Il file system offre dei criteri di sicurezza nell'accesso alle operazioni basati su liste di controllo di accesso (access control list o ACL) o capabilities. Una ACL permette di definire per ciascun elemento del file system di quali permessi (lettura, scrittura, modifica ecc.) dispone ciascun utente che accede al sistema, attraverso delle liste, (C-List) associate a ciascun file che definiscono l utente o gli utenti che possono utilizzare quel determinato file.
FAT FAT 32 Struttura Esistono varie versioni di questo file system: FAT12, FAT16, FAT32, VFAT. La FAT in sé mantiene la traccia delle aree del disco disponibili e di quelle già usate dai file e dalle directory: la differenza fra FAT12, FAT16 e FAT32 consiste appunto in quanti bit sono allocati per numerare i cluster del disco. La File Allocation Table, in sigla FAT, è un file system sviluppato per il sistema operativo di Windows, inizialmente utilizzato dal DOS. Con 12 bit, il file system può indirizzare al massimo 2 12 = 4096 cluster, mentre con 32 bit si possono gestire 2 32 = 4.294.967.296 cluster. L'aumento del numero di bit di indirizzo dei cluster si è reso necessario per gestire unità a disco sempre più grandi e capienti.
FAT FAT 32 Struttura La FAT32, con numeri per i cluster da 32 bit, anche se in realtà ne vengono utilizzati solo 28, dovrebbe permettere 268.435.438 (2 28 ) cluster, cioè una dimensione totale dell'ordine dei 2 terabyte, ma a causa delle limitazioni dell'utility scandisk non è permesso al FAT di superare i 4.177.920 (2 22 ) cluster, riducendo la dimensione massima della memoria a 124.55 gigabyte. Con il FAT32 la dimensione del singolo file non può essere superiore ai 4 GB. L'ultima versione di Microsoft Windows che usa questo file system è Windows ME (Millennium Edition)
FAT FAT 32 Struttura Struttura La FAT è un file system con allocazione concatenata ed è strutturato in quattro sezioni: Settori riservati(settore zero): contiene il settore di avvio con il BIOS Parameter Block, alcune informazioni di base del FS, in particolare il suo tipo, e puntatori alla posizione delle altre sezioni, il codice del boot loader del sistema operativo, la dimensione dei settori riservati. Nel FAT32 le informazioni si trovano nel settore 1, mentre nel settore 6 vi è una copia di backup del settore di avvio. Regione FAT: contiene almeno due copie della FAT (per motivi di sicurezza). Rappresentano la mappa della regione dati. Regione della ROOT directory: è una tabella che memorizza le cartelle e i files presenti nella directory di root. È presente solo nella FAT12 e nella FAT16 ed impone una dimensione massima prefissata per la root; nella FAT32 ciò è fatto direttamente nella regione dati, eliminando così il vincolo dimensionale sulla root. Area dati: è dove files e cartelle sono realmente memorizzati e occupa la maggior parte della partizione. Settore di avvio Area riservata FAT Root Informazioni FS (solo FAT32) Riservati (opzionale) FAT #1 FAT #2 directory (solo FAT12/16) Regione dati
EXT2 Simboli Permessi File e dimensioni Directory Il file system EXT2 (Second Extended Filesystem) è stato per lungo tempo quello usato dai sistemi GNU/Linux. Esistono programmi per utilizzare i volumi ext2 anche da sistemi proprietari come Microsoft Windows (senza supporto Microsoft) e Mac OS X. Attualmente è stato sostituito da EXT3 che introduce delle importanti caratteristiche mantenendo la compatibilità completa. L'hardware viene rappresentato da device e utilizza 5 tipi di file di base: File normali Directory Device a blocchi Device a caratteri Pipe Non esistono le unità logiche (A:\, C:\, ecc), ma tutto è contenuto in un unico albero delle cartelle /(root) Il comando mount, il montaggio dei volumi, permette di collegare un volume all'albero delle cartelle. Il comando umount disconnette un volume.
EXT2 Simboli Permessi File e dimensioni Directory Simboli Il carattere di separazione delle cartelle è / Esempio /home/davide/documents/montellug/slides.pdf Percorsi e caratteri speciali:. Se a inizio nome, indica un file/cartella nascosto ~ Indica la cartella home dell'utente. È la cartella corrente.. La cartella genitrice Caratteri non utilizzabili per nominare le directory o i file:./ $&?~!<>*=..;[] Permessi Linux segue l'architettura di permessi UNIX: Ciascun file appartiene a un utente ed è associato ad un gruppo Ciascun utente ha 3 permessi: Read (r) - lettura Write (w) scrittura execute (x) esecuzione: entra nella cartella Ciascun file possiede permessi per 3 gruppi di utenti: Il proprietario del file Gli utenti del gruppo a cui è associato il file Tutti gli altri utenti
EXT2 Simboli Permessi File e dimensioni Directory I file Lo spazio è suddiviso in blocchi e organizzato in gruppi di blocchi. Ciò doveva servire a ridurre la frammentazione interna e velocizzare i processi. All'interno di ogni gruppo di blocchi ci sono i superblock, group descriptor, block bitmap, inode bitmap, infine seguiti dai blocchi dei dati. Il superblock contiene informazioni importanti per l'avvio del sistema operativo, per cui vengono fatte copie di backup in ogni gruppo dei blocchi. Solo la prima copia viene utilizzata per l'avvio. Il descrittore del gruppo memorizza il valore del block bitmap, inode bitmap e l'inizio della tabella dei inode per ogni gruppo dei blocchi. Limiti del file system Dimensione del blocco 1 KiB 2 KiB 4 KiB 8 KiB Dimensione massima del file 16 GiB 256 GiB 2 TiB 2 TiB Dimensione massima del filesystem 2 TiB 8 TiB 16 TiB 32 TiB
EXT2 Simboli Permessi File e dimensioni Directory Le Directory /bin: eseguibili di base del sistema /boot: kernel e file di avvio /dev: file che rappresentano l'hardware /etc: file di configurazione /home: cartelle personali degli utenti /lib: librerie di sistema /media: dispositivi rimovibili /mnt: partizioni esterne /proc: informazioni sul sistema /root: file personali dell'amministratore /sbin: programmi di amministrazione /tmp: file temporanei /usr: tutto quello che non sta altrove: programmi, documentazione, sorgenti, ecc. /var: file a contenuto variabile