Pthread Posix Thread
|
|
- Aniello Papi
- 7 anni fa
- Visualizzazioni
Transcript
1 Pthread Psix Thread Crs di laurea in Cmunicazine Digitale Labratri di Reti di calclatri A.A Simne Bassis Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I. Da prgrammazine di rete multiprcess a multithread Una frk() è cmputazinalmente pesante Richiede frme di cmunicazine interprcess per scambiare dati I thread (lighweight prcess) cndividn Memria glbale Istruzini Dati File aperti (es. descrittri) Signal handler e signal dispsitin Wrking directry User e grup ID Ma gni thread ha il prpri Thread ID Insieme di registri (prgram cunter e stack pinter) Stack errn Signal mask Prirità In sldni La cmunicazine è immediata e semplificata Ma richiede attenzine ai prblemi di sincrnizzazine Psix thread Pthread sn la standardizzazine dei thread nel 1995 cme parte degli standard Psix.1c Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I
2 pthread_create() int pthread_create(pthread_t *tid, cnst pthread_attr_t *attr, vid *(*func)(vid *), vid *arg); Returns: 0 if OK, psitive Exxx value n errr Crea un nuv thread tid: thread ID di tip pthread_t (di slit un unsigned int) p_thread_attr_t: attributi del thread prirità, dimensine dell stack, flag per indicare se è un demne, per gli attributi di default usare NULL func: funzine che deve essere eseguita dal thread La funzine prende cme argment un puntatre generic (vid *) E ritrna un puntatre generic (vid *) arg: argmenti di func In cas di argmenti multipli è necessari inserirli in un struct Il thread termina Implicitamente (quand func() ritrna) Esplicitamente (tramite pthread_exit()) Frzatamente (quand il la funzine main() del prcess ritrna un thread chiama exit()) Valre di ritrn Al cntrari delle scket functin (0 se OK e -1 se errre cn errn settat pprtunamente) 0 se OK, psitive errr (>0) se errre, senza settare errn Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I. 516 pthread_jin()/_self() int pthread_jin(pthread_t *tid, vid **status); Returns: 0 if OK, psitive Exxx value n errr Attende che un dat thread abbia terminat la sua esecuzine (cme waitpid()) tid: thread ID che vgliam attendere Nn si può attendere gni thread (-1) cme cn waitpid() status: valre di ritrn del thread pthread_t pthread_self(vid); Returns: thread ID f calling thread Permette ad un thread di ttenere il su thread ID Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I
3 pthread_detach()/_exit() int pthread_detach(pthread_t *tid); Returns: 0 if OK, psitive Exxx value n errr Rende un thread detached Un thread può essere jinable detached Quand un jinable thread termina, il su thread ID e il su exit status sn mantenuti finchè un altr thread invca pthread_jin Un detached thread è cme un prcess demne: quand termina, le sue risrse sn rilasciate e nn si può attendere sulla sua terminazine Di slit è chiamata dal thread che vule rendere se stess detached pthread_detach(pthread_t tid) vid pthread_self(vid *status); Des nt return t caller Permette ad un thread di terminare status: nn deve puntare ad un ggett lcale al thread, altrimenti sparisce quand il thread termina 518 Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I. vid *cpyt(vid *); static int sckfd; /* glbale per garantire access a entrambi i thread */ static FILE *fp; vid str_cli(file *fp_arg, int sckfd_arg) char recvline[maxline]; pthread_t tid; sckfd = sckfd_arg; /* cpia degli argmenti nella variabile esterna */ fp = fp_arg; pthread_create(&tid, NULL, cpyt, NULL); Ech Client while (readline(sckfd, recvline, MAXLINE) > 0) fputs(recvline, stdut); vid * cpyt(vid *arg) char sendline[maxline]; while (fgets(sendline, MAXLINE, fp)!= NULL) write(sckfd, sendline, strlen(sendline)); Attenzine alla readline() che nn esiste nell standard C shutdwn(sckfd, SHUT_WR); /* EOF su stdin, invia FIN */ return(null); /* return (il thread termina) quand incntra EOF su stdin */ Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I
4 static vid *dit(vid *); /* gni thread esegue questa funzine */ int main(int argc, char **argv) int listenfd, cnnfd; scklen_t addrlen, len; struct sckaddr *cliaddr; // cme nei casi precedenti, fin alla listen() fr ( ; ; ) cnnfd = accept(listenfd, cliaddr, &len); pthread_create(null, NULL, &dit, (vid *) cnnfd); static vid * dit(vid *arg) pthread_detach(pthread_self()); // qui ci vann le istruzini per gestire l ech */ clse((int) arg); /* terminat cn la scket cnnessa */ return(null); Ech Server Il thread invca la detach() perché nn c è ragine che il thread principale attenda sulla sua terminazine La scket dati va chiusa prima della terminazine, piché i thread cndividn tutti i descrittri Cn la frk() nn è necessari Il thread principale, parimenti, nn chiude la scket dati, altrimenti la scket verrebbe definitivamente chiusa Al cntrari della frk() La creazine di nuvi thread nn aggiunge un reference cunt ai descrittri aperti Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I. 520 Ech Server int main(int argc, char **argv) int listenfd, cnnfd; fr ( ; ; ) cnnfd = accept(listenfd, cliaddr, &len); pthread_create(null, NULL, &dit, &cnnfd); Passaggi di argmenti a nuvi thread La variabile cnnfd è cndivisa tra tutti i thread senza sincrnizzazine Si pssn verificare race cnditins se più thread cndividn l stess cnnfd: alcuni client pssn rimanere senza il crrispettiv server-thread int listenfd, *iptr fr ( ; ; ) iptr= mallc(sizef(int)); *iptr= accept(listenfd, cliaddr, &len); Sluzine Dare ad gni thread una cpia del descrittre cnnfd Passand il valre di cnnfd e nn il puntatre al valre Il thread cntrlla il valre di cnnfd e pi rilascia la memria Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I. pthread_create(null, NULL, &dit, iptr); static vid * dit(vid *arg) int cnnfd; cnnfd=*((int *) arg); free(arg); pthread_detach(pthread_self()); 521 4
5 Occhi alla sincrnizzazine Al slit la parte difficile è la gestine crretta della sincrnizzazine, tramite Mutex (Mutual Exclusin) int pthread_mutex_lck (pthread mutex_t *mptr); int pthread mutex unlck(pthread_mutex_t *mptr); Bth return: 0 if OK, psitive Exxx value n errr Cnditin Variable #include <pthread.h> int pthread cnd wait(pthread_cnd_t *cptr, pthread_mutex_t *mptr); int pthread_cnd_signal(pthread_cnd_t *cptr); Bth return:0 if OK, psitive Exxx value n errr Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I. 522 Esercizi C 7 Si implementi una versine multithread dell Ech Server sviluppat nell Esercizi C 5. Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan D.S.I
Unix Socket. Corso di laurea in Comunicazione Digitale Laboratorio di Reti di calcolatori A.A Simone Bassis
Unix Scket Crs di laurea in Cmunicazine Digitale Labratri di Reti di calclatri A.A. 009-00 Simne Bassis bassis@dsi.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 0-0 Università di Milan D.S.I.
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 20 Giovedì 22-12-2016 Comunicazione: pipe In Unix, processi possono comunicare
DettagliThread. La libreria Pthread Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Thread La libreria Pthread Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Librerie di thread Fornisce l interfaccia per effettuare la gestione dei thread da parte del programmatore
DettagliProgettazione di Applicazioni Robuste. Applicazione Echo. Schema Generale di un Server TCP Ricorsivo 1. Applicazione echo
a.a. 2003/04 Applicazione Echo Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Progettazione di Applicazioni Robuste nel progettare applicazioni su rete robuste
DettagliThreads: 1. Concetti di base 2. Threads in sistemi operativi attuali (NT/UNIX)
Sistemi Operativi I Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Threads: 1. Concetti di base 2. Threads in sistemi operativi attuali
Dettagliil tipo di parallelismo dipende dal grado di cooperazione
Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale
DettagliProblema. I/O Multiplexing. Struttura delle Operazioni di Lettura. Modelli di I/O. Prof. Vincenzo Auletta
a.a. 2003/04 Problema I/O Multiplexing Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1 Un applicazione
DettagliConversione di nomi e indirizzi. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A Simone Bassis
Cnversine di nmi e indirizzi Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2014-2015 Simne Bassis bassis@di.unimi.it Indirizzi Java mette a dispsizine delle classi appsite per cntenere
DettagliI/O Multiplexing select() e poll()
I/O Multiplexing select() e pll() Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2014-2015 Simne Bassis bassis@di.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2014-2015 Università
DettagliP3-04: I/O multiplexing
Autunno 2002 Prof. Roberto De Prisco -04: I/O multiplexing Università degli studi di alerno Laurea e Diploma in Informatica Problema 04.2 Un programma deve gestire due input simultaneamente tandard input
DettagliThread. Thread. Creazione di nuovi processi. Applicazioni reali. La creazione di un nuovo processo costa I tempi di context switch sono elevati
Thread Thread Motivazioni Modelli Multithread Pthread, Threads in Win32, Thread in Java Problematiche relative ai Thread Thread Windows XP Thread Linux Applicazioni reali Creazione di nuovi processi Browser
DettagliIntroduzione al Multithreading
Introduzione al Multithreading Claudia Calidonna Istituto di di Cibernetica C.N.R. Argomenti principali Parleremo di : Processi & Threads Operazioni sui threads ed eventuali confronti tra operazioni sui
DettagliRelazione tra thread e processi
I Thread POSIX Relazione tra modello a processi e a thread Creazione di un thread Attesa Distacco Terminazione Ricerca e confronto Inizializzazione dinamica Relazione tra thread e processi Nel modello
DettagliPerche le CPU multicore
Perche le CPU multicore I processi industriali producono chip sempre piu densi in termini di transistor 2000 Inoltre: Watt ~ Volt 2 x frequenza Frequenza ~ Volt Watt ~ frequenza 3 Il rapporto Watt/mm 2
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à
DettagliFunzioni bloccanti e soluzioni
Funzioni bloccanti e soluzioni La funzione accept() e le funzioni per la gestione dell I/O (ad es., read() e write()) sono bloccanti Ad es., le funzioni read() e recv() rimangono in attesa finché non vi
DettagliThread. Introduzione Creazione, distruzione Sincronizzazione
Thread Introduzione Creazione, distruzione Sincronizzazione Parallelismo Il tipo di meccanismo a supporto del parallelismo dipende dal grado di cooperazione tra le varie entità che costituiscono un'applicazione
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
DettagliLaboratorio di Reti di Calcolatori
Laboratorio di Reti di Calcolatori Funzioni utili, server ricorsivi, echo client ed echo server. Paolo D Arco Abstract Scopo della lezione è presentare alcune funzioni di utilità generale (e.g., funzioni
DettagliI thread nel sistema operativo LINUX: Linuxthreads
I thread nel sistema operativo LINUX: Linuxthreads LinuxThreads: Caratteristiche Processi leggeri realizzati a livello kernel System call clone: int clone(int (*fn) (void *arg), void *child_stack, int
DettagliImplementazione di un Server Iterativo. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A
Implementazine di un Server Iterativ Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2014-2015 Simne Bassis bassis@di.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2014-2015
DettagliLab. di Sistemi Operativi - Esercitazione n 9- -Thread-
Lab. di Sistemi Operativi - Esercitazione n 9- -Thread- 1 Sommario Esercizi su: Comunicazione tra processi: la funzione pipe() Condivisione dati e codice tra due o più processi: concetto di Thread 2 -
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
DettagliSistemi Operativi (M. Cesati)
Sistemi Operativi (M. Cesati) Compito scritto del 26 giugno 2017 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare
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
DettagliSC che operano su thread. pthread_create() etc...
SC che operano su thread pthread_create() etc... 1 Thread POSIX Obiettivi Fornire una breve introduzione descrivere alcune delle numerose SC relative ai thread POSIX fare qualche esempio concreto Finora
DettagliFunzioni bloccanti e soluzioni. Funzioni bloccanti e soluzioni (2) Parametri della funzione select() Funzione select()
Funzioni bloccanti e soluzioni La funzione accept() e le funzioni per la gestione dell I/O (ad es., read() e write()) sono bloccanti Ad es., le funzioni read() e recv() rimangono in attesa finché non vi
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
DettagliI THREAD. thread 2. thread 1
I THREAD Un thread è un singolo flusso di istruzioni, all interno di un processo, che lo scheduler può fare eseguire separatamente e concorrentemente con il resto del processo. Per fare questo uno thread
DettagliPrinciples of Concurrent Programming
Principles of Giuseppe Anastasi g.anastasi@iet.unipi.it Pervasive Computing & Networking Lab. () Dept. of Information Engineering, University of Pisa Overview Concetti preliminari Interazione fra processi
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
DettagliEsercitazione n.1 24 Ottobre Obiettivi:
Esercitazione n.1 24 Ottobre 2013 Obiettivi: Gestione dei thread mediante libreria pthreads: creazione: pthread_create terminazione: pthread_exit join: pthread_join 1 Richiami sui thread 2 Processi Immagine
DettagliProtocolli applicativi
Prgrammazine cn le Scket Crs di laurea in Cmunicazine Digitale Labratri di sistemi e reti A.A. 2010-2011 Simne Bassis bassis@dsi.unimi.it Labratri di sistemi e reti (Cmunicazine Digitale) - A.A. 2010-2011
DettagliCosa e un processo? Stato del processo
Cosa e un processo? LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica Un sistema operativo esegue programmi di varia natura: Compilatori, word processor, programmi utente, programmi di sistema,
DettagliSemafori. Semafori classici con i thread POSIX 2
Semafori classici Semafori I semafori sono primitive, implementate attraverso dei contatori, fornite dal sistema operativo per permettere la sincronizzazione tra processi e/o thread. Per queste primitive
DettagliUTILIZZO DI UNIX: LIVELLO I
UTILIZZO DI UNIX: LIVELLO I Durata: 16 re UN BUON MOTIVO PER [cd. E901] E' il prim di due crsi pensati per chiunque debba imparare ad perare cn sistemi UNIX. In quest prim crs si imparan i cmandi, la terminlgia,
DettagliLezione 5. Processi e thread. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata
Lezione 5 Sistemi operativi 24 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 5.1 Di cosa parliamo in questa lezione? Relazione tra processi e thread, e relative
DettagliMicrosoft SQL Server 2005, 2008 R2 e 2012 Raccomandazioni Marzo 2013
Micrsft SQL Server 2005, 2008 R2 e 2012 Raccmandazini Marz 2013 1. Micrsft SQL Server 2005 PrefSuite 2006.3 e PrefSuite 2008 sn cmpatibili cn questa versine di SQL. L investiment in Micrsft SQL Server
DettagliIToolS AT commands server. Version 3.3 12/11/2012
ITlS AT cmmands server 1 Smmari Descrizine... 3 Funzinament... 3 Esempi... 6 2 Descrizine Il cmpnente ITlS AtServer presente nel namespace ITlS.Cmpnents.Netwrk.Mdem cnsente di inviare SMS ed email attravers
DettagliServer Iterativi. Server TCP Ricorsivi. Fork. Server Ricorsivi. un server iterativo gestisce una connessione alla volta. Prof.
Università degli studi di Salerno Laurea in Informatica a.a. 2003/04 TCP Ricorsivi Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 1 Iterativi un server iterativo
DettagliEsame 70284: Implementazione e amministrazione di Exchange Server 2003 (corso MS-2400)
Via Renat Cesarini, 58/60 00144 Rma Via Scrate 26-20128 - Milan P. IVA: 01508940663 CCIAA: 11380/00/AQ Cisc, Juniper and Micrsft authrized Trainers Esame 70284: Implementazine e amministrazine di Exchange
Dettagli2. I THREAD. 2.1 Introduzione
2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:
DettagliSistemi Operativi II. Thread: TSD, Attributi
Sistemi Operativi II Thread: TSD, Attributi Dati Privati di un Thread I thread condividono il segmento dati Complementarietà rispetto ai processi thread semplice scambiare dati con altri thread appositi
DettagliConversione di nomi e indirizzi. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A. 2011-2012. Simone Bassis bassis@dsi.unimi.
Cnversine di nmi e indirizzi Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2011-2012 Simne Bassis bassis@dsi.unimi.it Indirizzi Java mette a dispsizine delle classi appsite per cntenere
DettagliAstrazioni: Programma svolto in Fondamenti di Informatica 1
Prgramma svlt in Fndamenti di Infrmatica 1 1. Architettura dei sistemi di elabrazine. Struttura generale di un calclatre elettrnic, macchina di Vn Neumann. 2. Sftware di base per sistemi di elabrazine:
DettagliLa torta caprese. I Thread. L analogia. L analogia. Parallelismo e concorrenza. Processi con sequenze di esecuzione singole e multiple.
Introduzione I Thread Parallelismo e concorrenza Thread a livello utente e nucleo I modelli multithread Aspetti sui thread Pthreads Solaris 2 Threads Windows 2000 Threads Linux Threads Java Threads Ingredienti
DettagliPrecedenza e associatività. Complementi sul C - 2. Esempi. Esempi
Complementi sul C - 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Precedenza e associatività () [] ->. S D! ~ ++ + * & (cast ) sizeof S D * / % S D + - (somma e sottrazione) S D >
DettagliSistemi Operativi Teledidattico
Sistemi Operativi Teledidattico Anno 2002 3a esercitazione 5/10/2002 Paolo Torroni processi fork (creazione di un figlio) exec (sostituzione di codice del programma in esecuzione) wait (attesa della terminazione
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
DettagliSocket II MIDLAB. Sirio Scipioni. M I D L A B.
Socket II Sirio Scipioni scipioni@dis.uniroma1.it http://www.dis.uniroma1.it/~scipioni MIDLAB http://www.dis.uniroma1.it/~midlab Sommario Richiami sui processi Echo server TCP (multi processo) Richiami
DettagliPassare argomenti al programma
Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di
DettagliEsempi di Client e Server
Esempi di Client e Server Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A. 0-0 Simone Bassis bassis@di.unimi.it #include #include #include #include
DettagliGENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio)
GENERAZIONE PROCESSO FIGLIO (padre attende terminazione del figlio) #include void main (int argc, char *argv[]) { pid = fork(); /* genera nuovo processo */ if (pid < 0) { /* errore */ fprintf(stderr,
DettagliI Thread. Laboratorio Software 2008-2009 M. Grotto R. Farina
I Thread M. Grotto R. Farina Sommario 1. I Thread Introduzione 2. Creazione e terminazione Utilizzo Scheduling dei processi 3. Comunicazione 4. Attributi Passaggio di parametri Funzioni utili Descrizione
DettagliInput/output da file I/O ANSI e I/O UNIX FLUSSI E FILE FLUSSI FLUSSI di TESTO FLUSSI BINARI FILE
Input/output da file Il linguaggio C non contiene istruzioni di I/O, in quanto tali operazioni vengono eseguite tramite funzioni di libreria standard. Questo approccio rende estremamente flessibile e potente
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
DettagliSERVER CLIENT. Struttura di un Applicazione UDP. Socket UDP. Parametri di sendto. Funzioni di Input/Output. Prof. Vincenzo Auletta
I semestre 03/04 Struttura di un Applicazione UDP Socket UDP socket() bind() Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ CLIENT socket() sendto() Dati (richiesta)
DettagliLe strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.
Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura
DettagliSystem Calls per la Gestione dei Processi
System Calls per la Gestione dei Processi Domenico Cotroneo Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II Roadmap Process Context Identificativi getpid() getppid()
DettagliSincronizzazione. I semafori Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino
Sincronizzazione I semafori Stefano Quer Dipartimento di Automatica e Informatica Politecnico di Torino 2 Introduzione Le soluzioni Software sono complesse da utilizzare dal punto di vista del programmatore
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 9 (svolta) RPC: Inizializzazione Strutture Dati sul Server Luca Foschini Anno accademico 2010/2011
DettagliIntroduzione ai socket
Introduzione ai socket Socket locali Contiene lucidi tratti da: 2006-2007 Marco Faella, Clemente Galdi, Giovanni Schmid (Università di Napoli Federico II), 2004-2005 Walter Crescenzi(Universita di Roma
DettagliGESTIRE E MANTENERE UN AMBIENTE WINDOWS SERVER 2003 PER MCSA WINDOWS 2000
GESTIRE E MANTENERE UN AMBIENTE WINDOWS SERVER 2003 PER MCSA WINDOWS 2000 UN BUON MOTIVO PER Durata: 40 re [cd. E004] Quest crs e' pensat per amministratri di sistema su Windws 2000 cn esperienza nella
DettagliLaboratorio di Reti di Calcolatori
Laboratorio di Reti di Calcolatori Socket UDP. Paolo D Arco Abstract Scopo della lezione è descrivere le funzioni che l interfaccia dei socket offre per far interagire client e server attraverso il protocollo
Dettaglieseguire comandi dati dall'utente, utilizzando una macchina reale, di livello inferiore,
La programmazione di sistema Introduzione ai sistemi operativi multiprocesso Primitive per la gestione dei processi http://home.dei.polimi.it/silvano/acso.htm Il sistema ste operativo Il Sistema Operativo
DettagliPuntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata
Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione
DettagliI/O Multiplexing select() e poll()
I/O Multiplexing select() e pll() Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2013-2014 Simne Bassis bassis@di.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2013-2014 Università
DettagliSistemi Operativi. Marzo-Giugno 2011 matricole congrue 0 mod 3. Controllo dei processi - I
Marzo-Giugno 2011 matricole congrue 0 mod 3 Controllo dei processi - I Controllo dei processi Creazione di nuovi processi Esecuzione di programmi Processo di terminazione Altro 2 1 Identificatori di processi
DettagliSERVER CLIENT. Letteralmente significa presa (di corrente) È l astrazione di un canale di comunicazione fra due computer connessi da una rete
Socket 02.2 Letteralmente significa presa (di corrente) È l astrazione di un canale di comunicazione fra due computer connessi da una rete -02: Socket TCP Autunno 2002 Prof. Roberto De Prisco Sono definiti
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
DettagliI thread. Motivazioni e definizione. Modelli di programmazione multithread. Librerie per i thread. Problemi nella programmazione multithread
I Thread I thread Motivazioni e definizione Modelli di programmazione multithread Librerie per i thread Problemi nella programmazione multithread Thread di Linux 4.2 Motivazioni 1 La gestione dei processi
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_
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 20 Martedì 16-12-2014 1 System call per la gestione dei processi Creazione
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto
DettagliAXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema
AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel
DettagliLABORATORI DI INFORMATICA 2 MANUALE STUDENTE
LABORATORI DI INFORMATICA 2 MANUALE STUDENTE Indice 1. Gestine Sessine di lavr 1.1. Lgin al sistema 1.2. Strumenti a dispsizine dell studente 1.3. Chiusura della sessine 2. Cmandi Linux Principali 2.1.
DettagliCorso di Programmazione Concorrente Processi. Valter Crescenzi
Corso di Programmazione Concorrente Processi Valter Crescenzi http://crescenzi.inf.uniroma3.it Sommario Processi vs Thread Creazione e terminazione di processi chiamata di sistema fork() chiamata di sistema
DettagliProcessi Concetti di base. Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi
Processi Concetti di base Esecuzione parallela e sequenziale Il concetto di processo Gestione dei processi Esecuzione sequenziale I sistemi di calcolo più semplici consentono unicamente l'esecuzione sequenziale
DettagliLinuxthreads: esercizio
Linuxthreads: esercizio Esercizio 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 (Npiccole,
DettagliControllo dei Processi 1
Controllo dei Processi 1 I processi Nei sistemi Unix/Linux ogni processo ne può generare altri. Il processo che li genera è detto processo padre (parent process), mentre i processi generati sono detti
DettagliLa torta caprese. Ingredienti. Istruzioni: 5 uova 8 cucchiai di zucchero 1/8kg di burro ¼kg di mandorle dolci 100gr di cioccolato fondente
I Thread Introduzione Parallelismo e concorrenza Thread a livello utente e nucleo I modelli multithread Aspetti sui thread Pthreads Solaris2 Threads Windows 2000 Threads Linux Threads Java Threads La torta
Dettaglie/fiscali - Rel. 04.01.04
e/fiscali - Rel. 04.01.04 Rimini, 09 dicembre 2013 e/fiscali - Fix 04.01.04 Dcumentazine di rilasci 24 ORE Sftware S.p.A. 12/12/2013 Pag. 1 di 15 INDICE 1 FIX 04.01.04 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE...
DettagliSignalling (IPC) Signalling (segnalazione)
Signalling (IPC) Signalling (segnalazione) è un particolare tipo di Inter-Process Communications che permettere di sincronizzare dei processi spedendo e ricevendo dei messaggi minimali che informano dell'accadimento
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
DettagliSmallShell Piccolo processore comandi
SmallShell Piccolo processore comandi /* file smallsh.h */ #include #include #define EOL 1 #define ARG 2 #define AMPERSAND 3 #define SEMICOLON 4 #define RIDIRIN 5 #define RIDIROUT 6
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
Dettaglie/fiscali - Rel. 04.01.03
e/fiscali - Rel. 04.01.03 Mntebelluna, 07 nvembre 2013 e/fiscali - Fix 04.01.03 Dcumentazine di rilasci 24 ORE Sftware S.p.A. 07/11/2013 Pag. 1 di 13 INDICE 1 FIX 04.01.03 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE...
DettagliLa gestione informatizzata del farmaco
Azienda Ospedaliera di Verna Dipartiment di Medicina Clinica e Sperimentale Medicina Interna B - Reumatlgia La gestine infrmatizzata del farmac Crdinatre Stefania Discnzi Reggi Emilia 11-12 XII 2008 CRITICITA
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliL ambiente di un processo (I)
L ambiente di un processo (I) L ambiente di un processo è un insieme di stringhe (terminate da \0). Un ambiente è rappresentato da un vettore di puntatori a caratteri terminato da un puntatore nullo. Ogni
DettagliIntroduzione a Linux
Intrduzine a Linux Lezine 2 Prvare Linux Angel Genvese Crs di Sistemi Operativi Prf. V. Piuri Università degli Studi di Milan Dipartiment di Infrmatica A.A. 2015/2016 2015 Angel Genvese Panramica della
DettagliInformazioni generali
Presentazine del crs Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2014-2015 Simne Bassis bassis@di.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2014-2015 Università di Milan
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
DettagliATLAS Sincro : NON VEDO LA SESSIONE e/o NON ACCEDO CON LE CREDENZIALI
ATLAS 1.5.5 Sincr : NON VEDO LA SESSIONE e/ NON ACCEDO CON LE CREDENZIALI ATLAS Sincr 1.5.5 : Nn ved la sessine e/ nn acced cn le credenziali di esaminatre Dp la sincrnizzazine nn ved la sessine in Pstazine
DettagliCosa vedremo. Lezione 4. Dati. Tipo di dato. Tipo di dato. I Dati: Gli oggetti che conosce il computer
Csa vedrem Lezine 4 Dati ed istruzini di base I Dati: Gli ggetti che cnsce il cmputer Le istruzini: Le azini che cnsce il cmputer Dati ggetti cn cui si lavra Il cmputer cnsce sl alcuni tipi di dat ritmetici
DettagliSISTEMI OPERATIVI. I thread. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)
SISTEMI OPERATIVI (MODULO DI INFORMATICA II) I thread Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) Università degli Studi di Bergamo a.a. 2012-13 Sommario Generalità: il concetto di
DettagliPERCORSO FORMATIVO PER PERSONALE INFORMATICO. CORSO ABAP e TOOLS
PERCORSO FORMATIVO PER PERSONALE INFORMATICO CORSO ABAP e TOOLS Lez. 0: Intrduzine ad ABAP/4 Prgramma Reprt; Prgramma Interattiv; Smartfrms; Tl Sap Query. Lez. 1: Navigazine e visualizzazine tabelle Database
DettagliEsercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC) - - 2 Parte -
Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012 - Comunicazione Tra Processi (IPC) - - 2 Parte - 1 Sommario Comunicazione tra processi su macchine diverse in rete: Socket TCP o Socket Stream
DettagliProgrammazione (imperativa)
Programmazione (imperativa) Corso di Laurea in Informatica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 12.00-13.00 e 14.00-16.00 Mercoledì 14.00-17.00 Laboratorio: Giovedì 12.00-13.00
DettagliURL e URLConnection. Corso di laurea in Comunicazione Digitale Laboratorio di sistemi e reti A.A Simone Bassis
URL e URLCnnectin Crs di laurea in Cmunicazine Digitale Labratri di sistemi e reti A.A. 2010-2011 Simne Bassis bassis@dsi.unimi.it Labratri di sistemi e reti (Cmunicazine Digitale) - A.A. 2010-2011 Università
Dettagli