Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.

Slides:



Advertisements
Presentazioni simili
File Linguaggio C.
Advertisements

INFORMATICA Altre Istruzioni di I/O
Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
Gestione Input Output A. Ferrari.
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Programmazione con socket
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Gestione dei Processi. I processi Un processo è unistanza di esecuzione di un programma. Consiste di –Un identificatore univoco (PID) –La handle table.
1 System Call per Comunicazione tra Processi Pipe.
SC che operano su file (1)
Programmazione socket
Operating System Concepts
Come programmare servizi di rete?
CORSO DI PROGRAMMAZIONE II
Il modello cliente/servente per l’implementazione di applicazioni
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
1 File System ed Input/Output UNIX Implementazione del File System Caratteristiche del File System Unix/Linux System Call relative al File System Linput/output.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
I File.
Reti di Calcolatori1 Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce.
Lezione XII Laboratorio di Programmazione. Eccezioni Per la gestione di operazioni che possono non andare a buon fine il C++ mette a disposizione un sistema.
Concorrenza e Sincronizzazione di Thread e Processi
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
Programmazione in Java (9) Mauro Lorenzutti. 30/09/2005Corso Java - Mauro Lorenzutti2 Scaletta I/O Evoluto Serializzazione Comunicazioni via socket JUnit.
Modulo 2 – U.D. 1 – Lez. 2 Ernesto Damiani – Sistemi di elaborazione dell'informazione.
Cosa è una applicazione distribuita?
File system distribuito transazionale con replicazione
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase danalisi Ernesto Damiani Università degli Studi.
BIOINFO3 - Lezione 331 SUBROUTINE IN PERL Una subroutine (funzione, metodo, procedura o sottoprogramma), e` una prozione di codice all`interno di un programma.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Come comunicano i processi ?
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
Lez. 9 (13/14)Elementi di Programmazione1 Lezione 9 Valutazione di espressioni File di testo sequenziali.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
1 Eccezioni in Java. 2 Ricordiamo che 4 una procedura può terminare –normalmente, ritornando un risultato –in modo eccezionale ci possono essere diverse.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
Sistemi di elaborazione dell’informazione Modulo 1 - Tecniche di comunicazione digitale Unità didattica 1 -Richiami sulla trasmissione digitale Ernesto.
Sistemi di elaborazione dell’informazione Modulo 1 -Tecniche di comunicazione digitale Unità didattica 3 – Modelli astratti di protocolli Ernesto Damiani.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 3.
1 Windows Socket Programming Corso di Sistemi di Elaborazione delle Informazioni a.a 2006/2007 Autori: Alberto Colombo Fulvio Frati.
Sistemi di elaborazione dell’informazione Modulo 2 - Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 3 –
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 8.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 2.
1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 - Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 6 – Instradamento.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 7 -Instradamento dinamico Ernesto Damiani Lezione 4 – OSPF.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
Ernesto Damiani Lezione 5 – Gnutella Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 3.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 5.
Protocolli avanzati di rete Modulo 3 - Wireless Network Unità didattica 5 -Protocolli Ernesto Damiani Università degli Studi di Milano Lezione 2.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 9.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Lezione 6: Form.  In alcuni documenti HTML può essere utile creare dei moduli (form) che possono essere riempiti da chi consulta le pagine stesse (es.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Transcript della presentazione:

Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione

Chiamate bloccanti Molte delle funzioni esaminate bloccano il programma che le chiama fino a un determinato evento: accept: fino a che non arriva una connessione; connect: fino a che non viene stabilita la connessione; recv, recvfrom: fino a che non viene ricevuto un pacchetto (di dati); send, sendto: fino a che i dati non vengono immessi nel buffer del socket. Per programmi semplici il blocco è utile. Nel caso di programmi più complessi diventa un problema: connessioni multiple; invio e connessioni simultanee.

Chiamate non bloccanti Opzioni: usare chiamate bloccanti, ma scrivere codice multi-thread o multiprocesso; disattivare la funzione di blocco, per esempio usando la funzione di controllo del descrittore di file fcntl; usare la chiamata select.

Chiamata select (1) Può essere bloccante permanentemente, bloccante per un tempo limitato o non bloccante. Input: una serie di descrittori di file. Output: informazioni sullo stato dei descrittori di file. Identifica i socket che sono “pronti per l’uso”, su cui sono disponibili dei dati.

Chiamata select (2) Usa la struttura struct fd_set È un vettore di bit. Se il bit i è impostato a [readfds, writefds, exceptfds], select controllerà se il descrittore di file (cioè il socket) i è pronto per [lettura, scrittura, eccezione]. Prima di chiamare select FD_ZERO(&fdvar): cancella la struttura; FD_SET(&fdvar): per controllare il descrittore di file i. Dopo aver chiamato select Int FD_ISSET(i, &fdvar): booleano restituisce TRUE se i è “pronto”.

Chiamata della funzione select int status = select(nfds, &readfds, &writefds, &exceptfds, &timeout); status: numero di oggetti pronti, altrimenti -1; nfds: 1 + il descrittore di file più grande da controllare; readfds: elenco di descrittori da controllare perchè pronti alla lettura; writefds: elenco di descrittori da controllare perchè pronti alla scrittura; exceptfds: elenco di descrittori da controllare perchè si è verificata un’eccezione; timeout: tempo dopo il quale select ritorna, anche se nulla è pronto (può essere 0 o ) (parametro di timeout punta a NULL per ). FINE