Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Middleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti"

Transcript

1 Dai sistemi concorrenti ai sistemi distribuiti

2 Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti processi. In tutt e due questi tipi di sistemi, l effetto della concorrenza puo minacciare non solo la correttezza di un algoritmo ma anche il suo progresso globale e locale. La peculiarità però dei sistemi distribuiti rispetto a quelli concorrenti è la comunicazione a scambio di messaggi In seguito, per mettere in evidenza la relazione tra sistemi concorrenti e distribuiti utilizzeremo un benchmark problem, fondamentale in entrambi i sistemi : la mutua esclusione Differentemente dai sistemi concorrenti, i sistemi distribuiti hanno, oltre ad una differente modalità di comunicazione dei processi, l effetto dei guasti parziali che puo minacciare anch esso correttezza e progresso In seguito per mettere in evidenza l effetto dei guasti parziali studieremo: Comunicazione punto-punto Comunicazioni uno a molti (broadcast) Il problema del Consenso e Leader Election Comunicazioni ordinate dai sistemi concorrenti ai sistemi distribuiti 1

3 Specifica di un Problema Si ha un problema che deve essere risolto in un sistema distribuito (concorrente) attraverso un algoritmo deterministico Il problema è espresso tramite una specifica: insieme di proprietà che ricadono in due classi fondamentali: Safety (nothing bad will happen). Definisce quali sono i comportamenti ammissibili. Se un algoritmo soddisfa questa proprietà non esibirà mai un comportamento non ammesso. Liveness (something good will eventually happen). Ha a che fare col concetto di progresso del sistema. Un algoritmo che soddisfa safety è anche un algoritmo che non esegue alcuna azione (in questo modo di certo non esibisce alcun comportamento non ammesso. In questo caso il concetto di liveness impone all algoritmo di eseguire prima o poi (eventually) delle azioni. Un problema può essere risolvibile (ovvero si può definire un algoritmo deterministico che soddisfi la specifica) in alcuni modelli di sistema in modo semplice, in altri modelli in modo più complesso. Lo stesso problema puo essere risolvibile in un sistema ed impossibile da risolvere in un altro. dai sistemi concorrenti ai sistemi distribuiti 2

4 La mutua esclusione dai sistemi concorrenti ai sistemi distribuiti 3

5 Mutua esclusione e sistemi concorrenti La mutua esclusione nasce nei sistemi concorrenti. Abbiamo n processi che vogliono accedere ad una risorsa condivisa Ogni algoritmo di mutua esclusione comprende: - una sottosequenza di istruzioni chiamata sezione critica, l esecuzione della sezione critica consiste nell accesso alla risorsa condivisa. - una sottosequenza di istruzioni che precedono la sezione critica, questa sequenza è chiamata trying protocol - una sottosequenza di istruzioni che seguono la sezione critica, questa sequenza è chiamata exit protocol Avversario: scheduler sceglie di volta in volta l istruzione da eseguire di un certo processo, la sequenza scelta comprendente tutte le istruzioni dei diversi processi è chiamata schedule dai sistemi concorrenti ai sistemi distribuiti 4

6 Mutua esclusione- specifica del problema Definizione del problema in termini di tre proprietà: ME (Mutua Esclusione): due processi non possono essere nelle loro sezioni critiche contemporaneamente Proprietà di Safety ND (No Deadlock): se un processo rimane bloccato nella sua trying section, ci sono uno o piu processi che riescono ad accedere alla sezione critica NS (No Starvation) [OPTIONAL]: nessun processo puo rimanere bloccato nella trying section per sempre Proprietà di Liveness dai sistemi concorrenti ai sistemi distribuiti 5

7 Sistema concorrente - modello di Dijkstra Il modello concorrente definito da Dijkstra prevede che: I processi comunichino leggendo e scrivendo variabili condivise La lettura e scrittura di una variabile sia un azione atomica (non interrompibile: se lo scheduler seleziona un istruzione di lettura/scrittura, l istruzione viene completata senza essere interrotta dall esecuzione di altre istruzioni) Non ci sia alcuna assunzione sul tempo che impiega ogni processo ad eseguire un azione atomica (es. un processo esegue una lettura molto lentamente mentre un altro esegue una lettura molto velocemente) dai sistemi concorrenti ai sistemi distribuiti 6

8 Algoritmo di Dijkstra (1965) Shared variables b[1,..n]: array of Boolean, initially all true c[1,..n]: array of Boolean, initially all true k: integer in range 1,..N, initially any value in its range Local variables j: integer in range 1,..N il processo si prenota trying protocol ciclo della sentinella: la sentinella k seleziona uno dei processi prenotati il processo precedentemente prenotato occupa il processo controlla se ci sono conflitti: almeno un altro processo che ha occupato exit protocol dai sistemi concorrenti ai sistemi distribuiti 7

9 Un possibile schedule (initially k=4) b[1]:= false si è prenotato) if k 1 then P1 P2 P3 (P1 segnala agli altri che begin c [1]:= true (sblocca una sua eventuale occupazione ) b[2]:= false if k 2 then begin c [2]:= true b[3]:= false if k 3 then begin c [3]:= true if b[4] (se P4 non si è prenotato) if b[4] (se P4 non si è prenotato) if b[4] then k:=1 then k:=2 then k:=3 K è passato ad assumere il nome di uno dei processi che si è prenotato dai sistemi concorrenti ai sistemi distribuiti 8

10 Cosa è successo? Alla fine di questa parte di schedule la situazione è la seguente: - la prossima istruzione da eseguire per tutti i processi è l istruzione Li1, che però è true solo per P3 poiché il valore di k=3 - A questo punto P3 occupa (istruzione Li4), gli altri non occupano e vedono che P3 è comunque prenotato, quindi lasciano inalterato il valore di k. Ora P3 entra in sezione (vedi prossima slide) critica perché non rileva conflitti (altri processi che occupano la variabile c). Quando P3 rilascia la sezione critica, rilascia sia la variabile c che b, significa che P1 e P2 rimasti nella trying section prima del ciclo della sentinella possono ora provare a passare il ciclo della sentinella. dai sistemi concorrenti ai sistemi distribuiti 9

11 Continuiamo lo schedule P1 P2 P3 begin c[3]:=false (occupa) for j:= 1 to n do if i j and not c[j] then goto Li1 sezione critica c[3]:=b[3:= true; Da questo schedule sembra che il primo che passa il ciclo della sentinella è anche il primo ad entrare in sezione critica. In realtà questo accade solo se non ci sono conflitti (nessun processo che ha contemporaneamente occupato), Nel caso di conflitto l ordine di entrata in sezione critica lo decide lo scheduler (vedi prossima slide) dai sistemi concorrenti ai sistemi distribuiti 10

12 Continuiamo lo schedule if k 1 then begin c [1]:= true P1 P2 P3 if b[3] (è true, P3 ha rilasciato la CS) then k:=1 if k 1 else begin c [1]:= false (occupa) if i j and not c[j] then goto Li1 if k 2 then begin c [2]:= true if b[3] then k:=2 if k 2 else begin c [2]:= false (occupa) if i j and not c[j] then goto Li1 Nel caso di conflitto (almeno due processi che occupano allo stesso tempo), si torna indietro e si sgombra cancellando le occupazioni, ma uno di loro la mantiene in particolare quello che aveva posto il suo nome su K PER ULTIMO (P2) dai sistemi concorrenti ai sistemi distribuiti 11

13 Sistemi concorrenti: un modello piu debole Abbiamo visto il modello concorrente definito da Dijkstra in cui è possibile che piu processi scrivano e leggano in modo atomico nella/dalla stessa variabile. Questo è un modello che astrae bene sistemi con una sola memoria fisica ma non sistemi multiprocessori con memoria locali In sistemi multiprocessori potremmo avere copie di una stessa variabile su macchine diverse Nota che nell algoritmo di Dijkstra, il ciclo della sentinella funziona basandosi di fatto su meccanismi hardware che organizzano un accesso in mutua esclusione alla memoria fisica (variabile k) dai sistemi concorrenti ai sistemi distribuiti 12

14 Sistema concorrente - modello di Lamport Il modello concorrente definito da Lamport prevede che: I processi comunichino leggendo e scrivendo variabili condivise la lettura e la scrittura di una variabile non sia un azione atomica. Uno scrittore potrebbe scrivere mentre un altro processo sta leggendo Ogni variabile condivisa sia di proprietà di un processo: una variabile condivisa puo essere scritta da un solo processo (il proprietario), gli altri la possono solo leggere Nessun processo possa emettere due scritture concorrentemente La velocità di esecuzione dei processi sono non correlate. In un tempo infinito ogni processo esegue un numero infinito di passi elementari mentre in un tempo finito ne esegue un numero finito dai sistemi concorrenti ai sistemi distribuiti 13

15 Algoritmo del Panettiere (Lamport 1975) Shared variable num[1,..n]: array of integer, initially all 0 choosing[1,..n]: array of Boolean, initially all false %process i owns num[i] and choosing[i]% Local variable j: integer in range 1,..N repeat 1 NCS 2 choosing[i]:= true trying protocol exit protocol 3 num[i]:= 1+ max {num [j] : n! j!1} %DOORWAY% 4 choosing[i]:= false 5 for j:= 1 to n do begin 6 while choosing[j] do skip 7 while num[j] "0 and {num[j], j } < {num[i],i} do skip %BAKERY% 8 end 9 CS 10 num[i]:=0; forever dai sistemi concorrenti ai sistemi distribuiti 14

16 Panettiere - doorway Nella DOORWAY, ogni processo Pi che entra nella trying section lo segnala agli altri grazie alla variabile choosing[i]. Quindi deve prendere un numero di prenotazione, per farlo PRIMA legge tutti i numeri scelti dagli altri prima di lui, quindi prende il massimo e aggiunge uno ATTENZIONE: altri insieme a Pi possono accedere alla doorway concorrentemente! dai sistemi concorrenti ai sistemi distribuiti 15

17 Una run R1 possibile per la doorway P1 choosing[i]:= true P1 legge sicuramente il valore scritto da P2 perchè non vi è concorrenza fra le due operazioni num[1]:=1+max {num[j]:3 j 1 P1 potrenne leggere come no il valore finale scritto da P3 perchè le due operazioni sono concorrenti, in questa run non lo legge NUM[1]=2 P2 choosing[i]:= true NUM[2]=1 num[2]:=1+max {num[j]:3 j 1 P3 choosing[i]:= true num[3]:=1+max {num[j]:3 j 1 NUM[3]=2 durante la concorrenza, P3 potrebbe leggere il valore finale scritto da P2 oppure no, in questa run lo legge dai sistemi concorrenti ai sistemi distribuiti 16

18 Panettiere - bakery Una volta uscito dalla doorway il processo Pi deve assicurarsi che tra i processi che sono in attesa lui è il prossimo ad entrare nella sezione critica, i cicli while a line 7 e 8 hanno esattamente questo scopo: while choosing [j] do skip: Pi si assicura che ogni processo che concorrentemente con lui è acceduto alla doorway completi la scrittura del numero: finchè c è qualcuno che sta ancora scegliendo, Pi aspetta while num[j] 0 and {num[j], j } < {num[i],i} do skip: il processo Pi si assicura che tutti i processi che concorrentemente sono in procinto di accedere all CS abbiano un numero piu grande del suo oppure uguale ma identificativo di processo piu grande: finchè c è qualcuno con un numero più piccolo, Pi aspetta dai sistemi concorrenti ai sistemi distribuiti 17

19 Una run R1 possibile per il bakery P1 choosing[i]:= true NUM[1]=2 choosing[i]:= false while su num NUM[1]=0 P2 NUM[2]=1 choosing[i]:= false while su choosing NUM[2]=0 while su num P3 NUM[3]=2 while su choosing choosing[i]:= false qui si sblocca la while su choosing per P2 e P3, si noti come grazie a questa while i tre processi sono riallineati prima di comparare i numeri tra di loro while su num dai sistemi concorrenti ai sistemi distribuiti 18

20 Sistema distribuito (senza guasti) Rispetto al modello di Lamport si aggiunge il seguente vincolo: - un processo non puo leggere direttamente il valore delle variabili di proprietà degli altri processi, ma per leggere un valore di una variabile di un processo deve esplicitamente inviare un messaggio ed attendere una risposta che conterrà questo valore Formalmente la comunicazione tra processi avviene secondo le seguenti assunzioni: - i processi comunicano leggendo e scrivendo variabili attraverso scambi di messaggi. Il ritardo di trasmissione di un messaggio è impredicibile ma finito - I canali di comunicazione sono affidabili. Un messaggio inviato viene ricevuto correttamente dal suo destinatario. Correttamente significa che uno stesso messaggio non viene ricevuto due volte e che se un messaggio viene ricevuto allora è stato inviato da qualcuno dai sistemi concorrenti ai sistemi distribuiti 19

21 L approccio sbagliato: adattiamo il Bakery Local variable j: integer in range 1,..N; num: integer, initially all 0; choosing: Boolean, initially false; repeat 1 NCS 2 choosing:= true %inizio doorway% %inizio trying% 3 for j!i do 4 send num to pj 5 receive reply(v) from pj 6 num:=max(v,num) 7 num:= num+1 8 choosing:= false %fine doorway% dai sistemi concorrenti ai sistemi distribuiti 20

22 L approccio sbagliato: adattiamo il Bakery 1 for j:= 1 to n do begin %inizio bakery% 2 repeat 3 send choosing to pj 4 receive reply(v) from pj 5 until v 6 repeat 7 send num to pj 8 receive reply(v) from pj 9 until v=0 or {v, j } < {num,i} 10 end %fine bakery% %fine trying% 11 CS 12 num:=0; %exit protocol% forever dai sistemi concorrenti ai sistemi distribuiti 21

23 L approccio sbagliato: adattiamo il Bakery Thread di comuncazione: Upon the arrival of a num message from process j send reply(num) to process j Upon the arrival of a choosing message from process j send reply(choosing) to process j dai sistemi concorrenti ai sistemi distribuiti 22

24 Perchè non è una buona soluzione? In questo algoritmo il processo Pi si comporta da server rispetto alle proprie variabili num e choosing Ogni processo si limita a recuperare (leggere) i valori locali agli altri processi con una richiesta-reply Ciò implica che: - per ogni lettura abbiamo 2n messaggi scambiati - per entrare in sezione critica servono 3 scambi di messaggi (tre letture) che costano in totale 6n messaggi - la latenza per un singolo scambio di messaggi è uguale al tempo impiegato all accoppiata canale-processo piu lenti Fondamentalmente la LOCALITA dell informazione, crea un problema in piu rispetto ad un sistema concorrente dove le variabili sono comuni a tutti, problema che deve essere opportunamente affrontato con un design completamente diverso (sebbene i due sistemi abbiano molte caratteristiche in comune). dai sistemi concorrenti ai sistemi distribuiti 23

25 Algoritmo di Lamport (per sistema distribuito) L idea di base: - Il processo non acquisisce il numero dagli altri ma arriva con un numero già in tasca (AUTONOMIA) - Fa quindi una richiesta allegando questo numero. Gli altri processi gli dicono se puo entrare o no Modello di sistema - Assunzione aggiuntiva rispetto a no guasti, canali affidabili e asincronia: canali FIFO (se un processo Pi invia prima un messaggio m e poi un messaggio m, allora nessun processo consegna m se non ha già consegnato m) dai sistemi concorrenti ai sistemi distribuiti 24

26 Algoritmo di Lamport Ogni processo mantiene un clock logico scalare ed una coda (per memorizzare le richieste di accesso alla sezione critica). Regole dell algoritmo: - Richiesta sezione critica: Pi manda un messaggio di richiesta con il timestamp a tutti gli altri processi e aggiunge la coppia (richiesta,timestamp) alla coda locale - Ricezione di una richiesta: la richiesta (con il suo timestamp) sono memorizzati nella coda ed un messaggio di acknowledgment è inviato indietro - Accesso di Pi alla sezione critica se e solo se: - Pi ha una richiesta in coda con timestamp t - t è il timestamp più piccolo tra quelli presenti in coda - Pi ha già ricevuto da ogni altro processo una messaggio di acknowledgment con timestamp più grande di t - Rilascio sezione critica: Pi manda un msg di release a tutti gli altri ed elimina la richiesta dalla coda; - Ricezione di una release: la richiesta è eliminata dalla coda dai sistemi concorrenti ai sistemi distribuiti 25

27 Algoritmo di Lamport - esempio P1 1, id1 2, id1 3, id1 3, id1 5, id1 Tempo T : P2 ha ricevuto due ack con timestamp ([5,id3], [5,id1]) più grandi di quello relativo alla sua richiesta ([3,id2]) P2 P3 1, id2 1, id3 2, id2 5, id3 8, id2 3, id1 3, id1 T P2 ha in coda una richiesta con timestamp più piccolo ([3,id1]) P2 non può ancora accedere alla sezione critica! Messaggio di richiesta Coda locale Messaggio di ack Messaggio di release Messaggio generico dai sistemi concorrenti ai sistemi distribuiti 26

28 Algoritmo di Lamport - esempio 1, id1 P1 2, id1 3, id1 3, id1 5, id1 SC Tempo T : P1 ha ricevuto due ack con timestamp ([8,id2], [7,id3]) più grandi di quello relativo alla sua richiesta ([3,id1]) P2 1, id2 2, id2 3, id1 8, id2 P1 non ha in coda una richiesta con timestamp più piccolo di [3,id1] P3 1, id3 5, id3 3, id1 7, id3 T P1 accede alla sezione critica! Messaggio di richiesta Coda locale Messaggio di ack Messaggio di release Messaggio generico dai sistemi concorrenti ai sistemi distribuiti 27

29 Algoritmo di Lamport - esempio Tempo T : P2 ha ricevuto due ack con timestamp ([5,id3], [5,id1]) più grandi di quello relativo alla sua richiesta ([3,id2]) 3, id1 3, id1 5, id1 SC P2 riceve il msg di release da P1: elimina dalla coda la richiesta con timestamp [3,id1] 8, id2 SC P2 accede alla sezione critica! 3, id1 5, id3 7, id3 Messaggio di richiesta Coda locale 3, id1 Messaggio di ack Messaggio di release Messaggio generico dai sistemi concorrenti ai sistemi distribuiti 28 T

30 Algoritmo di Lamport - canali FIFO e ME Supponi per contraddizione che due processi Pi e Pj sono contemporaneamente in sezione critica 1. Il processo Pi ha inviato la sua richiesta a Pj e ottenuto un acknowledgment. Al momento in cui Pi ottiene un acknowledgement, Pj ha inserito la richiesta di Pi nella sua coda locale. 2. D altro canto lo stesso è accaduto per Pj: il processo Pj ha inviato la sua richiesta a Pi e ottenuto un acknowledgment. Al momento in cui Pj ottiene un acknowledgement, Pj ha inserito la richiesta di Pi nella sua coda locale. 3. Dalla proprietà di ordine totale dei timestamps (clock scalare+identificativo di processo) supponi senza perdita di generalità che la richiesta di Pi ha timestamp piu piccolo della richiesta di Pj. Pi Pj Pj Pi Pi Pj ack Pj ack Pj Pi Pj Pi MA questo scenario non si può verificare (violazione FIFO)! Pi Pj ack ack sc sc Per FIFO si vede che Pi e Pj hanno in coda tutt e due le richieste quando ricevono l ack dall altro. Dalla propietà di ordine totale dei timespamps si arriva subito ad una contraddizione. dai sistemi concorrenti ai sistemi distribuiti 29

31 Algoritmo di Lamport - proprietà L algoritmo di Lamport rispetta anche la proprietà di Fairness: Fairness: differenti richieste devono essere soddisfatte nell ordine in cui vengono fatte. - l ordine è stabilito dalla relazione happened-before: se due richieste sono ordinate rispetto all happened before allora l accesso alle sezione critica deve essere garantito in tale ordine. Se due richieste sono concorrenti rispetto all happened before l accesso può avvenire in qualsiasi ordine Performance: message complexity: richiede 3(N-1) per l invocazione di una sezione critica: N-1 messaggi di richiesta, N-1 messaggi di ack, N-1 messaggi di release time complexity: c è un tempo di ritardo di due messaggi per aver il permesso di accesso alla sezione critica dai sistemi concorrenti ai sistemi distribuiti 30

32 Esercizi Considerate l algoritmo di Dijkstra e rispondete alle seguenti domande: 1. La proprietà di Safety ME è garantita dall uso che si fa della variabile c. Spiegare il perché. 2. La proprietà di Liveness ND è garantita da un uso oppurtuno della variabile k. Spiegare il perché. 3. Un processo che setta con successo la variabile k quante volte puo eseguire l istruzione goto Li1 prima di entrare in sezione critica? 4. Perchè NS non è soddisfatta? Fornire un particolare schedule in cui si viola NS Considerate l algoritmo del panettiere di Lamport e rispondete alle seguenti domande, 1. Dire se la seguente affermazione è vera: se un processo i è nella doorway ed un processo j è nella bakery section allora {num[j], j } < {num[i],i}. Dire se questa è una condizione neccessaria o no o garantire ME. 2. Perché è soddisfatta NS? 3. L algoritmo del panettiere gode anche della proprietà FCFS. Perchè non vale la seguente (più intuitiva) nozione di FCFS: se il Pi entra nella doorway prima di Pj allora Pi entrerà in sezione critica prima di Pj. Considerate l algoritmo di Lamport per sistemi distribuiti. Tentando di combinare i messaggi di release e di acknowledgement, vedere se è possibile rinunciare all assunzione di canali FIFO. dai sistemi concorrenti ai sistemi distribuiti 31

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Supponiamo sempre di avere un ponte stretto che permette il passaggio delle auto solo in un verso per volta,

Dettagli

STRUTTURE (O COSTRUTTI) DI CONTROLLO

STRUTTURE (O COSTRUTTI) DI CONTROLLO Le strutture di controllo Le strutture di controllo STRUTTURE (O COSTRUTTI) DI CONTROLLO determinano l ordine con cui devono essere eseguite le istruzioni sono indipendenti dalla natura delle istruzioni

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

Gli algoritmi. Gli algoritmi. Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Sistemi Operativi Sincronizzazione tra Processi

Sistemi Operativi Sincronizzazione tra Processi Sistemi Operativi Processi Docente: Claudio E. Palazzi cpalazzi@math.unipd.it Crediti per queste slides al Prof. Tullio Vardanega 1 Processi indipendenti possono avanzare concorrentemente senza alcun vincolo

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Semplici Algoritmi di Ordinamento

Semplici Algoritmi di Ordinamento Fondamenti di Informatica Semplici Algoritmi di Ordinamento Fondamenti di Informatica - D. Talia - UNICAL 1 Ordinamento di una sequenza di elementi Esistono molti algoritmi di ordinamento. Tutti ricevono

Dettagli

Istruzioni per il controllo di ciclo - ciclo a condizione generica

Istruzioni per il controllo di ciclo - ciclo a condizione generica Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi

Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi TIPI DI DATO Tipicamente un elaboratore è capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe di caratteri e quasi sempre anche collezioni di oggetti,

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960.

Definizione. File di dati. Insieme di record omogenei memorizzati in memoria di massa. Record. Bianchi. Anna Roma 1980. Verdi. Luca Milano 1960. File di dati Definizione File di dati Insieme di record omogenei memorizzati in memoria di massa Bianchi Verdi Neri Verdi Anna Roma 1980 Luca Milano 1960 Andrea Torino 1976 Paola Bari 1954 Record Operazioni

Dettagli

Il linguaggio SQL: transazioni

Il linguaggio SQL: transazioni Il linguaggio SQL: transazioni Sistemi Informativi T Versione elettronica: 4.8.SQL.transazioni.pdf Cos è una transazione? Una transazione è un unità logica di elaborazione che corrisponde a una serie di

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Note e informazioni legali

Note e informazioni legali Note e informazioni legali Proprietà del sito; accettazione delle condizioni d uso I presenti termini e condizioni di utilizzo ( Condizioni d uso ) si applicano al sito web di Italiana Audion pubblicato

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante

Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Introduzione Il problema del massimo flusso. Preflow-push e augmenting path: un approccio unificante Il problema del massimo flusso è uno dei fondamentali problemi nell ottimizzazione su rete. Esso è presente

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless La configurazione degli indirizzi IP Configurazione statica, con DHCP, e stateless 1 Parametri essenziali per una stazione IP Parametri obbligatori Indirizzo IP Netmask Parametri formalmente non obbligatori,

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

Alberto Bartoli Presidente Corso di Studi Ingegneria Informatica Coordinatore Dottorato di Ricerca Ingegneria dell Informazione

Alberto Bartoli Presidente Corso di Studi Ingegneria Informatica Coordinatore Dottorato di Ricerca Ingegneria dell Informazione Alberto Bartoli Presidente Corso di Studi Ingegneria Informatica Coordinatore Dottorato di Ricerca Ingegneria dell Informazione Dipartimento di Elettrotecnica, Elettronica, Informatica Università di Trieste

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it Sicurezza delle reti wireless Alberto Gianoli alberto.gianoli@fe.infn.it Concetti di base IEEE 802.11: famiglia di standard tra cui: 802.11a, b, g: physical e max data rate spec. 802.11e: QoS (traffic

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione

Dettagli

Introduzione al VHDL. Alcuni concetti introduttivi

Introduzione al VHDL. Alcuni concetti introduttivi Introduzione al VHDL Alcuni concetti introduttivi Riferimenti The VHDL Cookbook, Peter J. Ashenden, Reperibile nel sito: http://vlsilab.polito.it/documents.html The VHDL Made Easy, David Pellerin, Douglas

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Inter Process Communication (IPC) in POSIX E.Mumolo, DEEI mumolo@units.it Pipe Cos'è un pipe? E' un canale di comunicazione che unisce due processi Caratteristiche: La più vecchia

Dettagli

Modulo 11. Il livello trasporto ed il protocollo TCP Indice

Modulo 11. Il livello trasporto ed il protocollo TCP Indice Pagina 1 di 14 Il livello trasporto ed il protocollo TCP Indice servizi del livello trasporto multiplexing/demultiplexing trasporto senza connesione: UDP principi del trasferimento dati affidabile trasporto

Dettagli

Interazione, sincronizzazione e comunicazione tra processi

Interazione, sincronizzazione e comunicazione tra processi Interazione, sincronizzazione e comunicazione tra processi Classificazione Processi interagenti processi interagenti/indipendenti due processi sono indipendenti se l esecuzione di ognuno non è in alcun

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 14 - Thread in Java 1 Cos è un

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Manuale Operativo IL SOFTWARE PER LA GESTIONE CENTRALIZZATA DEL SISTEMA DELLE SEGNALAZIONI E DEI RECLAMI DELL ENTE

Manuale Operativo IL SOFTWARE PER LA GESTIONE CENTRALIZZATA DEL SISTEMA DELLE SEGNALAZIONI E DEI RECLAMI DELL ENTE Manuale Operativo IL SOFTWARE PER LA GESTIONE CENTRALIZZATA DEL SISTEMA DELLE SEGNALAZIONI E DEI RECLAMI DELL ENTE Il presente documento applica il Regolamento sulla gestione delle segnalazioni e dei reclami

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

La disseminazione dei progetti europei

La disseminazione dei progetti europei La disseminazione dei progetti europei Indice 1. La disseminazione nel 7PQ: un obbligo! 2. Comunicare nei progetti europei 3. Target audience e Key Message 4. Sviluppare un dissemination plan 5. Message

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione.

Quando A e B coincidono una coppia ordinata é determinata anche dalla loro posizione. Grafi ed Alberi Pag. /26 Grafi ed Alberi In questo capitolo richiameremo i principali concetti di due ADT che ricorreranno puntualmente nel corso della nostra trattazione: i grafi e gli alberi. Naturale

Dettagli

Lab. 1 - Introduzione a Matlab

Lab. 1 - Introduzione a Matlab Lab. 1 - Introduzione a Matlab Alcune informazioni su Matlab Matlab è uno strumento per il calcolo scientifico utilizzabile a più livelli, dalla calcolatrice tascabile, alla simulazione ed analisi di sistemi

Dettagli

Non è compresa nel presente contratto l assistenza tecnica sui sistemi hardware e software dell UTENTE.

Non è compresa nel presente contratto l assistenza tecnica sui sistemi hardware e software dell UTENTE. CONDIZIONI GENERALI DI UTILIZZO DEL PROGRAMMA ONEMINUTESITE 1. PREMESSA L allegato tecnico contenuto nella pagina web relativa al programma ONEMINUTESITE(d ora in avanti: PROGRAMMA, o SERVIZIO O SERVIZI)

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

Dettagli

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

XM100GSM SCHEDA GSM PER CENTRALI SERIE XM

XM100GSM SCHEDA GSM PER CENTRALI SERIE XM 1 Stato del combinatore direttamente sul display della Consolle XM Interrogazione credito residuo tramite SMS e inoltro SMS ricevuti Messaggi di allarme pre-registrati Completa integrazione con centrali

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Ricerca non informata in uno spazio di stati

Ricerca non informata in uno spazio di stati Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A5_2 V2.4 Ricerca non informata in uno spazio di stati Il contenuto del documento è liberamente utilizzabile dagli

Dettagli

Trattamento aria Regolatore di pressione proporzionale. Serie 1700

Trattamento aria Regolatore di pressione proporzionale. Serie 1700 Trattamento aria Serie 7 Serie 7 Trattamento aria Trattamento aria Serie 7 Serie 7 Trattamento aria +24VDC VDC OUTPUT MICROPROCESS. E P IN EXH OUT Trattamento aria Serie 7 Serie 7 Trattamento aria 7 Trattamento

Dettagli

AREA RETTANGOLO LIRE IN EURO

AREA RETTANGOLO LIRE IN EURO AREA RETTANGOLO Private Sub Area() Dim h As Integer h = InputBox("altezza") b = InputBox("base") A = b * h MsgBox( L area del Rettangolo è : & A) LIRE IN EURO Dim lire As Double Dim euro As Double lire

Dettagli

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT

Introduzione. Esempio 1. Soluzione: SPOSTA_1.BAT Introduzione Un file batch è un file di testo di tipo ASCII che contiene una sequenza di comandi DOS. I file batch devono avere estensione.bat I comandi DOS all interno dei programmi batch sono eseguiti

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

Appunti di Logica Matematica

Appunti di Logica Matematica Appunti di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Una proposizione è un affermazione che esprime un valore di verità, cioè una affermazione che è VERA oppure FALSA. Ad esempio: 5

Dettagli

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Scuola Specializzazione Istruzione Superiore Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Michele Batocchi ITC Vittorio Emanuele II Perugia A.S. 2007/2008 Introduzione

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Rapida Introduzione all uso del Matlab Ottobre 2002

Rapida Introduzione all uso del Matlab Ottobre 2002 Rapida Introduzione all uso del Matlab Ottobre 2002 Tutti i tipi di dato utilizzati dal Matlab sono in forma di array. I vettori sono array monodimensionali, e così possono essere viste le serie temporali,

Dettagli

Flusso a costo minimo e simplesso su reti

Flusso a costo minimo e simplesso su reti Flusso a costo minimo e simplesso su reti La particolare struttura di alcuni problemi di PL può essere talvolta utilizzata per la progettazione di tecniche risolutive molto più efficienti dell algoritmo

Dettagli

Dispense del Corso di Algoritmi e Strutture Dati

Dispense del Corso di Algoritmi e Strutture Dati Dispense del Corso di Algoritmi e Strutture Dati Marco Bernardo Edoardo Bontà Università degli Studi di Urbino Carlo Bo Facoltà di Scienze e Tecnologie Corso di Laurea in Informatica Applicata Versione

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Basi di Dati. S Q L Lezione 5

Basi di Dati. S Q L Lezione 5 Basi di Dati S Q L Lezione 5 Antonio Virdis a.virdis@iet.unipi.it Sommario Gestione eventi Gestione dei privilegi Query Complesse 2 Esercizio 9 (lezione 4) Indicare nome e cognome, spesa e reddito annuali

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Ultimo aggiornamento avvenuto il 18 giugno 2014. Sostituisce la versione del 2 maggio 2013 nella sua interezza.

Ultimo aggiornamento avvenuto il 18 giugno 2014. Sostituisce la versione del 2 maggio 2013 nella sua interezza. Condizioni di utilizzo aggiuntive di Acrobat.com Ultimo aggiornamento avvenuto il 18 giugno 2014. Sostituisce la versione del 2 maggio 2013 nella sua interezza. SERVIZI ONLINE ADOBE RESI DISPONIBILI SU

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997

RAPPRESENTAZIONE BINARIA DEI NUMERI. Andrea Bobbio Anno Accademico 1996-1997 1 RAPPRESENTAZIONE BINARIA DEI NUMERI Andrea Bobbio Anno Accademico 1996-1997 Numeri Binari 2 Sistemi di Numerazione Il valore di un numero può essere espresso con diverse rappresentazioni. non posizionali:

Dettagli

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi Prof. S.Pizzutilo Elementi

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

RICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3

RICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3 RICORSIVITA 1. Cos è la ricorsività? La ricorsività è un metodo di soluzione dei problemi che consiste nell esprimere la soluzione relativa al caso n in funzione della soluzione relativa al caso n-1. La

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012

explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012 explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012 1 Indice 1. Descrizione del sistema e Requisiti hardware e software per l installazione... 4 1.1 Descrizione del

Dettagli

Utilizzare Swisscom TV

Utilizzare Swisscom TV Swisscom (Svizzera) SA Contact Center CH-3050 Bern www.swisscom.ch 125474 12/2010 Utilizzare Swisscom TV Panoramica delle funzioni più importanti Indice Funzioni importanti quadro generale 3 Funzione PiP

Dettagli