Message Passing Interface (MPI) e Parallel Virtual Machine (PVM)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Message Passing Interface (MPI) e Parallel Virtual Machine (PVM)"

Transcript

1 Università degli Studi di Bologna Dipartimento di Elettronica Informatica e Sistemistica Message Passing Interface (MPI) e Parallel Virtual Machine (PVM) Introduzione Message passing: esplicita comunicazione dei processi dell applicazione attraverso lo scambio di messsaggi P1 P2 P3 P4 P5 Macchina virtuale Definizione standard per il message passing per garantire: Portabilita applicazioni Eterogeneita e interoperabilita Workstations Architettura Parallela MPI e PVM - 2

2 PVM e MPI Parallel Virtual Machine (PVM): sistema affermatosi come standard de facto per il calcolo distribuito in sistemi eterogenei Message Passing Interface (MPI): proposta di standard per lo scambio dei messaggi (progettato da un consorzio internazionale) MPI e PVM - 3 Il message passing Modalita di comunicazione: sincrona/asincrona (coinvolge sia il trasmettitore che il ricevitore) bloccante/non-bloccante (riguarda SOLO il processo che esegue la primitiva) MPI e PVM - 4

3 Comunicazione Sincrona Trasmissione sincrona attesa acknowledgement da processo ricevente MPI e PVM - 5 Comunicazione Asincrona Trasmissione asincrona NON attesa acknowledgement da processo ricevente MPI e PVM - 6

4 Comunicazione Asincrona Proc 0 Proc 1 Proc 0 Proc 1 Sovrapposizione computazione/comunicazione send sincrona receive send asincrona MPI e PVM - 7 Comunicazione bloccante In una comunicazione bloccante il processo attende il completamento della primitiva. primitiva sincrona primitiva asincrona msg arrivato al destinatario msg consegnato al S.O. del nodo trasmittente Completamento primitiva in termini di possibile riutilizzo dei buffer di comunicazione MPI e PVM - 8

5 Comunicazione non-bloccante Il processo NON attende il completamento della primitiva primitive per verificare il termine di una operazione non-bloccante (primitive di tipo test e wait) MPI e PVM - 9 Tipi di Comunicazione Due tipi di primitive di comunicazione: Punto a punto (UN processo mittente manda il messaggio a UN destinatario) Collettive (la comunicazione coinvolge piu processi, es. broadcast e multicast) MPI e PVM - 10

6 Comunicazioni Point-to-Point Semantica: ordine dei messaggi affidabilita fairness MPI e PVM - 11 Comunicazioni Collettive broadcast multicast (1 : tutti) (1 : molti) broadcast con differenti semantiche (es. FIFO) receive multiple MPI e PVM - 12

7 Sincronizzazione In una macchina, processi concorrenti si sincronizzano mediante semafori e monitor In campo distribuito ci sono primitive per la sincronizzazione collettiva: Barriere MPI e PVM - 13 Il problema del deadlock Il deadlock e legato alla presenza di primitive sincrone difficile soluzione nel distribuito MPI e PVM - 14

8 Identificazione Processi Identificazione di un processo all interno di una macchina virtuale (id=host-id+task-id) Gruppi di processi per: sincronizzazione comunicazioni collettive gruppi statici o dinamici sovrapposizioni di gruppi diversi MPI e PVM - 15 Message Passing Interface (MPI) Standard per il message passing proposto da un consorzio internazionale MPI nato per architetture parallele => focus su performance MPI garantisce: portabilita a livello di codice sorgente, ma scarsa eterogeneita e interoperabilita tra diverse piattaforme HW (nessuna delle attuali implementazioni di MPI fornisce interoperabilita ) in versione 1 di MPI nessuna interoperabilita tra diversi linguaggi Prima versione di MPI, MPI-1; versione attuale e la 2, MPI-2. MPI e PVM - 16

9 Cosa fornisce MPI-1 Primitive di comunicazione punto a punto: molte modalita di comunicazione tipi di dati derivati Primitive di comunicazione collettive: molti tipi diversi comunicazioni tra gruppi Gruppi di processi Attenzione: MPI definisce le interfacce alle primitive, non tratta della loro implementazione MPI e PVM - 17 Naming Identificazione di un processo all interno della macchina virtuale Rank: Rank: id id di di un un processo processo nella nella macchina macchina virtuale virtuale Communicator: Communicator: contiene contiene un un insieme insieme di di processi processi I Communicator sono composti di due informazioni: gruppo di processi contesto di esecuzione Processi possono appartenere a diversi Communicator Il Communicator e lo scope delle primitive di comunicazione MPI e PVM - 18

10 Contesti di comunicazione MPI e PVM - 19 Primitive di comunicazione punto-a-punto Primitive di trasmissione bloccanti: sincrona (attesa ack ricezione) MPI_Send (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) buffered (trasmissione asincrona, senza attesa ack ricezione) standard (puo essere sincrona oppure buffered) ready (richiede una receive gia in attesa) Semantica: ordine dei msg preservato (dallo stesso mittente allo stesso destinatario), nessuna garanzia di fairness MPI e PVM - 20

11 Primitive di comunicazione punto-a-punto Una sola primitiva di ricezione bloccante: MPI_Recv (void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) MPI e PVM - 21 Primitive di comunicazione punto-a-punto Primitive non-bloccanti: tutte le primitive di comunicazione viste hanno un equivalente non-bloccante, in cui il processo NON attende il completamento della primitiva MPI_ISend (void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) una comunicazione e completata quando e possibile riutilizzare il buffer di comunicazione, utilizzo di: MPI_Wait() ed MPI_Test() MPI_Wait (MPI_Request *request, MPI_Status *status) Semantica: ordine dei msg trasmessi preservato, nessuna garanzia di fairness MPI e PVM - 22

12 Primitive di comunicazione punto-a-punto Multiple completion di primitive non-bloccanti: Si puo verificare lo stato delle comunicazioni pendenti, verificando il completamento di una o piu primitive di comunicazione attesa di una qualunque delle richieste specificate in array_of_request: MPI_Waitany (int count, MPI_Request *array_of_request, int *index, MPI_Status *status) test del completamento di una qualunque delle richieste specificate in array_of_request: MPI_Testany (int count, MPI_Request *array_of_request, int *index, int *flag, MPI_Status *status) Attesa/test dell insieme di primitive: MPI_Waitall() / MPI_Testall () MPI e PVM - 23 Comunicazioni collettive Coinvolgono tutti i processi di un Communicator Non interferiscono con le primitive punto a punto (contesti di comunicazione ortogonali) Non ci sono comunicazioni collettive non-bloccanti (MPI 1.x) Vari tipi di primitive, es. broadcast, scatter-gather, etc. MPI e PVM - 24

13 Comunicazioni collettive MPI e PVM - 25 Operazioni collettive di sincronizzazione (barrier) MPI_Barrier () blocca il processo chiamante finche tutti i membri del gruppo hanno eseguito la stessa primitiva MPI e PVM - 26

14 Eterogeneita Eterogeneita : possibilita di far cooperare (interoperare) parti di un applicazione in esecuzione su architetture diverse. Non e tra i primi obiettivi di MPI, non si occupa delle funzioni di conversione dei dati (es. XDR) MPI e PVM - 27 Messaggi Ogni messaggio e composto di una parte dati e una parte informativa Parte dati: indirizzo del buffer, numero di elementi, tipo degli elementi Parte informativa (busta): rank dei processi mittente e destinatario, message tag, communicator un messaggio viene spedito inserendo i dati in buffer, usando: tipi di dati derivati, oppure istruzioni di impacchettamento/spacchettamento MPI e PVM - 28

15 Topologie virtuali Un meccanismo di naming dei processi che riflette il pattern di comunicazione dell applicazione. MPI fornisce le funzioni per determinare il rank di ogni processo a partire dalla sua posizione nella topologia virtuale. NON determina nessun tipo di allocazione, ma potrebbe fornire suggerimenti al caricatore dell applicazione MPI e PVM - 29 MPI-2 dynamic process creation (MPI_SPAWN) one-sided communication (get e put fatte su una area di memoria detta window, esplicitamente shared) extended collective communication (intercommunicator, in-place, non-blocking) interoperabilita parallel I/O message handler (active messages) NO fault tolerance multi threading (thread safe) MPI e PVM - 30

16 Parallel Virtual Machine (PVM) Sviluppo di Programmi Applicativi Parallel Debugger (XAB) Graphic Developement Tool (HeNCE) }Ambiente di Programmazione Librerie (LPVM) Supporto run-time () } Macchina Astratta PC } Risorse Eterogenee Workstations Architetture Parallele Personal Computer MPI e PVM - 31 PVM Parallel Virtual Machine (PVM): e un pacchetto software per lo sviluppo di programmi paralleli su un insieme di risorse eterogenee (Workstation, Personal Computer e Architetture Parallele) Caratteristiche PVM: standard de facto per il msg passing; basato su macchina virtuale; eterogeneita (interoperabilita HW e SW); gruppi di processi; primitive di comunicazione punto a punto e collettive; fault tolerance; MPI e PVM - 32

17 La macchina virtuale PVM La macchina virtuale di PVM e realizzata da un insieme di processi demone (1 per ogni host): pro migliore gestione eterogeneita maggiore dinamicita (gestione processi e risorse) fault tolerance naming (uso demoni) contro no virtual topology no thread safe MPI e PVM - 33 La macchina virtuale PVM configurazione dinamica della macchina virtuale pvm_addhosts( ) pvm_delhosts(...) fault tolerance, pvm_notify(...) notifica eventi di interesse nell ambito della PVM migliore uso delle risorse MPI e PVM - 34

18 I processi in PVM Identificativo Processi: hostid + TaskId Processi pesanti generazione e distruzione dinamica pvm_spawn( ) pvm_kill( ) Gruppi di processi: gestione dinamica dei gruppi MPI e PVM - 35 PVM message passing La spedizione di un messaggio richiede tre passi: inizializzazione buffer di comunicazione; impacchettamento dei dati del messaggio all interno del buffer (eventuale conversione dei dati con XDR); spedizione del messaggio (punto a punto oppure multicast). MPI e PVM - 36

19 Impacchettamento dei messaggi IMPACCHETTAMENTO E TRASMISSIONE (SEQUENZA = A - B - C) pvm_initsend( ) = involucro del messaggio pvm_pkint( ) pvm_pkstr( ) pvm_pkfloat( ) A B C = tipo INT = tipo STR = tipo FLOAT = dato #1 di tipo INT = dato #2 di tipo STR = dato #3 di tipo FLOAT pvm_send( ) RICEZIONE CORRETTA (SEQ. = A - B - C) = pacchetto con il dato #1 = pacchetto con il dato #2 = pacchetto con il dato #3 RICEZIONE ERRATA (SEQ. = B - C - A) pvm_recv( ) pvm_recv( ) pvm_upkint( ) A pvm_upkstr( ) B pvm_upkstr( ) B pvm_upkfloat( ) C pvm_upkfloat( ) C pvm_upkint( ) A MPI e PVM - 37 Primitive di comunicazione punto a punto La primitiva send e asincrona bloccante int info = pvm_send(int tid, int msgtag) Due primitive di ricezione, una bloccante e una non bloccante int bufid = pvm_recv(int tid, int msgtag) sospende il processo chiamante in attesa dell arrivo del messaggio msgtag (possibili wildcard) int bufid = pvm_nrecv(int tid, int msgtag) versione non bloccante int bufid = pvm_probe(int tid, int msgtag) verifica se il msg msgtag e arrivato MPI e PVM - 38

20 Primitive collettive Primitive collettive di comunicazione int info = pvm_mcast(int *tids, int nastk, int msgtag) e sincronizzazione int info = pvm_barrier(char *group, int count) group: nome del gruppo di processi che si vuole sincronizzare count: numero dei processi del gruppo da aspettare MPI e PVM - 39 Architettura PVM Processo Processo LPVM LPVM Host Demone PVM Processo Processo LPVM LPVM S.O. Sistema Operativo S.O. NETWORK Processo Processo LPVM LPVM Processo Processo LPVM LPVM S.O. S.O. MPI e PVM - 40

21 Interconnessione Demone PVM Socket UDP Socket TCP Traffico TCP (stdout/stderr) Traffico UDP (inter-pvmd) #1 #1 #2 #2 #3 #3 #4 #4 MPI e PVM - 41 PVM oppure MPI? Applicazioni solo su una piattaforma => MPI (migliori prestazioni) Se sono richieste interoperabilita e fault tolerance => PVM PVM: newsgroup: comp.parallel.mpi MPI: newsgroup: comp.parallel.mpi MPI e PVM - 42

22 PVM in Lab2 L ambiente PVM (versione 3.3) si trova nella directory condivisa /export/users/appli/pvm Per poter eseguire programmi in PVM occorre modificare il path e settare alcune variabili di ambiente, modificando opportunamente il file.tcshrc oppure.cshrc Aggiungere al path: /export/users/appli/pvm3 /export/users/appli/pvm3/lib Variabili di ambiente: setenv PVM_ROOT /export/users/appli/pvm3 setenv PVM_ARCH SUN4SOL2 setenv MANPATH /usr/openwin/share/man:/usr/man:$pvm_root/man setenv PVM_DPATH $PVM_ROOT/lib/pvmd Si possono trovare alcuni esempi di programmi in /export/users/appli/pvm3/examples/ che si consiglia di copiare nella propria home per le eventuali modifiche e per la compilazione. MPI e PVM - 43 Compilazione programmi PVM Per la compilazione dei programmi si utilizza un Makefile, chiamato Makefile.aimk che si suggerisce di modificare a seconda delle esigenze e dei file da compilare. portare il file Makefile.aimk all interno della dir dove sono presenti i file sorgenti e modificarlo scrivendovi i nomi dei file da compilare e i nomi dei file eseguibili. dall'interno della directory che contiene i sorgenti e il file Makefile.aimk si esegua il comando aimk <nome del file eseguibile> gli eseguibili sono spostati nella directory./bin/sun4sol2 MPI e PVM - 44

23 Esempio di Makefile.aimk # Esempio di Makefile.aimk per la compilazione di programmi PVM LDIR = -L$(PVM_ROOT)/lib/$(PVM_ARCH) PVMLIB = -lpvm3 SDIR =.. BDIR = $(HOME)/pvm3/bin #BDIR = $(SDIR)/../bin XDIR = $(BDIR)/$(PVM_ARCH) GCC = gcc OPTIONS = -g CFLAGS = $(OPTIONS) -I $(PVM_ROOT)/include $(ARCHCFLAGS) LIBS = $(LDIR)$(PVMLIB)$(ARCHLIB) GLIBS = -lgpvm3 #F77 = f77 FORT = `case "$(FC)@$(F77)" in *@) echo $(FC) echo $(F77) ;; *) echo f77;; esac` FFLAGS = -g $(ARCHFFLAGS) FLIBS = -lfpvm3 LFLAGS = $(LOPT) -L $(PVM_ROOT)/lib/$(PVM_ARCH) CPROGS = <nome dell'eseguibile> all: c-all c-all: $(CPROGS) clean: rm -f *.o $(CPROGS) $(FPROGS) $(XDIR): - mkdir $(BDIR) - mkdir $(XDIR) <nome dell'eseguibile>: $(SDIR)/<nome del sorgente> $(XDIR) $(GCC) $(CFLAGS) -o $@ $(SDIR)/<nome del sorgente> $(LFLAGS) $(LIBS) $(GLIBS) mv $@ $(XDIR) MPI e PVM - 45 Esecuzione programmi PVM Prima di eseguire un programma PVM e necessario far partire l ambiente PVM (comando pvm) cesare lia00 ~/pvm3/bin/sun4sol2 115 > pvm pvm> help Commands are: add - Add hosts to virtual machine delete - Delete hosts from virtual machine halt - Stop pvmds kill - Terminate tasks mstat - Show status of hosts quit - Exit console sig - Send signal to task spawn - Spawn task pvm> quit pvmd still running. cesare lia00 ~/pvm3/bin/sun4sol2 116 > hello i'm t40002 from t40003: hello, world from lia00 cesare lia00 ~/pvm3/bin/sun4sol2 117 > MPI e PVM - 46

Non blocking. Contro. La programmazione di uno scambio messaggi con funzioni di comunicazione non blocking e' (leggermente) piu' complicata

Non blocking. Contro. La programmazione di uno scambio messaggi con funzioni di comunicazione non blocking e' (leggermente) piu' complicata Non blocking Una comunicazione non blocking e' tipicamente costituita da tre fasi successive: L inizio della operazione di send/receive del messaggio Lo svolgimento di un attivita' che non implichi l accesso

Dettagli

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI

Comunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Comunicazione La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Concettualmente la comunicazione point to point e' molto semplice: Un processo invia un

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 1 Message Passing Interface MPI www.mcs.anl.gov./research/projects/mpi/

Dettagli

Laboratorio di Calcolo Parallelo

Laboratorio di Calcolo Parallelo Laboratorio di Calcolo Parallelo Lezione : Aspetti avanzati ed esempi in MPI Francesco Versaci & Alberto Bertoldo Università di Padova 6 maggio 009 Francesco Versaci (Università di Padova) Laboratorio

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 MPI : Message Passing Interface MPI

Dettagli

Il Modello a scambio di messaggi

Il Modello a scambio di messaggi Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria

Dettagli

Introduzione a PVM PVM. Salvatore Orlando. Sommario Architettura di PVM Come inviare e ricevere messaggi Introduzione alla programmazione con PVM

Introduzione a PVM PVM. Salvatore Orlando. Sommario Architettura di PVM Come inviare e ricevere messaggi Introduzione alla programmazione con PVM Introduzione a PVM Salvatore Orlando 1 PVM Sommario Architettura di PVM Come inviare e ricevere messaggi Introduzione alla programmazione con PVM 2 PVM Programming Model Scopo di PVM è permettere che collezioni

Dettagli

Calcolo Parallelo con MPI (2 parte)

Calcolo Parallelo con MPI (2 parte) 2 Calcolo Parallelo con MPI (2 parte) Approfondimento sulle comunicazioni point-to-point Pattern di comunicazione point-to-point: sendrecv Synchronous Send Buffered Send La comunicazione non-blocking Laboratorio

Dettagli

Openmosix e Beowulf: Esempi di programmazione distribuita. Giovanni Perbellini. Agenda

Openmosix e Beowulf: Esempi di programmazione distribuita. Giovanni Perbellini. Agenda Openmosix e Beowulf: Esempi di programmazione distribuita Giovanni Perbellini Agenda Openmosix Esercizio stress Esercizio fork Beowulf (PVM) Setup ambiente Compilazione programmi PVM Esercizio Helloworld

Dettagli

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

Dettagli

MPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994

MPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994 MPI e' acronimo di Message Passing Interface Rigorosamente MPI non è una libreria ma uno standard per gli sviluppatori e gli utenti, che dovrebbe essere seguito da una libreria per lo scambio di messaggi

Dettagli

Calcolo parallelo con MPI (2ª parte)

Calcolo parallelo con MPI (2ª parte) Calcolo parallelo con MPI (2ª parte) Approfondimento sulle comunicazioni point-to-point La comunicazione non blocking Laboratorio n 3 MPI virtual topologies Laboratorio n 4 2 Modalità di comunicazione

Dettagli

Programmazione di base

Programmazione di base 1 0.1 INTRODUZIONE Al giorno d oggi il calcolo parallelo consiste nell esecuzione contemporanea del codice su più processori al fine di aumentare le prestazioni del sistema. In questo modo si superano

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente

Dettagli

Chiamata di procedura remota

Chiamata di procedura remota Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da

Dettagli

Il modello a scambio di messaggio

Il modello a scambio di messaggio Il modello a scambio di messaggio Ciascun processo evolve in un proprio ambiente che non può essere modificato direttamente da altri processi. Quindi non esiste memoria condivisa e le risorse sono tutte

Dettagli

Chiamata di procedura remota

Chiamata di procedura remota Chiamata di procedura remota Meccanismo di comunicazione e sincronizzazione tra processi in cui un processo che richiede un servizio ad un altro processo rimane sospeso fino al completamento del servizio

Dettagli

Panoramica Introduttiva su Inter-Process Communication (IPC)

Panoramica Introduttiva su Inter-Process Communication (IPC) Panoramica Introduttiva su Inter-Process Communication (IPC) Inter-Process Communication: panoramica (1) Dei processi si dicono cooperanti se si influenzano l'un con l'altro. Per potersi influenzare dei

Dettagli

Calcolo parallelo con MPI (2ª parte)

Calcolo parallelo con MPI (2ª parte) Calcolo parallelo con MPI (2ª parte) Approfondimento sulle comunicazioni point-to-point La comunicazione non blocking Laboratorio n 3 MPI virtual topologies Laboratorio n 4 2 Modalità di comunicazione

Dettagli

Openmosix e Beowulf: introduzione e confronto

Openmosix e Beowulf: introduzione e confronto Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 MPI : Message Passing Interface MPI

Dettagli

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci

I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE. Classe: 5Ci I.I.S. G.B. PENTASUGLIA MATERA ISTITUTO TECNICO SETTORE TECNOLOGICO LICEO SCIENTIFICO SCIENZE APPLICATE Disciplina: Tecnologie e Progettazione di Sistemi Informatici e di Telecomunicazione Cognome e Nome:

Dettagli

MPI è una libreria che comprende:

MPI è una libreria che comprende: 1 Le funzioni di MPI MPI è una libreria che comprende: Funzioni per definire l ambiente Funzioni per comunicazioni uno a uno Funzioni percomunicazioni collettive Funzioni peroperazioni collettive 2 1 3

Dettagli

Interazione tra Processi. Sistemi Operativi T AA

Interazione tra Processi. Sistemi Operativi T AA Interazione tra Processi Sistemi Operativi T AA 2009-2010 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun

Dettagli

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7. Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7. Modulo 1 - Architettura del calcolatore Unità 1 - Architettura e funzionamento dei sistemi di elaborazione Lezione 1 - Macchina

Dettagli

Introduzione al Multithreading

Introduzione al Multithreading Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui

Dettagli

Alcuni strumenti per lo sviluppo di software su architetture MIMD

Alcuni strumenti per lo sviluppo di software su architetture MIMD Alcuni strumenti per lo sviluppo di software su architetture MIMD Calcolatori MIMD Architetture SM (Shared Memory) OpenMP Architetture DM (Distributed Memory) MPI 2 MPI : Message Passing Interface MPI

Dettagli

Interazione tra Processi. Sistemi Operativi T AA

Interazione tra Processi. Sistemi Operativi T AA Interazione tra Processi Sistemi Operativi T AA 2012-13 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun

Dettagli

Unix - Shell dei comandi Sostituzioni

Unix - Shell dei comandi Sostituzioni Unix - Shell dei comandi Sostituzioni Prima dell esecuzione di un comando, esso viene scandito (assieme ad i suoi parametri) e vengono operate delle sostituzioni 1. Sostituzioni delle variabili/parametri:

Dettagli

MPI Quick Refresh. Super Computing Applications and Innovation Department. Courses Edition 2017

MPI Quick Refresh. Super Computing Applications and Innovation Department. Courses Edition 2017 MPI Quick Refresh Super Computing Applications and Innovation Department Courses Edition 2017 1 Cos è MPI MPI acronimo di Message Passing Interface http://www.mpi-forum.org MPI è una specifica, non un

Dettagli

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi

Sistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione

Dettagli

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi Calcolo parallelo Ci sono problemi di fisica, come le previsioni meteorologiche o alcune applicazioni grafiche, che richiedono un enorme potenza di calcolo Una sola CPU (o un solo core), per quanto potenti,

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1 SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Introduzione ai thread

Introduzione ai thread Introduzione ai thread Processi leggeri. Immagine di un processo (codice, variabili locali e globali, stack, descrittore). Risorse possedute: : (file aperti, processi figli, dispositivi di I/O..),. L immagine

Dettagli

SISTEMI DI ELABORAZIONE E CONTROLLO M Ingegneria dell'automazione RTAI IPC

SISTEMI DI ELABORAZIONE E CONTROLLO M Ingegneria dell'automazione RTAI IPC SISTEMI DI ELABORAZIONE E CONTROLLO M Ingegneria dell'automazione RTAI IPC Ing. Gianluca Palli DEIS - Università di Bologna Tel. 051 2093903 email: gianluca.palli@unibo.it http://www-lar.deis.unibo.it/~gpalli

Dettagli

Esercitazioni 13 e 14

Esercitazioni 13 e 14 Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2001/2002 Sistemi Operativi Corsi A e B Esercitazioni 13 e 14 Comunicazione tra processi (IPC) Meccanismo per la comunicazione

Dettagli

Introduzione a MPI Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione a MPI Algoritmi e Calcolo Parallelo. Daniele Loiacono Introduzione a MPI Algoritmi e Calcolo Parallelo Riferimenti! Tutorial on MPI Lawrence Livermore National Laboratory https://computing.llnl.gov/tutorials/mpi/ Cos è MPI? q MPI (Message Passing Interface)

Dettagli

Introduzione ai. Sistemi Distribuiti

Introduzione ai. Sistemi Distribuiti Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utente come un sistema singolo coerente. 1

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 12 Alberto Ceselli ceselli@dti.unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 21 Aprile 2007 Concorrenza a livello di

Dettagli

Primi Programmi con MPI 1

Primi Programmi con MPI 1 Il cluster che usiamo: spaci Esercitazione: Primi Programmi con MPI http://www.na.icar.cnr.it/grid/#spacina Spacina è un cluster HP XC 6000 / Linux a 64 nodi biprocessore. La configurazione hardware dei

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Java: un linguaggio per applicazioni di rete

Java: un linguaggio per applicazioni di rete Java: un linguaggio per applicazioni di rete Moreno Falaschi Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena March 3, 2014 1 Caratteristiche di Java (SUN) Linguaggio

Dettagli

(parte 2) DHCP e NAT

(parte 2) DHCP e NAT Marco Listanti Strato di rete (parte 2) DHCP e NAT Autoconfigurazione ur n Protocollo DHCP Telecomunicazioni Fondamenti di reti - Prof. Marco Listanti - A.A. 2010/2011 2008/2009 Configurazione degli Host

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2017-18 Pietro Frasca Lezione 10 Martedì 7-11-2017 Thread a livello kernel Modello da uno a uno La

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 3

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 3 Reti di Calcolatori Sommario Software di rete Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) Livello Trasporto (TCP) I protocolli di trasporto sono eseguiti

Dettagli

2. Cenni di sistemi operativi

2. Cenni di sistemi operativi 2. Cenni di sistemi operativi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides dal corso «Sistemi Operativi» dei prof. Gherardi/Scandurra dell Università degli studi di Bergamo

Dettagli

Corso di Reti di Calcolatori

Corso di Reti di Calcolatori Politecnico di Torino Corso di Reti di Calcolatori Commutazione e trasmissione Indice degli argomenti... Architettura di una rete Nodi di una rete Canali locali e geografici Commutazione di circuito Commutazione

Dettagli

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A. 2013-2014 Sistemi Operativi M Prof. Anna Ciampolini http://www.lia.deis.unibo.it/courses/som1314 Obiettivi del Corso Completamento

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 13 Alberto Ceselli ceselli@dti.unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 7 Maggio 2007 Outline Java e C# 1 Java

Dettagli

Introduzione ai. Sistemi Distribuiti

Introduzione ai. Sistemi Distribuiti Introduzione ai Sistemi Distribuiti Definizione di Sistema Distribuito (1) Un sistema distribuito è: Una collezione di computer indipendenti che appaiono agli utenti come un sistema singolo coerente. Definizione

Dettagli

Il Modello a scambio di messaggi

Il Modello a scambio di messaggi Il Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto typedef struct{ origine; destinazione; contenuto;

Dettagli

Prof. G. Ascia. Sistema Operativo

Prof. G. Ascia. Sistema Operativo Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti

Dettagli

Modulo extra: Parallel Virtual Machine (PVM)

Modulo extra: Parallel Virtual Machine (PVM) 1 Modulo extra: (PVM) Laboratorio di Sistemi Operativi I Anno Accademico 2005-2006 Francesco Pedullà (Tecnologie Informatiche) Massimo Verola (Informatica) Copyright 2005 Francesco Pedullà, Massimo Verola

Dettagli

Libreria MPI. (Message Passing Interface)

Libreria MPI. (Message Passing Interface) Libreria MPI (Message Passing Interface) Standard Message Passing Interface (MPI) Il primo standard de jure per i linguaggi paralleli a scambio di messaggi (definisce le specifiche sintattiche e semantiche,

Dettagli

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi.

Calcolo parallelo. Una sola CPU (o un solo core), per quanto potenti, non sono sufficienti o richiederebbero tempi lunghissimi. Calcolo parallelo Ci sono problemi di fisica, come le previsioni meteorologiche o alcune applicazioni grafiche, che richiedono un enorme potenza di calcolo. Una sola CPU (o un solo core), per quanto potenti,

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti wireless

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto type messaggio = record origine:. ; destinazione:. ;

Dettagli

ACSO Programmazione di Sistema e Concorrente

ACSO Programmazione di Sistema e Concorrente ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività

Dettagli

Sistemi Operativi. Lezione 7-bis Esercizi

Sistemi Operativi. Lezione 7-bis Esercizi Sistemi Operativi Lezione 7-bis Esercizi Esercizio Problema dei lettori e scrittori Un insieme di processi condivide un file dal quale alcuni possono solo leggere i dati, altri solo scriverli Più lettori

Dettagli

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 www.u4learn.it Alessandro Bruno Introduzione al calcolo parallelo Approcci per il calcolo parallelo Programmazione

Dettagli

Programma e Modalità d Esame

Programma e Modalità d Esame Programma e Modalità d Esame Come programma di esame si assumono tutti gli argomenti trattati dai docenti del corso nelle videolezioni. Tali argomenti sono riepilogati di seguito: I. Concetti base dei

Dettagli

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Piattaforme Software Distribuite. Roberto Beraldi

Piattaforme Software Distribuite. Roberto Beraldi Piattaforme Software Distribuite Roberto Beraldi Middleware classification Middleware Synchronous Approaches (Tightly coupled) Asynchronous approaches (Loosely coupled) Interprocess communication and Serialization

Dettagli

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A. 2011-2012 Sistemi Operativi M Prof. Anna Ciampolini http://www.lia.deis.unibo.it/courses/som1112 Obiettivi del Corso Completare

Dettagli

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A. 2009-2010 Sistemi Operativi M Prof. Anna Ciampolini http://www.lia.deis.unibo.it/courses/sistopm0910 Obiettivi del Corso Completare

Dettagli

Gestione del processore. Il modello a thread

Gestione del processore. Il modello a thread Gestione del processore Il modello a thread 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento privato ed il modo per interagire è quello di utilizzare

Dettagli

Programmazione Concorrente

Programmazione Concorrente Programmazione Concorrente Programmazione in Ambienti Distribuiti A.A. 2003-04 Programmi sequenziali Stack (Variabili locali) Stack pointer Istruzioni Heap (Oggetti) 2 1 Processi paralleli Processo 1 Processo

Dettagli

Esercitazione [1] Processi e Thread

Esercitazione [1] Processi e Thread Esercitazione [1] Processi e Thread Leonardo Aniello - aniello@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo Multi-Nodo Corso di Laurea in Ingegneria Informatica

Dettagli

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP 1 Configurazione degli Host Un host deve essere configurato IP address Subnet mask Default router Server DNS Procedura manuale Necessità di procedure

Dettagli

Libreria MPI. (Message Passing Interface) Standard Message Passing Interface (MPI)

Libreria MPI. (Message Passing Interface) Standard Message Passing Interface (MPI) Libreria MPI (Message Passing Interface) Standard Message Passing Interface (MPI) Il primo standard de jure per i linguaggi paralleli a scambio di messaggi (definisce le specifiche sintattiche e semantiche,

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI

Dettagli

11. Protocollo di trasporto a datagramma: User Datagram Protocol (UDP)

11. Protocollo di trasporto a datagramma: User Datagram Protocol (UDP) 11. Protocollo di trasporto a datagramma: User Datagram Protocol (UDP) 11.1. Introduzione È il più semplice protocollo di trasporto 11.2. Identificare la destinazione finale La macchine sono multiprogrammate:

Dettagli

Modelli Architetturali. Astrazione del sistema - componenti e struttura - distribuzione delle funzionalità

Modelli Architetturali. Astrazione del sistema - componenti e struttura - distribuzione delle funzionalità Modelli di Sistemi Modelli concettuali di supporto allo studio dei sistemi distribuiti Modelli architetturali Descrizione ad alto livello della distribuzione delle funzionalità delle componenti e loro

Dettagli

I thread. Non bastavano i processi?

I thread. Non bastavano i processi? I thread Non bastavano i processi? 1 Il modello a thread : motivazioni Nel modello a processi, ogni processo ha il suo spazio di indirizzamento, vediamo cosa significa... 2 Spazi di indirizzamento distinti

Dettagli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2

Dettagli

SISTEMI DI ELABORAZIONE

SISTEMI DI ELABORAZIONE SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2017/2018 Il progetto deve essere realizzato singolarmente (non è possibile realizzarlo in gruppo).

Dettagli

Programmazione multi threaded in Python. Linguaggi dinamici A.A. 2010/2011 1

Programmazione multi threaded in Python. Linguaggi dinamici A.A. 2010/2011 1 Programmazione multi threaded in Python 1 Motivazione all'uso dei thread Pro Scrittura di applicazioni con molteplici eventi asincroni (GUI) Riduzione della latenza di servizio mediante l'uso di un pool

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A. 2015-2016 Sistemi Operativi M Prof. Anna Ciampolini http://lia.disi.unibo.it/courses/som Obiettivi del Corso Completamento dello

Dettagli

Struttura dei Sistemi Operativi

Struttura dei Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Primitive asincrone. Send non bloccante: il processo mittente, non appena inviato il messaggio, prosegue la sua esecuzione.

Primitive asincrone. Send non bloccante: il processo mittente, non appena inviato il messaggio, prosegue la sua esecuzione. Primitive asincrone Send non bloccante: il processo mittente, non appena inviato il messaggio, prosegue la sua esecuzione. Il supporto a tempo di esecuzione deve fornire un meccanismo di accodamento dei

Dettagli

Sistemi a processori multipli

Sistemi a processori multipli Sistemi a processori multipli Sommario Classificazione e concetti di base Sistemi multi-processore Sistemi multi-computer (cluster) Sistemi distribuiti Obiettivo comune Risolvere problemi di dimensioni

Dettagli

il tipo di parallelismo dipende dal grado di cooperazione

il tipo di parallelismo dipende dal grado di cooperazione Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale

Dettagli

Sistema Operativo. (hardware e software) della della macchina

Sistema Operativo. (hardware e software) della della macchina Sistema Operativo Senza Sistema Operativo (SO) un computer è solo un macchinario inutile... Il SO rende possibile la gestione, elaborazione e immagazinamento dell informazione. Il Il SO SO è il il software

Dettagli

Un codice sorgente. Introduzione alla compilazione automatica: Make e Makefile. Generazione di un programma eseguibile. Un codice sorgente

Un codice sorgente. Introduzione alla compilazione automatica: Make e Makefile. Generazione di un programma eseguibile. Un codice sorgente Un codice sorgente Introduzione alla compilazione automatica: Make e. Un codice scritto in un qualsiasi linguaggio di programmazione ad alto livello si compone di diverse parti, ognuna (preferibilmente)

Dettagli

Telematica di Base. Il livello di trasporto

Telematica di Base. Il livello di trasporto Telematica di Base Il livello di trasporto Trasporto: Servizi e Protocolli Fornisce un servizio di communicazione logica tra applicazioni di rete I protocolli di trasporto sono in esecuzione sugli host

Dettagli

Lezione n.3 LIVELLO TRASPORTO

Lezione n.3 LIVELLO TRASPORTO Università degli Studi di Pisa Lezione n.3 SSIS INFORMATICA LIVELLO TRASPORTO 30/11/2007 Laura Ricci Laura Ricci 1 LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti

Dettagli

Programmazione modulare

Programmazione modulare Programmazione modulare 2018-2019 Indirizzo: Informatica Disciplina: TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Classe: 5B Docente: Maria Lizzi, Giorgio Carnevale Ore settimanali

Dettagli