Esercitazione 3 Monitor. 22 Novembre 2012
|
|
- Stefania Castelli
- 7 anni fa
- Visualizzazioni
Transcript
1 Esercitazione 3 Monitor 22 Novembre 2012
2 Esercizio 1 L amministrazione comunale di una città ha organizzato un sistema di prestito gratuito di biciclette rivolto ai cittadini ed ai turisti. Il prestito e la riconsegna delle biciclette avvengono presso un unico parcheggio. Le biciclette complessivamente a disposizione degli utenti sono N, delle quali: ND sono bici tradizionali da donna; NU sono bici tradizionali da uomo; Pertanto, N=ND+NU Gli utenti possono appartenere a due categorie: turisti e cittadini. Ogni utente specifica inizialmente il tipo di bicicletta che vuole noleggiare; le due scelte possibili sono: bici da donna o bici da uomo. Nel caso in cui venga richiesta una bici da donna: se vi è almeno una bici da donna libera, all utente viene assegnata una bici da donna; se non vi sono bici da donna disponibili, l utente viene messo in attesa. Nel caso in cui venga richiesta una bici da uomo: se vi è almeno una bici da uomo libera, all utente viene assegnata una bici da uomo; nel caso non vi siano immediatamente disponibili bici da uomo e vi sia almeno una bici da donna, al cliente viene assegnata la bici da donna;
3 Si vuole realizzare una politica di servizio delle richieste di prestito che tenga conto delle specifiche date ed inoltre del seguente vincolo di priorita`: le bici da donna vengano assegnate prioritariamente ai turisti; le bici da uomo vengano prioritariamente assegnate a cittadini. Si realizzi, utilizzando c/pthread, una politica di sincronizzazione tra i thread basata sul concetto di monitor che tenga conto dei vincoli dati.
4 Spunti e suggerimenti (1) Quali thread? thread iniziale utenti che richiedono bici da donna (turisti, cittadini) utenti che richiedono bici da uomo (turisti, cittadini) Quale risorsa comune? Parcheggio bici associamo al Parcheggio un "monitor", che controlla gli accessi in base alla specifica politica di accesso. La sincronizzazione viene realizzata mediante variabili condizione
5 Spunti e suggerimenti (2) Strumenti di sincronizzazione: il monitor esercita due livelli di sincronizzazione: 1. mutua esclusione dei processi nell'esecuzione delle operazioni public: nei pthtread va realizzata esplicitamente attraverso un mutex: lock; 2. controllo dellordine con il quale i processi hanno accesso alla risorsa: definizione di variabili condizione
6 Spunti e suggerimenti (3) Quante/quali variabili condizione? Uomo&turista Uomo&cittadino Donna&turista Donna&cittadino definiamo 4 condition Politica di allocazione delle bici: dipende dal tipo di bicicletta Donna: priorità Uomo: Donna, turisti Uomo, cittadini Donna, cittadini Uomo, turisti
7 Esercizio 2 Si consideri la pista di pattinaggio sul ghiaccio di una località turistica montana. La pista di pattinaggio è aperta a tutti. In particolare i clienti dell impianto si suddividono in due categorie: principianti e esperti. Ogni gruppo di principianti, durante la permanenza all interno della pista, viene accompagnato da un istruttore messo a disposizione dalla società che gestisce l impianto; a questo proposito, si supponga che il numero totale di istruttori sia NI. I pattinatori entrano ed escono dalla pista a gruppi omogenei (ogni gruppo è formato solo da principanti o solo da esperti) e monolitici (ogni pattinatore fa parte dello stesso gruppo, sia in ingresso che in uscita), ognuno caratterizzato da una consistenza numerica data. La capacità della pista è limitata dal valore MAX, che esprime il numero massimo di pattinatori che possono essere in pista contemporaneamente (gli istruttori non vengono conteggiati). Inoltre, il regolamento dell impianto prevede che debba essere sempre rispettata la relazione: P E dove: P è il numero dei principianti in pista, e E è il numero degli esperti in pista.
8 Si sviluppi un applicazione concorrente in C/pthread che rappresenti i gruppi di pattinatori come thread concorrenti. In particolare, la soluzione deve implementare una politica di sincronizzazione dei thread che rispetti le specifiche date, ed inoltre i vincoli seguenti: nell accesso alla pista: i principianti abbiano la precedenza sugli esperti; a parità di categoria, si privilegino i gruppi meno numerosi. nell uscita dalla pista: gli esperti abbiano la precedenza sui principianti; a parità di categoria, si privilegino i gruppi più numerosi.
9 Quali thread? thread iniziale gruppo di pattinatori principianti gruppo di pattinatori esperti Quale risorsa comune? Spunti e suggerimenti (1) E gli istruttori? pista da pattinaggio: (posti, istruttori) associamo alla Pista un "monitor", che controlla gli accessi in base alla specifica politica di accesso. La sincronizzazione viene realizzata mediante variabili condizione.
10 Struttura thread void *gruppoprincipiante(void * arg)! { int num; // numero di componenti!!inpistap(&pista, num); // possibilità di attesa!! }!!! /* simulazione uso pista*/!!outpistap(&pista, num); // possibilità di attesa!! void *gruppoesperto(void * arg)! { int num; // numero di componenti! }!!!InPistaE(&Pista, num); // possibilità di attesa!! /* simulazione uso pista*/!!outpistae(&pista, num);!
11 Spunti e suggerimenti (2) Strumenti di sincronizzazione: il monitor esercita due livelli di sincronizzazione: 1. mutua esclusione dei processi nell'esecuzione delle operazioni public: nei pthtread va realizzata esplicitamente attraverso un mutex: lock; 2. controllo dellordine con il quale i processi hanno accesso alla risorsa: definizione di variabili condizione
12 Spunti e suggerimenti (3) Quante/quali variabili condizione? I Principianti e Esperti possono sospendersi in ingresso: Se maxg è la massima numerosità di ogni gruppo, sarà necessario prevedere maxg code per ogni tipo di thread definiamo 2 array di condition: CodaP_IN[maxG] // principianti in attesa di entrare CodaE_IN[maxG] // esperti in attesa di entrare I Principianti possono sospendersi anche in uscita (P E): definiamo 1 array di condition: CodaP_OUT[maxG]
13 Spunti e suggerimenti (4) Politica di allocazione dei posti nella pista basata su priorità: Entrata priorità Uscita Principianti (1,..maxG) [Esperti] Esperti (1,..maxG) Principianti (maxg,..1)
Esercizio monitor con pthreads
Esercizio monitor con pthreads Si consideri la pista di pattinaggio sul ghiaccio di una località turistica montana. La pista di pattinaggio è aperta a tutti. In particolare i clienti dell impianto si suddividono
DettagliDecima Esercitazione. Accesso a risorse condivise tramite Monitor Java
Decima Esercitazione Accesso a risorse condivise tramite Monitor Java 1 Agenda Esempio 1 La banca: gestione di una risorsa condivisa da più thread, con politica prioritaria Esercizio 2 da svolgere Accesso
DettagliEsercitazione maggio 2011
Esercitazione 11 23 maggio 2011 Monitor in Java Esercizio 1 In un sito di interesse geologico e` possibile visitare una grotta sotterranea, raggiungibile soltanto attraverso uno stretto cunicolo. Per motivi
DettagliEsercizio monitor. Sistemi Operativi T 1
Esercizio monitor Si consideri un piccolo Aereoporto, nel quale sia presente una sola pista, utilizzata sia per i decolli che per gli atterraggi. La pista puo` anche essere percorsa da mezzi di servizio:
DettagliEsempio: la Toilette Unisex
Esempio: la Toilette Unisex Si consideri la toilette di un ristorante. La toilette è unica per uomini e donne. Utilizzando i semafori forniti dalla libreria LinuxThreads, si realizzi un'applicazione concorrente
DettagliEsercitazione 11. Esercitazione di riepilogo
Esercitazione 11 Esercitazione di riepilogo Agenda Esercizio 1 - Monitor java Gestione della pista di un aereoporto Esercizio 2 Programma C di sistema Gestione e monitoraggio dell esecuzione del programma
DettagliEsercizi sul Monitor in Java. 22 Maggio 2015
Esercizi sul Monitor in Java 22 Maggio 2015 1 Il Bagno del Ristorante Si consideri la toilette di un ristorante. La toilette è unica per uomini e donne. Utilizzando Java, si realizzi un'applicazione concorrente
DettagliEsercizio sul Monitor. Ponte con utenti grassi e magri 11 Novembre 2013
Esercizio sul Monitor Ponte con utenti grassi e magri 11 Novembre 2013 1 Ponte con utenti grassi e magri Si consideri un ponte pedonale che collega le due rive di un fiume. Al ponte possono accedere due
DettagliLab 4: Locks, Condition Variables in Java
Dept. of Computer Science Lab 4: Locks, Condition Variables in Java Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Esercizi Lab3
DettagliEsercitazione 2! Mutex e semafori POSIX. 3 Novembre 2016
Esercitazione 2! Mutex e semafori POSIX 3 Novembre 2016 Strumenti di sincronizzazione nella libreria LinuxThread I semafori nelle librerie pthread e LinuxThreads La libreria pthread definisce soltanto
DettagliEsercizio sul Monitor in Java. 18 maggio 2011
Esercizio sul Monitor in Java 18 maggio 2011 1 Il Bar dello Stadio In uno stadio e` presente un unico bar a disposizione di tutti i tifosi che assistono alle partite di calcio. I tifosi sono suddivisi
DettagliJava Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java
programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class
DettagliMonitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi.
Monitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi. Il compilatore può verificare che esse siano le sole operazioni
DettagliMonitor [Hoare 74] Uso del monitor
Monitor [Hoare 74] Costrutto sintattico che associa un insieme di procedure/funzioni (entry) ad una struttura dati comune a più processi. Il compilatore può verificare che esse siano le sole operazioni
DettagliESERCITAZIONE 5!! 7 dicembre 2016!! Programmazione concorrente in ADA!!
ESERCITAZIONE 5!! 7 dicembre 2016!! Programmazione concorrente in ADA!! 1 Programmazione concorrente in ADA 2 Risorse utili Compilatore linux: gnat Comando per compilazione: gnat make programma.adb Per
DettagliSistemi operativi - Concetti ed esempi -Settima edizione
Capitolo 6: Sincronizzazione dei processi Capitolo 6: Sincronizzazione dei processi Introduzione Problema della sezione critica Soluzione di Peterson Hardware per la sincronizzazione Semafori Problemi
DettagliSistemi Operativi e Laboratorio, Prova del 6/4/2017 versione A
Nome: Cognome: Matricola: corso: fila: posto: Esercizio 1 (5 punti) Si consideri un processore che dispone dei registri speciali PC (program counter) e PS (program status), dello stack pointer SP e dei
DettagliLinuxThreads. LinuxThreads: monitor & variabili condizione
LinuxThreads Variabili Condizione LinuxThreads: monitor & variabili condizione Lo standard POSIX 1003.1c (libreria ) non implementa il costrutto Monitor ma implementa i mutex implementa le variabili
DettagliMultithreading in Java I parte. Lorenzo Gallucci
Multithreading in Java I parte Lorenzo Gallucci Java: un linguaggio ed un sistema predisposti per il multitasking È possibile creare e gestire Thread nativamente (senza dover ricorrere a librerie esterne)
DettagliIl monitor. Costrutti linguistici per la sincronizzazione
Il monitor 1 Costrutti linguistici per la sincronizzazione I semafori costituiscono un meccanismo molto potente per la sincronizzazione dei processi. Tuttavia, il suo uso può risultare troppo a basso livello.
DettagliUNIVERSITÀ DEGLI STUDI DI BERGAMO
UNIVERSITÀ DEGLI STUDI DI BERGAMO DIPARTIMENTO DI INGEGNERIA DELL INFORMAZIONE E METODI MATEMATICI Corso di Laurea in Ingegneria Informatica/Meccanica Esame di Sistemi Operativi a.a. 2008-09 (Modulo di
DettagliMonitor. Le procedure entry sono le sole operazioni che possono essere utilizzate dai processi per accedere alle variabili comuni.
Monitor Costrutto sintattico che associa un insieme di procedure ad una struttura dati comune a più processi. Il compilatore può verificare che esse siano le sole operazioni permesse su quella struttura.
DettagliIl monitor. Sistemi Operativi T AA
Il monitor Sistemi Operativi T AA 2009-2010 1 Costrutti linguistici per la sincronizzazione I semafori costituiscono un meccanismo molto potente per la sincronizzazione dei processi. Tuttavia, il loro
DettagliSistemi Operativi T. Esercizi
Sistemi Operativi T Esercizi Esercizio monitor Si consideri la toilette di un ristorante. La toilette è unica per uomini e donne. Utilizzando la libreria pthread, si realizzi un'applicazione concorrente
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
DettagliProva d Esame Tecnologie Web LA A.A. 2008/2009 Tempo Disponibile: 3 ore Ai candidati è consentita la consultazione di manuali e materiale didattico
Prova d Esame Tecnologie Web LA A.A. 2008/2009 Tempo Disponibile: 3 ore Ai candidati è consentita la consultazione di manuali e materiale didattico Esercizio 1. Modellazione Si progetti il DTD per la gestione
Dettagli1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione
1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.
DettagliSistemi Operativi L-A. Esercizi 14 Giugno 2007. Esercizio monitor
Sistemi Operativi L-A Esercizi 14 Giugno 2007 Esercizio monitor Si consideri la toilette di un ristorante. La toilette è unica per uomini e donne. Utilizzando la libreria pthread, si realizzi un'applicazione
DettagliEsercizio sui Semafori
Esercizio sui Semafori Il mercato ortofrutticolo Sistemi Operativi T AA 2011-2012 1 Esercizio di programmazione concorrente in Java Si vuole realizzare un sistema per la gestione delle transazioni commerciali
DettagliJava Virtual Machine
Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina
DettagliUniversita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini
Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A. 2013-2014 Sistemi Operativi M Prof. Anna Ciampolini http://www.lia.deis.unibo.it/courses/som1314 Obiettivi del Corso Completamento
DettagliEsercizio semafori Java
Esercizio semafori Java Esercizio di programmazione concorrente in Java Si vuole realizzare un sistema per la gestione delle transazioni commerciali relative a un mercato ortofrutticolo all ingrosso. Il
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
DettagliSoluzioni ai problemi di Mutua Esclusione Primitive di sincronizzazione. Soluzioni ai problemi di Mutua EsclusionePrimitive di sincronizzazione
Soluzioni ai problemi di Mutua Esclusione Primitive di sincronizzazione Soluzioni basate su primitive di sincronizzazione Le primitive di sincronizzazione piú comuni sono: Lock (mutex) - realizzati in
DettagliUNIVERSITÀ DEGLI STUDI DI BERGAMO
UNIVERSITÀ DEGLI STUDI DI BERGAMO DIPARTIMENTO DI INGEGNERIA DELL INFORMAZIONE E METODI MATEMATICI Corso di Laurea in Ingegneria Informatica Esame di Sistemi Operativi (Modulo del C.I. di Reti di Calcolatori
DettagliInformatica 3. Informatica 3. LEZIONE 6: Il controllo dell esecuzione. Lezione 6 - Modulo 1. Errori durante l esecuzione. Il controllo dell esecuzione
Informatica 3 Informatica 3 LEZIONE 6: Il controllo dell esecuzione Modulo 1: La gestione delle eccezioni Modulo 2: Programmazione concorrente Lezione 6 - Modulo 1 La gestione delle eccezioni Politecnico
DettagliArchitettura degli Elaboratori 2
Architettura degli Elaboratori 2 Esercitazioni 2 Grafo di allocazione delle risorse Comunicazione tra processi A. Memo - 2004 Grafo di allocazione delle risorse è uno strumento grafico utile per l individuazione
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 20 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 20 Maggio 2010 Unità concorrenti in
DettagliInformazioni sull esame e Regole per lo svolgimento dei progetti
Informazioni sull esame e Regole per lo svolgimento dei progetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliEsercitazione n.1 13 Ottobre Obiettivi:
Esercitazione n.1 13 Ottobre 2009 Obiettivi: Introduzione al laboratorio Gestione dei pthreads: creazione: pthread_create terminazione: pthread_exit join: pthread_join Gestione dei thread java : Thread
DettagliSincronizzazione Le sezioni scritiche
Sincronizzazione Le sezioni scritiche Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Ambiente di sviluppo Concorrenza e sincronizzazione Programmazione concorrente (tramite
DettagliConcorrenza e sincronizzazione
Concorrenza e sincronizzazione Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Cosa faremo oggi 2 Concorrenza Sincronizzazione Concorrenza 3 Nei programmi Java fino ad ora sviluppati è presente
DettagliMonitor pthreads. Esercizio
Monitor pthreads Esercizio Esercizio monitor Una società di noleggio di automobili offre ai propri clienti tre tipi di automobili: piccole, medie, grandi. Ogni tipo di auto è disponibile in numero limitato
DettagliLaboratorio di Algoritmi e Strutture Dati. Code con Priorità
Laboratorio di Algoritmi e Strutture Dati Code con Priorità Teresa M.A. Basile basile@di.uniba.it Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Materiale di base gentilmente concesso
DettagliOttava Esercitazione. introduzione ai thread java mutua esclusione
Ottava Esercitazione introduzione ai thread java mutua esclusione Agenda Esempio 1 Concorrenza in Java: creazione ed attivazione di thread concorrenti. Esercizio 2 da svolgere Concorrenza in Java: sincronizzazione
DettagliSincronizzazione. Problemi di sincronizzazione tipici Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Sincronizzazione Problemi di sincronizzazione tipici Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Produttore-Consumatore Produttore e consumatore con memoria limitata Utilizza
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
DettagliEsercizi di utilizzo del semaforo semplice di competizione per l'uso di una risorsa comune
Esercizi di utilizzo del semaforo semplice di competizione per l'uso di una risorsa comune a) Uso di una risorsa condivisa Siano P 1, P 2, P 3,, P k i processi che condividono l uso di una risorsa comune
Dettagliistruzioni eseguite in ordine predeterminabile in base al codice del programma e dei valori dei dati in ingresso
Programmazione Concorrente sequenze critiche e mutua esclusione istruzioni atomiche deadlock sincronizzazione e semafori settembre 2009 programmazione concorrente 1 modello di esecuzione sequenziale istruzioni
DettagliCorso di Laboratorio di Sistemi Operativi
Corso di Laboratorio di Sistemi Operativi Lezione 7 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Threads Un thread è l unità di base per l utilizzo della CPU. Composto
Dettaglivoid char void char @param void int int int int
1 2 /** 3 * @ file definition_ thread. c 4 * contiene l' implementazioni delle diverse funzioni 5 */ 6 7 /** 8 * @ name elaborato Terzo 9 * @ author Nicola Milani VR360442 10 */ 11 12 13 # include " definition_
DettagliCosa sono i semafori?
Semafori Cosa sono i semafori? I semafori sono primitive fornite dal sistema operativo per permettere la sincronizzazione tra processi e/o thread. Semafori di mutua esclusione con i thread POSIX 2 Operazioni
DettagliMOBILITA PER L A.S. 2016/2017 CCNI 8 Aprile 2016 PERSONALE DOCENTE. LE PREFERENZE ESPRIMIBILI NELLE FASI B, C e D
MOBILITA PER L A.S. 2016/2017 CCNI 8 Aprile 2016 PERSONALE DOCENTE LE PREFERENZE ESPRIMIBILI NELLE FASI B, C e D LE PREFERENZE ESPRIMIBILI Le Fasi B, C e D dell Allegato 1 - ordine delle operazioni sono
DettagliNome/cognome N. di matricola (10 cifre) Posizione: Riga Col
Nome/cognome N. di matricola (10 cifre) Posizione: Riga Col UNIVERSITA' DEGLI STUDI DI BOLOGNA - CORSO DI LAUREA IN INFORMATICA CORSO DI SISTEMI OPERATIVI - ANNO ACCADEMICO 2005/2006 CONCORRENZA - 18 Settembre
DettagliTabelle Riassuntive Requisiti x Esordienti, Principianti, Cadetti e Novice, singoli e coppie STAGIONE
Tabelle Riassuntive Requisiti x Esordienti, Principianti, Cadetti e vice, singoli e coppie STAGIONE 2016-2017 (Evidenziate in giallo le regole specifiche FISG) ma Esordienti A L atleta deve aver compiuto
DettagliAggregati di dati eterogenei: il tipo struct. Esercizi risolti
Esercizi risolti 1 Esercizio Si vuole realizzare un tipo utilizzato per informazioni su operazioni di vendita, avente i seguenti campi: codice: numero intero indicante il codice di riferimento dell articolo
DettagliEsercizi sul Monitor in Java
Esercizi sul Monitor in Java 1 I filosofi a cena (E. Dijkstra, 1965) 5 filosofi sono seduti attorno a un tavolo circolare; ogni filosofo ha un piatto di spaghetti tanto scivolosi che necessitano di 2 forchette
DettagliEsercizi Esercizi Università di Salerno
Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc. 2015-2016 Esercizi Esercizi Università di Salerno 1. In un sistema si possono presentare solo due tipi di processi: lettori P l e scrittori P s. Dove i
DettagliESERCITAZIONE 6 12 dicembre Soluzione
ESERCITAZIONE 6 12 dicembre 2013 Soluzione 1 Politiche basate su priorità: necessità di selezionare la richieste da servire Vettore delle operazioni di servizio: Family of entries Es. 2 livelli di priorità
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
DettagliSistemi Operativi. Lez. 6: Problemi classici della programmazione concorrente
Sistemi Operativi Lez. 6: Problemi classici della programmazione concorrente Produttore e consumatore Uno dei problemi classici della programmazione concorrente è il problema del produttore consumatore.
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliESERCIZIO SincrAmbGlob-1
ESERCIZI DI SINCRONIZZAZIONE TRA THREAD CON SEMAFORI ESERCIZIO SincrAmbGlob-1 Si consideri un sistema nel quale è definito il semaforo sem1 e i thread P1, P2 e P3. Al tempo t il semaforo sem1 ha la seguente
DettagliASSESSORATO AL TURISMO
Movimento turistico regionale Anni 2010 e 2009 Dati Statistici comuni di Loreto e Recanati Anni 2005/2010. Capacità ricettiva Comuni di Loreto e Recanati Movimento turistico registrato nelle Strutture
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliE02 ESERCIZI SU MODI DI TRASFERIMENTO
E02 ESERCIZI SU MODI DI TRASFERIMENTO Esercizio 1 Un file di lunghezza F byte è trasferito in una rete a pacchetto, utilizzando n rami in cascata. I nodi attraversati possono essere ritenuti praticamente
DettagliModelli di interazione tra processi
Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
DettagliMarco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata
Lezione R9 I NPCS Sistemi embedded e real-time 4 dicembre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 R9.1 Di cosa parliamo in questa
DettagliThread in Java. Thread = flusso di esecuzione indipendente nel codice del programma
Thread in Java Thread = flusso di esecuzione indipendente nel codice del programma Come si può realizzare il concetto di Thread in Java? Seguendo la filosofia OO: sono oggetti particolari ai quali si richiede
DettagliSistemi Operativi 9 luglio 2013 Compito
Si risponda ai seguenti quesiti, giustificando le risposte. Gli esercizi e le domande marcate con l asterisco (*) devono essere svolti soltanto da chi ha in piano di studi l esame di Sistemi Operativi
DettagliEsercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
DettagliUniversità degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)
Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A. 2005-06 ESERCITAZIONE SUL TEST
DettagliCognome e Nome... Ricerca Operativa 2 AA
Compito A Esercizio. a) Si scrivano, esplicitamente (possono essere riportati in maniera compatta soltanto upper e lower bound sulle variabili), tutte le disequazioni lineari che definiscono il SUBTOUR
DettagliCOMUNE DI MASSA REGOLAMENTO COMUNALE PER LA SOMMINISTRAZIONE DI ALIMENTI E BEVANDE IN OCCASIONE DI SAGRE E MANIFESTAZIONI
COMUNE DI MASSA REGOLAMENTO COMUNALE PER LA SOMMINISTRAZIONE DI ALIMENTI E BEVANDE IN OCCASIONE DI SAGRE E MANIFESTAZIONI Approvato con atto del Consiglio Comunale n. 74 del 27/12/2002 Art. 1 Oggetto Il
DettagliEsercizio 1. Tavola ordinata in memoria centrale
Esercizio 1. Tavola ordinata in memoria centrale E dato un programma che realizza una rubrica telefonica come tavola in memoria centrale. In particolare, ogni elemento della tavola è caratterizzato dalle
DettagliSoluzioni degli esercizi di formulazione di PL{0, 1}
Soluzioni degli esercizi di formulazione di PL{0, 1} Salvatore Nocella 12 febbraio 2007 1 Al lavoro Due operai devono eseguire un certo numero di lavori J = {1,..., n}, ciascuno della durata di un ora.
DettagliLe risorse. Alcune definizioni
Le risorse Dicesi risorsa un qualunque oggetto, fisico o logico, di cui un processo necessita per portare a termine la sua evoluzione. Poiché un processo evolve eseguendo istruzioni (procedure), una risorsa
DettagliEsercitazione 2: Java Thread. Java Thread. Java Thread. Un thread:
Esercitazione 2: Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati con altri thread
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 SEEMORE National Transfer Seminar BUONE PRATICHE DI MOBILITÁ SOSTENIBILE NELLE LOCALITÁ TURISTICHE Forlì, 12 novembre 2013
Progetto SEEMORE National Transfer Seminar BUONE PRATICHE DI MOBILITÁ SOSTENIBILE NELLE LOCALITÁ TURISTICHE Forlì, 12 novembre 2013 Provincia di Forlì-Cesena Elisa Cangini Ufficio Progetti Europei Target
DettagliIl Modello a scambio di messaggi
Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria
DettagliCorso di Informatica
Corso di Informatica Modulo T2 B2.1 - Progettazione concettuale 1 Prerequisiti Tecnica top-down Tecnica bottom-up Chiave primaria Relazione Generalizzazione e specializzazione 2 1 Introduzione Dopo lo
DettagliSTATISTICA SOCIALE Corso di laurea in Scienze Turistiche - A.A. 2007/2008 Esercizi 30 novembre 2007
STATISTICA SOCIALE Corso di laurea in Scienze Turistiche - A.A. 2007/2008 Esercizi 30 novembre 2007 Esercizio 1 La seguente Tabella 1 riporta la distribuzione degli alberghi di una certa area per categoria
DettagliDTI / ISIN / Titolo principale della presentazione. La cena dei filosofi. Amos Brocco, Ricercatore, DTI / ISIN. 14 maggio 2012
DTI / ISIN / Titolo principale della presentazione 1 La cena dei filosofi Amos Brocco, Ricercatore, DTI / ISIN 14 maggio 2012 Il problema dei filosofi a cena Il problema dei filosofi a cena Il problema:
DettagliI Thread. un thread è uno stream di esecuzione del programma
I Thread un thread è uno stream di esecuzione del programma Sistema Operativo e Thread Un processo o thread una successione di operazioni che vengono eseguite dal sistema operativo in modo sequenziale
DettagliCALCOLATRICI, APPUNTI, LIBRI E QUADERNI,
Non è consentito l'utilizzo di CALCOLATRICI, APPUNTI, LIBRI E QUADERNI, ad eccezione dei manuali disponibili sulla cattedra. Rispondere alle domande scrivendo le risposte negli spazi disponibili. NON CONSEGNARE
DettagliCome utilizzare i riferimenti assoluti e relativi in Microsoft Excel
Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel In un foglio elettronico, le celle sono identificate mediante delle coordinate; in genere, sono utilizzate le lettere per identificare
DettagliSincronizzazione. Soluzioni software Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Sincronizzazione Soluzioni software Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Specifiche Le soluzioni software al problema della si basano sull utilizzo di variabili
Dettagli6.6 Regioni Critiche Condizionali. 6.9 Transazioni Atomiche Modello del Sistema Transazionale
45 6.6 Regioni Critiche Condizionali 6.7 Monitor Costrutti linguistici inventati per evitare i problemi di programmazione che facilmente si fanno con i semafori Attenzione con i thread: in tale ambiente
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliThread: sincronizzazione Esercitazioni del 09 Ottobre 2009
Thread: sincronizzazione Esercitazioni del 09 Ottobre 2009 Luca Fossati, Fabrizio Castro, Vittorio Zaccaria October 10, 2009 Sincronizzazione - 1 1 Esercizio 1: Sincronizzazione - 1 Qual è il problema
DettagliLinuxThreads: I thread nel sistema operativo LINUX: Linuxthreads. LinuxThreads. LinuxThreads
I thread nel sistema operativo LINUX: Linuxthreads : Caratteristiche Processi leggeri realizzati a livello kernel System call clone: int clone(int (*fn) (void *arg), void *child_stack, int flags, void
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array 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 di Laurea
DettagliInformazioni generali
Informazioni generali Esercitazioni del corso di Fondamenti di informatica Tutor: Ing. Rughetti Diego Esercitazione: Giovedì 14.30-16.00 Tutoraggio: Giovedì 16.15-17.45 Contatto: rughettidiego@tiscali.it
DettagliLa prima rete nazionale di ciclovie
La prima rete nazionale di ciclovie Per la prima volta, con la legge di Stabilità 2016, è stata prevista la progettazione e la realizzazione di un sistema nazionale di ciclovie turistiche, con priorità
DettagliEsercitazione n o 6 per il corso di Ricerca Operativa
Esercitazione n o 6 per il corso di Ricerca Operativa Il problema è stato tratto dal libro C. Mannino, L.Palagi, M. Roma. Complementi ed esercizi di Ricerca Operativa, Edizioni Ingegneria 2000, 1998, ISBN:
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Array. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Array Anno Accademico 2010/2011 Francesco Tortorella Gli array In alcuni casi, l informazione che bisogna elaborare consiste di un aggregazione di valori, piuttosto
DettagliCognome e nome: Matricola: Posto:
Quesito 1: (+0,5 punti per ogni risposta esatta; -0,25 punti per ogni risposta sbagliata; 0 punti se lasciata in bianco) DOMANDA ero/also La tecnica di allocazione contigua è soggetta al problema della
DettagliEsercitazione 15. Il problema dello Sleeping Barber
Università degli Studi della Calabria Corso di Laurea in Ingegneria Informatica A.A. 2001/2002 Sistemi Operativi Corsi A e B Esercitazione 15 Il problema dello Sleeping Barber E dato un salone di barbiere,
Dettagli