Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software...

62
Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Transcript of Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software...

Page 1: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il computerUtente

Il computer

•Hardware (processore, i dispositivi di input/output, ecc.)

•Software (i programmi, ecc.)

Page 2: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

La macchina virtuale

011100010111010101000011110Hardware

Utente

La macchina virtuale

Page 3: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il sistema operativo

011100010111010101000011110Hardware

Utente

Avvio

Gestione: i processi, la memoria, i disp. di input/output

Interfaccia utente

Page 4: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Funzioni principali del sistema operativo

• Avvio del computer

• Gestione del processore e dei processi

• Gestione della memoria principale• Gestione della memoria virtuale• Gestione della memoria secondaria

• Gestione dei dispositivi di input/output

• Interazione con l’utente

Page 5: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Funzioni principali del sistema operativo

• Avvio del computer

• Gestione del processore e dei processi

• Gestione della memoria principale• Gestione della memoria virtuale• Gestione della memoria secondaria

• Gestione dei dispositivi di input/output

• Interazione con l’utente

Un processo èun programmain esecuzione

Page 6: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esecuzione dei programmi

• Quando si scrive un comando (oppure si clicca sull’icona di un programma) ….

C:> print foo1.doc

C:> oppure

Page 7: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esecuzione dei programmi

• Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo:– Cerca il programma corrispondente sulla

memoria secondaria– Copia il programma in memoria principale– … Processore

Stampante Memoria secondaria

Memoria principale

Page 8: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esecuzione dei programmi

• Quando si scrive un comando (oppure si clicca sull’icona di un programma), il sistema operativo:– Cerca il programma corrispondente sulla

memoria secondaria– Copia il programma in memoria principale– Imposta il registro Program Counter con

l’indirizzo in memoria principale della prima istruzione del programma

Page 9: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il sistema operativo

• Mono-utente o multi-utente (mono/multi-user)– Si distingue tra elaboratori di tipo personale

e elaboratori utilizzabili da più utenti contemporaneamente

• Mono-programmati o multi-programmati (mono/multi-tasking)– Si distingue tra elaboratori in grado di

eseguire un solo programma alla volta oppure più programmi “contemporaneamente”

Page 10: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi mono-utente, mono-programmati

• Un solo utente può eseguire un solo programma alla volta– È forzato a sequenzializzare i programmi

• Ma il processore non viene sfruttata al meglio– Il processore è molto più veloce dei supporti di

memoria secondaria e delle altre periferiche– Passa la maggior parte del suo tempo in attesa– Durante l’attesa si dice che il processore è un

uno stato inattivo (idle)

Page 11: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi mono-utente, mono-programmati

• Supponiamo che il nostro sistema sia un bar in cui il barista serve diversi clienti

• Il barista è corrispondente del processore, i clienti sono l’equivalente dei processi da eseguire

• Esecuzione mono-programmati:

Ordinare Preparareil caffé

ConsumarePagare

Ordinare Preparareil caffé

ConsumarePagare

Client 1 Client 2

Page 12: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esempio 1

• Un processo è costituito da 1000=103 istruzioni– Ogni istruzione richiede 10-6 secondi per essere

eseguita dal processore– Tempo totale di esecuzione?

Page 13: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esempio 1

• Un processo è costituito da 1000=103 istruzioni– Ogni istruzione richiede 10-6 secondi per essere eseguita

dal processore– Tempo totale di esecuzione: 103 * 10-6 = 10-3 = 1

millisecondo

• A metà esecuzione è richiesta la lettura di un dato dal disco. Il tempo di lettura è 1 millisecondo

• Tempo totale di esecuzione = 2 millisecondi• Idle time = 1 millisecondo: 50% del tempo totale

di esecuzione ed è tempo sprecato

Page 14: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esempio 2

• Un processo è costituito da 1000=103 istruzioni– Ogni istruzione richiede 10-6 secondi per essere eseguita

dal processore– Tempo totale di esecuzione: 103 * 10-6 = 10-3 = 1

millisecondo

• A metà esecuzione è richiesta un dato al’utente. Il tempo di reazione è 1 secondo

• Tempo totale dell’esecuzione = 1001 millisecondi• Idle time = 1 secondo: 99,9% del tempo totale di

esecuzione ed è tempo sprecato

Page 15: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esecuzione sequenziale

Processo P1 Processo P2

Processore

inizio fine inizio fine

esec in attesa

attivo idle

Page 16: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Soluzione

• In realtà:

Ordinare(C1)

Preparareil caffé (C1)

Pagare(C1)

Ordinare(C2)

Preparareil caffé (C2)

Pagare(C2)

Client 1

Client 2

Page 17: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Soluzione: sistemi multiprogrammati

• Quando il processore è nello stato di idle la si può sfruttare per eseguire (parte di) un altro processo

• Quando un processo si ferma (per esempio in attesa di un dato dall’utente) il processore può passare ad eseguire le istruzione di un altro processo

• Il sistema operativo si occupa dell’alternanza tra i processi in esecuzione

Page 18: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

Dal punto di vista dei processi

Dal punto di vista del processore

P1

P2

esec P1 esec P2

Page 19: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

• Più programmi sembrano essere eseguiti “contemporaneamente”

• In realtà in esecuzione c’è sempre un solo processo– Ma, se l’alternanza è molto frequente,

si ha un’idea di simultaneità

Page 20: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

• Un processo può trovarsi in tre diversi stati: in esecuzione, in attesa, pronto

esecuzione

attesapronto

Quando sta utlizzandoil processore

Quando è in attesa del verificarsidi un evento esterno

Quando è potenzialmente in condizione di poter utlizzare il processore che è occupato da un altro processo

Page 21: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

esecuzione

attesapronto

scambio esecuzione

richiesta I/Oo risorse

I/O terminato orisorsa disponibile

terminazione

Page 22: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

pronto

Quando un processo viene creato vienemesso nello stato di pronto• in tale stato rimane fino a quandonon arriverà il suo turno

Page 23: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

esecuzione

attesapronto

Un processo può abbandonare lo stato di esecuzione per trediverse ragioni

Page 24: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

esecuzione

attesapronto

terminazione

Un processo può abbandonare lo stato di esecuzione per trediverse ragioni

Il processo terminala sua esecuzionee abbandona il sistema

Page 25: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

esecuzione

attesapronto

richiesta I/Oo risorse

terminazione

Un processo può abbandonare lo stato di esecuzione per trediverse ragioni

Il processore viene liberato e può essere concesso ad un altro processo pronto

Page 26: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

esecuzione

attesapronto

scambio esecuzione

richiesta I/Oo risorse

terminazione

Un processo può abbandonare lo stato di esecuzione per trediverse ragioni

Per realizzare in modo equo l’alternanza tra i processi, in certi casi può essereopportuno fermare un processo e concedere il processore ad un altro processo

Page 27: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multiprogrammati

• In quali casi è opportuno fermare un processo e concedere il processore ad un altro processo?– Se un processo non si ferma mai in

attesa di input/output o di una risorsa– Se più utenti vogliono usare il computer

• Si parla di scheduling del processore

Page 28: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esempio di scheduling: Round Robin

• Ad ogni processo viene assegnato un quanto di tempo del processore (time slice)

• Terminato il quanto di tempo, il processo viene sospeso e rimesso nella coda dei processi pronti (al fondo)

• Il processore viene assegnata ad un altro processo pronto

• Un processo può usare meno del quanto che gli spetta se deve eseguire operazioni di I/O oppure ha terminato la sua computazione

Page 29: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Sistemi multi-utente, multi-programmati

• Più utenti possono usare allo stesso tempo il computer– perché il processore viene assegnata

periodicamente ai processi dei vari utenti

• All’aumentare del numero di processi e del numero di utenti le prestazioni del sistema possono degradare

Page 30: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 1a

• Supponiamo di avere nella coda dei processi pronti tre processi P1, P2 e P3 con i seguenti “comportamenti” in termini di computazione e tempi di attesa

• Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema mono-programmato?

calcolo

in attesa

10 40 10

10 20 30

10 10 10 10 10

P1

P2

P3

Page 31: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 1a: soluzione

• Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema mono-programmato?

Tot(P1)=60, Tot(P2)=60, Tot(P3)=50

Tot(P1+P2+P3) = 60 + 60 + 50 = 170

10 40 10 10 20 30 10 10 10 10 10

Page 32: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 1b

• Supponiamo di avere nella coda dei processi pronti tre processi P1, P2 e P3 con i seguenti “comportamenti” in termini di computazione e tempi di attesa

• Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi?

calcolo

in attesa

10 40 10

10 20 30

10 10 10 10 10

P1

P2

P3

Page 33: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 1b: una soluzione

• Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi?

10 40 10

10 20 30

10 10 10 10 10

P1

P2

P3

P1 in attesa

P2 in attesa

P3 in attesa P3 in attesa

In questo caso, quando un processo va in attesa, Il processsore viene assegnato al primo processo pronto

Totale= 100

Page 34: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 1b: un’altra soluzione

• Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi?

10 40 10

10 20 30

10 10 10 10 10

P1

P2

P3

P1 in attesa

P2 in attesa

P3 in attesa P3 in attesa

Totale= 100

Page 35: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 1b: una soluzione optimale

• Quante unità di tempo ci vogliono per portare a termine tutti e tre i processi in un sistema multi-programmato, se si applica l’alternanza tra i processi?

10 40 10

10 20 30

10 10 10 10 10

P1

P2

P3

P1 in attesa

P2 in attesa

P3 in attesa P3 in attesa

Totale= 90

Page 36: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 2

• Supponiamo di avere nella coda dei processi pronti i processi– P1 durata = 40 unità di tempo– P2 durata = 10 unità di tempo– P3 durata = 60 unità di tempo– P4 durata = 30 unità di tempo

• Qual è una sequenza di esecuzione con una politica di scheduling Round Robin e quanto di tempo pari a 20 unità?

Page 37: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Esercizio 2: soluzione

– P1 durata = 40 unità di tempo– P2 durata = 10 unità di tempo– P3 durata = 60 unità di tempo– P4 durata = 30 unità di tempo

P1

0 20

P2 P3 P4 P1 P3 P4 P3

5030 70 90 110 120 140

Non consideriamo eventuali tempi di attesa

Page 38: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Gestione dei processi

• Per gestire un insieme di processi “contemporaneamente” attivi il sistema operativo mantiene la tabella di processi– Per ogni processo vi è un descrittore nel quale

sono memorizzate informazioni come:• L’identificatore del processo• L’identificatore dell’utente proprietario• Lo stato del processo• Ecc.

• Queste informazioni servono per realizzare l’operazione di cambio di contesto

Page 39: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Gestione dei processi

• Cambio di contesto:– Quando un processo rilascia il

processore, le informazioni sul suo stato vengono memorizzate nel suo descrittore all’interno della tabella dei processi

– In questo modo, quando tornerà nuovamente in esecuzione, il processo potrà ripartire dal punto in cui era stato interotto

Page 40: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Funzioni principali del sistema operativo

• Avvio del computer

• Gestione del processore e dei processi

• Gestione della memoria principale• Gestione della memoria virtuale• Gestione della memoria secondaria

• Gestione dei dispositivi di input/output

• Interazione con l’utente

Page 41: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Gestione della memoria secondaria

• La memoria secondaria serve per memorizzare programmi e dati in modo permanente

• Il file system: quella parte del sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate sulla memoria secondaria

Processore

Stampante Memoria secondaria

Memoria principale

Page 42: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il file system

• I file vengono utilizzati come supporto per la memorizzazione dei programmi e dei dati– Un file deve avere un nome logico

Consigli: è meglio usare nomi significativi

mio.doc, a.txt

tesi.doc, inf9.ppt

Page 43: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il file system

• Un file ha anche una estensione

Esempi: .doc .txt .html .jpg .gif

Le estensioni sono importanti perchè di solito indicano il tipo del file (quindi danno informazioni sul programma applicativo in grado di manipolarlo)

Page 44: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il file system

• Mediante il file system il sistema operativo fornisce una visione astratta dei file su disco

011100010111010101000011110

Hardware

Utente

Avvio

Gestione: i processi, la memoria, i disp. di input/output

Interfaccia utente

Page 45: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il file system

• Il file system permette all’utente di:– Identificare ogni file mediante il suo nome– Operare sui file mediante opportune

operazioni– Effetuare l’accesso alle informazioni grazie ad

operazione di alto livello, che non tengono conto del tipo di memorizzazione

• Per esempio, si deve accedere allo stesso modo ad un file memorizzato sul disco rigido oppure su un CD-ROM

– …

Page 46: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il file system

• Il file system permette all’utente di:– …– Strutturare i file, organizzandoli in

sottoinsiemi secondo le loro caratteristiche, per avere una visione “ordinata” e strutturata delle informazioni sul disco

– Proteggere i propri file in un sistema multi-utente, ossia per impedire ad altri utenti di leggerli, scriverli o cancellarli

Page 47: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Il file system

• Un insieme di operazioni minimale:– Creazione di un file– Cancellazione di un file– Copia o spostamento di un file– Visualizzazione del contenuto di un file– Stampa di un file– Modifica del contenuto di un file– Rinomina di un file– Visualizzazione delle caratteristiche di un

file

Page 48: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• Il numero di file che devono essere memorizzati su un disco può essere molto elevato

• Si ha quindi la necessità di mantenere i file in una forma ordinata

• Un unico spazio (“contentitore”) di file è scomodo

Page 49: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• L’idea è quella di ragruppare i file in sottoinsiemi

• Questi sottoinsiemi di file vengono memorizzati all’interno di contenitori dette cartelle (directory)

• I nomi dei file sono locali alle directory– Si possono avere due file con lo stesso

nome perché siano in due directory diverse

Page 50: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• I computer sono dotati di più unità di memoria secondaria, per esempio:– Unità per floppy disk: A– Unità per disco fisso: C– Unità per CD-ROM: D

• DOS e Windows usano dei nomi per distinguire le unità

Page 51: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

Applicazioni

Biblioteca

Utenti

Indice

Elab_imm

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi …

Rossi …

Pautasso …

Photoshop.exe

Winword.exe

libro1libro2

libro1

libro1

libro2

Premiere.exe

A:

Page 52: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

Applicazioni

Biblioteca

Utenti

Indice

Elab_imm

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi …

Rossi …

Pautasso …

Photoshop.exe

Winword.exe

libro1libro2

libro1

libro1

libro2

Premiere.exe

A:

Questa struttura vienechiamata albero

foglie

radicedell’albero

Page 53: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• Nel caso di un’organizzazione gerarchica a più livelli il nome non è più sufficiente ad identificare un file

• Per individuare un file o directory in modo univoco si deve allora specificare l’intera sequenza di directory che lo contengono, a partire dalla radice dell’albero (“pathname”)

Biblioteca

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

libro1libro2

libro1

libro1

libro2

A:

Page 54: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• Ad esempio il file libro1 di narrativa italiana è univocamente identificato dal pathnameA:\Biblioteca\Narrativa-Ita\libro1

• La directory Pautasso di Utenti è identificata dal pathname

A:\Utenti\Pautasso

Page 55: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• Un altro modo di individuare un file o una directory è basato sul concetto di posizione relativa (pathname relativo)

• In questo caso per indivduare un file o una directory in modo univoco si deve specificare l’intera sequenza di directory lo contengono, a partire dalla posizione corrente

Page 56: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

Applicazioni

Biblioteca

Utenti

Indice

Elab_imm

Elab_testi

Narrativa-Fra

Narrativa-Ing

Narrativa-Ita

Bianchi …

Rossi …

Pautasso …

Photoshop.exe

Winword.exe

libro1libro2

libro1

libro1

libro2

Premiere.exe

A:

Posizione corrente

Page 57: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione gerarchica dei file

• Se la posizione corrente è A:\Biblioteca, il file libro1 di narrativa italiana è univocamente identificato dalla sequenza

Narrativa-Ita\libro1• Se la posizione corrente è A:\Utenti, la

directory Pautasso è identificata dalla sequenza

Pautasso• “Narrativa-Ita\libro1” e “Pautasso” sono

esempi di pathname relativo

Page 58: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione fisica dei file

Blocco

Settore

Sistema operativo(file system)

presentazione.ppt

Page 59: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione fisica dei file

• Nel caso della memorizzazione fisica si devono considerare:– Quali file sono memorizzati si disco?– Dove sono?– Come si può ottimizzare lo spazio su

disco, evitando degli sprechi?

Page 60: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Organizzazione fisica dei file

• Come sono memorizzati i file?– Allocazione contigua

• Ogni file è visto come una entità indivisibile memorizzata in blocchi contigui

• Noto l’indirizzo del primo blocco e il numero di blocchi si accede alle informazioni

– Allocazione sparsa• I blocchi sono memorizzati separatamente

Page 61: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Allocazione sparsa• Possiamo vedere il disco fisso come un

quaderno can tante pagine su cui un utente scrive delle relazione (file)

• L’utente ha la necessità di scrivere, cancellare, e modificare i file

• Problemi:– Quando un file viene cancellato rimangono

delle pagine “vuote”– La modifica di un file può dare origine ad una

nuova versione più corta o più lunga di quella precedente (potrebbero esserci dei file richiedono delle pagine già occupate da altri file)

Page 62: Il computer Utente Il computer Hardware (processore, i dispositivi di input/output, ecc.) Software (i programmi, ecc.)

Allocazione sparsa

• In analogia con un quaderno “ad anelli”, le pagine possono essere spostate, aggiunte, cancellate senza creare sprechi di spazio e senza limitazioni sulla cerscita delle dimensioni di un file (l’unico limite è quello di avere pagine bianche)

• In analogia con l’utilizzo di un indice, le pagine del quaderno vengono numerate e l’indice conterrà (nell’ordine) i numeri delle pagine del file