Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoCaprice Fabiani Modificato 10 anni fa
1
Informatica Lezione 7 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico: 2006-2007
2
Esecuzione sequenziale Processo P1 Processo P2 Processore iniziofineiniziofine esecuzione in attesa attivo idle
3
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: OrdinarePreparare il caffè Consumare Pagare OrdinarePreparare il caffè Consumare Pagare Cliente 1Cliente 2
4
Soluzione In realtà: Ordinare (C1) Preparare il caffè (C1) Pagare (C1) Ordinare (C2) Preparare il caffè (C2) Pagare (C2) Cliente 1 Cliente 2
5
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
6
Sistemi multiprogrammati Dal punto di vista dei processi Dal punto di vista del processore P1 P2 esec P1 esec P2
7
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à
8
Sistemi multiprogrammati Un processo può trovarsi in tre diversi stati: in esecuzione, in attesa, pronto esecuzione attesapronto Quando sta utilizzando il processore Quando è in attesa del verificarsi di un evento esterno Quando è potenzialmente in condizione di poter utilizzare il processore che è occupato da un altro processo
9
Sistemi multiprogrammati esecuzione attesapronto scambio esecuzione richiesta I/O o risorse I/O terminato o risorsa disponibile terminazione
10
Sistemi multiprogrammati pronto Quando un processo viene creato viene messo nello stato di pronto in tale stato rimane fino a quando non arriverà il suo turno
11
Sistemi multiprogrammati esecuzione attesapronto scambio esecuzione
12
Sistemi multiprogrammati esecuzione attesapronto Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
13
Sistemi multiprogrammati esecuzione attesapronto terminazione Il processo termina la sua esecuzione e abbandona il sistema Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
14
Sistemi multiprogrammati esecuzione attesapronto richiesta I/O o 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
15
Sistemi multiprogrammati esecuzione attesapronto scambio esecuzione richiesta I/O o risorse terminazione Per realizzare in modo equo l’alternanza tra i processi, in certi casi può essere opportuno fermare un processo e concedere il processore ad un altro processo Un processo può abbandonare lo stato di esecuzione per tre diverse ragioni
16
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
17
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
18
Esempio di scheduling: Round Robin esecuzione attesapronto in esecuzione richiesta I/O o risorse I/O terminato o risorsa disponibile terminazione quanto di tempo scaduto Più precisamente, nel caso della politica di scheduling Round Robin
19
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
20
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 1040 10 20 30 10 P1 P2 P3
21
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 104010 20 3010
22
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 1040 10 20 30 10 P1 P2 P3
23
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? 1040 10 20 30 10 P1 P2 P3 P1 in attesa P2 in attesa P3 in attesa In questo caso, quando un processo va in attesa, il processore viene assegnato al primo processo pronto Totale = 100
24
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? 1040 10 20 30 10 P1 P2 P3 P1 in attesa P2 in attesa P3 in attesa Totale = 100
25
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? 1040 10 20 30 10 P1 P2 P3 P1 in attesa P2 in attesa P3 in attesa Totale = 90
26
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à?
27
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 020 P2P3P4P1P3P4P3 50307090110120140 Non consideriamo eventuali tempi di attesa
28
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
29
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.