Realizzazione del file system

Slides:



Advertisements
Presentazioni simili
Memoria Virtuale in Linux
Advertisements

Gestione della Memoria
Tecnologia delle basi di dati: Strutture fisiche di accesso
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
Unità D2 Archivi e file.
File System Cos’è un File System File e Directory
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Gestione della Memoria
1 Casi di studio ISO 9660 FAT-12, FAT-16, FAT-32 NTFS.
Il File System.
1 File System Concetti e tecniche generali. 2 Il file system Il file system è la parte del SO che si occupa di mantenere i dati/programmi in modo persistente.
Gestione della Memoria
Realizzazione del file system
Memoria virtuale Memoria virtuale – separazione della memoria logica dell’utente dalla memoria fisica. Solo alcune parti di un programma devono trovarsi.
Operating System Concepts
Gestione della memoria
Interfaccia del file system
Memoria secondaria Struttura del disco Scheduling del disco
Memoria Virtuale Background Paginazione su richiesta
Gestione della memoria
Interfaccia del file system
Sincronizzazione fra processi
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Silberschatz and Galvin Operating System Concepts Gestione della memoria Nella fase iniziale dello sviluppo di UNIX, gli schemi di gestione della.
Laboratorio Informatico
I file l I File sono l unità base di informazione nellinterazione tra utente e sistema operativo l Un file e costituito da un insieme di byte attinenti.
Il File System Master in Convergenza Docente: Carlo Brandolese
File.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Windows 2000 supporta i seguenti file system:
Gestione della memoria principale
Tabelle hash.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
memoria gestita staticamente:
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
HARD DISK Concetti di Base.
Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Gestione della memoria logica e fisica degli elaboratori x86
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
L’Architettura del Sistema di Elaborazione
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Hardware e logica di funzionamento di un elaboratore Le Unità di memoria si possono distinguere in base ai tipi di accesso: Accesso casuale il tempo di.
Il file system.
Architettura del calcolatore
Basi di Dati e Sistemi Informativi
Il Sistema Operativo: il File System
La gerarchia di memoria Ing. Rosa Senatore Università degli Studi di Salerno Corso di Calcolatori Elettronici Anno 2013/14.
Memoria Centrale.
Threads.
Architettura Centralizzata di un DBMS Relazionale
Memoria La memoria è un vettore di stringhe di bit (word/parole) In memoria è allocato il Sistema Operativo. In memoria sono allocati i programmi per poter.
1 Il Buffer Cache Unix (Bach: the Design of the Unix Operating System (cap: 3)
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
1 Il file system di Unix Caratteristiche generali dei FS comunemente usati da Unix/Linux.
1 File System Concetti e tecniche generali. 2 Il file system Il file system è la parte del SO che si occupa di mantenere i dati/programmi in modo persistente.
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
1 Gestione della Memoria Capitolo Introduzione alla gestione della memoria 4.2 Swapping 4.3 Memoria virtuale 4.4 Implementazione 4.5 Algoritmi di.
Gestione della Memoria
1 File system Casi di studio. 2 Esempi di File System Il file system di un CD-ROM Rappresentazione di un elemento di una directory nel file system ISO.
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Il modello di Von Neumann
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Tipologie di memoria: Elettroniche Magnetiche Ottiche La qualità di una memoria dipende da vari parametri: Modo di accesso: tecnica utilizzata per accedere.
La suddivisione di un disco è così articolata: il disco magnetico è suddiviso in tracce concentriche una traccia è suddivisa in spicchi di disco detti.
© 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Gestione del File.
Vengono detti memorie di massa tutti i supporti (dischi e nastri) su cui vengono registrati dati, documenti e programmi che si vogliono conservare, sono.
Transcript della presentazione:

Realizzazione del file system Struttura del file system Metodi di allocazione Gestione dello spazio libero Realizzazione delle directory Efficienza e prestazioni Ripristino Operating System Concepts

Struttura del file system File system stratificato Struttura di file: Unità di memorizzazione logica; Collezione di informazioni correlate. Il file system risiede nella memoria secondaria (dischi). Il file system viene organizzato secondo livelli (stratificato). File control block: struttura di memorizzazione che mantiene le informazioni sui file. File control block Operating System Concepts

Metodi di allocazione La natura di accesso diretto dei dischi garantisce flessibiltà nell’implementazione dei file. Problema: allocare lo spazio disco ai file in modo da avere spreco minimo di memoria e rapidità di accesso. Il metodo di allocazione dello spazio su disco descrive come i blocchi fisici del disco vengono allocati ai file: Allocazione contigua Allocazione concatenata Allocazione indicizzata Operating System Concepts

Allocazione contigua Ciascun file occupa un insieme di blocchi contigui sul disco. Per reperire il file occorrono solo la locazione iniziale (# blocco iniziale) e la lunghezza (numero di blocchi). Accesso casuale. Spreco di spazio: frammentazione esterna (problema dell’allocazione dinamica della memoria). I file non possono crescere. Extent : nei nuovi SO, il disco vie- ne allocato con granularità > della dimensione del blocco fisico. Cia- scun file consiste di uno o più extent (di dim. variabile ed even- tualmente definita dall’utente). Operating System Concepts

Allocazione concatenata Ciascun file è una lista concatenata di blocchi su disco: i blocchi possono essere sparsi ovunque nel disco. Richiede l’indirizzo del blocco iniziale. Sistema di gestione dello spazio libero: non si ha spreco di spazio. Non è possibile l’accesso casuale. blocco = puntatore Mappatura da indirizzi logici a indirizzi fisici: LA/511= (Q,R) Il bocco da accedere è il Q–mo nella catena di blocchi che costituiscono il file. Spostamento nel blocco = R + 1. Operating System Concepts

File–Allocation Table File–allocation table (FAT ) — utilizzata da MS–DOS e OS/2. La FAT è una tabella con un elemento per ogni blocco del disco, indicizzata dal numero di blocco. La FAT consente la memorizzazione “localizzata ” dei puntatori (non sparsa). Operating System Concepts

Allocazione indicizzata Colleziona tutti i puntatori in un unico blocco indice. Richiede una tabella indice. Accesso casuale. Permette l’accesso dinamico senza frammentazione esterna; tuttavia c’è il sovraccarico temporale di accesso al blocco indice. Tabella indice Per file di dim. max 256K parole e con dim. di blocco di 512 parole, occorre un solo blocco indice. Mappatura da indirizzi logici a indirizzi fisici: LA/512 = (Q,R) Q spostamento nella tabella indice. R spostamento nel blocco. Operating System Concepts

Allocazione indicizzata — Schema concatenato Mapping fra indirizzi logici e fisici per un file di lunghezza qualunque (dim. blocco 512 word). Schema concatenato — Si collegano blocchi della tabella indice (non si ha un limite alla dimensione). Q1 LA / (512 x 511) R1 Q1 = blocco della tabella indice; R1 impiegato come segue: Q2 R1 / 512 R2 Q2 = spostamento nel blocco della tabella indice; R2 spostamento nel blocco del file. Operating System Concepts

Allocazione indicizzata — Indice multilivello Indice a due livelli (dim. max del file 5123) Q1 LA / (512 x 512) R1 Q1 = spostamento nell’indice esterno; R1 impiegato come segue: Q2 R1 / 512 R2 Q2 = spostamento nel blocco della tabella indice; R2 spostamento nel blocco del file. Operating System Concepts

Allocazione indicizzata — Indice multilivello  Indice esterno Tabella indice File Operating System Concepts

Schema combinato: UNIX (4K byte per blocco) Inode di UNIX Operating System Concepts

Gestione dello spazio libero Vettore di bit (n blocchi) Calcolo del numero del primo blocco libero. Si scorre il vettore, cercando il primo byte diverso da 0. Buone prestazioni se il vettore è conservato in memoria centrale. 1 2 n -1 … 0  blocco[i ] occupato 1  blocco[i ] libero bit[i ] =  (numero di bit per parola) * (numero di parole con valore 0) + offset del primo bit a 1 Operating System Concepts

Gestione dello spazio libero La mappa dei bit richiede ulteriore spazio. Esempio: dim. blocco = 212 byte dim. disco = 230 byte (1 gigabyte) n = 230/212 = 218 bit (o 32K byte) È adatto per gestire file contigui. Lista concatenata (free list ): Non è facile garantirsi spazio contiguo; Non si spreca spazio. Raggruppamento: memorizzazione degli indirizzi di n blocchi liberi sul primo di tali blocchi. Sull’ultimo sono indirizzati altri blocchi, etc. Conteggio: si indica un blocco libero, e da quanti altri blocchi liberi (contigui) è seguito. Operating System Concepts

Gestione dello spazio libero È necessario proteggere: Puntatore alla lista dei blocchi liberi; Mappa di bit: Deve essere mantenuta sul disco; Le copie in memoria e sul disco possono differire; Non si può permettere per blocco[i ] che bit[i ] = 1 in memoria e bit[i ] = 0 su disco. Soluzione: Porre bit[i ] = 0 sul disco; Allocare blocco[i ]; Porre bit[i ] = 0 in memoria. Lista dei blocchi liberi Operating System Concepts

Realizzazione delle directory Lista lineare di nomi di file con puntatori ai blocchi di dati. Semplice da implementare Esecuzione onerosa (dal punto di vista del tempo di ricerca). Tabella hash — lista lineare con struttura hash. Migliora il tempo di ricerca nella directory; Collisione — situazione in cui due nomi di file generano lo stesso indirizzo hash nella tabella; Dimensione fissa. Operating System Concepts

Efficienza e prestazioni L’efficienza dipende da: Tecniche di allocazione del disco e algoritmi di gestione delle directory; Tipi di dati conservati nell’elemento della directory corrispondente al file. Prestazioni: Disk cache — sezione separata della memoria impiegata per blocchi usati molto spesso; Free–behind e read–ahead — tecniche per ottimizzare l’accesso sequenziale; Si migliorano le prestazioni dei PC dedicando sezioni della memoria alla funzione di disco virtuale o disco RAM. Diverse locazioni di caching del disco Operating System Concepts

I/O senza buffer cache unificata Cache di pagina Una cache di pagina memorizza pagine invece che blocchi di disco, utilizzando tecniche di memoria virtuale. L’I/O mappato in memoria utilizza cache di pagina. L’I/O standard attraverso il file system utilizza la buffer cache del disco. I/O senza buffer cache unificata Operating System Concepts

I/O con buffer cache unificata Una buffer cache unificata utilizza la stessa cache di pagina per memorizzare sia l’I/O mappato in memoria che effettuato attraverso file system. Operating System Concepts

Recupero Verificatore di coerenza — confronta i dati nella struttura di directory con i blocchi di dati sul disco, e tenta di fissare le eventuali incoerenze. Si impiegano programmi di sistema per copiare (back up ) dati dal disco ad un altro dispositivo di memorizzazione (dischetto, nastro magnetico). Si recuperano file persi o dischi danneggiati ricaricandoli dal back–up. Operating System Concepts