FILESYSTEM
Il Concetto di Filesystem
Il Filesystem fornisce il supporto per la memorizzazione
dei dati e dei programmi
File
Visione logica ed uniforme
Della memorizzazione delle
Informazioni.
Directory
Organizza l’accesso
ai file
Il Concetto di File
La più piccola porzione di informazione logica
che può essere memorizzata
Programmi
Dati
(numerici, alfabetici,
alfanumerici, binari)
Il file possono avere formato libero o rigido
Il Concetto di File
In generale è una sequenza di bit, byte, righe o record
Il File è caratterizzato da una struttura dipendente dal tipo
Eseguibile (byte
per il loader)
File Testo
(righe)
File Sorgente
(procedure e
funzioni)
File oggetto
(byte per il
linker)
Attributi di File
Identificazione univoca ed informazioni
• Nome
• Identificatore
• Tipo
• Locazione
• Protezione
• Tempo, Data, Id Utente
Le informazioni su tutti i file sono mantenute nelle directory
Operazioni sui File
Il file è un tipo di dati astratto
1.
2.
3.
4.
5.
6.
7.
Creazione
Scrittura
Lettura
Posizione corrente
Riposizionamento
Cancellazione
Troncamento
Creazione
Trovare spazio nel filesystem
Creare descrittore nella directory (nome e locazione)
Scrittura
Chiamata di sistema a cui si specifica nome
del file e le informazioni da scrivere
Il SO cerca mediante il nome cerca nella dir
la posizione fisica del file.
Il SO deve mantenere informazione sulla posizione di
Scrittura nel file e aggiornarla dopo ogni scrittura
Lettura
Chiamata di sistema a cui si specifica nome
del file e il buffer in memoria destinazione
Il SO cerca mediante il nome cerca nella dir
la posizione fisica del file.
Il SO deve mantenere informazione sulla posizione di
lettura nel file e aggiornarla dopo ogni lettura
Riposizionamento
La posizione della operazione corrente (da effettuare)
è detta posizione corrente (puntatore)
Il SO cerca mediante il nome cerca nella dir
la posizione fisica del file ed il puntatore alla pos. corr.
Imposta il puntatore ad un valore specificato. Le info
nel file non sono toccate
Cancellazione
Chiamata di sistema a cui si fornisce il nome
Il SO cerca mediante il nome cerca nella dir
la posizione fisica del file
Tutto lo spazio del file viene rilasciato e cancellato l’entry
nella directory
Troncamento
Chiamata di sistema a cui si fornisce il nome
Il SO cerca mediante il nome cerca nella dir
la posizione fisica del file
Tutto lo spazio del file viene rilasciato ma non
viene cancellato l’entry nella directory
Altre Operazioni
Appending
Rename
Get Info
Gestione
Tutte le operazioni richiedono ricerca nella directory
Il SO tiene in memoria una lista dei file aperti nel sistema
(Open-file table)
Open e Close
Sistemi multiprocessing OFT a 2 livelli
Open-File Table
1.
2.
3.
4.
Puntatore al file (posiz. corrente)
Contatore Aperture del file
Posizione file su disco
Diritti di accesso
Tipi di File
Il SO deve riconoscere il tipo di dati del file
Estensione del nome (.c , .jpg, .txt) (windows xp)
Magic Number (Unix)
Nome del programma creatore (MacOS)
Struttura del File
La struttura è definita dal tipo
Più tipi significa SO più complesso
Il SO deve trattare la struttura del file dal tipo
In Unix i file sono sequenze di byte non interpretate
Tutti i SO gestiscono il file eseguibile
Struttura interna del File
Record Logico e blocco fisico
Impacchettamento = come inserire record logici in
più blocchi fisici
Frammentazione interna
Metodi di accesso ai file
Sequenziale
Diretto
Indicizzato
Directory
Partizioni del disco
La Partizione contiene la volume table
La directory è una struttura logica (una tabella)
che traduce i nomi dei file nei descrittori della
volume table
Operazioni sulle directory
Inserimento, cancellazione, rinominazione,
listare il contenuto
Schemi di definizione della struttura logica
Implementazione con strutture dati (liste linkate, hashing)
Struttura delle directory
1.
2.
3.
4.
5.
6.
Ricerca di un file
Creazione di un file
Cancellare un file
Elencare una directory
Rinominare un file
Attraversamento del filesystem
Directory a singolo livello
Tutti i file sono contenuti nella stessa directory
Violazione del principio di unicità
Directory a due livelli
MFD
UFD
cat
User1
test a
pip
User2
User3
User4
User5
c
File
Nomenclatura della ricerca
Path di ricerca
Directory ad albero
Radice
cat
Spell
test a
pip
bin
c
home
media
etc
Percorsi assoluti o relativi
Cancellazione directory
prog copy prt
exp stat
Directory a grafo aciclico
Radice
cat
Spell
test c
prog copy prt
pip
bin
a
home
media
a
etc
b
w
wor c
exp stat
Condivisione
Cancellazione
Directory a grafo generale
Radice
cat
Spell
test c
prog copy prt
pip
bin
a
home
media
a
etc
b
w
wor c
exp stat
Garbage collection
Montaggio del Filesystem
Nome dispositivo e punto di montaggio
Unix, MacOS, Windows
Caso più utenti
Protezione
Scarica

Lezione s.o. 6