X Prefazione dei paradigmi della programmazione concorrente. Successivamente, l evoluzione delle tecnologie hardware, che hanno consentito lo sviluppo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "X Prefazione dei paradigmi della programmazione concorrente. Successivamente, l evoluzione delle tecnologie hardware, che hanno consentito lo sviluppo"

Transcript

1 Prefazione La concorrenza, intesa come contemporaneità di esecuzione di parti diverse di uno stesso programma, rappresenta una caratteristica di primaria importanza nello sviluppo del software, sia nel caso del software di sistema, e in particolare del Sistema Operativo, sia nel caso del software applicativo, soprattutto con riferimento a specifici ambiti come, per esempio, quello relativo al software real-time o al software di rete. In tutti questi casi, la concorrenza fornisce un ausilio fondamentale per raggiungere gli obiettivi che il sistema software si prefigge sollevando, per contro, una serie di problematiche alla soluzione delle quali è dedicato il presente volume. Quando si parla di concorrenza si tende poi a distinguere il caso in cui la contemporaneità di esecuzione sia relativa a parti diverse di uno stesso programma residente su una sola macchina, sia essa monoelaboratore o multielaboratore, rispetto al caso in cui le parti di programma in contemporanea esecuzione risiedano su macchine diverse collegate tra loro tramite una rete di comunicazione. In quest ultimo caso è più spesso usato il termine programmazione distribuita. Il tema della programmazione concorrente può essere visto da due diverse angolazioni: la prima, strettamente correlata al più generale tema della programmazione, vede la concorrenza come un nuovo approccio alla specifica, al progetto, alla realizzazione e alla validazione di un programma, tendente a liberare il programmatore dai vincoli e dalle limitazioni imposte dalle tradizionali tecniche proprie della programmazione sequenziale. Da questo punto di vista sono parte integrante di questa tematica, oltre agli aspetti legati ai linguaggi di programmazione, le metodologie, i paradigmi e le tecniche per la produzione di programmi, ovviamente per tutto ciò che concerne l introduzione della concorrenza. la seconda, relativa al tema dei sistemi operativi, vede la concorrenza come uno strumento concettuale di fondamentale importanza per il progetto e la realizzazione di un sistema operativo. In effetti, tutte le problematiche connesse con la concorrenza sono nate agli inizi degli anni sessanta in connessione con lo sviluppo dei primi sistemi operativi multiprogrammati. La multiprogrammazione, intesa come tecnica per consentire a un sistema operativo di controllare l esecuzione concorrente di più programmi sequenziali, pur in presenza di una macchina fisica monoelaboratore, rappresenta il primo e più semplice esempio di applicazione

2 X Prefazione dei paradigmi della programmazione concorrente. Successivamente, l evoluzione delle tecnologie hardware, che hanno consentito lo sviluppo di architetture multielaboratore prima e delle reti di elaboratori poi, ha ulteriormente contribuito ad accrescere l importanza delle tecniche di programmazione concorrente e di programmazione distribuita nello sviluppo dei moderni sistemi operativi. Questi due diverse modalità di affrontare il tema della programmazione concorrente e distribuita sono contemporaneamente presenti in questo volume. L obiettivo del testo è infatti quello di presentare le problematiche, dovute all introduzione della concorrenza, che deve affrontare chi si appresta a progettare e realizzare un sistema software, riservando un attenzione particolare a quei casi in cui tale sistema coincida con un Sistema Operativo. Il libro è stato infatti concepito anche come testo per un corso avanzato sui sistemi operativi. Per questo motivo, nei paragrafi conclusivi di molti capitoli vengono illustrate le possibili tecniche con cui, all interno di un sistema operativo, possono essere realizzati i meccanismi primitivi che sono necessari per fornire il supporto alla concorrenza in un contesto sia locale sia distribuito. Contenuti Il libro si articola in tre parti distinte. La prima, costituita dai primi tre capitoli, è dedicata a introdurre i principali concetti che stanno alla base della programmazione concorrente e distribuita: vengono presentati come estensione di analoghi concetti propri della tradizionale programmazione sequenziale. Vengono inoltre presentate le principali problematiche introdotte dalla concorrenza, alla soluzione delle quali sono dedicati i successivi capitoli. Nell introdurre i principali strumenti linguistici necessari per la specifica della concorrenza, vengono anche descritti i meccanismi offerti dal nucleo del Sistema Operativo necessari per fornire loro il supporto. La seconda parte del libro, anch essa costituita da tre capitoli, è dedicata alla programmazione concorrente in senso stretto, cioè alla concorrenza all interno di un architettura non distribuita. La terza parte infine, costituita dagli ultimi quattro capitoli, è invece dedicata alla programmazione distribuita, cioè al caso in cui la concorrenza riguardi parti di uno stesso programma distribuite nell ambito di un architettura composta da macchine interconnesse tramite una rete di comunicazione. Capitolo 1 - Concetti fondamentali In questo capitolo vengono richiamati alcuni dei principali concetti propri della programmazione sequenziale che, una volta estesi al più ampio ambito della programmazione concorrente, costituiranno le fondamenta su cui si basano tutti i successivi argomenti presentati nel libro. Fra tali concetti, primo fra tutti è quello di processo. Viene inoltre messa in evidenza la differenza tra test e prova di un programma, differenza che nel contesto della programmazione concorrente acquista ancora più importanza rispetto al caso della programmazione sequenziale. Per questo motivo le proprietà disafety e liveness, proprie di un programma sequenziale, vengono estese al caso in cui esso sia concorrente. Infine, richiamando i meccanismi di astrazione, viene definito il concetto di macchina concorrente che, astraendo dai dettagli implementativi, fornisce il supporto alla concorrenza richiamando quindi gli stretti legami fra questa e il Sistema Operativo.

3 Prefazione XI Capitolo 2 - Programmazione concorrente e distribuita Il capitolo si propone di approfondire il tema della programmazione concorrente intesa come l insieme delle tecniche, delle metodologie e degli strumenti necessari per fornire il supporto all esecuzione di un applicazione software come un insieme di attività svolte simultaneamente. Oggi la programmazione concorrente, pur continuando a essere il supporto indispensabile al progetto e alla realizzazione dei Sistemi Operativi, è largamente utilizzata anche nel progetto e nella realizzazione di varie tipologie di sistemi applicativi. Vengono introdotti i possibili tipi di interazione tra i processi: la cooperazione, la competizione e l interferenza. Con l aiuto di alcuni esempi, sono poi discusse le proprietà fondamentali di ciascuna forma di interazione. Capitolo 3 - Costrutti linguistici per la specifica della concorrenza Come indicato nel titolo, questo capitolo ha il compito di introdurre i meccanismi linguistici necessari, in un linguaggio di programmazione, per la specifica della concorrenza. Tali meccanismi sono comuni ai due tipi di architetture di macchine e di linguaggi concorrenti ad alto livello che sono oggetto di approfondita analisi nei capitoli successivi. Come esemplificazione di quanto presentato in generale, vengono illustrati come casi particolari la libreria pthread e la realizzazione dei thread nel linguaggio Java. Come anticipato, alla fine del capitolo viene mostrata la realizzazione del meccanismo di multiprogrammazione offerto dal nucleo di un sistema operativo a supporto della concorrenza. Capitolo 4 - Modello a memoria comune Obiettivo di questo capitolo è quello di introdurrre le principali caratteristiche del modello architetturale di macchina concorrente a memoria comune. Da queste derivano le modalità utilizzate dai processi, in esecuzione su tali architetture virtuali, per interagire tra di loro sia per competere sull uso di risorse comuni sia per cooperare. Per chiarire meglio le varie tecniche utilizzate per consentire le interazioni tra processi, vengono introdotte le varie tipologie di gestione delle risorse e il concetto di gestore di una risorsa. Inoltre, viene presentato il costrutto delle regioni critiche condizionali, il principale strumento utilizzato nei successivi capitoli per la specifica delle condizioni di sincronizzazione che devono essere verificate durante gli accessi a risorse condivise. Infine, viene introdotto il concetto di virtualizzazione di una risorsa, generalizzando le tipologie di allocazione delle risorse viste precedentemente. Capitolo 5 - Semafori In questo capitolo viene illustrato il meccanismo di sincronizzazione di gran lunga più usato come meccanismo primitivo in sistemi che seguono il modello a memoria comune, generalmemte offerto dal nucleo di un Sistema Operativo. Vengono descritte, in maniera precisa, la semantica, le proprietà e le modalità di uso dei semafori nel risovere i vari problemi di interazione e sincronizzazione tra processi. Una volta definita la specifica del meccanismo, vengono presentati diversi paradigmi di uso dei semafori, ciascuno dei quali adatto a risolvere particolari categorie di problemi, illustrando ciascun paradigma mediante alcuni esempi. I singoli paradigmi vengono identificati con nomi specifici che ne richiamano le proprietà: semafori binari di mutua esclusione, semafori evento, semafori binari composti, semafori condizione, semafori risorsa, semafori privati. Alla fine, vengono illustrate le tecniche di implementazione del meccanismo semaforico al-

4 XII Prefazione l interno del nucleo di un Sistema Operativo, sia per una classica architettura fisica monoelaboratore, sia nel caso più generale di architetture multielaboratore. Capitolo 6 - Monitor In questo capitolo viene presentato il meccanismo dei monitor, sicuramente il meccanismo linguistico di alto livello più usato per programmare interazioni tra processi in un sistema organizzato secondo il modello a memoria comune. In particolare viene evidenziato come tale meccanismo consenta al programmatore di ovviare a molti degli inconvenienti che potrebbero nascere in seguito a un uso non corretto di un meccanismo primitivo come quello dei semafori. La capacità espressiva del monitor viene illustrata presentando alcuni esempi di come tale strumento consenta di risolvere alcuni classici problemi di gestione delle risorse. Particolare attenzione è posta nella definizione delle diverse semantiche della primitiva signal, che viene utilizzata nell ambito di un monitor per riattivare un processo sospeso in attesa di una condizione di sincronizzazione. Per ciascuna semantica viene anche illustrata una possibile realizzazione del monitor in termini di semafori. Infine viene affrontato il problema della simulazione del comportamento del monitor utilizzando le primitive di sincronizzazione proprie della libreria Pthread e del linguaggio Java. Capitolo 7 - Modello a scambio di messaggi In questo capitolo vengono introdotte e illustrate le principali caratteristiche di un modello architetturale di macchina concorrente del tutto diverso rispetto a quello cui è stato fatto riferimento nei precedenti tre capitoli. Questo modello architetturale, noto come modello a scambio di messaggi, è quello a cui viene fatto riferimento quando si parla di programmazione distribuita. Viene definito il concetto di canale come principale strumento da utilizzare per consentire le interazioni tra processi in architetture organizzate secondo questo modello. Del canale vengono illustrate le varie tipologie in base ai seguenti parametri: la direzione del flusso dei dati che un canale può trasferire (canali mono e bidirezionali), la designazione del canale e dei processi sorgente e destinatario di ogni comunicazione (canali simmetrici e asimmetrici), il tipo di sincronizzazione fra i processi comunicanti (canali asincroni, sincroni e con sincronizzazione estesa). Infine vengono introdotte le varie tipologie di primitive di comunicazione che sono utilizzate, di volta in volta, nei successivi tre capitoli del libro, ivi incluse le istruzioni relative ai comandi con guardie. Capitolo 8 - Primitive di comunicazione asincrone Scopo di questo capitolo è illustrare il primo, e più primitivo, dei tre meccanismi di comunicazione che vengono presi in considerazione nel libro con riferimento al modello a scambio di messaggi: si tratta di quello che prevede che l operazione di invio di un messaggio sia asincrona. Per prima cosa viene mostrato come, con tale meccanismo, sia possibile scrivere processi servitori che simulano le stesse funzionalità che, nel modello a memoria comune, sono proprie di una risorsa condivisa. Viene messo in evidenza come, adottando un diverso paradigma di programmazione, sia possibile risolvere gli stessi problemi di allocazione di risorse visti nell altro modello, arrivando anche a una tabella di corrispondenza tra le soluzioni previste nell ambito dei due modelli. Per chiarire questi concetti vengono illustrate le soluzioni ad alcuni problemi di allocazione di risorse precedentemente visti anche nel modello a memoria comune, ivi

5 Prefazione XIII incluse le tecniche per la specifica di strategie di priorità. Alla fine, vengono mostrate possibili implementazioni delle funzioni di comunicazione tramite le primitive nel nucleo di un Sistema Operativo adatto per architetture sia monoelaboratore o multielaboratore sia distribuite. Capitolo 9 - Primitive di comunicazione sincrone In questo capitolo viene introdotto il meccanismo per la comunicazione sincrona. In particolare, vengono messe in evidenza le principali differenze fra questo meccanismo e quello asincrono illustrato nel precedente capitolo. Tali differenze riguardano sia l implementazione del meccanismo sia l efficienza delle soluzioni ai vari problemi di interazione tra processi. Per illustrare più in dettaglio quest ultimo aspetto, vengono rivisti alcuni esempi già sviluppati nel precedente capitolo, con lo scopo di mettere meglio in evidenza le possibili soluzioni che possono essere realizzate con i due diversi meccanismi di comunicazione. Relativamente alla realizzazione del meccanismo, vengono illustrate tre diverse tecniche: innanzi tutto, viene mostrato come sia possibile simulare un meccansimo di comunicazione sincrona in un sistema organizzato secondo il modello a memoria comune e, in particolare, utilizzando il meccanismo semaforico. Successivamente viene mostrato come un meccanismo di comunicazione sincrono possa essere facilmente realizzato mediante un meccanismo primitivo di tipo asincrono. Infine, viene illustrata la soluzione che prevede di realizzare lo stesso meccanismo sincrono come meccanismo primitivo offerto direttamente dal nucleo del Sistema Operativo. Capitolo 10 - Chiamate di procedura remota e rendez-vous Il capitolo introduce due meccanismi di comunicazione tra processi di alto livello, utilizzati prevalentemente in ambiente distribuito: la chiamata di procedura remota (RPC) e il rendez-vous. Entrambi vengono utilizzati da un processo client per chiedere, lato server, l esecuzione di un determinato servizio e in entrambi i casi il client rimane in attesa del completamento del servizio e dell arrivo dei risultati. Una volta precisata la differenza tra i due meccanismi, vengono presi in considerazione due linguaggi, ADA e Java, e viene discussa la soluzione in essi contenuta relativamente ai due meccanismi. In particolare, con riferimento al linguaggio ADA viene discusso il meccanismo rendez-vous e ne vengono illustrate le proprietà tramite alcuni esempi. Le proprietà del secondo meccanismo, la chiamata di procedura remota, vengono discusse facendo riferimento alla sua realizzazione nel linguaggio Java dove prende il nome di RMI (Remote Method Invocation). Esercizi di riepilogo Vengono infine proposti alcuni esercizi sull utilizzo degli strumenti di sincronizzazione presentati nel testo e relativi alla realizzazione di politiche di gestione delle risorse sia in ambiente a memoria comune sia in ambiente a scambio di messaggi. Le soluzioni agli esercizi sono reperibili sul sito Per gli argomenti trattati, il libro è particolarmente adatto non solo come testo per un corso di Programmazione concorrente e distribuita, ma anche come testo per un corso approfondito di Sistemi Operativi così come è normalmente previsto nell ambito di corsi di laurea magistrale sia in ingegneria informatica sia in informatica.

6 XIV Prefazione Nel libro si presume la conoscenza degli argomenti relativi alla struttura e ai principi di funzionamento di un Sistema Operativo, argomenti che fanno normalmente parte di un corso di base sui Sistemi Operativi e che sono trattati nel volume Sistemi operativi, edito da McGraw-Hill e di cui il presente testo si pone come logica continuazione. Pur presentando nel libro molte esemplificazioni dei concetti introdotti mediante opportuni richiami a specifici linguaggi (per esempio Java) o a librerie standard (come la libreria Pthread), nella presentazione dei singoli argomenti si è adottata la scelta di non fare riferimento a uno specifico linguaggio, utilizzando viceversa una generica sintassi C-like. Ringraziamenti Gli autori desiderano ringraziare due colleghi, la Prof.ssa Anna Ciampolini e il Prof. Giuseppe Lipari che, in base alla loro esperienza sui temi trattati nel libro, hanno contribuito con idee, discussioni e suggerimenti alla stesura finale del testo. Desiderano inoltre ringraziare la Prof.ssa Rebecca Montanari e l Ing. Daniela Tibaldi per il fondamentale contributo alla preparazione e verifica degli esercizi riportati nel testo.

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente

Dettagli

Il Modello a scambio di messaggi

Il 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

Dettagli

Universita` 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 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

Dettagli

Introduzione alla Programmazione Concorrente

Introduzione alla Programmazione Concorrente Introduzione alla Programmazione Concorrente 1 Algoritmo, programma, processo Algoritmo: Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma: Descrizione di un

Dettagli

CORSO DI Principi di Sistemi Operativi (1? anno Corso di Laurea Specialistica in Ingegneria Informatica) ANNO ACCADEMICO

CORSO DI Principi di Sistemi Operativi (1? anno Corso di Laurea Specialistica in Ingegneria Informatica) ANNO ACCADEMICO CORSO DI Principi di Sistemi Operativi (1? anno Corso di Laurea Specialistica in Ingegneria Informatica) ANNO ACCADEMICO 2008-2009 Prof. Letizia Leonardi OBIETTIVI FORMATIVI: L'obiettivo del corso è di

Dettagli

Modelli di interazione tra processi

Modelli di interazione tra processi Modelli di interazione tra processi Modelli di interazione Modello a memoria comune (ambiente globale) Modello a scambio di messaggi (ambiente locale, message passing) Modello a memoria comune Il sistema

Dettagli

Sistemi Operativi L-S

Sistemi Operativi L-S Universita` di Bologna Corso di Laurea Specialistica in Ing. Informatica A. A. 2007-2008 Sistemi Operativi L-S Prof. Anna Ciampolini [L-Z] http://www.lia.deis.unibo.it/courses/sistopls0708 Obiettivi del

Dettagli

Modelli di interazione tra processi

Modelli 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

Dettagli

Modelli di interazione tra processi

Modelli 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

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

Chiamata di procedura remota

Chiamata 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

Dettagli

Il Modello a scambio di messaggi

Il Modello a scambio di messaggi Il Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto typedef struct{ origine; destinazione; contenuto;

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi PRIMITIVE PER LO SCAMBIO DI MESSAGGI Un messaggio si può considerare costituito da: origine, destinazione e contenuto type messaggio = record origine:. ; destinazione:. ;

Dettagli

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15

Sistemi in tempo reale: applicazioni alla robotica. Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi in tempo reale: applicazioni alla robotica Sistemi in tempo reale: applicazioni alla robotica p.1/15 Sistemi operativi Hardware Firmware Kernel Driver Applicazioni Interfacce Sistemi in tempo reale:

Dettagli

Corso di Laurea Ingegneria Civile

Corso di Laurea Ingegneria Civile Corso di Laurea Ingegneria Civile Presentazione del corso di Fondamenti di Informatica Dm. 270 6 cfu Carla Limongelli Marzo 2010 1 Benvenuti!!! 2 Docenti del corso Prof. Carla Limongelli limongel@dia.uniroma3.it

Dettagli

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Presentazione del corso di Fondamenti di Informatica 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Presentazione Corso 1 Contenuti Corso di

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni

Dettagli

Principles of Concurrent Programming

Principles 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

Dettagli

Corso di. Fondamenti di Informatica T

Corso di. Fondamenti di Informatica T Università degli Studi di Bologna Facoltà di Ingegneria Corso di http://lia.deis.unibo.it/courses/fondt-1011-elt Corso di Laurea in Ingegneria Elettrica Prof. Rebecca Montanari Anno accademico 2010/2011

Dettagli

In passato, occuparsi di informatica era sinonimo di programmare computer

In passato, occuparsi di informatica era sinonimo di programmare computer Programmare =? In passato, occuparsi di informatica era sinonimo di programmare computer attività poco stimolante, atto finale di un processo dove le fasi creative - analisi e progetto - sono già avvenute

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli

Corso Programmazione Java Standard

Corso Programmazione Java Standard Corso Programmazione Java Standard Codice: ITJS0113 Durata: 40 ore Descrizione corso Questo corso fornisce una panoramica sulle varie sfaccettature della sintassi del linguaggio Java, integrata con mirate

Dettagli

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti:

Introduzione ORGANIZZAZIONE DEL LIBRO. Il libro è composto da 12 capitoli organizzati nelle tre parti seguenti: Introduzione Questo libro, espressamente rivolto ai programmatori esperti in Java, tratta gli elementi essenziali della piattaforma Java 2 Enterprise Edition (J2EE) e analizza in modo particolare le nuove

Dettagli

Programma Master Programmatore Java

Programma Master Programmatore Java Programma Master Programmatore Java PCAcademy Via Capodistria 12 Tel.: 06.97.84.22.16 06.85.34.44.76 Cell. 393.93.64.122 - Fax: 06.91.65.92.92 www.pcacademy.it info@pcacademy.it Informazioni generali La

Dettagli

OBIETTIVI. Conoscere i concetti di base dell Informatica. Conoscere i principi e gli strumenti di base della programmazione

OBIETTIVI. Conoscere i concetti di base dell Informatica. Conoscere i principi e gli strumenti di base della programmazione Università degli Studi di Bologna Facoltà di Ingegneria Corso di http://lia.deis.unibo.it/courses/fondt-0910-elt Corso di Laurea in Ingegneria Elettrica Prof. Rebecca Montanari Anno accademico 2009/2010

Dettagli

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione Anno accademico 2004/5 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci

Dettagli

Prefazione. Contenuti

Prefazione. Contenuti Questo libro offre un introduzione allo studio di algoritmi e di strutture dati orientato alla realizzazione di programmi efficienti in Java. Il testo affronta con rigore metodologico aspetti di progettazione,

Dettagli

Struttura Logica del S.O:

Struttura Logica del S.O: Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai

Dettagli

Fondamenti di Informatica (lettere A-I) A

Fondamenti di Informatica (lettere A-I) A Fondamenti Informatica (lettere A-I) A Prof. Roberto Basili (Primo Modulo) Prof. Vincenzo Grassi(Secondo Modulo) Fondamenti Informatica Corso 10 CFU Nasce dalla fusione dei corsi Fondamenti Informatica

Dettagli

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3

Indice generale Introduzione...vii Parte I Concetti e costrutti fondamentali... 1 Capitolo 1 Introduzione al linguaggio... 3 Introduzione...vii Organizzazione del libro... viii Struttura del libro e convenzioni... ix Codice sorgente e progetti... x Compilare ed eseguire direttamente i listati e gli snippet di codice... x Compilare

Dettagli

CORSO DI FONDAMENTI DI INFORMATICA

CORSO DI FONDAMENTI DI INFORMATICA Università degli Studi di Bologna Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA Ing. Civile/Edile Anno Accademico 1999/2000 http://www-lia.deis.unibo.it/courses/fondcived Prof. Paola Mello Tel.

Dettagli

Linee di programmazione

Linee di programmazione Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE

Dettagli

Introduzione. Sommario. Il software. Definizione di Ingegneria del software

Introduzione. Sommario. Il software. Definizione di Ingegneria del software Sommario Introduzione Leggere Cap. 1 Ghezzi et al. Definizione Nascita dell ingegneria del software Ruolo Relazione con altre discipline Introduzione 2 Il software Il software e` definito come: i programmi,

Dettagli

LABORATORIO di Reti di Calcolatori

LABORATORIO di Reti di Calcolatori LABORATORIO di Reti di Calcolatori Architetture client-server 1 of 12 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server, Pearson Ed.,

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio

Corso di Linguaggi di Programmazione + Laboratorio Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un

Dettagli

Le risorse. Alcune definizioni

Le 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

Dettagli

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3

Dettagli

LABORATORI DI CULTURA DIGITALE: INFORMATICA, INTERNET E ROBOTICA

LABORATORI DI CULTURA DIGITALE: INFORMATICA, INTERNET E ROBOTICA Dipartimento di Ingegneria Informatica Automatica e Gestionale Università di Roma La Sapienza Via Ariosto 25, Roma Corso di formazione INPS Valore P.A. 2016/17 LABORATORI DI CULTURA DIGITALE: DIRETTORE

Dettagli

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non

Dettagli

PROGRAMMA PER LA PROVA DI ACCERTAMENTO

PROGRAMMA PER LA PROVA DI ACCERTAMENTO PROGRAMMA PER LA PROVA DI ACCERTAMENTO PARTE 1 Fondamenti di informatica Questa sezione ha lo scopo di presentare i principali argomenti teorici che stanno alla base del funzionamento di un elaboratore

Dettagli

Interazione tra Processi. Sistemi Operativi T AA

Interazione tra Processi. Sistemi Operativi T AA Interazione tra Processi Sistemi Operativi T AA 2012-13 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun

Dettagli

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete I semestre 02/03 Modelli di Riferimento: TCP/IP e OSI Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Architettura di rete architettura di rete insieme delle specifiche funzionali

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10

Sommario 1 Introduzione progetto Soluzione Integrazione Conclusioni... 10 SISS SUITE Sommario 1 Introduzione... 3 2 progetto... 3 3 Soluzione... 3 4 Integrazione... 10 5 Conclusioni... 10 2 1 INTRODUZIONE L OMNICOM SISS Suite è una libreria DLL espressamente concepita per facilitare

Dettagli

PIANO DI LAVORO ANNO SCOLASTICO 2016/2017. I.I.S.S. C. E. GADDA Sede di Langhirano MATERIA DI INSEGNAMENTO TECNOLOGIE E PROGETTAZIONE DI

PIANO DI LAVORO ANNO SCOLASTICO 2016/2017. I.I.S.S. C. E. GADDA Sede di Langhirano MATERIA DI INSEGNAMENTO TECNOLOGIE E PROGETTAZIONE DI PIANO DI LAVORO ANNO SCOLASTICO 2016/2017 I.I.S.S. C. E. GADDA Sede di Langhirano MATERIA DI INSEGNAMENTO TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI PROF. MAURIZIO MERCURI

Dettagli

Capitolo 6 Le infrastrutture SoftWare

Capitolo 6 Le infrastrutture SoftWare Capitolo 6 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: garantire la correttezza e la precisione nell elaborazione

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n PONTEDERA (PI) DIPARTIMENTO: Informatica

ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI Via Milano n PONTEDERA (PI) DIPARTIMENTO: Informatica SETTEMBRE Seconda Liceo SA PROGRAMMAZIONE DI DIPARTIMENTO COORDINATA TEMPORALMENTE DISCIPLINA: Monte ore annuo 66 Libro di Testo E-book dal sito www.matematicamente.it. Pettarin ECDL Appunti forniti dal

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 04 Programmi e Oggetti Software Alfonso Miola Ottobre 2012 http://www.dia.uniroma3.it/~java/fondinf/ Programmi e Oggetti Software

Dettagli

MANIFESTO DEGLI STUDI DEL CORSO DI LAUREA IN INFORMATICA (CREMA)

MANIFESTO DEGLI STUDI DEL CORSO DI LAUREA IN INFORMATICA (CREMA) MANIFESTO DEGLI STUDI DEL CORSO DI LAUREA IN INFORMATICA (CREMA) Nell anno accademico 2004/05, sono attivati il 1, il 2 e il 3 anno del Corso di Laurea triennale in Informatica presso il Polo Didattico

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?

Dettagli

SISTEMI DI ELABORAZIONE

SISTEMI DI ELABORAZIONE SISTEMI DI ELABORAZIONE CORSO DI LAUREA MAGISTRALE IN INGEGNERIA ELETTRONICA SPECIFICHE DI PROGETTO A.A. 2011/2012 Il progetto consiste nello sviluppo di un applicazione client/server. Client e server

Dettagli

Introduzione alla programmazione strutturata

Introduzione alla programmazione strutturata FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio

Dettagli

Syllabus A042 Insegnamenti disciplinari

Syllabus A042 Insegnamenti disciplinari Syllabus A042 Insegnamenti disciplinari Università di Verona TFA A.A. 2014/15 Obiettivi e competenze generali per gli insegnamenti disciplinari Come richiesto dalla normativa di riferimento gli abilitandi

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

Modulo 2 Architetture dei SD Lezione 1

Modulo 2 Architetture dei SD Lezione 1 Modulo 2 Architetture dei SD Lezione 1 Corso Sistemi Distribuiti (6 CFU) Docente: Prof. Marcello Castellano Sistemi Distribuiti, LM Ing. Informatica 6 CFU Docente: Marcello Castellano Table of Contents

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

FONDAMENTI DI INFORMATICA II

FONDAMENTI DI INFORMATICA II Università degli Studi di Ferrara Facoltà di Ingegneria APPUNTI DEL CORSO DI FONDAMENTI DI INFORMATICA II Obiettivi del corso: Approfondire l uso del linguaggio C rispetto a quanto noto dal corso di Fondamenti

Dettagli

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni Basi di Dati Ingegneria Informatica e delle Telecomunicazioni A.A. 2014/2015 Ing. Claudio Marrocco c.marrocco@unicas.it Obiettivi del corso Il corso mira ad introdurre agli studenti modelli e metodi per

Dettagli

ARCHITETTURA DEI CALCOLATORI

ARCHITETTURA DEI CALCOLATORI A09 139/3 Graziano Frosini Giuseppe Lettieri ARCHITETTURA DEI CALCOLATORI VOLUME III ASPETTI ARCHITETTURALI AVANZATI E NUCLEO DI SISTEMA OPERATIVO Con riferimento al Personal Computer all ambiente di

Dettagli

Interazione tra Processi. Sistemi Operativi T AA

Interazione tra Processi. Sistemi Operativi T AA Interazione tra Processi Sistemi Operativi T AA 2009-2010 1 Classificazione: Processi interagenti processi interagenti/indipendenti: due processi sono interagenti se l esecuzione di un processo è in alcun

Dettagli

Il PROCESSO UNIFICATO

Il PROCESSO UNIFICATO Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante

Dettagli

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1 Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli

Dettagli

Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a

Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a Reti logiche A All. Informatici (M-Z) Fabrizio Ferrandi a.a. 2003-2004 Contenuti - Progetto logico di sistemi digitali Metodologie di progetto per la realizzazione dei dispositivi di elaborazione costruire

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M

FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M FONDAMENTI DI INTELLIGENZA ARTIFICIALE-M A.A. 2010/2011 Docente: Prof. Paola Mello e-mail: paola.mello@unibo.it Tel: 051 2093818 Server web del modulo: http://www.lia.deis.unibo.it/courses/ai/fundamentalsai2010-11/

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

Sistemi Operativi A. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma

Sistemi Operativi A. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma Sistemi Operativi A Prof. Alberto Broggi Dip. di Ingegneria dell Informazione Università di Parma Crediti Il corso offre 5 crediti (46 ore) Lezioni (circa 36 ore) Esercitazioni (circa 10 ore) Prova in

Dettagli

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per

Dettagli

ISO- OSI e architetture Client-Server

ISO- OSI e architetture Client-Server LEZIONE 9 ISO- OSI e architetture Client-Server Proff. Giorgio Valle Raffaella Folgieri giorgio.valle@unimi.it folgieri@dico.unimi.it Lez 10 modello ISO-OSI e architettura client-server 1 Nelle scorse

Dettagli

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La

Dettagli

Basi di dati Basi di dati per bioinformatica

Basi di dati Basi di dati per bioinformatica Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria

Dettagli

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017

INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017 INFORMATICA PER LE SCIENZE UMANE a.a. 2016/2017 Francesca Levi Dipartimento di Informatica E-mail: francesca.levi@unipi.it levifran@di.unipi.it Francesca Levi Dipartimento di Informatica Informatica per

Dettagli

Salvatore Cuomo Prolusione

Salvatore Cuomo Prolusione Salvatore Cuomo Prolusione 1 Lezione n. Parole chiave: Algoritmo, Esecutore Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email Docente: salvatore.cuomo@unina. it

Dettagli

Sincronizzazione Le sezioni scritiche

Sincronizzazione 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

Dettagli

Sistemi Operativi. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma

Sistemi Operativi. Prof. Alberto Broggi. Dip. di Ingegneria dell Informazione Università di Parma Sistemi Operativi Prof. Alberto Broggi Dip. di Ingegneria dell Informazione Università di Parma Crediti Il corso offre 6 crediti (48 ore) Lezioni (circa 36 ore) Esercitazioni (circa 10 ore) Prova in itinere

Dettagli

Corso di Architettura degli Elaboratori

Corso di Architettura degli Elaboratori Corso di Architettura degli Elaboratori Introduzione: linguaggi, livelli e macchine virtuali Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni@di.unito.it

Dettagli

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016 INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016 Francesca Levi Dipartimento di Informatica E-mail: francesca.levi@unipi.it levifran@di.unipi.it Francesca Levi Dipartimento di Informatica Informatica per

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria elettronica Anno accademico 2017/2018-3 anno CALCOLATORI ELETTRONICI 9 CFU - 2 semestre Docente titolare dell'insegnamento

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Modena. Esame di Stato 2004

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Modena. Esame di Stato 2004 Esame di Stato 2004 Il documento contiene 6 temi complessivi: 3 della prima sessione e 3 della seconda sessione 2004 relativi alle prove degli Ingegneri - Nuovo Ordinamento. Le prove si riferiscono esclusivamente

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

SISTEMI OPERATIVI, RETI, INTERNET

SISTEMI OPERATIVI, RETI, INTERNET Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo

Dettagli

ANNO ACCADEMICO 2017/2018 LAUREA TRIENNALE 3 ANNI. Informatica

ANNO ACCADEMICO 2017/2018 LAUREA TRIENNALE 3 ANNI. Informatica ANNO ACCADEMICO 2017/2018 LAUREA TRIENNALE 3 ANNI Informatica IL CORSO IN BREVE Il Corso di laurea triennale in Informatica forma professionisti in grado di progettare, sviluppare e gestire sistemi informatici

Dettagli

Principles of Concurrent Programming

Principles 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

Dettagli

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC. tesi di laurea Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit. Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ing. Luca Anniciello candidato Gianluca

Dettagli

Gestione dello sviluppo software Modelli Base

Gestione dello sviluppo software Modelli Base Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Presentazione del corso di Fondamenti di Informatica 2 C. Limongelli - A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Presentazione Corso 1 Contenuti

Dettagli

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete

Dettagli

Open Database Connectivity (ODBC)

Open Database Connectivity (ODBC) Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere

Dettagli

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base Gerarchia fisica di memoria 1 Tempo di accesso Capacità tipica Ricapitolazione di concetti base Sistemi Operativi - T. Vardanega Pagina 92/113 Gerarchia fisica di memoria 2 La cache è suddivisa in blocchi

Dettagli

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano

Dettagli

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf Servizi di interscambio dati e cooperazione applicativa Indice 1 Introduzione... 3 2 Accesso ai servizi... 4 2.1 La richiesta di convenzione... 4 2.2 Le credenziali di accesso al sistema... 5 2.3 Impostazione

Dettagli