Sincronizzazione e coordinamento nel distribuito
|
|
- Raimondo Coco
- 8 anni fa
- Visualizzazioni
Transcript
1 Sincronizzazione e coordinamento nel distribuito Sincronizzazione in sistemi centralizzati uso di primitive basate implicitamente sull esistenza della memoria condivisa Sincronizzazione in sistemi distribuiti stabilire le relazioni di ordinamento temporale fra gli eventi Sincronizzazione in sistemi distribuiti: - sincronizzazione di orologi - mutua esclusione - algoritmi di elezione - transazioni atomiche - gestione dello stallo Definizione di algoritmi distribuiti - informazione distribuita sui nodi - decisione dei processi basata su informazione disponibile localmente - tolleranza ai guasti di singoli nodi - mancanza di un orologio globale o tempo assoluto 1 Mutua esclusione Sincronizzazione interna: concordata fra un insieme di processi esterna: forzata da un agente esterno Mutua esclusione in ambito distribuito Attività di coordinamento fra processi per realizzare la condivisione di risorse e garantirne la consistenza in un sistema distribuito Es: accesso ad un file in scrittura Meccasismo indipendente dallo specifico metodo di gestione della risorsa Accesso esclusivo (temporaneo) Se un insieme di processi concorda chi ha il diritto -> algoritmi di elezione Mutua esclusione distribuita di un insieme di risorse 1. Al più un processo per volta esegue la sezione critica (safety) 2. Un processo che chiede di entrare in una sezione critica alla fine la ottiene e al termine lo lascia (assenza di stallo e attesa infinita) (liveness) 3. L ingresso nella sezione critica deve rispettare la relazione d ordine causale (ordering) SOD.2
2 Algoritmo del servente centrale Mutua esclusione con gestione di token - algoritmo centralizzato Più semplice: si simulano le primitive offerte dal sistema centralizzato tramite un processo coordinatore un processo chiede al coordinatore di entrare e se necessario si blocca la risposta è un token di accesso alla ricezione della risposta entra nella sezione critica quando esce dalla critica lo comunica al coordinatore (restituisce il token) Un insieme di richieste sono servite in ordine di arrivo Non soddisfa il criterio 3 Processo coordinatore è un processo servente elemento centrale possibile collo di bottiglia in caso di guasto il processe cliente bloccato può non rilevare l evento p 1 Coda di richieste 1. Richiesta token p 2 Server Rillascio token p 3 3. Conferma token p 4 Vantaggi: semplicità - assenza di stallo - assenza di attesa infinita SOD.3 SOD.4
3 Algoritmo distribuito Assunzioni - esiste un ordinamento globale degli eventi - trasmissione affidabile un processo che vuole entrare nella sezione critica manda un messaggio a tutti in multicast con - nome della sezione critica - proprio identificatore - timestamp locale si pone in attesa della risposta da tutti ottenuti tutti gli OK entra nella sezione critica all uscita dalla s.c. manda OK a tutti i processi in coda un processo che riceve può - non essere nella s.c. richiesta e non vuole entrarvi-> manda OK al mittente - essere nella s.c. -> non risponde e mette il messaggio in coda locale - voler entrare nella s.c. -> confronta i timestamp e la più anziana ha maggior priorità, se è l altro invia OK, se è lui pone il messaggio in coda Come una gestione di token logico condiviso Ogni processo è in uno stato : RELEASED - WANTED - HELD SOD.5 Algoritmo di Ricart e Agrawala s Inizializzazione: state := RELEASED; Protocollo di ingresso nella sezione critica state := WANTED; Multicast request a tutti i processi; elaborazione della request rinviata qui T := timestamp della richiesta; Wait until (numero di risposte ricevute = (N 1)); state := HELD; Alla ricezione del messaggio di richiesta <T i, p i > a p j (i j) if (state = HELD or (state = WANTED and (T, p j ) < (T i, p i ))) then accoda request da p i senza rispondere; else rispondi subito a p i ; end if Protocollo di uscita dalla sezione critica state := RELEASED; rispondi a tutte le richieste; SOD.6
4 Esempio di sincronizzazione con multicast Algoritmo distribuito - efficienza e correttezza p 3 Assenza di stallo Assenza di attesa infinita (ordinamento globale) Garantisce le condizioni Algoritmo totalmente distribuito - nessun elemento centrale p 1 41 p 1 e p 2 chiedono di entrare nella s.c. p 3 non è interessato Reply Reply 34 p 2 34 Reply 34 Limiti: dati N processi occorrono 2(N-1) messaggi (per richiesta multicast e risposte) se è supportato il multicast eventualmente N prestazioni e costo se un processo fallisce nessun altro potrà entrare nella s.c. tolleranza ai guasti soluzione: usare richieste non bloccanti tutti i processi possono essere collo di bottiglia ogni processo partecipa ad ogni decisione prestazioni Varianti e ottimizzazioni SOD.7 SOD.8
5 Algoritmo ad anello Mutua esclusione con gestione ad anello Anello logico: ordinamento circolare dei processi all inizio il processo 1 ha un token che poi passa al successivo Il processo che ha il token è abilitato all accesso alla sezione crititca p 1 p 2 Verifica delle condizioni 1 e 2 La condizione 3 non è necessariamente garantita - Costo numero di messaggi per ottenere il token: [1,N-1] per uscire dalla sezione critica: 1 per sincronizzazione sulla sezione critica: [1,N-1] - Affidabilità se un processo fallisce occorre riconfigurare l anello logico se fallisce il processo che possiede il token occorre eleggere il prossimo processo che avrà il token perdita di token anche per malfunzionamenti hw/sw rischio e attenzione ai guasti temporanei che possono portare alla creazione di token multipli - Prestazioni l algoritmo usa sempre banda per trasmettere il token anche quando nessuno chiede la s.c. SOD.9 p n p 3 p 4 Token SOD.10
6 Algoritmo di votazione Algoritmo di votazione - condizioni Per entrare in una sezione critica occorre sincronizzarsi solo con il sottoinsieme dei processi interessati Algoritmi di elezione all interno del sottoinsieme I processi votano per stabilire chi è autorizzato ad entrare nella s.c. insieme di votazione V i sottoinsieme di {p 1,, p N }, associato ad ogni processo p i un processo per entrare in una s.c. invia una richiesta a tutti gli altri membri di V i attende le risposte reply ricevute tutte le risposte di usa la s.c. al rilascio della s.c. invia un relese a tutti gli altri membri di V i un processo p j in V i che riceve la richiesta - se è nello statoheld o ha già risposto dopo aver ricevuto l ultimo messaggio release non risponde e accoda la richiesta - altrimenti risponde subito con un reply un processo che riceve un release estrae una richiesta dalla coda e invia un reply SOD.11 Definizione dei V i - processo p i appartiene a V i - V i e V j hanno intersezione non vuota, almeno un membro comune - cardinalità costante (K) di V i per equità - ogni processo p j appartiene ad M insiemi V i Assunzioni: K= N e M=K Definizione degli insiemi: non banale Garantita la condizione 1 I processi p i e p j che competono per la stessa s.c. hanno intersezione non vuota di V i e V j Possibilità di stallo - condizione di attesa circolare Varianti per la rimozione dello stallo: elaborazione delle richieste in ordine causale -> verifica anche della condizione 3 - Costo ingresso nella s.c. 2 N messaggi, uscita dalla s.c. N messaggi rispetto all algoritmo distribuito 3 N < 2(N-1) se N>4 - Affidabilità guasto di un processo non partecipante non influenza l algoritmo SOD.12
7 Algoritmo di Maekawa parte 1 Algoritmo di Maekawa parte 2 Inizializzazione state := RELEASED; voted := FALSE; Protocollo di ingresso nella sezione critica per p i state := WANTED; Multicast request a tutti i processi in V i {p i }; Wait until (numero di risposte ricevute = (K 1)); state := HELD; Alla ricezione di una richiesta da p i a p j (i j) if (state = HELD or voted = TRUE) then accoda request da p i senza rispondere; else invia reply a p i ; voted := TRUE; end if Continua SOD.13 Protocollo di uscita dalla sezione per p i state := RELEASED; Multicast release a tutti i processi in V i {p i }; Alla ricezione di un messaggio release da p i a p j (i j) if (coda di richieste non vuota) then estrai la prima richiesta in coda da p k ; invia reply a p k ; voted := TRUE; else voted := FALSE; end if SOD.14
8 Confronti Algoritmi per la realizzazione della mutua esclusione in ambito distribuito Algoritmo messaggi per entrata ritardo problemi e uscita dalla s.c. Centralizzato 3 2 guasto del coordinatore Distribuito 2(N-1) 2(N-1) crash di processo Anello [1,N] [0,N-1] perdita del token crash di processo Votazione 2 N (entrata) 2 N crash di processo del N (uscita) N gruppo votante Varianti per maggiore tolleranza ai guasti Centralizzato è il più semplice SOD.15 Algoritmi di Elezione Scegliere un processo che agisca come coordinatore Ipotesi - tutti i processi sono numerati in modo univoco - solitamente il coordinatore è il processo vivo con numero più alto - ogni processo conosce il numero di tutti gli altri Obbiettivo: alla fine dell algoritmo tutti i processi concordano su un processo eletto Un processo chiama una elezione Ogni processo può essere partecipante o no alla elezione Il processo eletto è unico anche se più processi hanno chiamato l elezione Ogni processo ha un identificatore di processo eletto p i ha eletto i event. indefinito Requisiti durante una esecuzione di un algoritmo di elezione P è il processo eletto al termine del run dell algoritmo, processo attivo con identificatore max 1. ogni processo p i ha eletto i = P o indefinito (safety) 2. Tutti i processi partecipano e al termine ogni p i che sia attivo ha eletto i non indefinito (liveness) SOD.16
9 Algoritmi di Elezione - Ordinamento circolare Algoritmo di elelzione basato su anello Ipotesi: comunicazione affidabile - i processi sono soggetti a guasti Ordinamento circolare [Chang e Roberts] Anello logico : lista ordinata di processi vivi Il messaggio di elezione viene inviato solo al processo successivo Ogni processo aggiunge sé stesso alla lista dei processi vivi Al termine il processo che riceve un messaggio di elezione dove il primo # è il suo si riconosce come processo coordinatore e lo comunica in modo circolare Ogni processo inizialmente non partecipa all elezione, diventa partecipe aggiungendo il suo nome alla lista se l id del messaggio di elezione è maggiore, lo passa e diventa partecipante se l id del messaggio di elezione è minore, mette il proprio id e lo passa (se non è già partecipante) se l id del messaggio di elezione è uguale, allora è coordinatore e diventa non partecipante, manda il messaggio eletto ogni altro processo che riceve messaggio eletto si marca non partecipante SOD Nota: Elezione iniziata dal processo 17. L id. di processo più alto finora incontrato è 24. I processi che partecipano sono quelli scuri SOD.18
10 Ordinamento circolare - condizioni Algoritmo bully Verifica la condizione 2 Caso pessimo: una chiamata di elezione, (3N-1) messaggi necessari per completare l elezione Tempo di risposta: proporzionale a (3N-1) Tolleranza ai guasti: scarsa Migliorabile con identificazione di guasti e ricostruzione dell anello Algoritmo bully [Garcia Molina] Seleziona il processo con il numero più alto un processo indice l elezione inviando il messaggio di elezione ai processi con id più alto, e aspetta le risposte se la risposta non arriva entro un timeout si nomina coordinatore (si autoelegge!) e lo comunica agli altri inviando un messaggio coordinatore a tutti i processi con id più basso altrimenti aspetta una altro tempo per l arrivo di un messaggio coordinatore, e se non arriva, indice un altra elezione Ipotesi: processi non affidabili, soggetti a guasti, comunicazione affidabile sistema sincrono: uso di timeout per riconoscere i guasti ogni processo consce i processi con gli identificatori maggiori e può comunicare con questi Tre tipi di messaggi elezione risposta coordinatore SOD.19 un processo che riceve un messaggio coordinatore registra il # e lo considera coordinatore un processo che riceve un messaggio elezione, invia una risposta al mittente ed indice a sua volta una elezione se già non lo ha fatto, anche se esiste un altro coordinatore SOD.20
11 Algoritmo bully - esempio Algoritmo bully - condizioni Elezione del coordinatore p 2, dopo il guasto di p 4 e poi di p 3 Stage 1 Stage 2 Stage 3 election election C p 1 answer p 2 p 3 p 4 answer election election election C p 1 p 2 answer p 3 p 4 timeout Eventually... p 1 p 2 p 3 p 4 Quando viene indetta una elezione? - quando un processo viene riattivato dopo un guasto e se ha l id più alto diventa coordinatore e lo annuncia (anche se esiste già un altro coordinatore) - quando un processo nota che il coordinatore non risponde - quando riceve un messaggio di elezione da un processo con numero inferiore Costo caso pessimo O(n 2 ) messaggi caso ottimo O(n-2) messaggi Garantisce la condizione 2 (liveness) ma non la 1 (safety) nel caso di guasti in cui un processo viene rimpiazzato da un altro con lo stesso id coordinator C Problema della accuratezza del timeout Stage 4 p p p 1 p SOD.21 SOD.22
12 Gestione dello stallo Effetto collaterale della mutua esclusione (accesso esclusivo ad una risorsa da parte di un processo) se sono vere anche le condizioni di - allocazione di risorse senza prelazione - il sistema non può forzare il rilascio della risorsa da un processo - hold and wait - un processo che ha assegnata una risorsa non la rilascia (la blocca) e si può porre in attesa di un altra risorsa - attesa circolare - esiste un cammino chiuso nel grafo di allocazione Stallo - condizioni Esempio senza mutua esclusione Esempio con prelazione P1 P2 P1 P2 R1 R2 R1 R2 P1 R1 P2 R2 assegnamenti di risorse richieste di risorse SOD.23 P1 R1 P2 R2 Esempio senza attesa circolare assegnamenti di risorse richieste di risorse SOD.24
13 Tecniche di gestione dello stallo Se la risorsa è un buffer si parla di stallo della comunicazione Se coinvolge due nodi stallo diretto store and forward Se coinvolge più nodi stallo indiretto store and forward Tecniche (PAID) - prevenire - evitare - ignorare - rilevare Avoidance (Evitare) come in sistemi centralizzati: determinare lo stato stabile in base alle esigenze dei processi Svantaggi: - i processi spesso non possono specificare le esigenze in termini di allocazione di risorse - algoritmo inefficiente già in sistemi centralizzati, NP SOD.25 Tecniche: prevenzione lo stallo Si agisce su una condizione - m.e. e prelazione spesso non si possono eliminare Alternative: permettere una sola allocazione di risorsa -> evita il ciclo ma a volte dei processi devono usare accessi simultanei preallocazione di risorse ogni processo ottiene le risorse prima dell esecuzione inefficienza (basso utilizzo delle risorse se i tempi di esec. sono lunghi) rilascio forzato delle risorse -> evita il ciclo ogni processo è forzato a liberare le risorse prima di un altra richiesta così altri processi possono continuare ordinamento di acquisizione delle risorse -> evita il ciclo risorse numerate e accesso/acquisizione solo in ordine crescente si alloca solo se tutte le risorse già allocate hanno un numero inferiore regole di anzianità timestamp unico per ogni processo un processo deve lasciare le risorse se sono richieste da un processo più anziano SOD.26
14 Tecniche: ignorare e rilevare Algoritmo di rilevazione dello stallo Ignorare Spesso usato - Es. Unix Intervento del sistemista o notifica dell utente Rimozione eliminando la condizione di attesa ciclica, es. terminando un processo Rilevare Più applicato Algoritmo di Chandy-Misra-Haas Basato su messaggio test inviato se un processo - non riesce ad ottenere una risorsa o - se scatta un timeout Rimozione eliminando la condizione di attesa ciclica, es. terminando un processo Test con tre campi: - identificatore del processo bloccato - che invia il messaggio - destinatario del messaggio SOD.27 un processo P1 bloccato inizia un test e lo invia al processo P2 che ha la risorsa il processo P2 che riceve il messaggio test se non vuole altre risorse finisce il test altrimenti se è bloccato su P3 invia a P3 un messaggio modificato se un processo riceve un messaggio con primo e terzo campo uguale -> rileva lo stallo stallo P1 P1 P2 P1 P1 P2 P1 P2 P3 P1 P2 P3 A A A B A B A B SOD.28
15 Rimozione dello stallo Rilevato lo stallo occorre rimuoverlo - segnalazione al sistema - determinazione del processo da terminare - terminazione del processo e rilascio delle risorse - rollback ad uno stato consistente - uso di checkpoint per il rollback Problemi: determinazione della frequenza del checkpoint Per evitare la attesa infinita: aumentare la priorità del processo terminato SOD.29
Indice dei Contenuti
Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni
Dettagli22/05/2013. Indice dei Contenuti. Global State (1) Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano
Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano /24 Global State - 3 Mutua esclusione e sistemi concorrenti - 7 Algoritmi per la Mutua Esclusione - 10 Algoritmi basati su autorizzazioni
DettagliCoordinazione Distribuita
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliMutua esclusione distribuita
Sincronizzazione del clock Il clock di CPU distribuite non é sincronizzato Clock fisico (difficile) / Clock logico (semplice) In molti casi basta sincronizzare il clock logico Sincronizzazione del clock
DettagliOrdinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita
Lezione 11 Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita Ordinamento degli eventi Un sistema monoprocessore Unico clock Unica memoria Ordinamento degli eventi Mutua esclusione Deadlock
DettagliIntroduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliSincronizzazione distribuita: Mutua esclusione ed elezione
Sistemi Distribuiti Sincronizzazione distribuita: Mutua esclusione ed elezione 1 Mutua Esclusione (algoritmo centralizzato) a) Il Processo 1 chiede al coordinatore il permesso di entrare in una regione
DettagliSistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >
Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego
DettagliReplicazione. Requisisti di consistenza i clienti devono ricevere risposte consistenti e coerenti. Motivazioni
Replicazione Replicazione dei dati: gestione e manutenzione di un insieme di copie dei dati Motivazioni: - disponibilità - tolleranza ai guasti - prestazioni aching diverso da replicazione aching non aumenta
DettagliDeadlock (stallo) Parte III. Deadlock
Parte III Deadlock Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 III - 1 Deadlock (stallo) Su di un tavolo ci sono un piatto ed una forchetta A e B sono seduti al tavolo, per mangiare ciascuno
DettagliSincronizzazione nei Sistemi Distribuiti (parte 2)
Università degli Studi di oma Tor Vergata Facoltà di Ingegneria Sincronizzazione nei Sistemi Distribuiti (parte 2) Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/0 Mutua esclusione
Dettaglicorso di Sistemi Distribuiti 3. La concorrenza tra processi remoti nei sistemi distribuiti
CdL MAGISTRALE in INFORMATICA A.A. 2015-16 corso di Sistemi Distribuiti 3. La concorrenza tra processi remoti nei sistemi distribuiti Prof. S.Pizzutilo Concorrenza fra processi remoti Interazioni fra processi
DettagliCoordinamento e sincronizzazione
Coordinamento e sincronizzazione Tempo locale e globale Nei sistemi distribuiti non esiste un orologio fisico globale Algoritmi di sincronizzazione e di coordinamento Applicazioni: correttezza di sequenze
DettagliSistemi Operativi. Lez. 13: primitive per la concorrenza monitor e messaggi
Sistemi Operativi Lez. 13: primitive per la concorrenza monitor e messaggi Osservazioni I semafori sono strumenti particolarmente potenti poiché consentono di risolvere ogni problema di sincronizzazione
DettagliCAPITOLO 7 - SCAMBIO DI MESSAGGI
CAPITOLO 7 - SCAMBIO DI MESSAGGI Lo scambio di messaggi è una forma di comunicazione nel quale un processo richiede al sistema operativo di mandare dei dati direttamente ad un altro processo. In alcuni
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliConcorrenza fra processi remoti
29/10/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 3. La concorrenza tra processi remoti nei sistemi distribuiti Riferimenti: Prof. S.Pizzutilo A.Tanenbaum,M.Van Steen Sistemi
DettagliSISTEMI OPERATIVI. Deadlock (blocco critico) Domande di verifica. Luca Orrù Centro Multimediale Montiferru 04/06/2007
2007 SISTEMI OPERATIVI Deadlock (blocco critico) Domande di verifica Luca Orrù Centro Multimediale Montiferru 04/06/2007 Deadlock (blocco critico) 1. Si descriva il deadlock e le condizioni sotto cui si
DettagliRealizzazione 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
DettagliProgetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008
Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008 Si consideri una rete di sensori MicaZ con sistema operativo TinyOS, dove ogni nodo è identificato da un ID unico e dove è presente un solo
DettagliEsecuzione concorrente di transazioni
Esecuzione concorrente di transazioni A L B E R T O B E L U S S I P A R T E I I A N N O A C C A D E M I C O 2 0 1 1-2 0 1 2 Tecniche applicate nei DBMS Le tecniche per il controllo della concorrenza che
DettagliInizializzazione 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
DettagliIntroduzione 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
DettagliSommario. Modellazione di Kerberos mediante DASM. Kerberos (1) Descrizione Kerberos. Descrizione Kerberos Modellazione Analisi di Correttezza
Sommario Modellazione di Kerberos mediante DASM Descrizione Kerberos Modellazione Analisi di Correttezza DASM per Kerberos 1 DASM per Kerberos 2 Kerberos (1) Descrizione Kerberos Kerberos è traslitterazione
DettagliCome si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.
www.playnet.it agg. Documento 1/03/2007 REGOLE DEL CLIENT Le regole del client sono un sistema di smistamento dei messaggi (arrivati) fra le varie cartelle di posta presenti sul server. Possono essere
DettagliIntroduzione ai Metodi Formali
Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di
DettagliLIVELLO DATA LINK (DI LINEA)
LIVELLO DATA LINK (DI LINEA) 1 TRASMISSIONE 2 FRAMING 3 CONTROLLO DEGLI ERRORI 4 CONTROLLO DI FLUSSO 1 Asincrona 2 Sincrona 1 Orientata al byte 2 Orientata al bit 1 Codici correttori 2 Codici Rivelatori
DettagliA intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
DettagliIl problema del produttore e del consumatore. Cooperazione tra processi
Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora
DettagliEsempio produttori consumatori. Primitive asincrone
Primitive asincrone Send non bloccante: il processo mittente, non appena inviato il messaggio, prosegue la sua esecuzione. Il supporto a tempo di esecuzione deve fornire un meccanismo di accodamento dei
DettagliCOLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo
Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;
DettagliPronto Esecuzione Attesa Terminazione
Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
DettagliCorso di Programmazione Concorrente
Corso di Programmazione Concorrente Stallo Valter Crescenzi crescenz@dia.uniroma3.it http://www.dia.uniroma3.it/~crescenz Assunzione di Progresso Finito Tutti i processori virtuali hanno una velocità finita
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliIl protocollo BitTorrent
4 Università degli studi di Bari Corso di Laurea Magistrale in Informatica Sistemi Distribuiti: architetttura e modelizzazione Modulo B modellizzazione Anno Accademico 2008 2009 Modellizzazione del protocollo
DettagliIl costrutto monitor [Hoare 74]
Il monitor 1 Il costrutto monitor [Hoare 74] Definizione: Costrutto sintattico che associa un insieme di operazioni (entry, o public) ad una struttura dati comune a più processi, tale che: Le operazioni
DettagliLA SINCRONIZZAZIONE TRA PROCESSI
LA SINCRONIZZAZIONE TRA PROCESSI E' più complesso scrivere programmi concorrenti rispetto a programmi sequenziali in quanto non basta essere sicuri della correttezza dei singoli moduli ma è necessario
DettagliProva di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:
DettagliSISTEMI OPERATIVI DISTRIBUITI
SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching
DettagliIstruzioni (1): L elaborato verrà letto, compilato e fatto girare per verificare la correttezza della sintassi e delle operazioni svolte
Istruzioni (1): L elaborato può essere svolto in gruppi di massimo 4 persone (si raccomanda caldamente l aggregazione) NON dovete annunciarmi preventivamente che elaborato volete fare: sceglietene uno
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliApprofondimento di Marco Mulas
Approfondimento di Marco Mulas Affidabilità: TCP o UDP Throughput: banda a disposizione Temporizzazione: realtime o piccoli ritardi Sicurezza Riservatezza dei dati Integrità dei dati Autenticazione di
Dettagli1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?
1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità di
DettagliP2-11: BOOTP e DHCP (Capitolo 23)
Autunno 2002 Prof. Roberto De Prisco -11: BOOTP e DHCP (Capitolo 23) Università degli studi di Salerno Laurea e Diploma in Informatica Indirizzi IP dinamici 11.2 Un indirizzo IP statico è assegnato ad
DettagliData Base Management System. Strumenti: Formato: Pro: Contro: Software specifico. Proprietario
Data Base Management System Strumenti: Software specifico Formato: Pro: Proprietario Massima semplicità di inserimento e gestione Tipizzazione Validazione dei dati Contro: Creazione del database Programmazione
DettagliTECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI
TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP
DettagliLe reti. Introduzione al concetto di rete. Classificazioni in base a
Le reti Introduzione al concetto di rete Classificazioni in base a Software di rete OSI e TCP/IP Definizione di rete Vantaggi delle reti Reti ad architettura centralizzata e distribuita Sistemi aperti
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliComunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione
I semestre 04/05 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 1
DettagliModello a scambio di messaggi
PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto Modello a scambio di messaggi type messaggio = record origine: ; destinazione: ; contenuto:
DettagliCAPITOLO 27 SCAMBIO DI MESSAGGI
CAPITOLO 27 SCAMBIO DI MESSAGGI SCAMBIO DI MESSAGGI Sia che si guardi al microkernel, sia a SMP, sia ai sistemi distribuiti, Quando i processi interagiscono fra loro, devono soddisfare due requisiti fondamentali:
DettagliSOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE
SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliSend/receive sincrona, assumendo che la condivisione avvenga mediante riferimenti logici coincidenti, invece che con capability.
Implementazione delle primitive di comunicazione Send/receive sincrona, assumendo che la condivisione avvenga mediante riferimenti logici coincidenti, invece che con capability. Struttura dati canale {
DettagliComunicazione. La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI
Comunicazione La comunicazione point to point e' la funzionalita' di comunicazione fondamentale disponibile in MPI Concettualmente la comunicazione point to point e' molto semplice: Un processo invia un
DettagliGuida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724)
Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Procedo con un esempio: voglio proteggere una applicazione (nell esempio Blocco Note di Windows: notepad.exe) per distribuirla con
DettagliProva di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliScheduling. Sistemi Operativi e Distribuiti A.A. 2004-2005 Bellettini - Maggiorini. Concetti di base
Scheduling Sistemi Operativi e Distribuiti A.A. 2-25 Bellettini - Maggiorini Concetti di base Il massimo utilizzo della CPU si ottiene mediante la multiprogrammazione Ogni processo si alterna su due fasi
DettagliDeadlock e Starvation
DTI / ISIN / Titolo principale della presentazione 1 Deadlock e Starvation Amos Brocco, Ricercatore, DTI / ISIN 3 aprile 2012 Condivisione di risorse In un sistema si trovano delle risorse che possono
DettagliCONTROLLO DI GESTIONE DELLO STUDIO
CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti
DettagliMonitor. Introduzione. Struttura di un TDA Monitor
Monitor Domenico Cotroneo Dipartimento di Informatica e Sistemistica Introduzione E stato introdotto per facilitare la programmazione strutturata di problemi in cui è necessario controllare l assegnazione
DettagliIl costrutto monitor [Hoare 74]
Il monitor 1 Il costrutto monitor [Hoare 74] Definizione: Costrutto sintattico che associa un insieme di operazioni (entry o public) ad una struttura dati comune a più processi, tale che: Le operazioni
DettagliGESTIONE DEI BENI USATI
GESTIONE DEI BENI USATI Di seguito vengono elencate le modalità per gestire l acquisto e la cessione dei beni usati OPERAZIONI PRELIMINARI Per gestire l acquisto e la cessione di beni usati è necessario:
DettagliSCHEDULATORI DI PROCESSO
Indice 5 SCHEDULATORI DI PROCESSO...1 5.1 Schedulatore Round Robin...1 5.2 Schedulatore a priorità...2 5.2.1 Schedulatore a code multiple...3 5.3 Schedulatore Shortest Job First...3 i 5 SCHEDULATORI DI
Dettagli2. Simulazione discreta: approcci alla simulazione
Anno accademico 2007/08 Elementi di un programma di simulazione Controllore Tempo di simulazione Generatore dei dati di input Entità Eventi Attività Stati Processi Simulazione per eventi: le classi L approccio
Dettagli2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.
ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione
DettagliARCHIVIAZIONE DOCUMENTALE NEiTdoc
ARCHIVIAZIONE DOCUMENTALE NEiTdoc PROCESS & DOCUMENT MANAGEMENT La documentazione può essere definita un complesso di scritture prodotte da entità pubbliche o private nell espletamento della loro attività,
DettagliARCHITETTURA DI RETE FOLEGNANI ANDREA
ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce
DettagliMatematica in laboratorio
Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliI 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à
DettagliDMA Accesso Diretto alla Memoria
Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati
DettagliINFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010
DettagliSistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory
FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File
DettagliUTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI
UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all
Dettaglifilrbox Guida all uso dell interfaccia WEB Pag. 1 di 44
filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44 Sommario Introduzione... 4 Caratteristiche del filrbox... 5 La barra principale del filrbox... 7 Elenco degli utenti... 8 Il profilo... 9 Le novità...
DettagliISTRUZIONI PER L UTILIZZO DEL SOFTWARE Moda.ROA. Raccolta Ordini Agenti
ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Raccolta Ordini Agenti AVVIO PROGRAMMA Per avviare il programma fare click su Start>Tutti i programmi>modasystem>nomeazienda. Se il collegamento ad internet è attivo
Dettagli"Il più grande patrimonio di un'azienda è rappresentato dai suoi Clienti, perché senza Clienti non esistono aziende"
"Il più grande patrimonio di un'azienda è rappresentato dai suoi Clienti, perché senza Clienti non esistono aziende" L obiettivo che ci poniamo tutti, quando parliamo dei nostri Clienti, è quello di averne
DettagliSISTEMI OPERATIVI. Sincronizzazione dei processi. Domande di verifica. Luca Orrù Centro Multimediale Montiferru 30/05/2007
2007 SISTEMI OPERATIVI Sincronizzazione dei processi Domande di verifica Luca Orrù Centro Multimediale Montiferru 30/05/2007 Sincronizzazione dei processi 1. Si descrivano i tipi di interazione tra processi?
DettagliMODELLO AD AMBIENTE GLOBALE
MODELLI DI INTERAZIONE TRA PROCESSI Modello ad ambiente globale ( global environment ) Modello a scambio di messaggi ( message passing ) MODELLO AD AMBIENTE GLOBALE Il sistema è visto come un insieme di
DettagliModulo 8 Ethernet Switching
Modulo 8 Ethernet Switching 8.1 Ethernet Switching 8.1.1 Bridging a livello 2 Aumentando il numero di nodi su un singolo segmento aumenta la probabilità di avere collisioni e quindi ritrasmissioni. Una
DettagliAllegato A: Regole tecniche per la gestione dell identità.
Allegato A: Regole tecniche per la gestione dell identità. Allegato A: Regole tecniche per la gestione dell identità. Art. 1. Aventi diritto alle Credenziali-People 1. Per l accesso ai Servizi-People sviluppati
DettagliACCESSO AL SISTEMA HELIOS...
Manuale Utente (Gestione Formazione) Versione 2.0.2 SOMMARIO 1. PREMESSA... 3 2. ACCESSO AL SISTEMA HELIOS... 4 2.1. Pagina Iniziale... 6 3. CARICAMENTO ORE FORMAZIONE GENERALE... 9 3.1. RECUPERO MODELLO
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliMANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
DettagliProcedura SMS. Manuale Utente
Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...
DettagliExpress Import system
Express Import system Manuale del destinatario Sistema Express Import di TNT Il sistema Express Import di TNT Le consente di predisporre il ritiro di documenti, pacchi o pallet in 168 paesi con opzione
DettagliMiddleware Laboratory. Dai sistemi concorrenti ai sistemi distribuiti
Dai sistemi concorrenti ai sistemi distribuiti Problemi nei sistemi concorrenti e distribuiti I sistemi concorrenti e distribuiti hanno in comune l ovvio problema di coordinare le varie attività dei differenti
DettagliUDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing
a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it
DettagliInizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliSistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliSistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1
SCHEDULING DELLA CPU 5.1 Scheduling della CPU Concetti di Base Criteri di Scheduling Algoritmi di Scheduling FCFS, SJF, Round-Robin, A code multiple Scheduling in Multi-Processori Scheduling Real-Time
DettagliIntroduzione ai tipi di dato astratti: applicazione alle liste
Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione
DettagliCAPITOLO 24 I MONITOR
EFFETTO DELLE PRIMITIVE - signal E wait SUI SEMAFORI CAPITOLO 24 I MONITOR I semafori sono un mezzo efficace per la gestione della mutua esclusione in ambienti con processi concorrenti, ma spesso è difficile
Dettagli