Date post: | 02-May-2015 |
Category: |
Documents |
Upload: | elario-pozzi |
View: | 215 times |
Download: | 1 times |
1
Nomi di Unità I sistemi sono dotati di più
unità di memoria DOS e Windows usano nomi
di unità per distinguerle In UNIX la gestione è
trasparente all’utente: utente conosce solo nome di file, e non si interessa dell’unità dove è memorizzato
2
Organizzazione Gerarchica dei file
3
Organizzazione Gerarchica dei file
Floppy da 3,5 pollici (A:)
Applicazioni
Biblioteca
Indice
Utenti
Elab_imm
Elab_suoni
Elab_testi
Narrativa-Fra
Narrativa-Ing
Narrativa-Ita
Bianchi
Photoshop.exe
Premiere.exe
Winword.exe
Pautasso
Rossi
libro1libro2libro1libro2libro3libro1libro2libro3
Questa struttura viene chiamata alberoRadice dell’alberoNodiFoglie
4
Organizzazione Gerarchica dei file Se non esiste la strutturazione in directory, tutti i file
possono essere identificati mediante il loro nome Nel caso di un’organizzazione gerarchica a più
livelli il nome non è più sufficiente ad identificare il file (nell’esempio precedente esistono diversi file con lo stesso nome)
Per individuare un file o una directory in modo univoco si deve allora specificare l'intera sequenza di directory che lo contengono, a partire dalla radice dell'albero
5
Organizzazione Gerarchica dei file Ad esempio il file libro1 di narrativa italiana è
univocamente identificato dalla sequenza:A:\Biblioteca\Narrativa-Ita\libro1
La directory Pautasso di Utenti è identificata dalla sequenza:
A:\Utenti\Pautasso Il carattere “\” (backslash) viene usato come separatore. Una sequenza di questo tipo può essere vista come il
cammino che si deve compiere per raggiungere un determinato file a partire dalla radice dell'albero, ed è chiamata pathname
6
Organizzazione Gerarchica dei file Un altro modo di individuare un file (o una
directory) è basato sul concetto di posizione In questo caso per individuare un file o una
directory in modo univoco si deve specificare l'intera sequenza di directory che lo contengono, a partire dalla posizione corrente
7
Organizzazione Gerarchica dei file
Floppy da 3,5 pollici (A:)
Applicazioni
Biblioteca
Indice
Utenti
Elab_imm
Elab_suoni
Elab_testi
Narrativa-Fra
Narrativa-Ing
Narrativa-Ita
Bianchi
Photoshop.exe
Premiere.exe
Winword.exe
Pautasso
Rossi
libro1libro2libro1libro2libro3libro1libro2libro3
Posizione corrente
8
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 Per raggiungere un determinato file a partire dalla
posizione corrente si utilizza il pathname relativo
9
Organizzazione Gerarchica dei file Per organizzare gerarchicamente i file, il sistema
operativo deve fornire all'utente un insieme di operazioni sulle directory, per esempio:– creare una nuova directory
– rimuovere una directory
– ridenominare una directory
– elencare il contenuto (l'insieme di file e sotto-directory) di una directory
– copiare o spostare i file da una directory ad un'altra
10
Struttura logica e organizzazione fisica
Floppy da 3,5 pollici (A:)
Applicazioni
Biblioteca
Indice
Utenti
Elab_imm
Elab_suoni
Elab_testi
Narrativa-Fra
Narrativa-Ing
Narrativa-Ita
Bianchi
Photoshop.exe
Premiere.exe
Winword.exe
Pautasso
Rossi
libro1libro2libro1libro2libro3libro1libro2libro3
11
Organizzazione fisica
Elenco file e directoryfloppy da 3,5 pollici (A:)
Applicazioni directory ...
Biblioteca directory ...
Utenti directory ...
Index file-Word ...
Elenco file e directorydirectory Applicazioni
Elab_imm directory ...
Elab_suoni directory ...
Elab_testi directory ...
Elenco file e directorydirectory Elab_imm
Photoshop.exe program ...
Premiere.exe program ...
Elenco file e directorydirectory Elab_suoniElenco file e directorydirectory Elab_imm
Photoshop.exe program ...
Premiere.exe program ...
12
Avviamento dell’elaboratore
In genere questa parte del S. O. comprende:– i programmi per la gestione dei processi e del processore
– i programmi per la gestione della memoria
– i programmi per la gestione delle periferiche e dell'input/output
– i programmi per la gestione del file system
– un programma che crea l'interfaccia verso l’utente (che può essere sia di tipo testuale che di tipo grafico)
13
Avviamento dell’elaboratore Una parte del sistema operativo deve essere
sempre mantenuta in memoria principale e deve essere sempre pronta per l’esecuzione
Questo significa che parte della memoria principale dovrà essere dedicata a mantenere i programmi e i dati riguardanti il sistema operativo
Durante la fase di bootstrap vengono inoltre effettuate operazioni di inizializzazione del sistema per tener conto delle risorse hardware collegate all'elaboratore
14
Avviamento dell’elaboratore
Vengono identificati i dispositivi di memoria secondaria e le periferiche collegate e, per ciascuno di essi, viene inizializzato il programma di gestione
In alcuni sistemi vengono anche effettuate delle verifiche sulle risorse hardware, ad esempio, sullo stato dei dischi per scoprire se esistono inconsistenze che si sono create nel corso dell'uso dell'elaboratore
15
Avviamento dell’elaboratore Spesso durante questa fase sono eseguiti anche
dei programmi che verificano l'eventuale presenza di virus annidati sul disco dell'elaboratore
I virus sono dei programmi pirata che possono essere trasmessi da un elaboratore ad un altro quando si copiano dei programmi
Un virus può danneggiare il funzionamento dell'elaboratore generando operazioni di disturbo o condizioni di errore (in alcuni casi i virus possono anche portare a danneggiamenti seri)
16
Avviamento in Windows95/98
Inizializzazione dei driver dei dispositivi descritti nel file config.sys
Esecuzione dei comandi nel file autoexec.bat
Esecuzione dei programmi del menu Avvio alla voce Esecuzione Automatica
17
Gestione del processore e dei processi Il processore è la componente più importante di un
sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo
Il ruolo del processore è quello di eseguire programmi
Consideriamo la seguente definizione di processo:
un processo è un programma in esecuzione
18
Gestione del processore e dei processi Uno dei compiti principali del sistema operativo
riguarda la gestione dei processi Per il momento assumiamo di trattare sistemi mono-
programmati (anche detti mono-tasking) In sistemi di questo tipo è possibile eseguire un solo
programma alla volta: i programmi devono essere eseguiti in modo sequenziale e si può mandare in esecuzione un programma solo quando quello precedente ha terminato l'esecuzione (es. MS/DOS)
19
Gestione del processore e dei processi Supponiamo che il nostro sistema sia un bar in cui un
barista serve diversi clienti Il barista è il corrispondente del processore, i clienti
sono l’equivalente dei processi da eseguire Esecusione mono-tasking:
Cliente 1
Barista
Ord.
A.O.
Attesa
Pr. C.
Cons.
At.
Pag.
Ris.
Cliente 2
Ord.
A.O.
Attesa
Pr. C.
Cons.
At.
Pag.
Ris.
Cliente 3
Ord.
A.O.
Attesa
Pr. C.
Cons.
At.
Pag.
Ris.
20
Gestione del processore e dei processi Quello che viene evidenziato dall’esempio
precedente è vero in generale:
qualunque processo P alterna fasi di esecuzione a fasi in cui è bloccato in attesa di qualche evento esterno
Un processo può essere in attesa che sia terminata un’operazione di input di dati oppure in attesa di poter usare una risorsa in quel momento occupata
21
Gestione del processore e dei processi
Velocità di elaborazione di un calcolatore (quindi il tempo in cui un processo è in esecuzione) molto maggiore dei tempi di lavoro delle periferiche di input/output
In un’esecuzione sequenziale, mentre il processo attivo è bloccato in attesa di eventi esterni, il processore rimane inattivo, in uno stato chiamato idle, e risulta pertanto sotto-utilizzato
22
Gestione del processore e dei processi
Il tempo impiegato per servire un cliente è pari a 300’’
Durante questo tempo il barista attende (senza fare altro) per un tempo pari a 240’’
Il tempo di attesa (non produttivo) è 80% del tempo totale
Cliente 1
Ord. Attesa Cons. Pag.
Cliente 2
Ord. Attesa Cons. Pag.
Cliente 3
Ord. Attesa Cons. Pag.
Barista
A.O. Pr. C. At. Ris. A.O. Pr. C. At. Ris. A.O. Pr. C. At. Ris.
10’’ 30’’ 240’’ 20’’ 10’’ 30’’ 240’’ 20’’ 10’’ 30’’ 240’’ 20’’
23
Gestione del processore e dei processi Una soluzione ragionevole per migliorare sia la
“produttività” del barista che la qualità del servizio (i clienti arrivano e si mettono in coda aspettando di essere serviti) potrebbe essere quella di servire più clienti contemporaneamente
Ogni volta che che un cliente inizia la consumazione del suo caffè, il barista, invece di restare inattivo può iniziare il servizio del prossimo cliente
24
Gestione del processore e dei processi
P.C.4
A.O.5
P.C.5
A.O.6
P.C.6Barista
A.O.1
Cliente 1
Ord.
P.C.1
Attesa
A.O.2
Cons.
Cliente 2
Ord.
P.C.2
Attesa
A.O.3
Cons.
Cliente 3
Ord.
P.C.3
Attesa
A.O.4
Cons.
I.1
Pag.
25
Gestione del processore e dei processi Si noti che il termine
contemporaneamente
è sempre scritto in corsivo Infatti, poiché vi è un solo barista (un solo
processore nel caso di un computer) il servizio non è realmente eseguito in parallelo ma avviene alternando il servizio tra i vari clienti
In questo modo i tempi di inattività del barista sono elimiminati
26
Gestione del processore e dei processi L’idea illustrata mediante l’esempio precedente è
l'idea di base del multi-tasking:
più programmi vengono eseguiti contemporaneamente sullo stesso processore. Il
numero di processi attivi viene detto grado di multi-programmazione del sistema
Dal punto di vista del processore, in ogni istante vi è un solo processo in esecuzione
Se l'alternanza tra i processi è frequente (ad esempio ogni 10 millisecondi), l'utente ha l'impressione che l'esecuzione dei programmi sia veramente simultanea
27
Gestione del processore e dei processi A livello macroscopico si ha quindi l'impressione
della contemporaneità, mentre a livello microscopico si ha una semplice alternanza sequenziale molto veloce
Nota: dal punto di vista di ogni singolo programma il tempo di esecuzione, cioè il tempo che intercorre tra l'inizio e la fine del processo, risulta aumentato rispetto al caso mono-programmato a causa dell’alternanza con gli altri processi
28
Gestione del processore e dei processi Un processo può trovarsi in tre diversi stati:
– in esecuzione, quando sta utilizzando il processore;
– in attesa (bloccato), quando è in attesa del verificarsi di un evento esterno (terminazione di un’operazione di input/output o altro)
– pronto, quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo
29
Gestione del processore e dei processi
I/O terminato o risorsa disponibile
in_esecuzione
pronto in_attesacreazione
terminazione
richiesta I/O o risorsascambio
esecuzione
30
Gestione del processore e dei processi Quando processo viene creato (alla richiesta da
parte di un utente di eseguire un programma) viene
messo nello stato di pronto e in tale stato rimane
fino a quando non arriverà il suo turno
Non appena un processo pronto viene selezionato,
passa nello stato di esecuzione
Un processo può abbandonare lo stato di
esecuzione per tre diverse ragioni
31
Gestione del processore e dei processi Terminazione: il processo termina la sua
esecuzione e abbandona il sistema Richiesta di un’operazione di input/output o di
una risorsa occupata. In questo caso il processo passa allo stato di attesa, il processore viene liberato e può essere concesso ad un altro processo pronto
Cambio di esecuzione: per realizzare in modo equo l'alternanza tra i vari processi, in certi casi può essere opportuno fermare un processo, rimetterlo nello stato di pronto e concedere il processore ad un altro processo
32
Gestione del processore e dei processi Il multi-tasking funziona efficacemente se il S.O. è
in grado di offrire alcune assicurazioni Il cambio di contesto deve essere invisibile al
processo. Nell’esempio del bar i clienti non si accorgono che il barista serve un gruppo di clienti contemporaneamente
Quando il barista riprende a servire un cliente il servizio viene ripreso esattamente nel punto in cui era stato interrotto
Il barista ha un cronometro e ogni n secondi sospende il servizio che sta effettuando e passa a servire un altro cliente
33
Gestione del processore e dei processi La politica di gestione in cui il barista divide il
suo tempo tra I vari clienti assegnando a
ciascuno un certo intervallo di tempo è
implementata nei S.O. multi-tasking e prende
il nome di Round-Robin
La politica di gestione in cui il barista serve in
modo sequenziale i vari clienti viene
chiamata First-In First-Out (FIFO)