La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi.

Presentazioni simili


Presentazione sul tema: "© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi."— Transcript della presentazione:

1 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza G IORGIO P ORCU www.thegiorgio.it BOZZA: 18/03/2016

2 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Sommario Elaborazione concorrente  Elaborazione sequenziale  Elaborazione concorrente  Elaborazione parallela Grafi di Precedenza  Grafi di Precedenza: Simboli  Pseudocodice  Grafo di Precedenza  Esempi 2

3 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 Concorrenza e Grafi di precedenza T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Elaborazione concorrente 3

4 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Elaborazione sequenziale Elaborazione Sequenziale Esecuzione di un programma in modo sequenziale attraverso un processo (thread) costituito da una sequenza di istruzioni. E’ tipica dell’architettura di Von Neumann a singola CPU. Prevede che in ogni istante di tempo sia eseguita una sola istruzione, come nella struttura sequenza della programmazione. 4

5 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Elaborazione concorrente (1/2) Elaborazione Concorrente Esecuzione di più attività (programmi, processi o thread) in contemporanea. Prevede che in ogni istante di tempo possano essere potenzialmente eseguite più istruzioni. Processi Concorrenti Due processi A e B si dicono concorrenti se la prima operazione di B inizia prima del completamento dell’ultima operazione di A. 5

6 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Elaborazione concorrente (2/2) Concorrenza, Parallelismo ed evoluzione La contemporaneità non significa sempre parallelismo reale, che avviene solo se il sistema:  Supporta a livello Hardware più CPU o Core  Supporta a livello Software (Kernel del Sistema Operativo) l’esecuzione di thread in parallelo Processi concorrenti possono essere indipendenti, cooperanti o in competizione da un punto di vista dell’evoluzione nel tempo. 6

7 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Elaborazione parallela Elaborazione Parallela Esecuzione di più attività (programmi, processi o thread) in parallelo. Prevede che in ogni istante di tempo siano eseguite più istruzioni su processori differenti sotto il controllo del Sistema Operativo. Garantisce un migliore utilizzo dell’hardware di sistema e una riduzione dei tempi d’esecuzione ma non è sempre attuabile. 7

8 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 Concorrenza e Grafi di precedenza T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Grafi di precedenza 8

9 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Simboli (1/2) Grafo di Precedenza Rappresentazione grafica della precedenza temporale di esecuzione tra istruzioni. Utilizza i seguenti simboli grafici di base:  Blocco di istruzioni (Istruzione, Processo, Thread, Attività): Cerchio.  Precedenza: Freccia direzionale  Istruzioni in sequenza A precede B B inizia dopo A 9 A BA B A

10 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Simboli (2/2) Grafo di Precedenza  Inizio parallelismo A precede sia B che C B e C sono eseguibili in parallelo dopo A  Fine parallelismo B e C precedono D D è eseguibile al termine di B e C 10 B A C B A C B D CB D C

11 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza e concorrenza Il Grafo di Precedenza consente di descrivere le attività concorrenti (potenzialmente parallele) da eseguire su un elaboratore. E’ quindi un utile supporto per:  L’analisi e la sintesi della concorrenza nei programmi  La programmazione concorrente: l’utente, sfruttando opportuni linguaggi, definisce esplicitamente porzioni di codice parallelizzabili 11

12 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Pseudocodice  Grafo di Precedenza Pseudocodice  Grafo di precedenza Una prima applicazione pratica dei Grafi di precedenza consiste in: 1.Analizzare lo pseudocodice di un programma sequenziale Lo pseudocodice è una rappresentazione di un algoritmo simile al codice di un linguaggio di programmazione 2.Trasformarlo in un Grafo di precedenza che utilizzi il parallelismo al massimo livello 12

13 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Realizzare un Grafo di Precedenza Realizzare un Grafo di precedenza Per realizzare il Grafo di Precedenza occorre ragionare con logica su alcuni aspetti:  Eseguire in parallelo solo istruzioni che non utilizzino la stessa variabile. Un accesso condiviso a una porzione di memoria è difatti potenziale causa di errore  Preservare la precedenza temporale delle istruzioni stabilita nel pseudocodice  Garantire la corretta precedenza tra istruzioni sulla stessa variabile per evitare che assuma valori non coerenti 13

14 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Esempio 1 (1/3) Consideriamo il seguente algoritmo in pseudocodice per calcolare e visualizzare il maggiore tra 3 numeri letti da tastiera: inizio 1.Leggi X; 2.Leggi Y; 3.Leggi Z; 4.K  Max(X,Y);// richiama funzione Max() 5.K  Max(K,Z); 6.Scrivi K; fine 14 Esempio tratto da: Camagni, Nikolassy Tecnologie e progettazione di sistemi informatici e di telecomunicazioni Hoepli – ISBN 9788820351571

15 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Esempio 1 (2/3) Un possibile Grafo di precedenza che lo descrive sfruttando il parallelismo è il seguente: 15 Esempio tratto da: Camagni, Nikolassy Tecnologie e progettazione di sistemi informatici e di telecomunicazioni Hoepli – ISBN 9788820351571

16 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Esempio 1 (3/3) In alternativa, è altrettanto corretto descrivere lo pseudocodice con questo Grafo di precedenza: 16 Esempio tratto da: Camagni, Nikolassy Tecnologie e progettazione di sistemi informatici e di telecomunicazioni Hoepli – ISBN 9788820351571

17 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Esempio 2 (1/2) Consideriamo il seguente algoritmo in pseudocodice che esegue un’espressione matematica: inizio 1.(2*6) + (1+4) * (5-2); fine In questo caso per realizzare il Grafo di precedenza ragioniamo sulla naturale priorità tra operatori matematici: prima si eseguono le operazioni tra parentesi, poi le moltiplicazioni/divisioni, infine le addizioni/sottrazioni 17 Esempio tratto e adattato da: Camagni, Nikolassy Tecnologie e progettazione di sistemi informatici e di telecomunicazioni Hoepli – ISBN 9788820351571

18 © 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi di precedenza Grafo di Precedenza: Esempio 2 (2/2) Ne traiamo il seguente Grafo di precedenza che lo descrive sfruttando il parallelismo: 18 Esempio tratto da: Camagni, Nikolassy Tecnologie e progettazione di sistemi informatici e di telecomunicazioni Hoepli – ISBN 9788820351571


Scaricare ppt "© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi."

Presentazioni simili


Annunci Google