Il Sistema Operativo - Gestione del File System

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