Capitolo 10: Interfaccia del file system Capitolo 10

Capitolo 10: Interfaccia del file system
Capitolo 10: Interfaccia del file system
n Concetto di file
n Metodi d’accesso
n Struttura della directory
n Montaggio di un file system
n Condivisione di file
n Protezione
Sistemi operativi - Concetti ed esempi -Settima edizione
10.2
Silberschatz, Galvin e Gagne ©2006
1
Obiettivi
n Funzione dei file system.
n Descrizione delle interfacce dei file system.
n Presentazione dei compromessi di progettazione dei file system,
compresi metodi d’accesso, condivisione dei file, uso dei lock e
strutture di directory.
n Protezione dei file system.
Sistemi operativi - Concetti ed esempi -Settima edizione
10.3
Silberschatz, Galvin e Gagne ©2006
Esempio di applicazione di lock
nel linguaggio Java
import java. io.*;
import java. nio.channels.*;
public class LockingExample {
public static final boolean EXCLUSIVE = false;
public static final boolean SHARED = true;
public static void main(String arsg[]) throws IOException {
FileLock sharedLock = null;
FileLock exclusiveLock = null;
try {
RandomAccessFile raf = new RandomAccessFile("file.txt", "rw");
// acquisisce il canale per il file
FileChannel ch = raf.getChannel();
// acquisisce lock esclusivo per la prima met à del file
exclusiveLock = ch.lock(0, raf.length()/2, EXCLUSIVE);
/** Modifica i dati . . . */
// rilascia il lock
exclusiveLock.release();
Sistemi operativi - Concetti ed esempi -Settima edizione
10.4
Silberschatz, Galvin e Gagne ©2006
2
Esempio di applicazione di lock
nel linguaggio Java (Cont.)
// acquisisce lock condiviso per la seconda metà del file
sharedLock = ch.lock(raf.length()/2+1, raf .length(),
SHARED);
/**Legge i dati . . . */
// rilascia il lock
exclusiveLock.release();
} catch (java.io.IOException ioe) {
System.err.println(ioe);
}finally {
if (exclusiveLock != null)
exclusiveLock.release();
if (sharedLock != null)
sharedLock.release();
}
}
}
Sistemi operativi - Concetti ed esempi -Settima edizione
10.5
Silberschatz, Galvin e Gagne ©2006
Comuni tipi di file – Nome, estensione
Sistemi operativi - Concetti ed esempi -Settima edizione
10.6
Silberschatz, Galvin e Gagne ©2006
3
Metodi d’
d’accesso
n
Accesso sequenziale
read next
write next
reset
no read after last write
(rewrite)
n
Accesso diretto
read n
write n
position to n
read next
write next
rewrite n
n = numero del blocco
Sistemi operativi - Concetti ed esempi -Settima edizione
10.7
Silberschatz, Galvin e Gagne ©2006
File ad accesso sequenziale
Sistemi operativi - Concetti ed esempi -Settima edizione
10.8
Silberschatz, Galvin e Gagne ©2006
4
Simulazione dell’
dell’accesso sequenziale
a un file ad accesso diretto
Sistemi operativi - Concetti ed esempi -Settima edizione
10.9
Silberschatz, Galvin e Gagne ©2006
Esempio di indice e relativo file
Sistemi operativi - Concetti ed esempi -Settima edizione
10.10
Silberschatz, Galvin e Gagne ©2006
5
Tipica organizzazione di un file system
Sistemi operativi - Concetti ed esempi -Settima edizione
10.11
Silberschatz, Galvin e Gagne ©2006
Directory a livello singolo
Sistemi operativi - Concetti ed esempi -Settima edizione
10.12
Silberschatz, Galvin e Gagne ©2006
6
Struttura della directory
a due livelli
Sistemi operativi - Concetti ed esempi -Settima edizione
10.13
Silberschatz, Galvin e Gagne ©2006
Struttura della directory ad albero
Sistemi operativi - Concetti ed esempi -Settima edizione
10.14
Silberschatz, Galvin e Gagne ©2006
7
Directory con struttura
a grafo aciclico
Sistemi operativi - Concetti ed esempi -Settima edizione
10.15
Silberschatz, Galvin e Gagne ©2006
Directory a grafo generale
Sistemi operativi - Concetti ed esempi -Settima edizione
10.16
Silberschatz, Galvin e Gagne ©2006
8
File system
Volume non montato.
Esistente.
Sistemi operativi - Concetti ed esempi -Settima edizione
10.17
Silberschatz, Galvin e Gagne ©2006
Punto di montaggio
Sistemi operativi - Concetti ed esempi -Settima edizione
10.18
Silberschatz, Galvin e Gagne ©2006
9
Gestione della lista di controllo
degli accessi in Windows XP
Sistemi operativi - Concetti ed esempi -Settima edizione
10.19
Silberschatz, Galvin e Gagne ©2006
Esempio di elenco del contenuto
di una directory UNIX
Sistemi operativi - Concetti ed esempi -Settima edizione
10.20
Silberschatz, Galvin e Gagne ©2006
10
Fine del Capitolo 10
11