il sistema operativo 5 - thegiorgio > home può essere sottratta al processo durante...
Post on 05-May-2018
224 Views
Preview:
TRANSCRIPT
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
ISTITUTO TECNICO SECONDO BIENNIO
TECNOLOGIE E PROGETTAZIONE
Il Sistema Operativo Processi e Risorse
GIORGIO PORCU www.thegiorgio.it
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Sommario
• Processi Evoluzione dei Processi
Modello a Processi
Interrupt
Context Switching
• Risorse Risorsa, Classe, Istanza, Molteplicità
Risorse e Processi
Tipologie di Risorse
Grafo di Holt
2
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
Processi e Risorse TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi
3
Ready Running
Wait
Terminate New
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Processo
4
• Processo Programma in esecuzione (su un processore o CPU). E’ entità dinamica rispetto al programma (insieme statico di istruzioni memorizzato su supporto fisico).
A ogni processo è associato un insieme di risorse HW (Memoria, Periferiche) e SW da esso utilizzate.
Le informazioni su ogni processo e le sue risorse sono mantenute in RAM in una struttura dati chiamata descrittore di processo (PCB, Process Control Block).
Un processo si evolve nel tempo interagendo con le risorse e con altri processi.
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Evoluzione dei Processi (1/2)
In base alla loro evoluzione nel tempo, classifichiamo i processi in:
Processi indipendenti Si evolvono in modo autonomo senza comunicare.
Processi cooperanti Cooperano (comunicano e si coordinano) per raggiungere obiettivi comuni. Un processo cooperante può influenzare o essere influenzato da altri.
Processi in competizione Competono per l'utilizzo delle risorse e possono per esse entrare in conflitto.
5
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Evoluzione dei Processi (2/2)
La competizione è l'evoluzione più comune dei processi. Si può dire in generale che:
In un Sistema Operativo più processi nel tempo competono per l'utilizzo di risorse limitate
L'indipendenza è l'unica evoluzione che garantisce la possibilità di eseguire i processi in parallelo.
Il Sistema Operativo non conosce a priori come si evolveranno nel tempo i processi: questo, unito al fatto che i processori sono in numero limitato rende problematico un vero parallelismo, che sfrutterebbe al meglio l'architettura delle moderne CPU.
6
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Modello a Processi
• Modello a Processi Modalità classica di esecuzione dei programmi da parte del Gestore dei Processi del Sistema Operativo:
Per ogni programma da eseguire su un computer il Sistema Operativo crea uno o più processi.
Ogni processo è gestito dallo Scheduler utilizzando un algoritmo di scheduling e si evolve nel tempo passando attraverso differenti stati.
I processi sono eseguiti usualmente in pseudoparallelismo (Modello a processi sequenziali) perché il numero delle CPU è limitato.
7
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Stati di un processo
Un processo si trova nel tempo in uno dei seguenti stati: New (nuovo) Ready (pronto) Running (esecuzione) Wait (attesa) Terminate (terminato)
8
Ready Running
Wait
Terminate New
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Interrupt HW
• Interrupt Modalità di comunicazione con il SO per sollecitare
l'interruzione di un processo. Puo essere HW o SW: Interrupt HW (Esterno)
Una risorsa HW (periferica) invia un segnale alla CPU per informare che è utilizzabile. Il SO rileva il segnale sulla CPU. Lo Scheduler blocca il processo attuale e manda in esecuzione quello che ha richiesto la risorsa, assegnandogliela.
9
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Interrupt SW
Interrupt SW (Interno) Lo Scheduler blocca un processo perché ha terminato il suo time slice e manda in esecuzione il successivo.
Al verificarsi di un interrupt il SO esegue un operazione di context switching.
10
Risorsa HW
Sistema Operativo Scheduler
Processo
Interrupt HW
Sistema Operativo Scheduler
Interrupt SW
INT
INT
CPU
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Context switching
• Context Switching (Cambio di contesto) Insieme delle operazioni di salvataggio/ripristino dati
realtivi a un processo, eseguite tipicamente a causa di un interrupt: Salvataggio dati
Tutti i dati del processo attuale sono salvati sul suo PCB. Il processo è posto in stato Wait.
Ripristino dati I dati di un processo da eseguire sono estrapolati dal suo PCB. Il processo è posto in stato Running.
Il Context switching è oneroso per CPU e Sistema
11
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
PCB
• PCB (Process Control Block) Struttura dati che memorizza le informazioni relative
a un processo. E' composta da: PID (Identificatore processo) Stato del processo PC (Program Counter)
Indirizzo in RAM della successiva istruzione del processo da eseguire
Altre Informazioni
12
PID
PC
Altre Info
Processo Stato
PCB
Istruzioni
Dati
RAM
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
Processi e Risorse TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Risorse
13
R1
R2
P
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Risorsa, Classe, Istanza
• Risorsa Elemento HW e SW utilizzabile da un processo. Le risorse di un Sistema sono suddivise in Classi:
• Classe di risorsa Insieme di risorse con caratteristiche comuni. ES: Byte o Locazioni della RAM, Registri della CPU, Insieme di stampanti
• Istanza di risorsa Specifica risorsa appartenente a una classe. ES: Specifica cella della RAM, singola stampante.
14
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Risorsa e Molteplicità
• Molteplicità di risorsa Numero di risorse appartenenti a una classe. ES: Numero di celle della RAM
15
Classe
RAM
Singola cella
Istanza
…
Numero di celle
Molteplicità
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Risorse e Processi
• Risorse e Processi Le risorse sono legate strettamente ai processi che in
generale si evolvono competendo per il loro utilizzo. Nell'interazione tra risorse e processi giocano un
ruolo chiave i concetti di: Richiesta
La risorsa è richiesta da un processo ma non è detto possa essere assegnata.
Assegnazione La risorsa è effettivamente assegnata a un processo.
La richiesta precede sempre l'assegnazione!
16
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Gestione delle risorse
• Risorse e Gestore Le risorse sono controllate dal SO attraverso due
meccanismi: Gestore della risorsa
Programma, entità SW che ne regola l'utilizzo. ES: Driver di periferica
Protocollo di accesso Procedura attraverso la quale il processo richiede, ottiene, utilizza e rilascia la risorsa.
17
R P Processo Risorsa
GESTORE
PROTOCOLLO
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Tipologie di Richieste e Assegnazioni
Una richiesta può essere: Bloccante: Il processo necessita della risorsa per
evolversi; se non è assegnata si sospende e passa in stato Wait.
Non Bloccante: Il processo può evolversi anche senza la risorsa e continua comunque la sua esecuzione.
Una assegnazione può essere: Statica: La risorsa è dedicata al processo dalla sua
creazione sino alla sua terminazione.
Dinamica: La risorsa è assegnata al processo su richiesta e rilasciata al termine dell'utilizzo.
18
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Tipologie di Risorse
Una risorsa può essere:
Seriale (Ad accesso esclusivo) Non assegnabile a più processi contemporaneamente.
Non seriale (Ad accesso condiviso) Consente l'accesso contemporaneo di più processi.
Preemptive (Prerilasciabile) Può essere sottratta al processo durante l'esecuzione senza danneggiarne il lavoro.
Non Preemptive (Non Preilasciabile) Non può essere sottratta al processo durante l'esecuzione senza provocare danni.
19
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt: Simboli di base
• Grafo di Holt Rappresentazione grafica dell'evoluzione dei processi
in termini di richieste e assegnazioni di risorse. Utilizza i seguenti simboli grafici di base:
Risorsa: Quadrato.
Processo: Cerchio.
Risorsa assegnata a un processo: freccia RP
Risorsa richiesta dal processo ma non assegnata: freccia PR
20
R P
R P
R P
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt: Esempio
Il grafo di Holt può essere corredato da informazioni su processi/risorse e sequenza di richieste: Ho 3 risorse (R1, R2, R3) e 3 processi (P1, P2, P3) 1. P1 richiede R1 // R1 assegnata 2. P2 richiede R2 // R2 assegnata 3. P3 richiede R1 // R1 non assegnata
21
R1
P1 P2 P3
R2 R3
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt: Classi
E' possibile realizzare il Grafo di Holt anche nel caso di classi di risorse con qualunque molteplicità.
Classe di risorse: Rettangolo.
Istanza di risorsa: Cerchio pieno interno alla classe.
22
R1
P1 P2 P3
R1
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt: Esempio con Classi
Ho 2 classi (R1: molteplicità 2, R2: molteplicità 1) 3 processi (R1, R2, R3)
1. P1 richiede R1 // R1(i1) assegnata 2. P2 richiede R1 // R1(i2) assegnata 3. P3 richiede R1 // R1 non assegnata 4. P2 richiede R2 // R2(i1) assegnata
23
R1
P1 P2 P3
R2
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt ridotto
• Grafo di Holt ridotto Evoluzione nel tempo di un Grafo di Holt. Si ottiene eliminando le assegnazioni sui processi
senza richieste pendenti nell'ipotesi che le risorse già assegnate verranno in futuro rilasciate dal processo.
Vale la regola pratica:
• Grafo di Holt riducibile Un Grafo di Holt è riducibile se presenta almeno un
nodo processo con soli archi entranti (assegnazioni).
24
P2
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt ridotto: Esempio (1/5)
Il grafo in figura (Esempio con Classi) è riducibile perché i due nodi processo P1 e P2 presentano solo archi entranti (solo assegnazioni e nessuna richiesta pendente).
25
R1
P1 P2 P3
R2
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt ridotto: Esempio (2/5)
Per ridurlo elimino in sequenza: gli archi su P1 (riduzione per P1) gli archi su P2 (riduzione per P2)
26
R1
P1 P2 P3
R2
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt ridotto: Esempio (3/5)
A questo punto le risorse su R1 sono libere; posso far evolvere il processo P3 trasformando la richiesta pendente in assegnazione:
27
R1
P1 P2 P3
R2
© 2
015
Gio
rgio
Po
rcu
- A
ggio
rnam
ennt
o 26
/11/
2015
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt ridotto: Esempio (4/5)
Anche il processo P3 può ora evolvere nel tempo: Elimino l'arco su P3 (riduzione per P3)
28
R1
P1 P2 P3
R2
© 2
01
5 G
iorg
io P
orc
u -
Agg
iorn
amen
nto
26/1
1/20
15
TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo
Processi e Risorse
Grafo di Holt ridotto: Esempio (5/5)
La situazione finale mostra 3 processi evoluti completamente: hanno terminato correttamente l'esecuzione utilizzando le risorse richieste ed assegnate.
29
R1
P1 P2 P3
R2
top related