Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap...

15
1 Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet. N.B.: Le immagini protette da copyright sono state nascoste Versione: 11/10/13 1 Software e Sistema Operativo Riferimenti: Curtin cap. 6 Console cap. 4-5 2 Il Software • L’hardware da solo è soltanto un insieme di ferro, plastica e silicio e non è sufficiente per il funzionamento dell’elaboratore • Occorre utilizzare il software: – un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici in un oggetto in grado di svolgere funzioni di varia natura • I computer sono programmabili: possono svolgere compiti diversi in base a istruzioni contenute nei programmi 3 Il Software • L’utilizzo diretto dell’hardware è complicato: – l’utente dovrebbe sapere programmare – il programmatore dovrebbe conoscere l’hardware e il relativo linguaggio macchina – ogni programma dovrebbe essere scritto come sequenza di bit – modifiche hardware richiederebbero la riscrittura (parziale) del programma Non accettabile! 4 Il Software Occorre fornire all’utente un meccanismo per: –astrarre dall’organizzazione fisica per: •usare nello stesso modo (o in modo simile) macchine (hardware) diverse •avere un semplice linguaggio di interazione –avere un insieme di programmi applicativi per svolgere diversi compiti: elaborare testi, navigare in Internet, ecc. 5 Il Software • I computer moderni raggiungono questi obiettivi mediante la definizione di macchine virtuali realizzate al di sopra della macchina hardware reale macchina virtuale HW Utente 6 Macchine virtuali • La macchina virtuale: –consiste in un livello software creato sull’hardware –fornisce le funzionalità desiderate ed è facile da utilizzare –è virtuale in quanto non esiste fisicamente, ma viene realizzata mediante il software (sistema operativo o software di base)

Transcript of Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap...

Page 1: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

1

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

Versione: 11/10/13 1

Software e Sistema Operativo

Riferimenti: Curtin cap. 6 Console cap. 4-5

2

Il Software • L’hardware da solo è soltanto un

insieme di ferro, plastica e silicio e non è sufficiente per il funzionamento dell’elaboratore

• Occorre utilizzare il software: – un insieme di programmi che permettono

di trasformare un insieme di circuiti elettronici in un oggetto in grado di svolgere funzioni di varia natura

•  I computer sono programmabili: possono svolgere compiti diversi in base a istruzioni contenute nei programmi

3

Il Software • L’utilizzo diretto dell’hardware è

complicato: – l’utente dovrebbe sapere programmare – il programmatore dovrebbe conoscere

l’hardware e il relativo linguaggio macchina – ogni programma dovrebbe essere scritto

come sequenza di bit – modifiche hardware richiederebbero la

riscrittura (parziale) del programma

Non accettabile! 4

Il Software Occorre fornire all’utente un

meccanismo per: – astrarre dall’organizzazione fisica per: • usare nello stesso modo (o in modo simile) macchine (hardware) diverse

• avere un semplice linguaggio di interazione

– avere un insieme di programmi applicativi per svolgere diversi compiti: elaborare testi, navigare in Internet, ecc.

5

Il Software •  I computer moderni raggiungono questi

obiettivi mediante la definizione di macchine virtuali realizzate al di sopra della macchina hardware reale

macchina virtuale

HW

Utente

6

Macchine virtuali

• La macchina virtuale: – consiste in un livello software creato sull’hardware

– fornisce le funzionalità desiderate ed è facile da utilizzare

– è virtuale in quanto non esiste fisicamente, ma viene realizzata mediante il software (sistema operativo o software di base)

Page 2: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

2

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

7

Macchine virtuali •  L'utente interagisce con la macchina

virtuale con un linguaggio ad alto livello (interfaccia grafica/testuale)

macchina virtuale

HW

Utente linguaggio ad alto livello

linguaggio macchina

•  La macchina virtuale traduce ogni comando ad alto livello nell'opportuna serie di comandi per l’hardware: astrazione

8

Il sistema operativo

Sistema Operativo: insieme di programmi che interagiscono e cooperano tra di loro per:

• gestire efficientemente il computer e le sue periferiche

•  creare un ambiente virtuale per facilitare l'interazione uomo-macchina

9

Il sistema operativo Esempio: stampa di un file che si chiama

“Documento” A livello fisico questa operazione è complessa e richiede operazioni coordinate dalla CPU Per fortuna, il s.o. fornisce all'utente un comando di stampa:

print Documento

10

Il sistema operativo Il s.o. esegue un comando seguendo i

seguenti passi: 1.  verifica se si tratta di un comando

valido 2.  lo traduce per la macchina fisica 3.  eseguito il comando,

a)  fornisce un riscontro all’utente e b)  si pone in attesa di un nuovo comando

da parte dell’utente

11

Il sistema operativo

macchina virtuale 1

HW1

Utente

macchina virtuale 2

HW2

Utente

medesimo linguaggio ad

alto livello

diversi linguaggi macchina

•  Macchine fisiche diverse possono essere utilizzate in modo simile costruendo al di sopra macchine virtuali

•  Ogni m. v. fornisce il medesimo linguaggio ad alto livello…

•  …e traduce i comandi in modo diverso, in funzione del tipo di hardware

12

Struttura a livelli del s.o. •  Il s.o. ha una struttura a cipolla, ogni livello:

– “astrae” il livello inferiore, nascondendone la complessità e

– fornisce servizi al livello superiore •  In questo modo si può usare il computer senza

conoscere i dettagli dei dispositivi elettronici

interfaccia utente

kernel: gestione del processore, della memoria, dei dispositivi di I/O

hardware

… …

Page 3: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

3

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

13

S.O. e dispositivi di I/O •  Ogni dispositivo di I/O collegato al computer è

gestito da un modulo del s.o. chiamato driver •  Ogni volta che si aggiunge un nuovo

dispositivo, si deve installare il driver corrispondente all’interno del s.o.

•  Nota: Plug&Play

kernel

driver printer

driver video

driver modem

14

Funzioni svolte dal sistema operativo (1)

• Accensione e configurazione della macchina (bootstrap)

• Gestione del processore • Gestione della memoria

(principale e virtuale) • Linguaggio ad alto livello per

l’interazione con l’utente • Gestione e accesso alle informazioni su

memoria secondaria (File system)

15

Funzioni svolte dal sistema operativo (2)

• Gestione e uso ottimale delle risorse di input/output (dischi, stampanti, …)

• Supporto per la comunicazione tra elaboratori

• Supporto per i programmi applicativi (installazione, accesso alle risorse di sistema)

• Ambienti di programmazione (ad es. Java, C++, Basic, COBOL)

16

Funzioni svolte dal sistema operativo (1)

• Accensione e configurazione della macchina (bootstrap)

• Gestione del processore • Gestione della memoria

(principale e virtuale) • Linguaggio ad alto livello per

l’interazione con l’utente • Gestione e accesso alle informazioni su

memoria secondaria (File system)

17

Il bootstrap Bootstrap = Avvio dell’elaboratore

Primo problema: •  La CPU esegue esclusivamente

programmi in memoria principale •  RAM volatile à vuota quando si

accende il computer Come fare? Prima soluzione: Mettere i programmi in memoria

secondaria 18

Il bootstrap Secondo problema: •  Per caricare i programmi da memoria

secondaria usiamo il file system (cioè il sistema operativo)

•  Ma il s.o. risiede in RAM à RAM volatile à vuota quando si accende il computer

Come fare? Seconda soluzione: Usiamo un piccolo programma (BIOS),

molto semplice, che ha il compito di caricare (la prima parte de) il s.o. da memoria secondaria

Page 4: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

4

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

19

Il bootstrap Terzo problema: • La CPU esegue esclusivamente programmi in memoria principale

• RAM volatile à vuota quando si accende il computer

Come fare? Terza soluzione: Memorizziamo il BIOS in una parte della memoria principale non volatile: la ROM

20

Il bootstrap Dubbio: Non possiamo memorizzare direttamente

il s.o. in ROM? Risposta: No, perché la ROM è a sola lettura: ha

senso memorizzarvi esclusivamente programmi/dati che non è necessario cambiare

Applicativi e s.o. devono potere essere variati e aggiornati (upgrade, patch, …)

21

Il bootstrap Riassumendo: Bootstrap: all’accensione della macchina, un programma (il BIOS) in ROM cerca sulla memoria secondaria il s.o. e ne carica una parte in RAM

22

Il bootstrap • Ordine tipico di ricerca:

1. Floppy disk 2. CD/DVD 3. Hard Disk

• Questo ordine è utile per installare un s.o. o per live cd (un live cd contiene un s.o. che non necessita di installazione su hard disk)

23

Avvio dell’elaboratore

In seguito, viene caricata la prima parte del s.o.

24

Avvio dell’elaboratore

• La prima parte del s.o. che viene caricata comprende (in generale): – i programmi per gestire processi e CPU – i programmi per gestire la memoria – i programmi per gestire periferiche e I/O – i programmi per gestire il File System – il programma che crea l'interfaccia

(grafica o testuale) utente

Page 5: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

5

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

25

Avvio dell’elaboratore

• Parte dei programmi del s.o. devono essere mantenuti sempre in RAM per essere sempre pronti per l’esecuzione ⇒ una porzione della RAM è riservata a programmi e dati del s.o.

26

Avvio dell’elaboratore: l’I/O

• All’avvio, vengono identificati tutti i dispositivi di memoria secondaria e tutte le periferiche e vengono avviati i relativi programmi di gestione (driver)

• Alcuni sistemi verificano anche lo stato delle risorse hardware, per esempio lo stato dei dischi (presenza di errori nel file system?)

27

Funzioni svolte dal sistema operativo (1)

• Accensione e configurazione della macchina (bootstrap)

• Gestione del processore • Gestione della memoria

(principale e virtuale) • Linguaggio ad alto livello per

l’interazione con l’utente • Gestione e accesso alle informazioni su

memoria secondaria (File system) 28

Multitasking •  I moderni s.o. sono multitasking, cioè è

possibile eseguire più programmi allo stesso tempo (ad es. scaricare un file mentre si scrive un documento)

•  Problema: spesso gli elaboratori hanno una unica CPU. Come possono eseguire più programmi contemporaneamente?

•  Soluzione: il s.o. alterna i programmi assegnando la CPU a turno è 1. In ogni istante un solo programma è eseguito

dalla CPU 2. Se l’alternanza è frequente, si ha l’impressione

che i programmi vengano eseguiti contemporaneamente

29

Processi (esercizio) Windows XP è multitasking: per visualizzare i processi premere contemporaneamente i tasti Ctrl+Alt+Canc e andare su Task Manager (o Gestione attività) /Processi processo = programma in esecuzione

30

Processi •  I dispositivi di I/O sono molto più lenti

della CPU •  Problema: cosa succede se un

processo effettua un’istruzione di I/O? •  La CPU rimarrebbe inattiva fino a che

il dispositivo non ha terminato à inefficienza!

•  Soluzione: multitasking Il S.O. assegna la CPU a un altro processo e la restituisce al primo quando l’I/O è terminato

Page 6: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

6

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

31

Processi • Un processo può trovarsi in uno dei tre stati:

–  in esecuzione, cioè è in esecuzione nella CPU (à max un processo in esecuzione per ogni CPU)

–  in attesa, cioè attende che un’operazione di I/O termini (o qualche altro evento esterno si verifichi)

– pronto, cioè può andare in esecuzione, ma la CPU è occupata ad eseguire un altro processo

pronto in esecuzione

in attesa

selezionato dal s.o.

richiesta I/O o risorsa I/O terminato o

risorsa disponibile

interrotto per lasciare la CPU a un altro processo

32

Processi

•  Il s.o. ha il compito di scegliere quale tra i processi pronti mandare in esecuzione in modo da usare l’elaboratore in modo efficiente (no sprechi) ed efficace (per es. con tempi di attesa limitati)

33

Processi (esercizio) Gestione attività (Ctrl+Alt+Canc) frazione di tempo che

un processo trascorre in esecuzione nella

CPU

34

Funzioni svolte dal sistema operativo (1)

• Accensione e configurazione della macchina (bootstrap)

• Gestione del processore • Gestione della memoria

(principale e virtuale) • Linguaggio ad alto livello per

l’interazione con l’utente • Gestione e accesso alle informazioni su

memoria secondaria (File system)

35

Memoria virtuale Problema: Come eseguire programmi e usare dati più grandi della memoria principale (memoria fisica)?

36

Memoria virtuale • Tecnica di gestione della memoria utilizzata da tutti i sistemi operativi moderni

• Permette di “fare credere” ai singoli programmi di avere a disposizione una quantità di memoria più grande di quella effettivamente installata e contigua

• Per questo si chiama memoria virtuale

Page 7: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

7

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

37

Memoria virtuale • Non è necessario mantenere sempre in memoria tutti i programmi in esecuzione

• Le parti (pagine) dei programmi usate meno spesso vengono “spostate” su hard disk

38

Memoria virtuale Le pagine vengono riportate in memoria quando servono nuovamente, eventualmente spostandone altre su disco

39

Memoria virtuale Il s.o. traduce automaticamente gli indirizzi virtuali (usati dalle applicazioni) in indirizzi fisici

memoria virtuale RAM

altri programmi

hard disk

40

Memoria virtuale (esercizio) 1.  Start / Computer 2.  C: 3.  Visualizzare i file nascosti (Organizza / Opzioni

cartella e ricerca / Visualizzazione / Visualizza cartelle, file e unità nascosti)

4.  pagefile.sys è il file di paging file di paging: la

parte dell’hard disk dedicata alla memoria virtuale

41

Memoria virtuale (esercizio) Gestione attività (Ctrl+Alt+Canc) / Prestazioni RAM

(512 MB)

memoria virtuale usata dal S.O. e dalle applicazioni

(Totale) e massima utilizzabile (Limite), cioè

RAM + file di paging

42

Memoria virtuale • Cosa succede se si utilizza frequentemente

una quantità di memoria virtuale molto più grande della memoria fisica?

• Thrashing (con la ‘h’, to thrash = dimenarsi): il s.o. impiega più tempo a trasferire le pagine da e su disco che a effettuare lavoro utile

• Sintomo: l’hard disk viene usato intensamente e il computer è inutilizzabile

• Soluzione: Aumentare la quantità di RAM oppure usare meno programmi contemporaneamente

Page 8: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

8

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

43

Memoria virtuale • Dato che la RAM è molto più veloce dell’hard disk, aumentare la quantità di RAM può migliorare le prestazioni del computer, perché il s.o. dovrà fare ricorso meno frequentemente all’hard disk per implementare la memoria virtuale

44

Funzioni svolte dal sistema operativo (1)

• Accensione e configurazione della macchina (bootstrap)

• Gestione del processore • Gestione della memoria

(principale e virtuale) • Linguaggio ad alto livello per

l’interazione con l’utente • Gestione e accesso alle informazioni su

memoria secondaria (File system)

45

Il sistema operativo

• Due tipi di interazione utente/sistema operativo: – interazione testuale

• MS-DOS, Mac OS X, Linux – interazione grafica

• Mac OS X, Linux • Windows

46

Interazione testuale

• Basata su comandi scritti tramite tastiera

• L’interfaccia è più rapida da usare per utenti esperti

• Richiede poca memoria principale • Script (programmi costituiti da

comandi) • Molto usata nei sistemi Unix-like

47

Interazione testuale (esercizio) Start/Tutti i programmi/Accessori/

Prompt dei comandi Scrivere “dir” e premere Invio per

visualizzare il contenuto della home directory

48

Interazione grafica

• Basata su interfacce grafiche che presentano funzionalità comuni – ai programmi sono associate finestre – interazione “point and click” – tecnologia WYSIWYG

(What You See Is What You Get) – comandi uniformi:

es. Cancellare “oggetto” ⇒ taglia, Copiare “oggetto” ⇒ copia l’“oggetto” può essere testo, file, immagini, …

Page 9: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

9

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

49

Interazione grafica

• Concetti principali – finestra – icona – menu – menu item – pop-up menu (menu a tendina)

– button (pulsante) – toolbar (barra degli strumenti)

– necessitano del mouse

50

Funzioni svolte dal sistema operativo (1)

• Accensione e configurazione della macchina (bootstrap)

• Gestione del processore • Gestione della memoria

(principale e virtuale) • Linguaggio ad alto livello per

l’interazione con l’utente • Gestione e accesso alle informazioni

su memoria secondaria (File system)

51

Il File System

• File System: parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti di memoria secondaria (ad es. su hard disk, CD, DVD…)

• Operazioni di base supportate dal File System sui dati memorizzati: lettura/scrittura, cancellazione, modifica, copia

52

Il File System

•  I dati della memoria secondaria vengono strutturati e gestiti mediante l’organizzazione in file

•  I file sono utilizzati per la memorizzazione di – programmi (del sistema, dell’utente) – dati

53

Il File System •  Si può immaginare il disco fisso

come un quaderno con tante pagine su cui l’utente scrive varie relazioni (file)

Si noti che: •  quando si cancella un file,

rimangono pagine “vuote” •  quando si modifica un file,

la nuova versione potrebbe essere più corta o più lunga: – se più corta: rimangono pagine vuote – se più lunga: la modifica potrebbe essere

impossibile (perché c’è un file contiguo) Come risolvere questi problemi? 54

Il File System Soluzione: utilizzo di un indice: •  le pagine vengono numerate (come per i

libri) •  l’indice contiene - nell’ordine - i numeri

delle pagine dei file Vantaggi: •  le pagine possono essere aggiunte,

spostate, cancellate senza sprechi di spazio, senza limitazioni di dimensioni dei file (basta avere pagine libere)

Page 10: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

10

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

55

Il File System

• L’indice è memorizzato sul dispositivo di mem. secondaria

• Contiene i nomi dei file e le pagine (cluster) associate

• L’utente può conoscere i nomi dei file memorizzati leggendo l’indice

•  Il file system usa l’indice per: – reperire i cluster che compongono i file e

– trovare lo spazio libero per nuovi file

56

Il File System

• Esempio: indice

disco fisso

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

Nota: anche l’indice è su disco fisso

57

Il File System

• Esempio:

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

1. crea file 1

58

Il File System

• Esempio: •  file 1: cluster 0, 1, 2

1. crea file 1

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

59

Il File System

• Esempio: •  file 1: cluster 0, 1, 2

2. crea file 2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

60

Il File System

• Esempio: •  file 1: cluster 0, 1, 2 •  file 2: cluster 3 2. crea file 2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

Page 11: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

11

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

61

Il File System

• Esempio: •  file 1: cluster 0, 1, 2 •  file 2: cluster 3 3. modifica

file 1 (più lungo)

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

62

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3 3. modifica

file 1 (più lungo)

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

63

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3 4. modifica

file 2 (più lungo)

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

64

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 4. modifica

file 2 (più lungo)

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

65

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 5. crea file 3

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

VU

OTA

VU

OTA

VU

OTA

VU

OTA

66

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 •  file 3: cluster 6, 7

5. crea file 3

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

file

3

file

3

VU

OTA

VU

OTA

Page 12: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

12

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

67

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 •  file 3: cluster 6, 7

6. crea file 4

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

file

3

file

3

VU

OTA

VU

OTA

68

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 •  file 3: cluster 6, 7 •  file 4: cluster 8, 9

6. crea file 4

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

file

4

file

4

file

3

file

3

69

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 •  file 3: cluster 6, 7 •  file 4: cluster 8, 9

7. cancella file 3

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

file

4

file

4

file

3

file

3

70

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 •  file 3: cluster 6, 7 •  file 4: cluster 8, 9

7. cancella file 3

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

file

1

file

1

file

1

file

1

file

2

file

2

file

4

file

4

file

3

file

3

il file 3 viene eliminato solo dall’indice; i cluster 6 e 7 verranno sovrascritti alla

prima occasione

71

Il File System

• Esempio: •  file 1: cluster 0, 1, 2, 4 •  file 2: cluster 3, 5 •  file 3: cluster 6, 7 •  file 4: cluster 8, 9

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

VU

OTA

Notare la frammentazione: i cluster di alcuni file non sono contigui

file

1

file

1

file

1

file

1

file

2

file

2

file

4

file

4

file

3

file

3

72

Per deframmentare: Start / Tutti i programmi / Accessori / Utilità di sistema / Utilità di deframmentazione dischi

Il File System: esercizio

Page 13: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

13

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

73

Il File System

Il file system deve fornire una visione astratta dei file, consentendo all’utente di:

• dare un nome ai file (filename) • manipolare i file (operazioni): creare, cancellare, copiare, rinominare, modificare

• accedere alle informazioni indipendentemente dal supporto fisico (vedere file su hard disk e su CD allo stesso modo)

• strutturare i file (file con caratteristiche comuni possono essere ‘raggruppati’)

• proteggere (da lettura, scrittura, cancellazione) i file di utenti diversi

I moderni s.o. (es. Windows) forniscono queste funzionalità 74

Il File System

•  Tutti i sistemi operativi forniscono i seguenti comandi per operare sui file: –  creazione –  cancellazione –  copia – visualizzazione –  stampa –  lettura e modifica –  rinomina – visualizzazione delle caratteristiche di un insieme di

file (dimensione, data di creazione e di ultima modifica, vincoli di protezione, tipo, ...)

75

Organizzazione gerarchica dei file

•  Il numero di file memorizzati su disco può essere estremamente elevato

•  Un unico “contenitore” di file è scomodo: – per la ricerca di un file (‘Chissà come si chiama?’) – per la creazione di un nuovo file (non si possono

avere due file con lo stesso nome) •  Il s.o. deve fornire all’utente la possibilità di

dare una struttura organizzata ai file •  Idea: raggruppare i file, consentendo

all’utente di seguire criteri di tipo logico

76

Organizzazione gerarchica dei file

•  directory (o cartella): gruppo di file (e di altre directory) il s.o. mette a disposizione comandi per creare directory

•  Nomi dei file locali alle directory ok avere file con lo stesso nome in directory diverse

77

Come chiamare file e directory

•  I nomi di file in genere hanno due parti: – nome: scelto dall’utente, il sistema impone

regole sulla lunghezza massima e sui caratteri usabili (ad es. non permessi i caratteri *, ?, /, \, <, >, …)

– estensione: separata dal nome con ‘.’, identifica il formato e/o l’applicazione che lo ha creato

•  image1.jpg : un file immagine in formato JPEG

•  tesi.doc : un documento Word •  tabella.xls : un foglio Excel

78

Come chiamare file e directory

•  Quando si rinomina un file, bisogna prestare attenzione all’estensione, per non perdere l’associazione all’applicativo

•  Se, ad es., “dimentico” l’estensione .xls, Windows potrebbe non “sapere” più che il documento è un foglio elettronico e quale applicativo usare per aprire il file

Page 14: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

14

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

79

Organizzazione gerarchica dei file

80

Organizzazione gerarchica dei file

Disco rimovibile (E:)

Applicazioni

Libri

Appunti.txt

Corsi

Elab_imm

Elab_suoni

Elab_testi

Francese

Inglese

Italiano

Inglese

coreldrw.exe

photopnt.exe

Winword.exe

Francese

Tedesco

libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3

Spagnolo

Appunti.txt Dispense.pdf

radice

Struttura ad albero (rovesciato, come l’albero genealogico)

81

Organizzazione gerarchica dei file Naming dei file: •  senza le directory, sarebbe sufficiente il nome

per identificare un file •  con un’organizzazione gerarchica a più livelli,

non solo non è sufficiente il nome, ma neanche la directory in cui il file è contenuto. Infatti possono esistere file e directory diversi con lo stesso nome (se contenuti in directory diverse)

•  Individuazione file o directory in modo univoco: sequenza di directory che lo contengono, dalla radice (pathname assoluto)

82

Organizzazione gerarchica dei file Esempi : •  il file libro1 in lingua italiana è

identificato da E:\Libri\Italiano\libro1

•  la directory Inglese di Corsi è identificata da

E:\Corsi\Inglese •  “\” (backslash) è il separatore

(in Unix, Linux e Mac OS X si usa “/” (slash))

• Un file è identificato dal pathname

83

Organizzazione gerarchica dei file In alternativa, si può usare il concetto di

posizione corrente: • Per identificare un file o una directory

(in modo univoco), si specifica la sequenza di directory che lo (la) contengono, a partire dalla posizione corrente

84

Organizzazione gerarchica dei file

Disco rimovibile (E:)

Applicazioni

Libri

Appunti.txt

Corsi

Elab_imm

Elab_suoni

Elab_testi

Francese

Inglese

Italiano

Inglese

coreldrw.exe

photopnt.exe

Winword.exe

Francese

Tedesco

libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3

Spagnolo

Appunti.txt Dispense.pdf

posizione corrente

Page 15: Il Software Software e Sistema Operativo - DiUniToanselma/lingue/04software_so.pdf18 Il bootstrap Secondo problema: • Per caricare i programmi da memoria secondaria usiamo il file

15

Il materiale contenuto in questo documento è utilizzabile unicamente per la preparazione dell’esame di Informatica per il Dipartimento di Lingue e Letterature Straniere dell’Università degli Studi di Torino. Qualsiasi altro utilizzo totale o parziale è espressamente vietato, incluse la copia digitale o fotostatica e la pubblicazione anche su Internet.

N.B.: Le immagini protette da copyright sono state nascoste

85

Organizzazione gerarchica dei file Esempi : • Posizione corrente: Libri; il file libro1

in lingua italiana è identificato da Italiano\libro1

86

Organizzazione gerarchica dei file

Disco rimovibile (E:)

Applicazioni

Libri

Appunti.txt

Corsi

Elab_imm

Elab_suoni

Elab_testi

Francese

Inglese

Italiano

Inglese

coreldrw.exe

photopnt.exe

Winword.exe

Francese

Tedesco

libro1 libro2 libro1 libro2 libro3 libro1 libro2 libro3

Spagnolo

Appunti.txt Dispense.pdf

posizione corrente

87

Organizzazione gerarchica dei file Esempi : Posizione corrente: Inglese; il file

Dispense.pdf è identificato da Dispense.pdf

• Un file è identificato dal pathname relativo

88

Organizzazione gerarchica dei file •  Per organizzare gerarchicamente i file in

directory e sottodirectory, il s.o. fornisce alcune operazioni. Per es.: – creare una nuova directory – cancellare una directory – rinominare una directory – elencare il contenuto (l’insieme dei file e

sottodirectory) di una directory – spostare la directory stessa o parte del

suo contenuto – copiare il contenuto