LABORATORIO di Reti di Calcolatori
|
|
- Michele Brunelli
- 4 anni fa
- Visualizzazioni
Transcript
1 LABORATORIO di Reti di Calcolatori Strumenti di specifica di protocolli e algoritmi di rete 1 of 44 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed., 2009 q cap.3 (tutto) 2 of 44 1
2 v protocollo: insieme di regole per la comunicazione tra entità peer q per superare problemi di differente linguaggio dovuto a sistemi eterogenei v esistono organismi standardizzatori: q IEEE, OSI, IETF... Specifica di protocolli q definizione precisa delle regole v specifica = sintassi del linguaggio di comunicazione q chiunque può implementare protocollo standard autonomamente, con le politiche interne preferite, purchè l'interfaccia di comunicazione sia aderente alla specifica 3 of 44 v serve per vincolare l'implementazione q garantisce che tutte le implementazioni di dato protocollo possono inter-operare v serve per derivare formalmente proprietà del protocollo q dimostrazioni di correttezza del protocollo rispetto ai requisiti di servizio da fornire ai livelli superiori v strumenti diversi; livelli di dettaglio diversi v diagrammi temporali Specifica di protocolli q catturano parallelismo, ma pochi dettagli 4 of 44 2
3 v Automi a Stati Finiti (ASF) q descrizione a colpo d'occhio, ma di difficile rappresentazione se protocollo complesso v tabelle stati-eventi Strumenti di specifica q arricchimento degli AFS usati in documenti standard (e.g. specifica TCP v pseudo-codice ad alto livello delle operazioni eseguite dal protocollo q non si vede parallelismo tra entità di protocollo q può essere di difficile lettura, ma porta subito a implementazione reale 5 of 44 Diagrammi temporali v a differenza del precedente si vedono interazioni tra peer v scarso livello dettaglio operazioni v utile per dimostrazioni su proprietà per concorrenza S Msg 1 Msg 2 Msg2 - response D set timer 6 of 44 3
4 v stati rilevanti in cui si trova un processo v attende evento: q ricezione di un messaggio, arrivo di interrupt, scadenza timer... v al verificarsi di evento, processo può q cambiare valore variabili interne q produrre evento esterno (invio msg) q evolvere in nuovo stato con comportamento differente v rappresentazione: Automi a Stati Finiti IN, act, OUT current state INevent, action, OUTevent new state 7 of 44 Automi a Stati Finiti: esempio v protocollo dummy: q proc parte quando riceve Msg1 e set timer; q se riceve Msg2 prima di timeout risponde, altrimenti no q in ogni caso fa re-set timer q quando riceve Msg3, il processo termina Msg2 && timer not expired; set timer; response to Msg2 idle state Msg1; set timer; --- Msg3; exit; --- state_1 Msg2 && timer expired; set timer; 8 of 44 4
5 v dettagliano ASF tabella definizione q eventi in ingresso: ricezione messaggio di tipo xxx q eventi in uscita: invio messaggio di tipo yyy q stati del processo Tabelle stati-eventi q predicati: asserzione il cui valore di verità controlla l'evoluzione del protocollo P0: il contenuto del messaggio è corretto q stato del processo: variabili timer T, contatore C... q azioni eseguite dal protocollo reset valore T; incrementa C... 9 of 44 Primitive di servizio Confirm source Request Indication destination Response v comunicazione via buffer e interrupt v entità richiede (Request) invio messaggio v a dest: arrivo msg segnalato a dest (Indication) v se servizio confermato: q dest invia risposta/conferma ricezione (Response)... q... segnalata a sorgente (Confirm) v esempio servizio confermato? con ricevuta 10 of 44 5
6 Tabelle stati-eventi (cont.) P0: timer expired [1] : set timer stato evento Msg1.Ind Msg2.Ind Msg3.Ind idle-state [1]; state_ P0: Msg2.Resp; [1]; state_1 --- state_1 init-state P0: [1]; state_1 11 of 44 Pseudo-codice v da esempio precedente: define maxtime 100 procedure initialization {! timer 0; expired_timer False; } procedure idle_state {! when (received Msg1) do! timer maxtime;! }! procedure P0 {! if (expired_timer) then return(true);! else return(false); }! 12 of 44 6
7 Pseudo-codice (cont.) procedure state_1 {! while (True) do! when (timeout) do expired_timer True;! when (received Msg2) do! if ( P0) then send response to Msg2;! timer maxtime;! expired_timer False; when (received Msg3) do exit;! }! procedure Main {! initialization();! idle_state();! state_1()! }! 13 of 44 Esempio: silly stop&wait v sender: 1. quando riceve msg da applicazione lo invia a peer 2. attende la ricezione di un acknowledgment 3. dopo ricezione ack torna al punto 1 v receiver: 1. quando riceve msg da peer gli invia ack v quanti stati per il sender? e per il receiver? 14 of 44 7
8 SS&W: diagramma temporale S D arrivo msg da appl. msg ack to msg deliver msg to dest appl. 15 of 44 SS&W: automi a stati finiti v ASF for sender: msg from appl; ---; send msg idle state ack to msg; ---; --- wait state v ASF for receiver: unique state msg from peer; deliver to dest appl.; send ack to msg 16 of 44 8
9 SS&W: tabella stati-eventi stato evento unique state msg.indication msg.response; [1] unique state receiver [1]: deliver msg to dest appl. stato evento msg in queue from appl msg.confirm idle state msg.request; wait state --- sender wait state skip; wait state idle state 17 of 44 SS&W: pseudo-codice SENDER! procedure init { }! procedure idle_state {! when (received Msg) do! send Msg;! }! procedure wait_state {! when (received ack to Msg) do skip;! }! procedure Main{!! init();! while (True) do! idle_state();! wait_state();! }! RECEIVER! procedure init { }! procedure unique_state {! when (received Msg) do! send ack to Msg;! deliver msg to appl;! }! procedure Main{!! init();! while (True) do! unique_state();! }! 18 of 44 9
10 Commenti v non esiste specifica univoca q nel primo esempio si possono usare 2 stati al posto di state_1, e passare da uno all'altro in funzione dello stato del timer... v provare a ridisegnare per homework... J v per homework, specificare diagramma temporale, ASF, tabella stati-eventi e pseudocodice per sender nel primo esempio q ipotizzando che Msg2 venga inviato quando ricevuto da applicazione q attenzione che può anche ricevere risposta a Msg2 come Msg2.Confirm 19 of 44 Server iterativo: diagramma temp. C service.req IDLE S service.req C service.resp waiting talking talking interazioni client server service.resp close.req close.resp 20 of 44 10
11 Server concorrente: diagr. temp. C IDLE S service.req C interleaving nei tempi morti service.req service.resp service.resp talking talking talking talking close.req close.resp 21 of 44 Server multiprocesso: diagr. temp. C service.req IDLE S service.req C service.resp talking talking S S service.resp talking talking close.req close.req END END close.resp 22 of 44 11
12 Confronto modelli servizio v cosa succede se interazione con server è di 1 messaggio? q server iterativo è molto simile a quello concorrente q allora: scelta server può dipendere da modalità interazione v concorrenza di server multi-processo è reale? q beh con una sola CPU J q server figli gestiscono unico client, quindi non sono né iterativi né concorrenti! v server concorrente è il più difficile da implementare q in ogni istante può ricevere messaggi di qualunque tipo q si vede negli automi! 23 of 44 Server iterativo: ASF idle state service.ind; --; service.resp data.ind; --; data.resp close.ind; --; close.resp work state v esce da Idle quando riceve service.req v quando vi entra, ne esce immediatamente se esistono altre service.req in coda q cioè in attesa all interfaccia con livello inferiore v lo ASF del client è sempre uguale è esercizio! 24 of 44 12
13 idle state Server concorrente: ASF service.ind; --; service.resp work state data.ind; --; data.resp close.ind no other clients; --; close.resp service.ind; --; close.ind other clients; --; close.resp service.resp v serve ancora la coda? beh, è quella con livello inferioreà SI v abbiamo messo tutte le transizioni possibili? q può ricevere service.req mentre Idle? dipende ritrasmissioni, messaggi in ritardo forse si! q attenzione a gestire anche situazioni anomale dovute a caratteristiche livelli inferiori à gestione eccezioni (o segmentation fault!) 25 of 44 esercizi v costruire tabella stati-eventi per: 1. client 2. server iterativo 3. server concorrente 4. server multi-processo? J v nel caso 3, la possibile presenza di situazioni anomale è rivelata da caselle vuote nella tabella q devono proprio essere così? da accertare 26 of 44 13
14 Specifica idle RQ v Primary manda frame e si blocca in attesa di ACK q se scadenza timer ritrasmissione, ritrasmette stesso frame v Secondary in attesa di ricezione q se riceve frame danneggiato fa drop q se riceve frame corretto manda ACK q se frame corretto è quello atteso, consegna a Network Layer 27 of 44 idle RQ: ASF per Primary Specific actions: [1] = start timer [4] = increment RetxCount [2] = increment Vs [5] = Increment ErrorCount [3] = stop timer [6] = Reset RetxCount to zero 28 of 44 14
15 Primary : tabella stati - eventi 29 of 44 Primary : tabella stati - eventi 30 of 44 15
16 Primary : tabella stati - eventi trasmette frame; set timer; incrementa #seq 31 of 44 Primary : tabella stati - eventi incrementa contatore errori 32 of 44 16
17 Primary : tabella stati - eventi non fa nulla 33 of 44 Primary : tabella stati - eventi se riceve ACK per frame outstanding, con CRC corretto: ferma timer; reset contatore ritrasmissioni 34 of 44 17
18 Primary : tabella stati - eventi se riceve ACK per frame outstanding, ma CRC errato: ritrasmette; fa ripartire timer; incrementa counter ritrasmissioni 35 of 44 Primary : tabella stati - eventi se riceve frame che non è ACK ed è errato: incrementa counter errori 36 of 44 18
19 Primary : pseudo-codice v implementazione sulla falsariga della specifica: q tipi enumerativi per eventi e stati q variabili di stato q procedure per eventi in output e azioni q funzioni per controllo predicati 37 of 44 Primary : pseudo-codice 38 of 44 19
20 Secondary: ASF 39 of 44 Secondary: tabella stati - eventi 40 of 44 20
21 Secondary: tabella stati - eventi 41 of 44 Secondary: tabella stati - eventi se CRC errato: chiedi ritrasmissione frame atteso; incrementa contatore errori 42 of 44 21
22 Secondary: tabella stati - eventi se CRC corretto e frame già ricevuto in precedenza: invia ACK 43 of 44 Secondary: tabella stati - eventi se CRC corretto e frame atteso: consegna frame; invia ACK; aggiorna #seq atteso 44 of 44 22
LABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Architetture client-server 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,
DettagliModello 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
DettagliSoluzione: (basata su round sincroni) Soluzione: (basata su processo leader) upon event <tob, Init> do tosend = ; todeliver = ; starttimer(δ + ε);
Esercizio 1 Si consideri un sistema distribuito composto da N processi ciascuno dei quali è identificato attraverso un intero univoco. Supponendo che il sistema sia sincrono, che i processi non si guastino
DettagliTelematica 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
DettagliReti 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
DettagliParte II: Reti di calcolatori Lezione 13 (37)
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Parte II: Reti di calcolatori Lezione 13 (37) Venerdì 21-04-2017 1 Trasferimento
DettagliTCP: apertura della connessione. Apertura connessione (handshake)
TCP: apertura della connessione Prima dello scambio dati, sender e receiver si "stringono la mano": Concordano sull aprire la connessione Concordano su alcuni parametri A livello trasporto, la richiesta
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Socket in linguaggio C: server concorrente single-process 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione
DettagliRETI DI CALCOLATORI Home Assignment protocolli a finestra scorrevole. Prima parte
RETI DI CALCOLATORI Home Assignment protocolli a finestra scorrevole Prima parte Q1. Indicare giustificando la risposta se è possibile o meno che la dimensione della finestra del protocollo Go-Back-N sia
DettagliCome scrivere bene codice? (1 di 1)
DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.
DettagliHomework assignment #2. Maurizio Bonuccelli. Dipartimento di Informatica Università di Pisa
Homework assignment #2 Maurizio Bonuccelli Dipartimento di Informatica Università di Pisa Q1. Indicare giustificando la risposta se è possibile o meno che la dimensione della finestra del protocollo Go-Back-N
DettagliTelematica di Base. IL Livello di Trasporto TCP
Telematica di Base IL Livello di Trasporto TCP TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione,
DettagliReti di Calcolatori e Laboratorio
Nome: Matricola: Esercizio 1 (8 punti) Due terminali comunicano tramite un canale inaffidabile, nel quale i pacchetti possono essere persi o venir corrotti. Per ottenere un servizio di comunicazione affidabile,
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Socket: concetti fondamentali 1 of 18 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,
DettagliIl livello trasporto: controllo di flusso in TCP
Reti di Calcolatori I Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso di Laurea in Ingegneria delle Telecomunicazioni Corso di Laurea in Ingegneria
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Socket in linguaggio C: protocollo connection-oriented 1 of 15 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione
DettagliPrincipi di trasferimento affidabile
Principi di trasferimento affidabile Il livello rete è inaffidabile: Presenza di errori Perdita e duplicazione di pacchetti Ordine dei pacchetti non garantito In caso di errori è necessario: Rilevare e/o
DettagliEsercitazione #2. Antonio Brogi. Dipartimento di Informatica Università di Pisa
Esercitazione #2 Antonio Brogi Dipartimento di Informatica Università di Pisa Finora in aula 1.Lun 21/09/2015 16:00-18:00 (2:0 h) lezione: Introduzione al corso. Introduzione alle reti. (Antonio Brogi)
DettagliTecniche ARQ (protocolli a finestra)
ecniche AQ (protocolli a finestra) Gruppo eti LC nome.cognome@polito.it http://www.telematica.polito.it/ ECNICHE AQ - 1 ecniche per la protezione dagli errori di trasmissione FEC (Forward Error Correction)
DettagliStrutture di Controllo
Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro
DettagliEsercitazione 3 Programmazione Concorrente nel linguaggio go. 13 Novembre 2017
Esercitazione 3 Programmazione Concorrente nel linguaggio go 13 Novembre 2017 1 Concorrenza in go 2 creazione goroutine Sintassi : Esempio go func IsReady(what string, minutes int64)
DettagliIl 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
DettagliReti e Protocolli rassegna (II)
Reti e Protocolli rassegna (II) Francesco Dalla Libera francesco@dallalibera.org Prestazioni di un sistema di comunicazione: metriche Throughput (larghezza di banda) analogico: range di frequenze ammissibili
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliRisoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
DettagliLezione 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
DettagliArchitetture data-flow
Architetture data-flow Le architetture che abbiamo visto finora sono dette architetture control flow. Ciò sta ad indicare che il flusso dell elaborazione è dettato dall ordine con cui le varie istruzioni
DettagliImplementazione di DFA in C
Implementazione di DFA in C Dispensa di Laboratorio di Linguaggi di Programmazione Sommario Corrado Mencar, Pasquale Lops, Stefano Ferilli Questa dispensa fornisce le linee guida per l implementazione,
DettagliCorso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: controllo di congestione
DettagliNote sull utilizzo di ISAGRAF V. 3.31
Appendice B Note sull utilizzo di ISAGRAF V. 3.31 B.1 Lettura del fronte di salita di una variabile Nel linguaggio Ladder è sufficiente settare il contatore come in figura B.1(A) per leggere il fronte
DettagliPrestazioni stop-and-wait. Prestazioni
Prestazioni stop-and-wait first packet bit transmitted, t = 0 sender receiver last packet bit transmitted, t = L / R RTT first packet bit arrives last packet bit arrives, send ACK ACK arrives, send next
DettagliPrincipi di trasferimento affidabile
Principi di trasferimento affidabile Il livello rete è inaffidabile: Presenza di errori Perdita e duplicazione di pacchetti Ordine dei pacchetti non garantito In caso di errori è necessario: Rilevare e/o
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Dettagli1) (commutazione pacchetto, prodotto banda-ritardo) 2) (frammentazione, commutazione di pacchetto) 3) (Selective Repeat)
1) (commutazione pacchetto, prodotto banda-ritardo) Considerare l invio di un pacchetto di L bit da un nodo C ad un nodo S, attraverso 3 router intermedi, che introducono un ritardo di elaborazione di
DettagliDall analisi alla codifica (1)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliLo strato di Trasporto
Corso di Fondamenti di Reti di Telecomunicazioni LT - ELE / LM-TLC Reti di Telecomunicazioni a.a. 2016-2017 Lo strato di Trasporto TCP è un protocollo orientato alla connessione; sono presenti le fasi
Dettaglila trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.
1. Considerare il problema della stima del Round Trip Time. Supporre che inizialmente RTT valga 200 ms. Il mittente invia un segmento e riceve l ACK relativo dopo 100 ms, quindi invia un altro segmento,
DettagliLivello di trasporto: meccanismi trasferimento dati affidabile
Livello di trasporto: meccanismi trasferimento dati affidabile Gaia Maselli Queste slide sono un adattamento delle slide fornite dal libro di testo e pertanto protette da copyright. - Copyright 2013 McGraw-Hill
DettagliCapitolo 3 - parte 2. Corso Reti ed Applicazioni Mauro Campanella
Capitolo 3 - parte 2 Corso Reti ed Applicazioni Mauro Campanella Principi di un trasferimento dati affidabile strato di trasporto strato di applicazione (a) Servizio fornito (b) la realizzazione del Servizio
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliLaboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza
Laboratorio di Programmazione(corso A) Laurea in Informatica - A.A. 2000/2001 Docente: A. Lanza 1.1. Introduzione al linguaggio Pascal Struttura di programma Elementi lessicali: le parole riservate e gli
DettagliSistemi e Tecnologie della Comunicazione
Sistemi e Tecnologie della Comunicazione Lezione 11: data lin layer: codici di rilevazione di errore, gestione degli errori 1 La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 12 Linguaggio di Programmazione Imperativo: Sintassi e Semantica Concetto di Tripla di Hoare Soddisfatta pag. 1 Introduzione Dall inizio del corso ad ora abbiamo introdotto,
DettagliPrestazioni. aumentare l intervallo dei numeri di sequenza dotare sender e receiver di buffer per memorizzare i pacchetti non riscontrati
Prestazioni Protocolli stop-and-wait poco efficienti Soluzione: il sender può inviare più pacchetti senza dover aspettare i riscontri (pipelining) Occorre: aumentare l intervallo dei numeri di sequenza
DettagliTelecomunicazioni (Ing. Gest., canale M-Z) Esercizi per gruppi di lavoro - 4 ARQ e livello di rete
Telecomunicazioni (Ing. Gest., canale M-Z) Esercizi per gruppi di lavoro - 4 ARQ e livello di rete GRUPPO: 17 Maggio 2018 1 Esercizio Si consideri un protocollo ARQ di tipo Go-Back-N. Le PDU sono numerate
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
DettagliR. Cusani, F. Cuomo: Telecomunicazioni - DataLinkLayer: Gestione degli errori, Aprile 2010
1 11. Data link layer: codici di rilevazione di errore, gestione degli errori La rilevazione di errore Un codice a rilevazione di errore ha lo scopo di permettere al ricevente di determinare se vi sono
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliGESTIONE 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
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 11 Linguaggio di Programmazione Imperativo: Sintassi e Semantica Concetto di Tripla di Hoare Soddisfatta pag. 1 Introduzione Dall inizio del corso ad ora abbiamo introdotto,
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma
DettagliChiamata 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
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliBroadcast. Sistemi Distribuiti Laurea magistrale in ingegneria informatica A.A Leonardo Querzoni. domenica 1 aprile 12
Broadcast Sistemi Distribuiti Laurea magistrale in ingegneria informatica A.A. 2011-2012 Leonardo Querzoni Best effort broadcast Interfaccia: ; ; Proprietà: Best
DettagliELEMENTI DI INFORMATICA E PROGRAMMAZIONE
COGNOME E NOME: Università degli Studi di Brescia ELEMENTI DI INFORMATICA E PROGRAMMAZIONE Ingegneria GESTIONALE PROF. M. SECHI PARTE B 00/00/0000 NUM. MATRICOLA PER RITIRARSI SCRIVERE QUI "RITIRATO" La
DettagliChiamata 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
DettagliInformatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi
Informatica Generale Andrea Corradini 13 - Gli algoritmi e la risoluzione di problemi Sommario Passi per la risoluzione di problemi Problemi di ricerca e ordinamento Algoritmi iterativi: la ricerca lineare
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
DettagliCorso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori (a.a. 2010/11) Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: tecniche
DettagliProgrammazione a blocchi. Algobuild Prof. Sergio Roselli
Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere
DettagliHyTech. Laboratorio di Sistemi in Tempo Reale. Corso di Laurea in Informatica Multimediale. 13 Novembre 2008
HyTech Laboratorio di Sistemi in Tempo Reale Corso di Laurea in Informatica Multimediale 13 Novembre 2008 Sistemi in Tempo Reale (Lab) HyTech 13 Novembre 2008 1 / 29 Outline 1 Una breve introduzione ad
DettagliEsame - 16 Luglio 2018
Cognome Nome Matricola Esame - 16 Luglio 2018 Tempo complessivo a disposizione per lo svolgimento: 2 ore Si usi lo spazio bianco dopo ogni esercizio per la risoluzione E1 E2 Quesiti Lab Esercizio 1 (7
DettagliLivello 4 (trasporto): cosa vedremo
Il livello Trasporto Livello 4 (trasporto): cosa vedremo Servizi di livello trasporto multiplexing/demultiplexing Protocollo non orientato alla connessione: UDP Principi di trasferimento end-to-end affidabile
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 0 (svolta) Multithreading in Java Luca Foschini Anno accademico 2009/2010 Esercitazione 0 1 Modello
DettagliStrato di trasporto. Livello di applicazione SAP. Livello di trasporto. Livello di rete SAP
Strato di trasporto Lo strato di trasporto si colloca al livello 4 dello strato ISO-OSI e svolge il compito di mettere in comunicazione diversi processi software. La comunicazione tra applicazioni avviene
DettagliIl livello trasporto: tecniche di trasmissione affidabile dei dati
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: tecniche di trasmissione
DettagliReti di Calcolatori:
Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
Dettagli2. Teoria. [7 punti] La comunicazione tra processi nel sistema UNIX.
1. Unix [12 punti] Prova Scritta di Recupero del 5 Aprile 2004 Si scriva un programma C che utilizzi le system call di UNIX e che realizzi un comando UNIX avente la seguente sintassi: esame fsize fin fout
DettagliReti di Calcolatori in Tecnologia IP
Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliUniversità degli Studi di Bergamo
Università degli Studi di Bergamo Facoltà di Ingegneria Prof. Filippini 2! E il primo livello logico della commutazione di pacchetto! Funzioni! Identificare logicamente i bit o gruppi di bit scambiati
DettagliLAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO
LAAGNA DI LAORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto, e valore il loro eventuale contenuto SPORTELLO UTENTE LAAGNA DI PROGRAMMA Modulo IN: modulo di ricezione
DettagliCorso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello trasporto: controllo di congestione
DettagliModello 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:. ;
DettagliEsempio: modello trasmissione TCP
Esempio: modello trasmissione TCP Simuliamo un sistema con un sender e un receiver al livello trasporto usando il protocollo TCP, e immaginiamo tutta la rete sottostante come un black-box model caratterizzato
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliProgetto e analisi di algoritmi
Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Elementi del linguaggio e primi programmi
DettagliGESTIONE 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 COMPITI DEL SOTTOSISTEMA DI I/O 1. Nascondere
DettagliRETI DI CALCOLATORI Home Work ritardi e livello applicativo
RETI DI CALCOLATORI Home Work ritardi e livello applicativo Prima parte Q1. Supponiamo che un router A trasmetta un pacchetto su un collegamento con un router B, che la frequenza di trasmissione del collegamento
DettagliComunicazione 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
DettagliReti di Calcolatori e Laboratorio - Compito del 15 Gennaio 2013
Nome: Matricola: e-mail: Esercizio 1 (6 punti) Si consideri la rete composta da 4 router (w,x,y e z), che ha la configurazione mostrata in figura. w 3 x 2 1 y 7 z Al tempo t, quando i vettori di distanza
DettagliSECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:
SECONDA PROVA INTERMEDIA DEL MODULO DI 1 giugno 2017 NOME: COGNOME: MATRICOLA: ESERCIZIO 1 (12 punti) Motivando ciascuna istruzione con opportuni commenti, scrivere una funzione Assembly MIPS scomponi
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati Pseudocodifica m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,
DettagliGESTIONE DELLE PERIFERICHE D INGRESSO/USCITA COMPITI DEL SOTTOSISTEMA DI I/O ARGOMENTI
GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un di I/O 1. Nascondere al programmatore i dettagli delle interfacce
DettagliFondamenti di Informatica A. A. 2018/19
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliIstruzioni condizionali di diramazione in Fortran 90
Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento
DettagliProtocolli a finestra
ecniche per la protezione dagli errori di trasmissione ecniche AQ (protocolli a finestra) FEC (forward error correction) AQ (automatic retransmission request) Gruppo eti LC nome.cognome@polito.it http://www.telematica.polito.it/
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliInformatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter
Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Funzionamento macchina di von Neumann clock Memoria Centrale: Tutta l informazione prima di essere
Dettagli