20
03/16/09 Acquisizione e memorizzazione delle informazioni Davide Quaglia 2 Sommario Acquisizione da sensori Cenni sulla compressione Memorizzazione su supporti di massa Alcuni formati di memorizzazione 03/16/09 Acquisizione da sensori 4 Introduzione Molti strumenti di laboratorio sono oggi automatizzati Il fenomeno bio-fisico non viene più osservato da un essere umano ma viene trasformato in numeri per essere elaborato da un calcolatore – Acquisizione – Memorizzazione 5 Struttura di una interfaccia computer-strumento Camera di reazione Pompe, valvole, motori, rilevatori di posizione Scheda di acquisizione (specifica per lo strumento) Rete o canale seriale (indipendente dal tipo di strumento) Informazione da acquisire Input digitale per controllo Output digitale per controllo Questo canale può essere analogico o digitale Sistema di elaborazione e memorizzazione (general-purpose) 6 Informazione da acquisire L'informazione da acquisire è una grandezza che può essere misurata attraverso – una misura di intensità luminosa – una misura di concentrazione ionica – una misura di tensione/corrente proveniente da altro tipo di sensore • Temperatura • Pressione • Ecc...

Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

Embed Size (px)

Citation preview

Page 1: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

03/16/09

Acquisizione e memorizzazionedelle informazioni

Davide Quaglia

2

Sommario

• Acquisizione da sensori

• Cenni sulla compressione

• Memorizzazione su supporti di massa

• Alcuni formati di memorizzazione

03/16/09

Acquisizione da sensori

4

Introduzione

• Molti strumenti di laboratorio sono oggi automatizzati

• Il fenomeno bio-fisico non viene più osservato da un essere umano ma viene trasformato in numeri per essere elaborato da un calcolatore– Acquisizione

– Memorizzazione

5

Struttura di una interfaccia computer-strumento

Camera di

reazione

Pompe, valvole,

motori, rilevatori

di posizione

Scheda di

acquisizione

(specifica per

lo strumento)

Rete o

canale seriale

(indipendente

dal tipo di

strumento)Informazione

da acquisire

Input digitale

per controllo

Output digitale

per controllo

Questo canale può

essere analogico o

digitale

Sistema di elaborazione

e memorizzazione

(general-purpose)6

Informazione da acquisire

• L'informazione da acquisire è una grandezza che può essere misurata attraverso– una misura di intensità luminosa

– una misura di concentrazione ionica

– una misura di tensione/corrente proveniente da altro tipo di sensore• Temperatura

• Pressione

• Ecc...

Page 2: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

7

Informazione da acquisire (2)

• Se conosco la legge che lega la grandezza da misurare (ad es. la concentrazione di una sostanza) con una grandezza che riesco a misurare (ad es. una corrente elettrica) allora posso automatizzare la misura

• Es.

grandezza da misurare

corrente elettrica

I(x)

x

Curva caratteristica

del sensore

8

Misura di intensità luminosa

• I misuratori di intensità luminosa convertono la luce in un segnale elettrico

• Spesso le caratteristiche costruttive di tali misuratori li rendono sensibili ad una specifica frequenza dello spettro luminoso

• Tale selettività si può ottenere anche anteponendo un filtro ottico davanti al misuratore

9

Misura di intensità luminosa (2)

• Certi atomi o molecole, se eccitati da energia sotto forma di luce o calore possono rilasciare tale energia sotto forma di luce di una lunghezza d'onda ben precisa (luminescenza, fluorescenza, fosforescenza)

• La misura di intensità luminosa può determinare la concentrazione di tali sostanze

10

Misura di concentrazione ionica• Uno ione è una molecola dotata di carica elettrica

• Il movimento di uno ione e il suo urto genera

– una corrente elettrica (misurazione di intensità)

– un impulso elettrico (conteggio)

– una emissione di luce (misurazione di intensità)

• Intensità di corrente, numero di impulsi di corrente oppure intensità luminosa sono proporzionali alla concentrazione della sostanza da analizzare

• I dispositivi di misura possono avere un meccanismo di moltiplicazione del flusso di ioni per amplificare l'effetto e facilitarne la rilevazione

11

Altri tipi di sensori

• Termocoppia: giunzione di due metalli che assume una differenza di potenziale (tensione) proporzionale alla temperatura

• Termoresistenza: solido metallico la cui resistenza elettrica è proporzionale alla temperatura

– Es. PT100 = sonda di platino

• Sensore piezoelettrico per misure di pressione: la pressione meccanica su un cristallo crea una tensione tra certe sue facce

12

Segnale analogico e segnale digitale

• Un segnale analogico consiste di valori continui esprimibili solo mediante numeri reali

• Un segnale digitale consiste in una sequenza discreta di numeri interi con precisione finita

– i calcolatori sanno elaborare solo segnali digitali e, in particolare, rappresentati in base 2

Page 3: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

13

Natura dell'informazione acquisita

• La rilevazione del fenomeno fisico può consistere nel conteggio di eventi

– l'informazione acquisita è già in formato digitale (sequenza di numeri)

– Es. contatore Geiger per la radioattività

• La rilevazione del fenomeno può generare un segnale elettrico con tensione/corrente proporzionale all'intensità della grandezza misurata

– l'informazione è un segnale continuo e quindi necessita di una conversione analogico/digitale

14

Calibrazione

• La curva caratteristica dei sensori può subire variazioni dovute a fattori ambientali o usura

• Spesso la curva subisce solo una translazione o una variazione di pendenza o di scala

• Calibrazione

– si verifica la presenza di una variazione misurando un campione di valore noto

– si compensano le variazioni della curva nel sistema di misurazione

– si lancia un segnale di allarme in caso di compensazione impossibile

15

Conversione analogico/digitale

• La conversione analogico/digitale consiste in due azioni indipendenti:

– campionamento

– quantizzazione

16

Campionamento di un segnale

• Per catturare la variazione di un segnale nel suo dominio (es. tempo o spazio) occorre ripetere la misura in punti ad intervalli regolari di tale dominio (es. istanti di tempo o punti dello spazio).

• Intuitivamente più il segnale varia velocemente (ad es. nel tempo o nello spazio) e maggiormente vicini devono essere tali punti cioè maggiore deve essere la frequenza di campionamento.

17

Quanti campioni ?

16 x 21 pixel

18

Quanti campioni ?

64 x 85 pixel

Page 4: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

19

Quanti campioni ?

128 x 171 pixel

20

Quanti campioni ?

512 x 683 pixel

21

Teorema del campionamento

• Un segnale può sempre essere rappresentato come somma di sinusoidi (rappresentazione in frequenza).

• Per ricreare fedelmente un segnale occorre ricreare fedelmente tutte le sinusoidi che lo compongono.

22

Teorema del campionamento (2)

1 campione per periodo

aliasing

23

Teorema del campionamento (3)

1.5 campioni per periodo

2 campioni per periodo

24

Teorema del campionamento (4)

• Per riprodurre fedelmente una sinusoide occorrono 2 campioni per periodo.

• La frequenza di campionamento deve essere doppia della frequenza della sinusoide.

Page 5: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

25

Teorema del campionamento (5)

• Se il segnale da campionare ha larghezza di banda f allora la sua componente sinusoidale a frequenza più alta ha frequenza f.

• Quindi la frequenza di campionamento di tale segnale deve essere doppia della larghezza di banda del segnale (Teorema di Nyquist).

26

Quantizzazione di una misura

Assegnazione di una misura a precisione infinita ad un numero avente precisione finita.

1) Determinazione di un range di variazione.

2) Individuazione di un insieme di punti finito all'interno di tale range.

3) Assegnamento di un numero intero a ciascun punto.

4) Misurazione del segnale analogico e rappresentazione della misura con il numero corrispondente al punto più vicino.

27

Quantizzazione: problemi

Quantizzazione

Errore di quantizzazione

Saturazione

28

Effetto della quantizzazione sulle immagini

256 livelli (8 bit) 8 livelli (3 bit)

29

Effetto della quantizzazione

• La quantizzazione implica sempre un errore di arrotondamento detto di errore di quantizzazione.

• Maggiore è il numero di bit su cui si rappresenta la misura e minore è l'errore di quantizzazione.

• Tale errore è irreversibile.

– Quando un procedimento di acquisizione/memorizzazione dati prevede uno o più fasi di quantizzazione allora non è possibile ritornare alla rappresentazione originale.

– Codifica dell'informazione con perdita (lossy)

30

Distorsione di quantizzazione

• Una possibile misura dell'errore di quantizzazione è detta distorsione

• Una possibile misura della distorsione su una sequenza {v

i } è data da:

MSE=∑

1

N

v i�v ' i2

N

occupazione su memoria

distorsione

• vi: simbolo prima della quantizzazione

• v'i: simbolo dopo la decodifica

• N: numero di elementi considerati

Page 6: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

03/16/09

Cenni sulla compressionedelle informazioni

32

Premessa

• Quanto si dirà in questi lucidi si applica a sorgenti di informazioni che producono serie di dati discreti a precisione finita:

– dati digitali su file (es., eseguibili, database)

– sorgenti naturali dopo campionamento e quantizzazione

Le tecniche che verranno presentate non provocano una perdita irreversibile di informazione.

33

Definizioni

• Una sorgente di informazione emette una serie ordinata di dati

• Tale serie di dati si può rappresentare come una sequenza di simboli dove ciascun simbolo appartiene ad certo alfabeto dipendente dal tipo di applicazione

– Es: campioni di temperatura quantizzati su 16 bit con segno

• l'alfabeto è costituito dai numeri interi nell'intervallo [-32768, 32767]

– Es: mappa di fluorescenza con pixel su 256 livelli di grigio

• l'alfabeto è costituito dai numeri interi nell'intervallo [0,255]

34

Cosa vuol dire compressione ?

• Premesso che ogni simbolo deve essere codificato con dei bit per essere elaborato o trasmesso

• Definizione teorica di compressione

Cambio reversibile di alfabeto tale che la rappresentazione binaria della sequenza di simboli, tradotta nei simboli del nuovo alfabeto, richiede meno bit per essere memorizzata.

35

Eliminazione della correlazione statistica

36

Correlazione statistica

• Sia data una sequenza ordinata di simboli s0, s

1, ..., s

n

di un certo alfabeto emessa da una sorgente di informazione.

• C'è correlazione quando la probabilità che si assuma

un certo valore dipende dal valore assunto dagli elementi precedenti della sequenza.

• Si dice che l'informazione contenuta nella sequenza è ridondante e si può cambiare alfabeto in modo da usare meno bit.

Page 7: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

37

Esempio di correlazione nei testi

Le spezie sono alleate preziose nella preparazione di succulenti piatti. Esse sono ben conosciute fin dall’antichità; attorno ad esse vi erano vere e proprie vie commerciali e per esse si combatterono dure battaglie.

• 13% di lettere eliminate• quante parole si riesce a ricostruire ?

38

Esempio di correlazione nei testi

Le spezie sono alleate preziose nella preparazione di succulenti piatti. Esse sono ben conosciute fin dall’antichità; attorno ad esse vi erano vere e proprie vie commerciali e per esse si combatterono dure battaglie.

• 6% di lettere eliminate• quante parole si riesce a ricostruire ?

39

Esempio di correlazione nei testi

Le spezie sono alleate preziose nella preparazione di succulenti piatti. Esse sono ben conosciute fin dall’antichità; attorno ad esse vi erano vere e proprie vie commerciali e per esse si combatterono dure battaglie.

40

Esempio di correlazione nelle immagini

Immagine b/n da scansione di micro array

Spazi tra un

pozzetto e l'altro

41

Esempio di correlazione in una sequenza temporale

• Andamento nel tempo della temperatura quantizzata su 16 bit

42

Eliminazione della correlazione

• Si cambia alfabeto di rappresentazione

• Codifica run-length

– Es in una immagine b/n a due livelli

1,1,1,1,0,0,0,0,0,0,1,1,1,1,1 --> (1,4),(0,6),(1,5)

• Codifica differenziale

– Es. della temperatura (vedi lucido precedente)

s0 s

1 s

2 ... s

n --> (s

1 – s

0 ), (s

2 – s

1 ), ..., (s

n - s

n-1 )

• Trasformata

– Es. della temperatura (vedi lucido precedente)

Sviluppo in serie di Fourier: ampiezza delle componenti sinusoidali

s0 s

1 s

2 ... s

n --> a

0, a

1, ..., a

n

Page 8: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

43

Codifica entropica

44

Frequenza dei simboli: esempio

• Sequenza temporale su 16 bit: alfabeto = interi su [-32768, 32767]

45

Quanti bit/simbolo ?

• E' meglio rappresentare con meno bit i simboli più frequenti e con più bit quelli meno frequenti.

46

Quanti bit/simbolo ? (2)

• Numero minimo teorico di bit/simbolo per l'alfabeto s:

– pk è la frequenza di apparizione del simbolo k-

esimo

– entropia della sorgente di simboli (Shannon)

– tale formula fornisce un valore medio minimo ma non dice come assegnare i bit ai simboli per ottenerlo !

H s=∑kpk log2

1

pk

47

Esempio di calcolo dell'entropia

• Una sorgente emette simboli appartenenti ad un alfabeto di 4 simboli a, b, c ,d

• Frequenze di apparizione dei 4 simboli sono:

– 1/2, 1/4, 1/8, 1/8

– somma delle frequenze uguale a 1

• Entropia della sorgente:

H s =1

2log

22

1

4log

24

1

8log

28

1

8log

28

.=1

2

1

2

3

8

3

8.=1.75bit / simbolo.≤⌈ log4⌉bit /simbolo

48

Codifica entropica

• Per ottenere una lunghezza media dell'alfabeto vicina al valore dell'entropia occorre rappresentare I simboli su un numero variabile di bit

• Problema: come si fa a sapere quando inizia/finisce un simbolo ?

Page 9: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

49

Algoritmo di Huffman

• Metodo di assegnamento bit ai simboli che garantisce la corretta decodifica

• Si costruisce un albero binario dove le foglie rappresentano i simboli

• Ad ogni biforcazione la somma delle frequenze dei simboli del sotto-albero di destra deve essere il più possibile vicina alla somma delle frequenze dei simboli del sotto-albero di sinistra.

• Ciascun arco di una biforcazione è etichettato con 0 e 1 rispettivamente

50

Creazione codice di Huffman

• Alfabeto di 4 simboli a, b, c ,d con frequenze rispettivamente di 1/2, 1/4, 1/8, 1/8

• Primo passo: a, b, c , d

1/2 1/8

a b c d

1/4

1/2 1/4 1/8 1/8

1/4

1/8

51

• Alfabeto di 4 simboli a, b, c ,d con frequenze rispettivamente di 1/2, 1/4, 1/8, 1/8

• Secondo passo: a, b, c ,d

1/2 1/4

a b c d

1/4

1/2 1/4 1/8 1/8

1/4

1/2

Creazione codice di Huffman

52

• Alfabeto di 4 simboli a, b, c ,d con frequenze rispettivamente di 1/2, 1/4, 1/8, 1/8

• Terzo passo: a, b, c ,d

1/2

a b c d

1/2

1/2 1/4 1/8 1/8

1/4

1/2

1

Creazione codice di Huffman

53

• Alfabeto di 4 simboli a, b, c ,d con frequenze rispettivamente di 1/2, 1/4, 1/8, 1/8

• Creazione del codice:

a b c d

a --> 1b --> 01

c --> 001d --> 000

1

1

1 0

0

0

Creazione codice di Huffman

54

Decodifica codice di Huffman

• In ricezione per decodificare i simboli si visita l'albero binario in base ai bit in arrivo

a

01

d

b

01

c

01

Es: 001 ---> c

Page 10: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

55

Huffman: considerazioni

• L'algoritmo di Huffman è ottimo (rispetto all'entropia) se le frequenze sono potenze di 2.

• Per distribuzioni di frequenze più complicate esistono algoritmi più sofisticati

– Codifica aritmetica

– Codici di Golomb

56

Codifica entropica: altri problemi

• Stima delle frequenze pk

– migliore è la stima e maggiore è la compressione

– ho bisogno di fare ipotesi vincolanti sulla sorgente oppure considerare un elevato numero di esempi

57

Considerazioni sulla complessità

In generale se si vuole comprimere di più una sequenza di simboli si devono usare algoritmi più complessi che impiegano più tempo oppure necessitano di una CPU più potente e comunque sempre portano ad un maggiore consumo di energia.

tempo | CPU | energia

% bit residui

03/16/09

Memorizzazionesu supporti di massa

59

Gerarchia di memoria

Registri CPU

Cache

CPU

RAM

Memoria di massa (disco)

100 byte, taccesso

= 0.5*10-9 s

2MB, taccesso

= 10-9 s

2GB, taccesso

= 10-8 s

1TB, taccesso

= 10-3 s

60

Prestazioni

• Capacità: 1 K = 210 1 M = 220 1 G = 230

• Tempo di accesso: tempo che intercorre tra la richiesta di un dato e l'arrivo del dato alla CPU

Page 11: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

61

Memoria di massa

• Funzione: – ospitare dati e programmi in modo permanente

– serbatoio per la memoria virtuale

• Tecnologie– disco magnetico: il più diffuso

– disco ottico

– memoria flash: si sta diffondendo

62

Disco magnetico

63

Principio di funzionamento

64

Organizzazione dei dati

• Il settore è l'unità minima di lettura/scrittura

– identificato univocamente da • numero di faccia

• numero di traccia

• numero di settore all'interno della traccia

– contiene 512 o 1024 byte

• Il sistema operativo si occupa di creare la metafora del File System (file, cartelle, link) mentre comanda al disco letture e scritture a quantità intere di settori

65

Prestazioni• Tempo di seek = tempo per posizionare il braccio

sulla traccia (un media 5-10 ms)

• Latenza rotazionale = tempo di attesa prima che il settore scelto passi sotto le testine

– In media 1/2 * 1/Vrotazione

• A 10000 giri/minuto 1/2 * 60/10000 = 3 ms

• Tempo di trasferimento del settore

– Se la velocità di trasferimento è 20-40 MB/s per trasferire un settore di 512 byte ci vogliono 512/V

transfer = 12-24 цs

66

Evoluzione dei dischi magnetici

Page 12: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

67

Dischi ottici

68

Dischi ottici• CD

– 700 MB

• DVD

– Singolo lato, singolo strato (4.7 GB)

– Singolo lato, doppio strato (8.5 GB)

– Doppio lato, singolo strato (9.4 GB)

– Doppio lato, doppio strato (17 GB)

• Blu-ray

– Minore lunghezza d'onda del laser e quindi maggiore densita'

– 25 GB per lato

69

Memoria flash

• Memoria a semiconduttore come la RAM

• I bit vengono memorizzati sotto forma di carica elettrica in microscopici condensatori

• Non perde l'informazione quando si toglie l'alimentazione

• Usata per chiavette USB, memorie per fotocamere, dischi a stato solido, sistemi embedded

70

Dischi a stato solido• Vantaggi

– rumorosità assente

– minore possibilità di rottura

– minori consumi

– tempo di accesso ridotto: decimi di ms

– maggiore resistenza agli urti

– minore produzione di calore

• Svantaggi

– un maggiore costo per bit rispetto a quelli magnetici

– minore durata del disco a causa del limite di riscritture delle memorie flash.

71

Redundant Array of Inexpensive/Independent Disks (RAID)

• Motivazione

– CPU veloce ma dispositivi di I/O lenti

– Il costo dei dischi e' basso

– Si puo' aumentare la velocita' di un sistema parallelizzando l'I/O

– Si puo' aumentare l'affidabilita' di un sistema introducendo ridondanza nella memorizzazione

• Si puo' pensare di utilizzare in maniera coordinata un insieme di dischi fissi che pero' vengono visti dalla CPU come un unico disco

72

RAID: architettura

• Insieme dei dischi

• Un controllore RAID viene installato tra la CPU e il sistema di dischi

• Il controllore puo' essere implementato – in HW (maggiori prestazioni)

– In SW come driver del sistema operativo

Page 13: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

73

RAID: possibili configurazioni

• In gergo RAID le configurazioni sono chiamate livelli

• Un insieme di settori e' chiamato stripe

• Livello 0

– Suddivisione delle stripe su piu' dischi in round-robin

• Livello 1

– Suddivisione dell'insieme in due meta'

• Ciascuna meta' e' gestita come Liv0

• La seconda meta' e' una copia della prima (mirror)

74

RAID: possibili configurazioni (2)

• Livello 2

– ogni byte di dato viene diviso in gruppi di 4 bit

– vengono aggiunti k bit di controllo

– 4 bit di dato + k bit di controllo vemgono scritti su 4+k dischi, un bit per disco

• Livello 3

– Come Liv2 ma con k = 1 (bit di parita')

• Le configurazioni 2 e 3 garantiscono alte prestazioni ma richiedono una sincronizzazione tra i dischi e quindi sono difficili da implementare

75

RAID: possibili configurazioni (3)

• Livello 4

– insieme di M dischi gestito come Liv0 + un disco con una stripe di parità per M stripe

– unisce il vantaggio della ridondanza al fatto di usare meno spazio per il mirroring

– in caso di guasto ad un disco viene fatto accesso al disco di parità che diventa il collo di bottiglia

• Livello 5

– come Liv4 ma stripe di dato e stripe di parità sono distribuite su tutti gli M+1 dischi per evitare il problema del collo di bottiglia

76

Storage Area Network (SAN)

77

Concetto di file

• Il sistema operativo astrae dalle caratteristiche fisiche dei supporti di memorizzazione fornendo una visione logica

• File = spazio di indirizzamento logico e contiguo (insieme di informazioni correlate identificate da un nome)

– Tipi di file

• Dati– Numerici

– Caratteri

– Binari

• Programmi

78

Attributi di un file

• Attributi sono memorizzati su disco nella struttura della directory

– Nome

• Unica informazione in formato “leggibile”

– Tipo

– Posizione

• Puntatore allo spazio fisico sul dispositivo

– Dimensione

– Protezione

• Controllo su chi può leggere, scrivere, eseguire

– Tempo, data e identificazione dell’utente

Page 14: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

79

Operazioni su file

• Creazione

– Cercare spazio su disco, nuovo elemento su directory per attributi

• Scrittura

– System call che specifica nome file e dati da scrivere

– Necessario puntatore alla locazione della prossima scrittura

• Lettura

– System call che specifica nome file e dove mettere dati letti in memoria

– Necessario puntatore alla locazione della prossima lettura (lo stesso della scrittura)

• Riposizionamento all’interno di file

– Aggiornamento puntatore posizione corrente

• Cancellazione

– Libera spazio associato al file e l’elemento corrispondente nella directory

• Troncamento

– Mantiene inalterati gli attributi ma cancella contenuto del file

80

Operazioni su file (2)

• Apertura

– Ricerca del file nella struttura della directory su disco, copia del file in memoria e inserimento di un riferimento nella tabella dei file aperti

• In sistemi multiutente ci sono 2 tabelle per gestire i file aperti

– Una tabella per ogni processo contiene riferimenti per file aperti relativi al processo (es.: puntatore alla locazione di lettura/scrittura)

– Una tabella per tutti i file aperti da tutti i processi contiene i dati indipendenti dal processo (es.: posizione sul disco, dimensione file, data accessi, n° di processi che hanno aperto il file)

• Chiusura

– Copia del file in memoria su disco

81

Struttura delle directory

• Una collezione di nodi contenenti informazioni sui file

– Entrambi residenti su disco

• Determinano la struttura del file system

F 1 F 2 F 3F 4

F n

Directory

Files

82

Introduzione

• Implementazione del file system

• Metodi allocazione dello spazio su disco

• Gestione dello spazio libero

• Efficienza e prestazioni

• Recupero delle informazioni

83

File System a livelli

Driver egestori di interrupt

R/W di blocchi

Files e blocchi

Directory e Files

(disk scheduling egestione r/w blocchi fisici)

(invia comandi r/w blocco x al driver)

(traduce blocco logico in blocco fisico; include gestore spazio libero)

(metadati: file descriptor, file control block;gestione protezione)

Ogni livello usa funzioni del livello inferiore

84

Implementazione del file system

• Per gestire un file system si usano diverse strutture dati– Parte su disco

– Parte in memoria

• Caratteristiche fortemente dipendenti dal sistema operativo e dal tipo di file system– Esistono caratteristiche comuni a tutte le

tipologie

Page 15: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

85

Implementazione del file system (2)

• Blocco di boot

– Informazioni necessarie per l’avviamento del S.O.

• Blocco di controllo delle partizioni

– Dettagli riguardanti la partizione

• Numero e dimensione dei blocchi, lista blocchi liberi, lista descrittori liberi, …

• Strutture di directory

– Descrivono l’organizzazione dei file

• Descrittori di file (inode)

– Vari dettagli sui file e puntatori ai blocchi dati

86

Implementazione del file system (3)

• Tabella delle partizioni

– Informazioni sulle partizioni montate

• Strutture di directory

– Copia in memoria delle directory a cui si è fatto accesso di recente

• Tabella globale dei file aperti

– Copie dei descrittori di file

• Tabella dei file aperti per ogni processo

– Puntatore alla tabella precedente ed informazioni di accesso

87

Allocazione dello spazio su disco

• Definisce come i blocchi su disco sono allocati ai file (o alle directory)

• Alternative– Allocazione contigua

– Allocazione a lista concatenata (linked)

– Allocazione indicizzata

• Obiettivi– Minimizzare tempi di accesso

– Massimizzare utilizzo dello spazio88

Allocazione contigua

• Ogni file occupa un insieme di blocchi contigui su disco

– Entry della directory semplice

• Contiene indirizzo blocco di partenza e lunghezza (numero di blocchi)

• Vantaggi

– Accesso semplice

• Accesso al blocco b+1 non richiede spostamento testina rispetto al blocco b

– A meno che b non sia l’ultimo blocco di un cilindro (raro)

• Supporta accesso sequenziale e casuale

– Per leggere blocco i di un file che inizia al blocco b basta fare b+i

89

Allocazione contigua (2)

• Svantaggi

– Allocazione contigua dei blocchi presenta problemi simili a quelli dell’allocazione dinamica della memoria

• Algoritmi best-fit, first-fit, worst-fit

• Spreco di spazio (frammentazione esterna)

– Richiede compattazione periodica dello spazio

– Quanto spazio allocare quando viene creato un file?

• I file non possono crescere dinamicamente di dimensione

• Soluzioni

– Se il file deve crescere e non c’è spazio � errore e terminazione del programma � ri-esecuzione

» Si tende a sovrastimare lo spazio necessario (spreco)

– Trovare un buco + grande e ricopiare tutto il file (compresa la parte nuova) in quest’ultimo

» Trasparente x l’utente, ma rallenta il sistema

90

Allocazione a lista

• Ogni file è una lista di blocchi

• I blocchi possono essere sparsi ovunque nel disco

– Directory contiene puntatori al primo e all’ultimo blocco

– Ogni blocco contiene puntatore al blocco successivo

• Indirizzamento

– X = indirizzo logico

– N = dimensione del blocco

• X / (N-1) = numero del blocco nella lista

• X % (N-1) = offset all’interno del blocco

Page 16: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

91

Allocazione indicizzata

• Ogni file ha un blocco indice (index block) contenente la tabella degli indirizzi (index table) dei blocchi fisici

• La directory contiene l’indirizzo del blocco indice

• Vista logica:

index table

blocchi

92

Allocazione indicizzata: UNIX

• esempio di struttura dati associata ad un file

• gestisce blocchi di 4KB

93

Gestione dello spazio libero

• Per tenere traccia dello spazio libero su disco si mantiene una lista dei blocchi liberi

– Per creare un file si cercano blocchi liberi nella lista

– Per rimuovere un file si aggiungono i suoi blocchi alla lista

• Alternative

– Vettore di bit

– Lista concatenata

– Raggruppamento

– Conteggio

94

Efficienza e prestazioni

• Disco è collo di bottiglia per le prestazioni

• Efficienza dipende da– Algoritmo di allocazione dello spazio su disco

• Es.: in Unix si cerca di tenere i blocchi di un file vicini al suo i-node

– Richiesta preallocazione i-node distribuiti sulla partizione

– Tipo di dati contenuti nella directory• Es.: data di ultimo accesso di un file � lettura di

un file richiede lettura e scrittura anche del blocco della directory

95

Efficienza e Prestazioni (2)

• Il controller del disco possiede una piccola cache che è in grado di contenere un’intera traccia ma…

• … non basta per garantire prestazioni elevate, quindi

• Dischi virtuali (RAM disk)

• Cache del disco (detta anche buffer cache)

96

Efficienza e Prestazioni (3)

Page 17: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

97

Dischi virtuali

• Parte della memoria gestita come se fosse un disco

• Il driver di un RAM disk accetta tutte le operazioni standard dei dischi eseguendole però in memoria

• Veloce

• Supporto solo per file temporanei, se spengo perdo tutto

• Gestito dall’utente che scrive sul RAM disk invece che sul disco vero e proprio (non è una cache!)

98

Cache del disco

• Porzione di memoria che memorizza blocchi usati di frequente

– Simile alla cache tra memoria e CPU

– Gestita dal S.O.

• Sfrutta principio della località

– Spaziale

• uso di dati “vicini” a quelli attualmente usati

– Temporale

– uso successivo degli stessi dati

• Trasferimento dati nella memoria del processo utente non richiede spostamento di byte

99

Cache del disco: problematiche

• Politica di rimpiazzamento

– Cosa fare in caso di necessità di eliminare un settore?

– LRU, LFU, RANDOM, ….

– LRU poco efficiente per accesso sequenziale, meglio

• rilascio indietro

• lettura anticipata

• Politica di scrittura

– Se l’operazione è una scrittura, come aggiornare il contenuto su disco?

– Write-back: scrivo solo quando devo rimuovere il blocco dalla cache

• Problemi di affidabilità in caso di crash

– Write-through: scrivo sempre

• Meno efficiente, la cache è solo in lettura

100

Problemi di file system in caso di guasto

• Crash del sistema: possibile inconsistenza tra disco e cache

• Guasto del disco: possibile inconsistenza tra i dati nella directory e i dati su disco relativi ai file

– utilizzo di RAID

– utilizzo di file system con log (journaled file system)

– backup periodico del disco su memoria di massa ad alta capacità (nastri)

• recupero di file persi tramite restore dei dati dai backup

• si perde tutto ciò che è stato fatto dopo l'ultimo backup

– utilizzo di tool di riparazione

• scandisk (Windows), fsck (Unix)

• potrebbe essere troppo tardi !

101

Journaled file system

• Registra ogni cambiamento del file system come una transazione

– Tutte le transazioni sono scritte su un log

– Una transazione è considerata avvenuta quando viene scritta sul log

• Anche se il file system può non essere aggiornato

– Le transazioni sul log sono scritte in modo asincrono nel file system

– Quando il file system è modificato, la transazione viene cancellata dal log

– Se il sistema va in crash, le transizioni non avvenute sono quelle presenti sul log

• Vantaggio

– Tolleranza ai guasti di sistema

– Ottimizzazione dell'accesso al disco

• Esempio: file system ext3 di Linux 03/16/09

Alcuni formati di memorizzazione

Page 18: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

103

Formati per immagini

• Modi standard di memorizzare e trasmettere immagini digitali

– Entertainment

– Immagini mediche

– Risultati di esperimenti

• Tali formati possono essere

– basati su pixel o vettoriali

– lossy o lossless

104

Formati basati su pixel (raster o bitmap)

• Si basano su una descrizione dell'immagine come matrice bidimensionale di valori di colori (picture element = pixel)

• Risoluzione (spaziale) = numero di righe x numero di colonne

• Profondità di colore = numero di bit per ciascun pixel per rappresentare il suo colore:

– Spazi di colore• RGB

• YUV, YCbCr

105

Formati vettoriali

• L'immagine è descritta come composizione di elementi grafici di base (primitive grafiche)– Segmenti, curve

– Punti

– Cerchi, ellissi

– Poligoni

• Per ogni elemento è definita posizione e colore

106

Formati raster vs. vettoriali

Basato su pixel Vettoriale

107

Formati lossless e lossy• Spesso la rappresentazione dell'immagine prevede una fase di compressione

• Compressione lossless

– la fase di compressione non pregiudica la qualità dell'immagine (risoluzione, colore)

– utilizza tecniche di rimozione della ridondanza statistica e codifica entropica

– usata per archiviazione e per applicazioni mediche

• Compressione lossy

– la fase di compressione pregiudica irreversibilmente la qualità dell'immagine (risoluzione, colore)

– utilizza anche tecniche di rimozione di dettagli poco percepibili

– usata per applicazione di entertainment

• A parità di immagine di partenza, le tecniche lossy comprimono di più di quelle lossless

108

Formati più comuni

• Raster– JPEG

– TIFF

– GIF

– PNG

• Vettoriale– SVG

– Postscript

– PDF

– SWF

– Windows Metafile

Page 19: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

109

Joint Photographic Experts Group (JPEG)

• Tecnica lossy basata sulla trasformata coseno discreta (DCT) per separare le frequenze spaziali

– eliminazione della ridondanza statistica

– eliminazione delle frequenze più alte

• Profondità di colore: YUV 8 bit per componente

• Se la qualità è scadente compare il fenomeno della blockingness (blocchettizzazione)

• Utilizzato in fotocamere digitali e per codificare le immagini nei documenti pdf

110

Tagged Image File Format (TIFF)

• Permette sia compressione lossless sia lossy

• Profondità di colore: 8 o 16 bit per componente

– Scale di grigio

– RGB

– CMYK

– CIELab

• Utilizzato

– dagli scanner (es. fotografie di microarray)

– frequentemente nel mondo tipografico

– da alcune fotocamere per evitare il degrado del jpeg

111

Graphics Interchange Format (GIF)

• Lossless

• Palette indicizzata a 8 bit (256 colori)

– In caso di sfumature si usa il dithering

• Formato adatto a memorizzare immagini sintetiche con larghe zone di colore uniforme come grafici, loghi, ecc...

• Memorizza più immagini permettendo animazioni

112

Portable Network Graphics (PNG)

• Nato da progetto open source come successore del GIF

• Lossless e lossy

• Profondità di colore

– Indicizzata

– Livelli di grigio

– Colore a 24 bit (16 milioni di colori)

• I pixel sono memorizzati in modo da permettere una veloce preview senza aspettare di aver scaricato tutto il file

113

Scalable Vector Graphics (SVG)

• Formato vettoriale

• Sintassi XML eventualmente compressa con tecniche usate per file testuali (zip, gzip)

• Standard del World Wide Web Consortium

114

Formati per applicazioni mediche

• Health Level 7

• Clinical Document Architecture (CDA)

• CDISC

• DICOM

Page 20: Sommario - di.univr.it · • Memorizzazione su supporti di massa ... Input digitale per controllo Output digitale ... • I dispositivi di misura possono avere un meccanismo

115

Health Level 7 (HL7)

• Formato per scambiare, memorizzare, condividere e recuperare informazioni mediche

• Alla base della fornitura, gestione e valutazione di servizi medici

• Il numero 7 ricorda che HL7 si pone a livello 7 della pila ISO/OSI

116

Ambito di impiego di HL7

• Gli ospedali hanno diversi sistemi automatici (hospital information systems)

– Accettazione pazienti

– Cartelle cliniche

– Analisi di laboratorio

• HL7 fornisce interfacce standard, tipi di messaggi e linee guida per far parlare tra loro questi sistemi

• Reference Information Model (RIM) è una parte fondamentale di HL7 e uno standard ISO

– Esprime il contenuto informativo dei processi ospedalieri

– Connessioni semantiche e lessicali tra i messaggi previsti da HL7