Torna alla pagina di Sistemi Operativi
:: Appunti caotici ::
Lezione 1
Struttura e realizzazione
Pag 1
Sommario
...
Pag 2
Obiettivo del file system
...
Supporto fisico del file system
...
Pag 3
Visione utente delle informazioni nel file system
...
File system
La gestione del file system nel sistema operativo deve trasformare i llivello fisico di memorizzazione delle informazioni a blocchi nella memoria di massa nel livello logico di visione come file. L'obiettivo è quindi creare una virtualizzazione della memoria fisica (definita come blocchi di memoria di massa) come memorizzazione logica sottoforma di file.
Pag 4
Struttura della gestione del file system
Prima di tutto c'è la gestione della periferica, quindi le varie comunicazioni con essa e le gestioni dipendenti e indipendenti dal dispositivo. Al di sopra di essa si mettono i vari livelli che la astraggono, così da far vedere all'utente una struttura di memorizzazione logica. Abbiamo diversi livelli di astrazione che racchiudono un insieme di funzionalità:
- file system di base, che gestisce la lettura/scrittura dal disco di blocchi fisici in modo ordinato
- modulto di organizzazione dei file, che costruisce la sequenza di blocchi fisici che contengono il file e gestisce lo spazio libero in modo tale da presentare il flusso di record logici così comer era stato scritto
- file system logico, che gestisce i metadati che definiscono la struttura del file system e lidentificazione dei file
Strutture dati per la gestione del file system (1)
Strutture su disco:
- blocco di controllo del boot
- blocco di controllo della partizione, che mi dice tra le altre cose come è strutturata
- directory
- blocchi di controllo dei file, che dicono come costruire la sequenza dei blocchi così che possano essere usate dallo strato più alto del sistema operativo
Pag 5
Strutture dati per la gestione del file system (2)
Le strutture dati per la gestione del file system contengono informazioni sui file che non vengono mai perse, pena il malfunzionamento del sistema. Queste informazioni sono:
- permessi sul file, per capire se un utente ha diritto o meno ad accedere al file
- date del file (creazione, accesso, scrittura)
- proprietario, gruppo, ACL del file
inoltre per poter ben supportare le funzioni di ricerca abbiamo:
- dimensione del file, cioè di quanti blocchi è composto e
- dove si trovano i blocchi di dati, quindi come li raggiungo
Strutture dati per la gestione del file system (3)
Strutture in memoria centrale
- tabella delle partizioni
- descrittori delle directory
- tabella dei file aperti del sistema (per mezzo di descrittori dinamici)
- tabella dei file aperti per un processo
- tabella di montaggio dei file system, che serve a costruire un'unica visione del file system anche se la sua struttura è spezzata in volumi logici diversi nella memoria di massa
Pag 6
Strutture del file system in memoria (1)
Quando a livello utente voglio aprire un certo file accade ciò che vedo nello schema. In particolare:
- la struttura della directory nella memoria del kernel è utilizzata dal sistema operativo per la gestione del file (ad esempio per verificarne i diritti)
- nel blocco di controllo del file nella memoria secondaria sono memorizzate le informazioni sul dove si trovano tutti i blocchi dei file e in che ordine vanno letti (è usato sempre dal sistema operativo)
- viene ritornato un indice che fa riferimento al file aperto
Strutture del file system in memoria (2)
Notare che nessun altro processo potrà accedere all astessa tabella dei file aperti di un processo.
Pag 7
File system virtuali
Nei file system virtuali aggrego file system posti nei vari volumi costruendo un'unica struttura in cui una parte si trova su un disco, un'altra su un altro (eventualmente remoto), e così via. Vedo tutto il file system come se fosse locale.
Torna alla pagina di Sistemi Operativi