Modulo extra: Parallel Virtual Machine (PVM)
|
|
|
- Leonzio Damiani
- 10 anni fa
- Просмотров:
Транскрипт
1 1 Modulo extra: (PVM) Laboratorio di Sistemi Operativi I Anno Accademico Francesco Pedullà (Tecnologie Informatiche) Massimo Verola (Informatica) Copyright 2005 Francesco Pedullà, Massimo Verola Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be found at:
2 2 Riferimenti Sito web: Libro: PVM: A Users' Guide and Tutorial for Networked Parallel Computing Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, Vaidy Sunderam 2
3 3 PVM = Software package Standard daemon: pvmd Application program interface (API) Rete di sistemi eterogenei Workstations Supercomputers Unix, NT, VMS, OS/2 3
4 4 Il processo pvmd3 Gestisce gli host della macchina virtuale Instrada i messaggi Crea, distrugge e gestisce i processi locali Rileva errori ed anomalie Autentica gli utenti Raccoglie gli output Punto di contatto inter-host Un pvmd3 su ciascun host Puo' essere lanciato al boot 4
5 5 Il programma pvm Console di controllo interattivo Configurazione del PVM Status checking Puo' lanciare pvmd 5
6 6 Le librerie libpvm - I Linkata con i programmi applicativi Funzioni Comporre i messaggi Send Receive Fornisce le system call verso pvmd Tre librerie: libpvm3.a, libfpvm3.a, libgpvm3.a 6
7 7 Le librerie libpvm - II libpvm3.a: Inizia e termina i processi Pack, send, e receive dei messaggi Sincronizzazione attraverso barrier Interrogazione e modifica della configurazione di pvm Parla con il pvmd3 locale Effettua la conversione di formato dei dati (XDR) libfpvm3.a Indispensabile per i codici in Fortran libgpvm3.a Necessaria per la gestione dinamica dei gruppi di processi 7
8 8 8
9 9 9
10 10 10
11 11 Gestione dei processi - I pvm_mytid: Registra il processo chiamante in PVM e genera un task identifier unico se il processo non e' gia' registrato. Restituisce sempre il tid del processo chiamante tid=pvm_mytid(); pvm_parent(): Restituisce il task id del processo che ha chiesto la creazione del processo chiamante ptid=pvm_parent; 11
12 12 Gestione dei processi - II pvm_spawn(): Lancia nuovi processi PVM Il programmatore puo' specificare l'architettura e il nome della macchina su cui lanciare i processi numt=pvm_spawn("wrk",0,pvmtaskdefault,"",1,&tids[i]); numt=pvm_spawn("wrk",0,pvmtaskarch,"rs6k",1,&tid[i]); pvm_exit(): Avverte il demone locale pvmd che il processo chiamante sta lasciando PVM Deve essere invocata sempre prima della exit() 12
13 13 Gestione della comunicazione - I Tre passi logici: Allocazione di un buffer Riempimento del buffer Invio del buffer pvm_initsend(): Alloca un buffer Diventa il buffer attivo (per inviare, ne esiste anche uno per ricevere) Utilizzato da tutte le chiamate successive 13
14 14 Gestione della comunicazione - II pvm_pkdatatype(): Impacchetta i dati del tipo specificato nel buffer di invio attivo Deve avere una corrispondente chiamata di spacchettamento nel processo che ricevera' il contenuto del buffer Gli elementi dei tipi dati strutturati devono essere impacchettati individualmente (per tipo omogeneo) Permette di specificare numero di elementi e stride pvm_upkdatatype(): Spacchetta i dati del tipo specificato dal buffer di ricezione attivo 14
15 15 Gestione della comunicazione - III pvm_send(): Invia immediatamente i dati nel buffer al task destinazione Associa un tag al messaggio Restituisce 0 se ha successo, altrimenti <0 pvm_send(tids[1],msgtag); pvm_recv(): Blocca il processo ricevente finche' non riceve un messaggio con il tag specificato dal tid specificato Il messaggio viene copiato in un nuovo buffer attivo, che sostituisce il corrente pvm_recv(tid,msgtag); 15
16 PVM: Hello World! 16 #include <stdio.h> #include "pvm3.h" main() { int cc, tid; char buf[100]; } printf("i'm t%x\n", pvm_mytid()); cc = pvm_spawn("hello_other", 0, 0, "", 1,&tid); if (cc == 1) { cc = pvm_recv(-1, -1); pvm_bufinfo(cc, 0, 0, &tid); pvm_upkstr(buf); printf("from t%x: %s\n", tid, buf); } else printf("can't start hello_other\n"); pvm_exit(); exit(0); #include "pvm3.h" main() { int ptid; char buf[100]; } ptid = pvm_parent(); strcpy(buf, "hello, world from "); gethostname(buf + strlen(buf), 64); pvm_initsend(pvmdatadefault); pvm_pkstr(buf); pvm_send(ptid, 1); pvm_exit(); exit(0); 16
17 17 Altre chiamate per la trasmissione pvm_psend(): Impacchetta ed invia un messaggio con una sola chiamata La sintassi richiede la specifica di un tipo dati valido pvm_nrecv(): Come pvm_recv, eccetto che la chiamata e' non-bloccante Se il messaggio e' arrivato, restituisce il buffer id del nuovo buffer di ricezione Altrimenti restituisce 0 In caso di errore, restituisce <0 rc = pvm_nrecv(tid,msgtag); 17
18 18 Gestione dei nodi (hosts) pvm_addhosts(): Aggiunge host alla macchina virtuale I nomi devono avere una sintassi uguale a quella delle linee dell'hostfile di pvmd pvm_addhosts(hostarray,4,infoarray); pvm_delhost(): Cancella host dalla macchina virtuale pvm_delhosts(hostarray,4); 18
19 19 L'anello: master #include <stdio.h> #include <pvm3.h> #define PROC_NUM 3 int main() { int mytid; int children[proc_num]; int res, i; mytid = pvm_mytid(); printf("master: TID is %d\n", mytid); res = pvm_spawn("ring-slave", NULL, PvmTaskDefault, "", PROC_NUM, children); if (res < 1) { printf("master: pvm_spawn error (res=%d)\n", res); pvm_exit(); // send neighbors' TIDs for(i=0; i<proc_num; i++) { pvm_initsend(pvmdatadefault); pvm_pkint(&children[(i-1+proc_num)%proc_num], 1, 1); pvm_pkint(&children[(i+1)%proc_num], 1, 1); pvm_send(children[i], 1); } // test the ring i=1; pvm_initsend(pvmdatadefault); pvm_pkint(&i, 1, 1); pvm_send(children[0], 1); pvm_exit(); return 0; } exit(1); }
20 20 L'anello: slave int main() { int mytid, lefttid, righttid, sendertid; int res, i, bufid; FILE* cons; cons = fopen("/dev/pts/2", "a"); mytid = pvm_mytid(); sleep(1); fprintf(cons, "\nslave [%d]: started\n", mytid); // get neighbors' TIDs pvm_recv(-1, -1); pvm_upkint(&lefttid, 1, 1); pvm_upkint(&righttid, 1, 1); fprintf(cons, "Slave [%d]: left=%d right=%d\n", mytid, lefttid, righttid); sleep(1); } while(1) { bufid = pvm_recv(-1, -1); pvm_upkint(&i, 1, 1); pvm_bufinfo(bufid, NULL, NULL, &sendertid); fprintf(cons, "Slave [%d]: msg %2d from %d\n", mytid, i, sendertid); sleep(1); i++; pvm_initsend(pvmdatadefault); pvm_pkint(&i, 1, 1); pvm_send(righttid, 1); if (i>20) break; } pvm_exit(); return 0; 20
21 21 PVM Collective Communication - I pvm_barrier(): Blocca il processo chiamante finche' tutti i processi del gruppo hanno chiamato pvm_barrier() pvm_barrier("worker",5); pvm_bcast(): Invia in maniera asincrona i dati nel buffer attivo ad un gruppo di processi (mittente escluso) pvm_bcast("worker",msgtag); 21
22 22 PVM Collective Communication - II pvm_mcast(): Invia un messaggio memorizzato nel buffer di invio attivo ai task specificati nel vettore tids[]. Il messaggio non e' inviato al chiamente neanche se e' elencato in tids pvm_mcast(tids,ntask,msgtag); 22
23 23 PVM Collective Communication - III pvm_gather(): Un membro specificato riceve i messaggi inviati dagli altri membri del gruppo e li raccoglie in un array Tutti i membri del gruppo devono invocare pvm_gather(). Costituisce una barriera implicita pvm_gather(&getmatrix,&myrow,10,pvm_int,msgtag, "workers",root); 23
24 24 PVM Collective Communication - IV pvm_scatter(): Distribuisce i data a partire dalla radice specificata a tutti i membri del gruppo, radice inclusa Tutti i membri del gruppo devono chiamare pvm_scatter() Ciascun membro riceve una porzione del vettore dalla radice nel proprio vettore locale pvm_scatter(&getmyrow,&matrix,10,pvm_int, msgtag,"workers",root); 24
25 25 PVM Collective Communication - V pvm_reduce(): Esegue un'operazione di riduzione sui membri del gruppo Tutti i membri del gruppo chiamano con i propri dati locali e il risultato appare sul nodo radice Gli utenti possono definire le proprie funzioni di riduzione ovvero usare funzioni PVM predefinite pvm_reduce(pvmmax,&myvals,10,pvm_int,msgtag, "workers",root); 25
26 26 Installazione di PVM3 - I Scaricare: pvm3.4.5.tgz da rpm da Installare PVM (usare gcc 3.X): tar -zxcf pvm3.4.5.tgz make all Attivare rsh o (meglio) ssh necessario solo nel caso si usi piu' di un host Lanciare la console pvm 26
27 27 Installazione di PVM3 - II Preparare l'esempio: make all Eseguirlo:./master Chiudere la console comando halt Domande? 27
28 28 Makefile di esempio PVMDIR = /home/francesco/pvm3 INCDIR = $(PVMDIR)/include LIBDIR = $(PVMDIR)/lib/LINUX BINDIR = $(PVMDIR)/bin/LINUX all: master slave cp master slave $(BINDIR) master: master.c gcc -o master -L$(LIBDIR) -I$(INCDIR) master.c -lpvm3 slave: slave.c gcc -o slave -L$(LIBDIR) -I$(INCDIR) slave.c -lpvm3 clean: rm *.o master slave 28
29 29 Come chiudere PVM Tutti programmi devono invocare pvm_exit() Alla chiusura, il demone master pvmd3 uccide automaticamente tutti gli altri demoni tutti i processi registrati Sulla console pvm: "halt" Se il demone funziona in background: entrare in modalita' console mode con il comando "pvm" ed eseguire halt. 29
30 30 Compito di esonero - I Implementare un sistema PVM con le seguenti limitazioni: utilizzo su un solo sistema (nessuna gestione degli host, nessuna conversione di formato, nessuna gestione dei gruppi) implementazione delle call fondamentali (quelle necessarie ad eseguire l'esempio ring con qualunque numero di nodi) implementazione dei soli comandi di console necessari ad eseguire e verificare l'esempio (halt, quit, ps, sig, spawn) un solo programma parallelo in esecuzione (cioe', un solo eseguibile lanciato dalla linea comandi) limitazione delle dimensioni dei messaggi a PIPE_BUF (4K) gestione di un solo buffer di invio e un solo buffer di ricezione 30
31 31 Compito di esonero - II La consegna deve contenere due file: package pvm3.4.5.tgz di installazione e configurazione compatibile con quello originale di PVM (la procedura di installazione deve essere identica) file test.tgz contenente il makefile di compilazione e installazione del programma di test master-slave modellato su quello dell'esempio (con i comandi all, clean ) a pag. 28 del modulo PVM: Il compito di esonero deve essere compilabile ed eseguibile su RedHat/Fedora Core o Suse 31
32 32 Compito di esonero - III Possibili estensioni: rimozione di una o piu' limitazioni (dimensioni dei buffer, programmi paralleli attivi) call asincrone altre call di comunicazione puntuale call di comunicazione collettiva Ogni nuova funzionalita' deve essere verificabile tramite uno o piu' dei test ufficiali di ORNL (pvm_test) esempio: test16 per pvm_barrier() 32
33 33 Compito di esonero - IV In caso di estensioni, la consegna deve contenere anche: un documento con la lista delle funzioni e/o comandi addizionali implementati ulteriori target del Makefile in formato test# dove # e' il numero del test della suite pvm_test eventuali ulteriori target (da documentare) 33
34 34 Sull'uso di gdb - I Per debuggare un processo, si forniscono sulla linea comandi nome dell'eseguibile e pid del processo: gdb program 1234 In alternativa, dalla linea comandi di gdb: attach 1234 file program E' opportuno che il programma sia in attesa, per es.: in sleep per un tempo lungo (e.g., 3600s) di un evento (e.g., lettura da pipe) di un segnale (e.g., SIGUSR1) 34
35 35 Sull'uso di gdb - II In ogni caso, il processo viene bloccato Dopo l'operazione di attach: inviare il segnale o provocare l'evento per sbloccare il processo il processo rimane bloccato sull'istruzione successiva definire i breakpoint nei punti di interesse ripartire con continue, step o next 35
36 36 System call select()- I Aspetta alcuni file descriptor finche' non cambiano stato: int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); Tre set di file descriptor (in numero pari a n-1): readfs in attesa di dati in arrivo writefs per vedere se una write non si blocca exceptfs in attesa di eccezioni I set sono modificati al rientro 36
37 37 System call select()- II timeout e' il tempo massimo di attesa e puo' valere 0 Quattro macro per manipolare i set: FD_ZERO cancella un intero set FD_SET aggiunge un file descriptor al set FD_CLR elimina un file descriptor dal set FD_ISSET verifica se un file descriptor e' nel set (da usare dopo la chiamata) Il valore di ritorno e' il numero dei file descriptor nel set 37
38 System call select()- esempio 38 int main(void) { fd_set rfds; struct timeval tv; int retval; /* Watch stdin (fd 0) to see */ /* when it has input. */ FD_ZERO(&rfds); FD_SET(0, &rfds); /* Wait up to five seconds. */ tv.tv_sec = 5; tv.tv_usec = 0; /* Don t rely on the value of tv now! */ if (retval == -1) perror("select()"); else if (retval) printf("data is available now.\n"); /* FD_ISSET(0, &rfds) will be true. */ else printf("no data within five seconds.\n"); return 0; } retval = select(1, &rfds, NULL, NULL, &tv); 38
Openmosix e Beowulf: introduzione e confronto
Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -
AXO. 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
Sincronizzazione e comunicazione tra processi in Unix. usati per trasferire ad un processo l indicazione che un determinato evento si è verificato.
Processi parte III Sincronizzazione e comunicazione tra processi in Unix Segnali: usati per trasferire ad un processo l indicazione che un determinato evento si è verificato. Pipe: struttura dinamica,
Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
Introduzione a GCC: GNU Compiler Collection
Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte
I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina
M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura
ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX
ESERCIZI DI PROGRAMMAZIONE C IN AMBIENTE UNIX Introduzione In questa dispensa sono stati raccolti alcuni esercizi di programmazione C in ambiente Unix, tratti dagli esami di Sistemi Operativi svoltisi
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio
Appunti tratti dal videocorso on-line di Algoritmi e Programmazione Avanzata By ALeXio 1-La memoria dinamica La scrittura di un programma (indipendentemente dal linguaggio adottato) deve sempre tener conto
GDB. The GNU Debugger
GDB The GNU Debugger Il problema del programmatore Il programmatore perfetto non esiste! Nessuna sicurezza che il programma funzioni al primo colpo Più il programma è grande più ci possono essere errori
Esercizio sulla gestione di file in Unix
Esercizio sulla gestione di file in Unix 1 Esercizio Si vuole realizzare un programma C che, utilizzando le system call di Unix, realizzi uno schema di comunicazione tra due processi (padre e figlio) mediante
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
Introduzione al Python
Andrea Passerini [email protected] Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti
Sistemi operativi Modulo II I semafori 2 Select
Il sistema operativo LINUX Semafori 2 Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica La system call read è bloccante Non
Funzioni. Il modello console. Interfaccia in modalità console
Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi
I puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
CAPITOLO 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
2015 PERIODO D IMPOSTA
Manuale operativo per l installazione dell aggiornamento e per la compilazione della Certificazione Unica 2015 PERIODO D IMPOSTA 2014 società del gruppo Collegarsi al sito www.bitsrl.com 1. Cliccare sul
Introduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
OTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?
NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui
Protezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
I/O su Socket TCP: read()
I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una
Sistema di protezione (2) Protezione (1)
Sistema di protezione (1) Sistema di protezione (2) Sistema di protezione (3) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione:
Sistema di protezione (1)
Sistema di protezione (1) - Un processo potrebbe tentare di modificare il programma o i dati di un altro processo o di parte del S.O. stesso. - Protezione: politiche (cosa) e meccanismi (come) per controllare
Sistemi 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
Comunicazione. 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
Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix-
Lab. di Sistemi Operativi - Esercitazione n 7- -Gestione dei processi Unix- 1 Sommario Esercizi sulla gestione dei processi Creazione di un nuovo processo: fork Sincronizzazione tra processi: wait 2 -
Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected]
Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected] Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
ZZZ01 Esercizi Vari. Esercizi per preparazione alla prova pratica di laboratorio
ZZZ01 Esercizi Vari Esercizi per preparazione alla prova pratica di laboratorio Esercizio ZZZ01_01 - Elefanti Schizzinosi Nella savana africana c'e' una pozza d'acqua fresca alimentata da un acquedotto.
Manuale NetSupport v.10.70.6 Liceo G. Cotta Marco Bolzon
NOTE PRELIMINARI: 1. La versione analizzata è quella del laboratorio beta della sede S. Davide di Porto, ma il programma è presente anche nel laboratorio alfa (Porto) e nel laboratorio di informatica della
Esercizio 1. Esercizio 1
Esercizio 1 Un registratore di cassa registra su di un file binario alcuni dati relativi agli scontrini emessi. In particolare, tramite una struttura dati di nome scontrino, il registratore di cassa tiene
Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica
Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta
Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa Raccolta prove scritte Realizzare una classe thread Processo che deve effettuare un numero fissato di letture da una memoria
Fondamenti di Informatica T-1, 2009/2010 Modulo 2 Prova d Esame 5 di Giovedì 15 Luglio 2010 tempo a disposizione 2h30'
Prima di cominciare: si scarichi dal sito http://esamix.labx il file StartKit5.zip contenente i file necessari (solution di VS2008 e progetto compresi). Avvertenze per la consegna: apporre all inizio di
Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
Manuale Terminal Manager 2.0
Manuale Terminal Manager 2.0 CREAZIONE / MODIFICA / CANCELLAZIONE TERMINALI Tramite il pulsante NUOVO possiamo aggiungere un terminale alla lista del nostro impianto. Comparirà una finestra che permette
Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans
Tutorial sugli ambienti di sviluppo: Eclipse e NetBeans Prima di tutto va installato il compilatore, ottenibile scaricando ed installando MinGW o CygWin. MinGW: http://www.mingw.org/download.shtml CygWin:
Il compilatore Dev-C++
Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema
Allocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
GERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica
Dynamic Linking Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica Dynamic Linking Il linking tra i moduli di un programma e le librerie da esso utilizzate può essere Statico
Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)
Sommario Esercitazione 05 Angelo Di Iorio (Paolo Marinelli)! Packet Filtering ICMP! Descrizione esercitazione! Applicazioni utili: " Firewall: wipfw - netfilter " Packet sniffer: wireshark!"#!$#!%&'$(%)*+,')#$-!"#!$#!%&'$(%)*+,')#$-
Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione
Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento
IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito)
IBM SPSS Statistics per Mac OS - Istruzioni di installazione (Licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Statistics versione 21 con licenza per sito. Questo documento
LA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
ACQUISTI MASSIVI SU SCUOLABOOK
ACQUISTI MASSIVI SU SCUOLABOOK Manuale d uso v1.4 Sommario Manuale d uso v1.4... 1 Storico revisioni... Errore. Il segnalibro non è definito. 1. Area Scuole... 2 1.1 Richiedi il tuo account... 2 1.2. Accedi
FAQ RISPOSTE A DOMANDE FREQUENTI
FAQ RISPOSTE A DOMANDE FREQUENTI FAQ Su sistemi RedHat ho riscontrato problemi in STSCALCxx, nell esecuzione della runtime Java. In RedHat è necessario installare il pacchetto: compat-libstdc++-6.2-2.9.0.16.rpm
Concetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
Il Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
----------------------------------------------------------------
---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,
Software Servizi Web UOGA
Manuale Operativo Utente Software Servizi Web UOGA S.p.A. Informatica e Servizi Interbancari Sammarinesi Strada Caiese, 3 47891 Dogana Tel. 0549 979611 Fax 0549 979699 e-mail: [email protected] Identificatore
Dexma Newsletter System
Dexma Newsletter System Quick Reference Indice Indice... 2 1 Introduzione a Postletter... 3 2 Richiesta di un account Demo... 3 3 Liste di invio... 5 3.1 Creazione di una lista... 5 3.2 Andare alla lista
Una prima applicazione in C per l utilizzo delle socket
Una prima applicazione in C per l utilizzo delle socket Richiamo sulle socket Socket in Windows (WinSock) Differenze tra sistemi operativi D. Gendarmi Socket API API: Application Programming Interface
A 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
MANUALE UTENTE. TeamPortal Liste Distribuzioni 20120100
MANUALE UTENTE 20120100 INDICE Introduzione... 3 1 - Messaggi... 4 1.1 Creazione / Modifca Email... 6 1.2 Creazione / Modifca Sms... 8 2 -Liste... 10 3 Gruppi Liste... 15 4 Tipi Messaggi... 17 5 Amministrazione...
Sistema Informativo di Teleraccolta EMITTENTI
Sistema Informativo di EMITTENTI aventi l Italia come Stato membro di origine i cui valori mobiliari sono ammessi alla negoziazione in un altro Stato membro dell Unione Europea Art. 116 bis, comma 1, del
MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected]
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena [email protected] POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
Unix e GNU/Linux Eugenio Magistretti [email protected] Prima Esercitazione Fork Stefano Monti [email protected] Unix: sviluppato negli anni '60-'70 presso Bell Labs di AT&T, attualmente sotto
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DevC++ vers. 4.9.9.2 Manuale d uso
DevC++ vers. 4.9.9.2 Manuale d uso Liceo Scientifico N. TRON di SCHIO (VI) Sommario 1 INTRODUZIONE... 3 2 SETUP... 5 2.1 Procedura di installazione... 5 2.2 Configurazione... 7 2.2.1 Opzioni dell ambiente...
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
Il comando Make: : uno strumento per la compilazione ed esecuzione di software applicativo. A. Murli - Cacolo Scientifico a.a.
Il comando Make: : uno strumento per la compilazione ed esecuzione di software applicativo a.a.2007/2008 1 Un software si compone di diversi moduli, generalmente memorizzati in file diversi. Il programma
Laboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Implementazioni di Liste Doppiamente Puntate e Circolari Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica 13917
MANUALE 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
Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.
Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato
Configurazione modalità autenticazione utenti sui firewall D-Link Serie NetDefend (DFL-200, DFL-700, DFL-1100)
Configurazione modalità autenticazione utenti sui firewall D-Link Serie NetDefend (DFL-200, DFL-700, DFL-1100) Pagina 1 di 10 Per abilitare la modalità di autenticazione degli utenti occorre, prima di
Comunicazione tra Processi
Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo
Esempio 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
19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
Sistemi 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
Protocolli di Sessione TCP/IP: una panoramica
Protocolli di Sessione TCP/IP: una panoramica Carlo Perassi [email protected] Un breve documento, utile per la presentazione dei principali protocolli di livello Sessione dello stack TCP/IP e dei principali
Online Help StruxureWare Data Center Expert
Online Help StruxureWare Data Center Expert Version 7.2.7 StruxureWare Data Center ExpertDispositivo virtuale Il server StruxureWare Data Center Expert 7.2 è disponibile come dispositivo virtuale, supportato
Inizializzazione, 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
TERMINALE. Creazione e gestione di una postazione terminale di Eureka
TERMINALE Creazione e gestione di una postazione terminale di Eureka Febbraio 2011 2 Creazione e gestione di una postazione terminale di Eureka INDICE POSTAZIONE TERMINALE EUREKA REQUISITI INSTALLAZIONE
SendMedMalattia v. 1.0. Manuale d uso
2 SendMedMalattia v. 1.0 Pagina 1 di 25 I n d i c e 1) Introduzione...3 2) Installazione...4 3) Prima dell avvio di SendMedMalattia...9 4) Primo Avvio: Inserimento dei dati del Medico di famiglia...11
Introduzione 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
FileMaker Server 14. Guida alla configurazione dell installazione in rete
FileMaker Server 14 Guida alla configurazione dell installazione in rete 2007 2015 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati
MANUALE UTENTE Fiscali Free
MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato
GUIDA RAPIDA NOKIA PC SUITE 4.06. per Nokia 6210. Copyright Nokia Mobile Phones 2001. Tutti i diritti sono riservati Issue 4
GUIDA RAPIDA NOKIA PC SUITE 4.06 per Nokia 6210 Copyright Nokia Mobile Phones 2001. Tutti i diritti sono riservati Issue 4 Sommario 1. INTRODUZIONE... 1 2. REQUISITI DEL SISTEMA... 1 3. INSTALLAZIONE DI
Appello di Informatica B
Politecnico di Milano Facoltà di Ingegneria Industriale 19 febbraio 2004 Appello di Informatica B Prof. Angelo Morzenti - Prof. Vincenzo Martena Cognome e nome: Matricola: Tipo di prova: recupero I prova
FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"
FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera
Istruzioni per l uso della Guida. Icone utilizzate in questa Guida. Istruzioni per l uso della Guida. Software di backup LaCie Guida per l utente
Istruzioni per l uso della Guida Istruzioni per l uso della Guida Sulla barra degli strumenti: Pagina precedente / Pagina successiva Passa alla pagina Indice / Passa alla pagina Precauzioni Stampa Ottimizzate
Monitor. 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
Le command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli [email protected] Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
Blocchi funzione: FbModbusAsciiMs
Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione
Laboratorio di programmazione
Laboratorio di programmazione Lezione VI Tatiana Zolo [email protected] 1 LE STRUCT Tipo definito dall utente i cui elementi possono essere eterogenei (di tipo diverso). Introduce un nuovo tipo di
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Realizzazione 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
Mac Application Manager 1.3 (SOLO PER TIGER)
Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i
Tecniche di progettazione e sviluppo di applicazioni mobile
Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy [email protected] Android Introduzione [email protected]
Calcolatori Elettronici Parte X: l'assemblatore as88
Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso
