La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Politecnico di MilanoC.Brandolese Il File System Calcolatori Elettronici.

Presentazioni simili


Presentazione sul tema: "Politecnico di MilanoC.Brandolese Il File System Calcolatori Elettronici."— Transcript della presentazione:

1 Politecnico di MilanoC.Brandolese Il File System Calcolatori Elettronici

2 C.BrandoleseCalcolatori Elettronici2 Sommario File Attributi Operazioni Struttura Organizzazione Directory Protezione Implementazione Allocazione Gestione dello spazio libero Realizzazione delle directory

3 C.BrandoleseCalcolatori Elettronici3 File Il concetto di file offre una visone omogenea delle informazioni memorizzate La visone non dipende dal tipo di dispositivo fisico su cui le informazioni vengono memorizzate Un file è costituito da: Un insieme di informazioni omogenee Un nome simbolico Un insieme di attributi Un file può contenere: Dati Programmi Riferimenti

4 C.BrandoleseCalcolatori Elettronici4 Attributi Ad un file sono associati alcuni attributi che ne descrivono alcune caratteristiche: Nome: E un nome simbolico con cui ci si riferisce ad esso Tipo: Definisce il tipo dei dati contenuti. A volte il tipo viene definito attraverso una estensione del nome Locazione: E un puntatore alla posizione fisica sul dispositivo Dimensione: Dimensione dei dati espressa in bytes o blocchi Protezione: Definisce le politiche di gestione degli accessi Ora e Data: Indicano il momento della creazione, ultima modifica o ultimo accesso Proprietario: Indica il nome dellutente che ha creato il file

5 C.BrandoleseCalcolatori Elettronici5 Operazioni Sui file possono essere compiute diverse operazioni Le operazioni vengono svolte attraverso delle richieste di servizi al sistema operativo Le operazioni più comuni sono elencate nel seguito Creazione: Viene aggiunto un nuovo file al file system Le operazioni richieste sono: Allocazione Creazione del nuovo descrittore del file Aggiunta del descrittore al file system

6 C.BrandoleseCalcolatori Elettronici6 Operazioni Scrittura: Aggiunge dati a ad un file già creato Per scrivere dati su un file è necessario fornire: Il nome del file I dati da scrivere Il file system mantiene un puntatore alla posizione in cui deve essere effettuata la scrittura successiva Lettura: Preleva dati da un file già creato Per leggere dati da un file è necessario fornire: Il nome del file Un puntatore alla zona di memoria destinata a contenere i dati Il file system mantiene un puntatore alla posizione in cui deve essere effettuata la lettura successiva

7 C.BrandoleseCalcolatori Elettronici7 Operazioni Riposizionamento: Sposta la posizione dei puntatori di lettura e di scrittura Le operazioni consentite dipendono dal tipo di accesso del file Spesso viene mantenuto dal file system un solo puntatore valido per la lettura e per la scrittura Cancellazione: Elimina un file Per eliminare un file è necessario specificarne il nome Le operazioni necessarie sono: Deallocazione dello spazio sul dispositivo fisico Aggiunta dello spazio deallocato alla lista dello spazio disponibile sul dispositivo Rimozione del descrittore del file dal file system

8 C.BrandoleseCalcolatori Elettronici8 Operazioni Le operazioni descritte richiedono laccesso ad un file Il file system deve cercare sul dispositivo fisico il file Per rendere più efficiente la ricerca, il file system mantiene una tabella dei file in uso I file in uso si dicono aperti Servizi forniti dal sistema operativo: Open: Sulla base del nome individua la posizione del file sul disco Copia il descrittore del file nella tabella dei file in uso Close: Sulla base del nome o di un identificatore localizza il descrittore del file nella tabella dei file in uso Elimina il descrittore dalla tabella dei file in uso

9 C.BrandoleseCalcolatori Elettronici9 Struttura Un file system ha una struttura logica ed una struttura fisica Struttura logica: I dati sono organizzati in unità logiche di lunghezza fissa ma arbitraria dette record Nel sistema UNIX un record è un byte Struttura fisica: I dati sono organizzati in unità fisiche di lunghezza fissa e dipendente dal dispositivo dette blocchi Dimensioni tipiche dei blocchi di unità a disco rigido variano da 32 a 4096 bytes, tipicamente 512 La struttura logica e fisica sono generalmente differenti I dati vengono impaccati prima di essere memorizzati in modo da sfruttare al meglio le caratteristiche fisiche del dispositivo

10 C.BrandoleseCalcolatori Elettronici10 Struttura Tale differenza, unitamente alla dimensione fissata dei blocchi provoca uno spreco di spazio Si consideri un file lungo 1350 byte ed un disco con blocchi da 512 bytes Questo fenomeno è noto come frammentazione interna Questa parte del blocco (186 byte) viene sprecata e non è utilizzabile da altri file

11 C.BrandoleseCalcolatori Elettronici11 Struttura I file sono organizzati principalmente in due modi: Accesso sequenziale: I dati vengono letti e scritti in sequenza a partire dallinizio del file Le operazioni disponibili per tali file sono: Lettura e scrittura Posizionamento allinizio o alla fine del file Posizionamento sul record precedente o successivo Accesso diretto o casuale: I dati vengono letti e scritti in una qualsiasi posizione specifica La posizione deve essere specificata in termini di blocco logico, relativamente allinizio del file I blocchi logici devono avere dimensione fissa per consentire il calcolo della posizione effettiva dei dati

12 C.BrandoleseCalcolatori Elettronici12 Organizzazione I moderni dispositivi di memorizzazione di massa consentono di salvare milioni di file Spesso sorge la necessità di condividere un file o un gruppo di file tra più utenti Tale mole di dati necessita una strutturazione Un file system è organizzato in: Partizioni: Contengono insiemi di file correlati Directory: Una partizione è suddivisa in directory. Le directory contengono informazioni sui file e fungono da indice File: Contengono effettivamente i dati o i programmi Non tutti i file system dispongono di partizioni Lelemento fondamentale per lorganizzazione dei file è la directory

13 C.BrandoleseCalcolatori Elettronici13 Directory Sulle directory, così come sui file, è possibile compiere alcune operazioni: Ricerca di un file: Sulla base di un nome o una espressione regolare consente di recuperare le informazioni su uno o più file Creazione di un file: Alla directory viene aggiunto un elemento che raccoglie le informazioni sul nuovo file Rimozione di un file: Eliminazione di un descrittore di file. Il descrittore deve essre prima individuato tramite una operazione di ricerca Elenco dei file: Produce lelenco dei nomi ed eventualmente altre informazioni relative ai file memorizzati Rinomina di un file: Modifica il nome di un file già presente nella directory. Il descrittore deve essre prima individuato tramite una operazione di ricerca

14 C.BrandoleseCalcolatori Elettronici14 Directory a singolo livello Tutti i file sono contenuti in una sola directory Questa struttura è molto semplice ma presenta alcuni problemi: Con molti file è difficile garantire che tutti i nomi siano diversi Con molti file le dimensioni della directory diventano grandi a discapito del tempo di accesso in quanto le ricerche sono più complesse Utenti differenti possono accedere agli stessi file tmp test data jhon cc emacs

15 C.BrandoleseCalcolatori Elettronici15 Directory a due livelli Si hanno due livelli: Directory principale: contiene un elenco di directory, una per ogni utente (root) Directory utente: contiene i file di un singolo utente (home) I singoli utenti vedono e gestiscono solo i file nella propria home directory La gestione della root directory è affidata ad un amministratore del sistema (root, administrator, superuser) Quando un utente richiede laccesso ad un file, il file system ne cerca il nome nella home directory dellutente Per accedere ai file di altri utenti si utilizza il path name cioè la composizione del nome dellutente e del nome del file

16 C.BrandoleseCalcolatori Elettronici16 Directory a due livelli Spesso gli applicativi sono accessibili a tutti gli utenti A tale scopo esiste una directory specifica (bin) I file vengono prima cercati nella directory dellutente quindi, se la ricerca fallisce, nella directory degli applicativi bin mike bill jhon gcc tcsh emacs test data gnu data foo

17 C.BrandoleseCalcolatori Elettronici17 Directory ad albero E una estensione del caso precedente ad un numeo arbitrario di livelli Un utente accede ai file attraverso il path name Per semplificare laccesso ai file viene definito il concetto di current working directory (cwd) cioè di directory corrente I file vengono cercati nella directory corrente Se un file non è nella directory corrente: Si usa il suo path name Si cambia la directory corrente Il sistema operativo offre alcuni comandi per gestire la cwd: cd : Change Directory. La directory dir diviene la cwd pwd: Print Working Directory. Mostra il nome della cwd

18 C.BrandoleseCalcolatori Elettronici18 Directory ad albero Un esempio di directory ad albero è il seguente bin mike bill jhon gcc tcsh test data gnu data foo aax data type mary work her mom much

19 C.BrandoleseCalcolatori Elettronici19 Directory a grafo aciclico Utenti diversi vogliono condividere uno o più file Per semplificare laccesso gli utenti vorrebbero vedere i file condivisi nella propria home Esistono due soluzioni con caratteristiche differenti Duplicazione: I file condivisi vengono duplicati nelle home dei diversi utenti Ciò comporta spreco di spazio e problemi di allineamento Riferimento: Viene copiato solo il descrittore del file Gli utenti accedono di fatto allo stesso file La gestione dei riferimenti richiede un sistema operativo più complesso

20 C.BrandoleseCalcolatori Elettronici20 Directory a grafo aciclico La soluzione migliore è quella basato sui riferimenti Tale struttura comporta una complessità maggiore del sistema operativo, infatti: Il sistema operativo deve garantire che il grafo risultante si aciclico Quando un file viene rimosso si presenta il problema di come trattare i riferimenti a quel file Utenti differenti possono accedere simultaneamente allo steso file con il rischio di comprometterne la struttura. Per questo il sistema operativo deve prevedere un meccanismo di gestione degli accessi Una implementazione sono link di UNIX: Soft link: Quando un file viene rimosso i riferimenti rimangono invariati ma puntano ad un file non esistente Hard link: Un file viene rimosso effettivamente solo quando tutti i riferimenti ad esso sono stati eliminati

21 C.BrandoleseCalcolatori Elettronici21 Directory a grafo aciclico Un esempio di directory a grafo aciclico e il seguente: bin mike bill jhon gcc tcsh test data gnu much foo aax data foo mary work her mom much

22 C.BrandoleseCalcolatori Elettronici22 Directory a grafo generale Una ulteriore estensione consiste nel rimuovere il vincolo di aciclicità del grafo In questo caso possono esistere riferimenti circolari Tale struttura risulta estremamente flessibile ma comporta una ulteriore complicazione del sistema operativo, in particolare: Nella ricerca di un file il sistema operativo deve evitare di entrare in un loop Gli algoritmi di visita di un grafo generale sono più complessi Il problema della rimozione di un file diviene più complesso Una soluzione comune a questi problemi consiste nel limitare la profondità di un path name, ovvero il numero di directory presenti in un path name

23 C.BrandoleseCalcolatori Elettronici23 Directory a grafo generale Un esempio di directory a grafo generale è il seguente: bin mike bill jhon gcc mike test data gnu much foo aax data foo mary work gnu mom much

24 C.BrandoleseCalcolatori Elettronici24 Protezione I dati memorizzati nei file di un file system necessitano di protezione Protezione da danni fisici: Malfunzionamenti dei dispositivi Danni meccanici e/o elettrici Soluzione: backup e mirroring Protezione da accessi impropri: Riservatezza Modifica o eliminazione accidentale di dati importanti Soluzione: definizione di una politica di accesso Con il termine protezione ci si riferisce alla definizione di una politica di accesso e relativa implementazione

25 C.BrandoleseCalcolatori Elettronici25 Protezione: Tipi di accesso Alcune banali politiche di accesso sono: Ogni utente accede solo ai propri file: si tratta di una scelta limitante, ad esempio per i gruppi di lavoro Ogni utente accede a tutti i file: è assente una politica di accesso La soluzione consiste nellaccesso controllato Si definiscono regole di accesso ai file sulla base di: Identità e gruppo di lavoro dellutente Proprietà dei file Tali regole dipendono dal tipo di operazione richiesta: Lettura Scrittura o eliminazione Esecuzione o lista Aggiunta

26 C.BrandoleseCalcolatori Elettronici26 Protezione: Liste di accesso Laccesso ed le operazioni consentite dipendono dalla identità dellutente Ad ogni file è associata una lista di accesso che indica quali operazioni sono consentite a quali utenti Quando una operazione viene richiesta il sistema operativo controlla la lista di accesso per verificare se: Il richiedente è contemplato Il richiedente ha il permesso di compiere quel tipo di operazione Questa soluzione presenta alcuni svantaggi: Le liste di accesso possono essere di dimensioni notevoli Le liste di accesso devono essere create e mantenute per ogni file Il tempo di accesso ad un file viene prolungato

27 C.BrandoleseCalcolatori Elettronici27 Protezione: UNIX Una soluzione semplificata consiste nella implementazione del sistema operativo UNIX Gli utenti sono identificati in base a: Username: Identificativo dellutente Group: Identificativo di gruppo, condiviso da più utenti Gli utenti sono raggruppati in tre classi: Owner:Solo il proprietario del file Group:Solo i membri del gruppo del proprietario del file All:Tutti gli utenti Le operazioni sono raggruppate in tre classi: Read:Lettura, copia Write:Scrittura, modifica, eliminazione Execute:Esecuzione

28 C.BrandoleseCalcolatori Elettronici28 Protezione: UNIX Ad ogni file sono associati: Owner Group Control access list La control access list è formata da tre gruppi di bit: Ogni gruppo di bit si riferisce ad una delle tre classi di utenti Ogni bit del gruppo si riferisce ad una delle tre operazioni rwx rwx rwx owner group all execute write read rwx rwx rwx owner group all

29 C.BrandoleseCalcolatori Elettronici29 Implementazione Limplementazione del file system permette allutente di disporre dei servizi descritti sino a questo punto In particolare il sistema operativo fornisce una visione logica del file system fornendo: File, directory, link Attributi e politiche di accesso Operazioni Mapping del file system logico sui dispositivi fisici Il file system è una struttura stratificata o a livelli: Ogni livello usa le funzioni fornite dal livello inferiore Ogni livello realizza e fornisce funzioni al livello superiore Il livello più basso è costituito dai dispositivi hardware

30 C.BrandoleseCalcolatori Elettronici30 Implementazione I livelli in cui viene suddiviso il file system sono: Applicazione File System Logico Modulo di Organizzaione dei file File System di Base Controllo dellI/O Dispositivi Richiedono funzioni al file system logico. Sulla base del nome di un file e dellorganizzazione delle directory, genera richieste al modulo per lorganizzazione dei file. Legge i descrittori dei file restituendo la posizione. Conosce lorganizzazione logica e fisica. Traduce le richieste logiche in richieste fisiche verso il file system di base. Genera il numero assoluto di un blocco dato il suo numero relativo all inizio del file. Invia comandi generali alla parte di controllo dellI/O. Dato il numero di blocco assoluto genera informazioni specifiche quali faccia, settore, traccia, blocco fisico. Generano i segnali di controllo a partire dai comandi ricevuti. Tali programmi prendono il nome di driver. Eseguono i comandi richiesti attraverso i driver.

31 C.BrandoleseCalcolatori Elettronici31 Allocazione Contigua I blocchi di un file sono adiacenti Un file di n blocchi è memorizzato nelle posizioni adiacenti b, b+1, …,b+n-2, b+n-1 Un descrittore deve indicare solo la coppia (b,n) I tempi di accesso sono brevi in quanto laccesso: A due blocchi successivi b e b+1 non richiede lo spostamento della testina in quanto sono sulla stessa traccia Al blocco logico i-esimo richiede laccesso diretto al blocco fisico b+i Problema: allocazione di spazio per un nuovo file … 141 data (134, 8 )

32 C.BrandoleseCalcolatori Elettronici32 Allocazione Contigua Dato un file di m blocchi è necessario individuare una porzione di disco costituita da almeno m blocchi contigui Si usano tre politiche: First-Fit:La prima zona, di almeno m blocchi, viene usata Best-Fit:La zona più piccola, di almeno m blocchi, viene usata Worst-Fit:La zona più grande, di almeno m blocchi, viene usata Le tecniche migliori sono le prime due, in particolare il metodo first-fit risulta più veloce Lallocazione contigua crea, nel tempo, zone inutilizzate di piccole dimensioni Tali zone hanno una bassa probabilità di contenere un file Questo fenomeno viene detto frammentazione esterna

33 C.BrandoleseCalcolatori Elettronici33 Allocazione Contigua Una soluzione consiste nella compattazione dei dischi I file su un disco vengono letti e memorizzati temporaneamente altrove (ad esempio su un secondo disco) Il disco originale viene completamente cancellato I file vengono riscritti in sequenza, eliminando così gli spazi vuoti Questa operazione è molto costosa in termini di tempo e deve essere compiuta con una certa frequenza Una soluzione migliore sta nella memorizzazione di un file in due zone differenti, ognuna formata da blocchi contigui La zona aggiuntiva prende il nome di extent Sono ancora necessari algoritmi per la ricerca di spazio disponibile

34 C.BrandoleseCalcolatori Elettronici34 Allocazione Contigua Un descrittore di file indica (b, e, n1, n2): b:base della sezione principale e: base dellextent n1: dimensioni della sezione principale n2: dimensione dellextent … data (11, 131, 3, 5 ) …

35 C.BrandoleseCalcolatori Elettronici35 Allocazione Concatenata Lidea delluso di un extent può essere estesa a ad un numero maggiore di estensioni In questo modo un file è costituito da una sequenza di blocchi in cui: Il descrittore contine il riferimento al primo ed allultimo blocco Ogni blocco contiene un riferimento al blocco successivo … data (12, 132 ) …

36 C.BrandoleseCalcolatori Elettronici36 Allocazione Concatenata Questa soluzione risolve tutti i problemi tipici della allocazione contigua, in particolare: Non si ha frammentazione esterna Una parte di ogni blocco è dedicata a contenere un riferimento al blocco successivo La memorizzazione dei riferimenti riduce lo spazio disponibile per i dati Con blocchi di 512 byte e riferimenti di 4 byte si ha uno spreco di spazio pari allo 0.78% del disco Dati Riferimento

37 C.BrandoleseCalcolatori Elettronici37 Allocazione Concatenata Anche questo metodo presenta alcuni svantaggi Per laccesso casuale è comunque necessario scorrere il file dallinizio fino al blocco desiderato Laccesso ad un file è meno efficiente in quanto può comportare molti riposizionamenti della testina Una soluzione consiste nel raggruppare più blocchi in un cluster e prevedere laccesso ai tali gruppi piuttosto che ai singoli blocchi: Si ha un miglioramento delle prestazioni per via del numero minore di riposizionamenti della testina Si ha una riduzione dello spazio utilizzato per i riferimenti Si ha una maggiore frammentazione interna Questo approccio è utilizzato in molti sistemi operativi

38 C.BrandoleseCalcolatori Elettronici38 Allocazione Concatenata Le liste di blocchi sono fragili in quanto la perdita di un solo riferimento può rendere inaccessibili grandi quantità di dati Una soluzione, adottata ad esempio da MS-DOS e OS/2, consiste nella costruzione di un indice detto File Allocation Table (FAT) per ogni partizione La FAT: Contiene tanti elementi quanti sono i blocchi del disco Un blocco disponibile è indicato da uno 0 nella tabella Lultimo blocco di un file è indicao da uno speciale valore EOF Ogni elemento della tabella contiene lindice dellelemento della FAT che che contiene il blocco successivo Questo metodo comporta mediamente un tempo di accesso ai file maggiore dellallocazione concatenata

39 C.BrandoleseCalcolatori Elettronici39 Allocazione Concatenata Un descrittore di file deve semplicemente indicare il numero del primo blocco del file Le informazioni sulla posizione dei blocchi successivi sono contenute nella FAT data (11 ) … EOF N -1 FAT

40 C.BrandoleseCalcolatori Elettronici40 Allocazione Indicizzata Risolve i problemi di scarsa efficienza della allocazione concatenata raggruppando tutti i riferimenti I riferimenti ai blocchi di un file vengono memorizzati in un unico blocco indice Un blocco indice è quindi: Un vettore di riferimenti ai blocchi del file Li-esimo elemento del vettore si riferisce alli-esimo blocco del file Il descrittore del file contiene il riferimento al blocco indice In questo modo si ottiene: Eliminzaione della frammentazione esterna Accesso casuale ai blocchi molto efficiente Lo spazio richiesto per i riferimenti è maggiore che nel caso di allocazione concatenata

41 C.BrandoleseCalcolatori Elettronici41 Allocazione Indicizzata Gli elementi del blocco indice che non si riferiscono a nessun blocco hanno il valore EOF Se un file è costituito da pochi blocchi si ha un sottoutilizzo del blocco indice che ha dimensioni fissate data (13) … EOF

42 C.BrandoleseCalcolatori Elettronici42 Allocazione Indicizzata E importante scegliere una dimensione opportuna per il blocco indicie: Se troppo grande, molto spazio viene sprecato Se troppo piccolo, non consente di trattare file di grandi dimensioni In genere il blocco indice coicide con un blocco fisico Esistono tre schemi possibili per risolvere i problemi legati alla gestione di file di diverse dimensioni: Schema concatenato Schema multilivello Schema combinato Tutti questi metodi sono utilizzati in sistemi operativi e file system reali

43 C.BrandoleseCalcolatori Elettronici43 Allocazione Indicizzata Schema concatenato: Il blocco indice contiene i riferimenti ai blocchi del file Lultimo elemento del blocco indice contiene un riferimento ad un secondo blocco indice, se il file è di grandi dimensioni Lultimo elemento del blocco indice contiene EOF se tutti i blocchi del file sono già stati referenziati data (13) EOF

44 C.BrandoleseCalcolatori Elettronici44 Allocazione Indicizzata Schema multilivello: Un blocco indice di primo livello contiene i riferimenti ai blocchi indice di secondo livello Un blocco di secondo livello contiene i firerimenti ai blocchi di dati Con blocchi di byte e riferimenti a 4 byte si possono indirizzare file con (4.096/4) 2 = blocchi ovvero 4GB data (13) EOF EOF

45 C.BrandoleseCalcolatori Elettronici45 Allocazione Indicizzata Schema combinato: La parte iniziale di un blocco indice contiene riferimenti a blocchi di dati del file Gli ultimi elementi del blocco indice contengono riferimenti ad altri blocchi indice Se il file ha dimensioni ridotte non viene utilizzato il secondo livello data (13) EOF EOF 13 98

46 C.BrandoleseCalcolatori Elettronici46 Allocazione: UNIX i-node Il sistema operativo UNIX utilizza lo schema di allocazione indicizzata combinata, realizzato attraverso gli i-node: Mode Owner, group Timestamp Size Number of blocks Number of references Direct blocks (12) Single indirect blocks Double indirect blocks Triple indirect blocks Data i-node

47 C.BrandoleseCalcolatori Elettronici47 Gestione dello spazio libero Allatto della creazione e scrittura di un nuovo file è necessario individuare sul disco il primo blocco libero Una soluzione consiste nelluso un vettore di bit in cui: La posizione del bit indica il numero del blocco Se il bit vale 0 il blocco è già utilizzato Se il bit vale 1 il blocco è disponibile Si individua il primo blocco libero in questo modo: Si scorrono le parole (di b bit) fino alla prima diversa da zero Sia k il numero di parole uguali a zero Si trova loffset d del primo bit con valore 1 Lindirizzo n del blocco è dato da: n = k b + d

48 C.BrandoleseCalcolatori Elettronici48 Gestione dello spazio libero Una soluzione alternativa si basa sullutilizzo di una lista concatenata, simile a quella utilizzata per i file In questo schema: La posizione del primo blocco disponibile è memorizzata in una zona riservata del disco Ogni blocco disponibile contiene un riferimento al blocco disponibile successivo Questa soluzione è migliore della precedente per dischi di grandi dimensioni Per migliorare lefficienza: Si ricorre alluso della FAT Si usano raggruppamenti di un numero prefissato di blocchi Si usano raggruppamenti di dimensioni variabili

49 C.BrandoleseCalcolatori Elettronici49 Realizzazione delle directory La soluzione più semplice consiste nella realizzazione attraverso una lista lineare: Ogni elemento contiene Il nome del file Il descrittore del file Tutte le operazioni sui file (eliminazione, creazione, rinomina,...) richiedono una ricerca del nome La ricerca è di semplice realizzazione ma è scarsamente efficiente in quanto è lineare nel numero degli elementi Una lista ordinata lessicograficamente: Consente una ricerca binaria (logaritmica) Comporta problemi aggiuntivi per mantenere la lista in ordine

50 C.BrandoleseCalcolatori Elettronici50 Realizzazione delle directory Una tecnica più efficiente consiste nelluso di una tabella di hash o funzione di hash In questo schema una tabella di hash, sulla base del nome del file, resrtituisce un puntatore al descrittore memorizzato ancora in una lista lineare Un limite di questo metodo sta nei potenziali conflitti cioè quelle situazioni in cui per due nomi differenti la tabella restituisce lo stesso puntatore Una soluzone è quella di utilizzare liste lineari di elementi aventi lo stesso codice di hash SI ha un impatto notevole sulle prestazioni che comunque risultano migliori che nel caso della lista lineare semplice


Scaricare ppt "Politecnico di MilanoC.Brandolese Il File System Calcolatori Elettronici."

Presentazioni simili


Annunci Google