il software software e sistema operativo - diunitoanselma/lingue/04software_so.pdf18 il bootstrap...
TRANSCRIPT
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)
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
… …
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
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
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
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
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
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, …
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)
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
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
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
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
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
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