15
© 2015 Giorgio Porcu - Aggiornamennto 26/11/2015 ISTITUTO TECNICO SECONDO BIENNIO TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi e Risorse GIORGIO PORCU www.thegiorgio.it © 2015 Giorgio Porcu - Aggiornamennto 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

Il Sistema Operativo 5 - thegiorgio > Home può essere sottratta al processo durante l'esecuzione senza provocare danni. 19 u -o 5 TECNOLOGIE E PROGETTAZIONE Il Sistema Operativo Processi

Embed Size (px)

Citation preview

© 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