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