ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario File System File e Cartelle Partizione Path Tabella di Allocazione Frammentazione 2
File File Gestione dell Interfaccia Gestione dell I/O Gestione della Memoria Gestione dei Processi 3 La Gestione della File System è una funzione fondamentale nei moderni Sistemi Operativi. Consiste nell organizzare e gestire la memorizzazione delle informazioni su memoria di massa. Si occupa di risolvere problemi quali: Il raggruppamento logico delle informazioni (File) La gerarchia delle informazioni (Cartelle) La corretta strategia di allocazione dello spazio in memoria di massa Informazioni MEMORIA DI MASSA 4
File System File System Modalità di organizzazione e gestione delle informazioni su memoria di massa. E' implementato tramite strutture dati Si basa sui concetti fondamentali di File e Cartelle Consente all utente finale di gestire le informazioni in maniera semplificata e gerarchica, senza conoscere i dettagli fisici dei dispositivi di memoria Sistemi Operativi differenti usano File System differenti e spesso incompatibili 5 Memoria di massa Memoria di massa (memoria secondaria) Dispositivo hardware per la memorizzazione a lungo termine delle informazioni. Ne esistono varie tipologie: Hard Disk (Tecnologia magnetica) SSD (Tecnologia Flash) Penna USB (Tecnologia Flash) CD, DVD, Blu-Ray (Tecnologia ottica) Floppy disk (Tecnologia magnetica) 6
File File Insieme di dati correlati memorizzati su memoria di massa, caratterizzato da attributi quali: Nome Estensione (Tipologia Codifica) Dimensione Data e Ora di creazione/accesso Gli attributi sono salvati su un opportuna struttura dati chiamata descrittore del file o inode. 7 Operazioni sui File Operazioni sui File Le tipiche operazioni coi file gestibili da File System sono: Creazione Scrittura Lettura Cancellazione Ridenominazione 8
Cartella Cartella (Directory) Contenitore logico di file. Struttura dati astratta che consente di: Raggruppare le informazioni appartenenti a file differenti secondo criteri scelti dall'utente Organizzare gerarchicamente le informazioni: è infatti possibile inserire iterativamente cartelle (e relativi file) all'interno di altre cartelle Come i file, anche le cartelle hanno attributi memorizzati su un opportuno descrittore. 9 Cartelle e gerarchia L'uso delle cartelle consente all'utente e ai programmi di organizzare logicamente l'informazione in gerarchia a più livelli pur essendo fisicamente su un solo livello. La cartella di livello più alto si chiama radice o root. Root PRIMO LIVELLO Pippo Pluto Paperino SECONDO LIVELLO TERZO LIVELLO Topolino 10
Partizione Partizione Suddivisione logica di un dispositivo di memoria di massa. Ogni dispositivo può essere suddiviso in una o più partizioni; ciascuna può ospitare file system differenti. Sul SO Windows ogni partizione è identificata da una lettera seguita dai due punti. La partizione C: è storicamente quella principale o di boot. MEMORIA DI MASSA C: D: PARTIZIONE PRINCIPALE SECONDA PARTIZIONE 11 Path Path (Percorso) Descrizione univoca del percorso per raggiungere una risorsa (file o cartella) in un File System. Può essere: Assoluto A partire dalla cartella root di una partizione ES: C:\Documenti\Esempio.doc Relativo A partire dalla cartella attualmente in uso ES: Pictures\Fotografia.jpg 12
Path assoluto: Esempio C:\Documenti\Esempio.doc ROOT SEPARATORE SECONDO LIVELLO SEPARATORE RISORSA C: ROOT PRIMO LIVELLO Documenti Esempio.doc RISORSA 13 Path relativo: Esempio Pictures\Fotografia.jpg CARTELLA ATTUALE SEPARATORE RISORSA? Pictures Fotografia.jpg CARTELLA ATTUALE RISORSA 14
Struttura di un File System In un tipico File System: I dati sono allocati su blocchi di dimensione fissa prefissata. Un file è composto da uno o più blocchi, fisicamente sequenziali o no Esiste una struttura dati detta tabella di allocazione file che mantiene i descrittori di ogni file e cartella e li associa alle locazioni fisiche su cui sono salvati Blocco 1 Blocco 2 LIBERO LIBERO Blocco 3 LIBERO Blocco 4 MEMORIA DI MASSA File = Blocco 1 + Blocco 2 + Blocco 3 + Blocco 4 15 Tabella di Allocazione = IDENTIFICATORE FILE Tabella Allocazione DID Nome Estensione Att Nome Estensione Att Nome Estensione Att Nome Att Att Locazione Blocco 1 Att Att Att Locazione Blocco 1 Locazione Blocco 1 MEMORIA DI MASSA DID = IDENTIFICATORE DIRECTORY DESCRITTORE 16
Allocazione Il File System utilizza opportune strategie di allocazione per assegnare blocchi liberi ai file da memorizzare. Tali strategie sono simili a quelle messe in atto dal Gestore della Memoria per allocare la RAM e hanno come principali obiettivi: Sfruttare con efficienza lo spazio Memorizzare i file in blocchi contigui per migliorare le prestazioni in lettura ed evitare la frammentazione Velocizzare le operazioni Le operazioni di lettura, scrittura, devono essere eseguite in tempi ragionevoli per l'utente 17 Frammentazione A causa dei ripetuti accessi per operazioni e delle politiche di allocazione, nel File System si verificano a lungo termine problemi di frammentazione dei file: Frammentazione interna La dimensione del file non è multipla intera di quella dei blocchi e rimane spazio libero interno a un blocco Blocco 1 Blocco 2 Blocco 3 SPAZIO LIBERO IN BLOCCO 3 Frammentazione esterna Rimangono interi blocchi liberi tra file diversi o tra blocchi occupati dello stesso file File 1 File 1 LIBERO LIBERO File 2 LIBERO File 1 18