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

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Programmazione concorrente
Classe IV B A.s – 2013 Programma di Sistemi 5 ore (3 laboratorio) Docenti –Prof. Alberto Ferrari –Prof. Italo DallAre.
Gestione dei processi A. Ferrari.
TEORIA DEI SISTEMI OPERATIVI
Algoritmi e Programmazione
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
2 luglio 2006URM2 – ING- OOP0304 OL G. Cantone e A. Lomartire 1 Programmazione Orientata agli Oggetti Processi, task e thread Java (ed esempi) Università
1 Le competenze di base dell'asse matematico Utilizzare le tecniche e le procedure del calcolo aritmetico ed algebrico, rappresentandole anche sotto forma.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Processi e Thread.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Il sistema operativo Vito Perrone
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Gli algoritmi.
La macchina di von Neumann
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Il MIO COMPUTER.
INFORMATICA MATTEO CRISTANI.
L' ARCHITETTURA DI VON NEUMANN
Software e sistema operativo 19-22/5/08 Informatica applicata B Cristina Bosco.
INFORMATICA Universita' degli Studi di Brescia
Architettura del calcolatore
Un esempio: Calcolo della potenza n-esima di un numero reale
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
1 Nuovo Obbligo Scolastico: Gli Assi Culturali. 2 Asse dei Linguaggi Asse Matematico Asse Scientifico-Tecnologico Asse Storico Sociale.
I processi.
Estratto dalle slide di Informatica Industriale - DU - 10
Database Progettazione Concettuale
Database Concetti di base
Rappresentazione Dati Codificare informazioni nel Computer
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Gestione del processore (Scheduler)
Esempi domande primo compitino Claudia Raibulet
Il software Componente del computer costituita dai: –programmi di base per la gestione del sistema –programmi applicativi per l’uso del sistema Queste.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Concetti Fondamentali sulla Programmazione
Capitolo 1 Un’introduzione informale agli algoritmi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Il software Claudia Raibulet
Informatica Lezione 6 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Elaborazione Testi Elementi di Base
Concetti di base Computer, HW e SW
I primi elaboratori Anni ‘50 Rigidamente sequenziali
Elaborazione Testi Elementi di Base
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Elaborazione Testi Oggetti grafici
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Le basi di dati.
© 2015 Giorgio Porcu - Aggiornamennto 09/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Conversioni.
© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Informazione.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
© 2015 Giorgio Porcu - Aggiornamennto 04/11/2015 I STITUTO T ECNICO QUINTO ANNO G ESTIONE DEL P ROGETTO Elementi di Economica Informazione e Organizzazione.
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
Organizzazione Aziendale Strutture organizzative
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
© 2016 Giorgio Porcu - Aggiornamennto 21/04/2016 I STITUTO T ECNICO QUINTO ANNO G ESTIONE DEL P ROGETTO Realizzare un Progetto Informatico Pianificazione.
© 2015 Giorgio Porcu - Aggiornamennto 27/11/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Gestione del File.
Il Sistema Operativo Processi e Risorse
Il Sistema Operativo Programmazione Concorrente
Transcript della presentazione:

© 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 BOZZA: 18/03/2016

© 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

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

© 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

© 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

© 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

© 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

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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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

© 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