TECNOLOGIE E PROGETTAZIONE © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 ISTITUTO TECNICO SECONDO BIENNIO Il Sistema Operativo Gestione del File System GIORGIO PORCU www.thegiorgio.it TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Sommario © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • Gestione del File System File System File e Cartelle Partizione Path Tabella di Allocazione Frammentazione 2 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 Gestione del File System Gestione del File System Gestione dell’Interfaccia Gestione del File System Gestione dell’I/O Gestione della Memoria Gestione dei Processi 3 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Gestione del File System File File Informazioni © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 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 MEMORIA DI MASSA 4 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System File System © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • 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 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Memoria di massa © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • 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 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System File © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • 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 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Operazioni sui File © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • Operazioni sui File Le tipiche operazioni coi file gestibili da File System sono: Creazione Scrittura Lettura Cancellazione Ridenominazione 8 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Cartella 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 © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • Cartella (Directory) Come i file, anche le cartelle hanno attributi memorizzati su un opportuno descrittore. 9 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System 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 SECONDO LIVELLO Pluto Paperino TERZO LIVELLO Topolino 10 © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 Cartelle e gerarchia TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System 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: PARTIZIONE PRINCIPALE D: SECONDA PARTIZIONE © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • Partizione 11 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Path © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 • 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 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Path assoluto: Esempio ROOT SEPARATORE SECONDO LIVELLO SEPARATORE C: © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 C:\Documenti\Esempio.doc RISORSA ROOT PRIMO LIVELLO Documenti RISORSA Esempio.doc 13 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Path relativo: Esempio CARTELLA ATTUALE SEPARATORE © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 Pictures\Fotografia.jpg RISORSA ? CARTELLA ATTUALE Pictures Fotografia.jpg RISORSA 14 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Struttura di un 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 © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 In un tipico File System: MEMORIA DI MASSA File = Blocco 1 + Blocco 2 + Blocco 3 + Blocco 4 15 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System Tabella di Allocazione FID = IDENTIFICATORE FILE FID Nome Estensione Att FID Nome Estensione Att FID Nome Estensione Att … … … Att Locazione Blocco 1 Att Locazione Blocco 1 Att Locazione Blocco 1 … Att MEMORIA DI MASSA … DID Nome Att DID = IDENTIFICATORE DIRECTORY © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 Tabella Allocazione FID … FID DESCRITTORE 16 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System 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 © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 Allocazione 17 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Gestione del File System 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 SPAZIO LIBERO IN BLOCCO 3 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 © 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 Frammentazione