informatica lezione 7 scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea...
TRANSCRIPT
![Page 1: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/1.jpg)
Informatica
Lezione 7
Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale)
Anno accademico: 2006-2007
![Page 2: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/2.jpg)
Esecuzione sequenziale
Processo P1 Processo P2
Processore
inizio fine inizio fine
esecuzione in attesa
attivo idle
![Page 3: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/3.jpg)
Esecuzione sequenziale
• 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
Cliente 1 Cliente 2
![Page 4: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/4.jpg)
Soluzione
• In realtà:
Ordinare(C1)
Preparareil caffè (C1)
Pagare(C1)
Ordinare(C2)
Preparareil caffè (C2)
Pagare(C2)
Cliente 1
Cliente 2
![Page 5: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/5.jpg)
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 istruzioni di un altro processo
• Il sistema operativo si occupa dell’alternanza tra i processi in esecuzione
![Page 6: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/6.jpg)
Sistemi multiprogrammati
Dal punto di vista dei processi
Dal punto di vista del processore
P1
P2
esec P1 esec P2
![Page 7: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/7.jpg)
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 8: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/8.jpg)
Sistemi multiprogrammati
• Un processo può trovarsi in tre diversi stati: in esecuzione, in attesa, pronto
esecuzione
attesapronto
Quando sta utilizzandoil processore
Quando è in attesa del verificarsidi un evento esterno
Quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo
![Page 9: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/9.jpg)
Sistemi multiprogrammati
esecuzione
attesapronto
scambio esecuzione
richiesta I/Oo risorse
I/O terminato orisorsa disponibile
terminazione
![Page 10: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/10.jpg)
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 11: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/11.jpg)
Sistemi multiprogrammati
esecuzione
attesapronto
scambio esecuzione
![Page 12: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/12.jpg)
Sistemi multiprogrammati
esecuzione
attesapronto
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
![Page 13: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/13.jpg)
Sistemi multiprogrammati
esecuzione
attesapronto
terminazione
Il processo terminala sua esecuzionee abbandona il sistema
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
![Page 14: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/14.jpg)
Sistemi multiprogrammati
esecuzione
attesapronto
richiesta I/Oo risorse
terminazione
Il processore viene liberato e può essere concesso ad un altro processo pronto
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
![Page 15: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/15.jpg)
Sistemi multiprogrammati
esecuzione
attesapronto
scambio esecuzione
richiesta I/Oo risorse
terminazione
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
Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
![Page 16: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/16.jpg)
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
• In questi casi è necessario far sì che il processore sia distribuita tra i processi dello stesso utente e di utenti diversi
• Si parla di scheduling del processore
![Page 17: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/17.jpg)
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 della coda)
• 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 18: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/18.jpg)
Esempio di scheduling: Round Robin
esecuzione
attesapronto
in esecuzione richiesta I/Oo risorse
I/O terminato orisorsa disponibile
terminazione
quanto ditempo scaduto
Più precisamente, nel caso della politica di scheduling Round Robin
![Page 19: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/19.jpg)
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 (per esempio ogni 10 o 100 millisecondo)
• All’aumentare del numero di processi e del numero di utenti le prestazioni del sistema possono degradare
![Page 20: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/20.jpg)
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 21: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/21.jpg)
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 22: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/22.jpg)
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 23: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/23.jpg)
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 processore viene assegnato al primo processo pronto
Totale= 100
![Page 24: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/24.jpg)
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 25: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/25.jpg)
Esercizio 1b: una soluzione ottimale
• 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 26: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/26.jpg)
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 27: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/27.jpg)
Esercizio 2: una 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 28: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/28.jpg)
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 29: Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007](https://reader035.vdocuments.net/reader035/viewer/2022081516/5542eb6a497959361e8d67a8/html5/thumbnails/29.jpg)
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 interrotto