Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Antonino Mazzeo » 25.Il File System


Sommario

  • Caratteristiche di un File System
  • Struttura logica
  • Accesso
  • Organizzazione fisica

Caratteristiche di un file system

  • Un file system è quella parte di un sistema operativo responsabile per la gestione e l’organizzazione dei file.
  • In particolare, gli obiettivi di un FS sono quelli di garantirne la persistenza, il recupero, un meccanismo di naming, la condivisione e la protezione
  • Struttura di un file system
Struttura di un file system

Struttura di un file system


La struttura logica di un file system: File e Directory

  • Un file è un insieme di informazioni, correlate e registrate nella memoria secondaria, cui è stato assegnato un identificativo
  • Al fine di gestire un elevato numero di file, un FS è strutturato in directory
    • Una directory è un file speciale creato con l’obiettivo di risolvere le corrispondenza tra il nome del file in formato testuale e il suo identificativo interno
    • Struttura di directory ad albero: Ricerca efficiente, possibilità di raggruppamento
    • Struttura di directory a grafo aciclico: Consente alle directory di avere sottodirectory e file condivisi
  • File system montabile: Tipicamente i file system consentono di agganciare (sganciare) il file system che si trova su di un dispositivo all’albero dei file principale (montaggio)

Accesso ad un file: controllo degli accessi

  • L’accesso ai file va consentito soltanto agli utenti autorizzati, con uno schema di permessi di accesso
  • Con riferimento ai sistemi UNIX, a ciascun file sono associati alcuni attributi:
    • Proprietario (owner): È l’utente che ha creato il file
    • Gruppo: È il gruppo a cui il proprietario appartiene
  • Permessi: Il tipo di operazioni che il proprietario, i membri del suo gruppo o gli altri utenti possono compiere sul file.
  • Tipicamente una directory contiene un lista di entries, una per ogni file, contenente le informazioni relative al file associato
  • Nella maggior parte dei SO ogni entry contiene un puntatore ad una struttura dati associata al file, denominata File control block
Schema Controllo degli accessi

Schema Controllo degli accessi


Accesso ad un file

  • Operazioni su file: creazione, lettura, cancellazione, apertura, scrittura, riposizionamento nel file – file seek, chiusura
  • Tipicamente le operazioni di un file System sono implementate nel Kernel come System call
  • Metodi d’accesso al file
    • Accesso sequenziale: tempo di accesso dipendente dalla posizione
      • read next – write next - reset
    • Accesso diretto: tempo di accesso indipendente dalla posizione (con n = numero relativo del blocco)
      • read n – write n – position to n
      • read next – write next

Organizzazione fisica

  • Ogni disco può essere organizzato in più partizioni, ognuna delle quali può avere un proprio file system
  • Ogni disco ha uno speciale settore (Settore 0), denominato MBR (Master Boot Record), che viene utilizzato per il bootstrap
  • Block vs. Sector
    • Il sistema operativo usa una dimensione del blocco in genere maggiore di quella del settore del disco
    • Ogni blocco consiste di un certo numero di settori consecutivi. Un blocco di dimensione maggiore aumenta l’efficienza di trasferimento
    • Inoltre può essere conveniente avere una dimensione del blocco della stessa dimensione di una pagina in memoria

Metodi di Allocazione

  • Allocazione contigua
    • Ciascun file occupa un insieme di blocchi contigui sul disco.
    • Vantaggi: per reperire tutto il file sono necessarie solo la posizione di inizio (block #) e la lunghezza (numero di blocchi); è possibile sia l’accesso sequenziale che diretto
    • Svantaggi: spreco di spazio; Frammentazione esterna ed interna.
  • Allocazione concatenata (linked)
    • Ciascun file è una lista concatenata di blocchi su disco: i blocchi possono essere sparpagliati ovunque sul disco
    • Vantaggi:non c’è frammentazione esterna; minor costo di allocazione
    • Svantaggi:possibilità di errore se un link è danneggiato; maggior occupazione (a causa dei puntatori); difficile realizzare l’accesso diretto; ricerca di un blocco costosa
  • FAT: è una tabella con un elemento per ogni blocco disco ed è indirizzato dal numero di blocco; consente di avere i puntatori localizzati sul disco e non sparsi. Velocizza anche l’accesso diretto.

Metodi di Allocazione

  • Allocazione indicizzata
    • Colleziona tutti i puntatori insieme nel blocco di indice.
    • E’ possibile un accesso casuale.
    • Si ha un accesso dinamico senza frammentazione esterna, ma c’è il sovraccarico del blocco indice.
    • Dimensione del blocco indice: un blocco piccolo comporta meno spreco nel caso di file piccoli, ma per file grandi?
    • Schema concatenato; indice a più livelli; Schema combinato.
  • Gestione dello spazio libero
    • Vettore di bit; Lista concatenata (free list); Raggruppamento; Conteggio.
Schema combinato: Unix

Schema combinato: Unix


I materiali di supporto della lezione

P. Ancilotti, M.Boari, A. Ciampolini, G. Lipari, “Sistemi Operativi”, Mc-Graw-Hill (Cap.6)

File System

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93