Tecniche di protezione della proprieta intellettuale del software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tecniche di protezione della proprieta intellettuale del software"

Transcript

1 Tecniche di protezione della proprieta intellettuale del software Cosimo Anglano Dipartimento di Informatica e Centro Studi sulla Criminalita Informatica Universita del Piemonte Orientale, Alessandria Franco Sirovich Dipartimento di Informatica Universita di Torino 1

2 La pirateria del software Fenomeno dilagante in tutto il mondo Dati dallo studio di IDC commissionato da Business Software Alliance (BSA) nel Circa il 35% del software installato nel corso del 2006 su Personal Computer e stato ottenuto illegalmente Le perdite economiche ammontano a circa 40 miliardi di dollari USA 2

3 La pirateria del software Il fenomeno e presente in percentuale diverse nei vari paesi 3

4 Software libero e non Non tutto il software e soggetto alla pirateria Il cosiddetto software libero (free software), per sua stessa natura, non e piratabile La cultura del software libero ha origine negli anni 80, grazie anche all opera di Richard Stallman Fondatore del progetto GNU ( GNU is Not Unix ) nel 1983 Software libero!= open source 4

5 La filosofia Open Source L'utente puo' gratuitamente: Utilizzare Copiare Distribuire Studiare Cambiare Migliorare il software AA Giovanna Petrone 5

6 La filosofia Open Source Un buon prodotto sw inizia con un problema personale di uno sviluppatore I bravi programmatori sanno cosa scrivere. I migliori sanno cosa riscrivere. Quando un programma non ti interessa piu e tuo dovere passare le consegne ad un successore competente Trattare gli utenti come sviluppatori e il modo migliore per ottenere debugging efficace e miglioramenti del codice Distribuisci presto e spesso (e ascolta gli utenti). AA Giovanna Petrone 6

7 Il processo Open Source Il processo e pubblico Le implementazioni sono controllate da una board che revisiona e testa il codice proposto Il codice e prodotto attraverso: Modifiche moderate Build frequenti E proprietà collettiva Non esiste il MANTENIMENTO AA Giovanna Petrone 7

8 GNU e General Public License GNU: lanciato nel 1984 per sviluppare un sistema operativo tipo Unix (Linux) Licenza GPL: Si puo' distribuire e offrire il supporto a pagamento Ma il codice sorgente deve rimanere modificabile e distribuibile GRATUITAMENTE AA Giovanna Petrone 8

9 When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. AA Giovanna Petrone 9

10 Proteggere il software Impedire l utilizzo di software acquisito illegalmente impiego di tecniche anti copia (copy protection) Impedire la decodifica del software per proteggere il proprio know how Impiego di tecniche di anti reversing 10

11 Sistemi di copy protection Hanno l obiettivo di controllare le modalita di utilizzo del software da loro protetto In genere vuol dire cose diverse a seconda del tipo di licenza del software Impedire il funzionamento del software dopo un certo periodo di tempo Impedire il trasferimento verso altri soggetti Permettere il trasferimento ma non la duplicazione 11

12 Copy protection: requisiti Resistenza agli attacchi Ogni sistema e violabile, ma i sistemi che richiedono uno sforzo maggiore sono ovviamente da preferirsi Trasparenza per l utente finale L utente legittimo non deve incorrere in problemi/scomodita dovuti al sistema anti copia Flessibilita Gestire tipi diversi di protezione 12

13 Copy protection: problemi Class break: si verifica quando la compromissione dello schema si applica a tutte le copie che usano quello schema E sufficiente che chi viola un sistema di copy protection pubblichi il metodo di violazione per permettere la copia di qualunque programma impieghi il sistema violato 13

14 Copy protection: idea di base Creazione di una componente sicura ed affidabile (trusted) cui viene delegato il compito di controllare la liceita della copia utilizzata Implementabile in software, hardware, o una combinazione dei due 14

15 Protezione basata su supporto fisico Creazione di difetti fittizi in posti ben precisi del supporto su cui e distribuito il software All atto dell installazione, il programma controlla che tali difetti siano presenti nei punti previsti 15

16 Protezione basata su supporto fisico Approccio tipicamente in uso negli anni 80 Il supporto era tipicamente un floppy disk Marcatura di bad sector bad sector 16

17 Protezione basata su supporto fisico Principio di base: la copia del contenuto del floppy non considerava i settori marcati bad Copia mediante sistema operativo 17

18 Protezione basata su supporto fisico Protezione aggirata mediante programmi di copia che agivano a livello fisico CopyWrite/ Transcopy 18

19 Protezione basata su meccanismi software Codici seriali da inserire nel programma all atto di installazione/attivazione Facile da bypassare Condivisione di codici seriali con altri utenti Patching: individuazione della parte di codice che controlla la validita del seriale e suo by-pass Key gening: scoperta dell algoritmo di generazione dei seriali validi e sua implementazione in un programma apposito 19

20 Protezione basata su meccanismi software Challenge-response con codice di attivazione encryption key codice seriale cleartext message CPU id 20

21 Protezione basata su meccanismi software Challenge-response con codice di attivazione cleartext message encryption key validation server 21

22 Protezione basata su meccanismi software Challenge-response con codice di attivazione encrypted validation message encryption key validation server 22

23 Protezione basata su meccanismi software Challenge-response con codice di attivazione encryption key decrypted activation code encrypted message decryption 23

24 Protezione basata su meccanismi software Challenge-response con codice di attivazione Aggirabile mediante lo sviluppo di programmi keygen che utilizzano lo stesso algoritmo utilizzato dal validation server per generare i codici di attivazione cifrati 24

25 Protezione basata su meccanismi hardware Uso di un microchip detto dongle: il software funziona solo se il dongle e collegato al computer In passato si usavano dongle connessi alla porta parallela, attualmente si utilizzano interfacce USB 25

26 Protezione basata su meccanismi hardware Implementazione ovvia: Il programma invoca un driver del dongle, che controlla se il dongle e collegato al computer In caso negativo, il programma smette di funzionare Facile da aggirare: basta scrivere un driver che emula il driver del dongle e fornisce risposte positive (false) alle richieste del software 26

27 Protezione basata su meccanismi hardware Implementazione piu raffinata: il programma viene distribuito in forma criptata la chiave di decrittazione viene memorizzata nel dongle all atto dell esecuzione, un loader ottiene la chiave dal dongle, decripta il programma e lo manda in esecuzione 27

28 Protezione basata su meccanismi hardware Program loader encripted program decripted program 28

29 Protezione basata su meccanismi hardware Vulnerabilita : basta copiare l eseguibile dopo che lo stesso e stato caricato in memoria in forma decriptata decripted program Ripped program 29

30 Protezione basata su meccanismi hardware Per attenuare questa vulnerabilita, si puo dividere il programma in parti, ciascuna delle quali cifrata con una chiave diversa Durante l esecuzione del programma, sono caricate in memoria solo le parti effettivamente necessarie 30

31 Protezione basata su meccanismi hardware Program loader encripted program chunk #1 encripted program chunk #2 encripted program chunk #3 decripted program chunk #1 decripted program chunk #2 encripted program chunk #3 31

32 Protezione basata su meccanismi hardware Vulnerabilita : Acquisizione delle chiavi di decriptazione che sono trasmesse in chiaro al loader Implementazione di un emulatore del dongle che invia al loader le varie chiavi man mano che queste vengono richieste 32

33 Protezione basata su meccanismi hardware Per evitare di esporre le chiavi di decriptazione, di recente sono stati sviluppati dongle dotati di un processore che effettua la decriptazione internamente Il loader invia un frammento cifrato del programma, ed ottiene in risposta il codice decifrato eseguibile sul processore Difficile da violare perche bisogna essere in grado di riassemblare nell ordine giusto i vari frammenti di codice decifrato 33

34 Ma esiste la protezione inviolabile? Tale tecnica dovrebbe fornire: Cifratura con chiave sufficientemente lunga Messa in sicurezza della chiave e del processo di decriptazione primo problema risolto Il secondo e molto piu difficile da risolvere Le istruzioni del programma sono eseguibili solo in forma decifrata Durante l esecuzione, permangono nella memoria fisica da cui possono essere copiate 34

35 Alcune soluzioni in tal senso Crypto-processori in grado di eseguire istruzioni criptate Ogni processore e dotato di una coppia di chiavi (pubblica e privata) e di un numero di serie univoco Una trusted authority mantiene un database con le associazioni <numero di serie, chiave pubblica> All atto dell acquisto di un programma, il produttore lo cifra con la chiave pubblica del processore dell utente L utente esegue il programma in forma criptata, ed il crypto-processor lo decodifica usando la sua chiave privata e lo memorizza in un area di memoria non accessibile via software 35

36 Alcune soluzioni in tal senso Trusted Computing Platforms (TPM): Implementazione tecnologicamente piu fattibile dei crypto-processors Sistema dotato di chiavi pubblica e privata Contenuto (software, ma non solo) cifrato con la chiave pubblica dell acquirente Inutilizzabile (non decifrabile) su un altro sistema dotato di chiavi differenti Contenuto decriptato memorizzato in una partizione protetta della memoria 36

37 Tecniche anti-reversing Problema: proteggere il know how su cui e basata l applicazione anche nel caso in cui sia violata la protezione dalla copiatura Reverse engineering (reversing): dedurre la struttura del codice di un applicazione senza averne a disposizione il sorgente Compito difficile, ma non impossibile soprattutto per i linguaggi non compilati in istruzioni macchina (Java, C#, ecc.) 37

38 Quando impedire il reversing? Applicazioni non rilasciate con licenza opensource Sistemi di protezione dalla copia Impiego di piattaforme basate su bytecode (Java,.NET, ecc.) 38

39 Approccio all anti-reversing Eliminazione delle informazioni simboliche per ostacolare la decompilazione e/o il disassemblaggio Offuscamento del programma per impedire l analisi statica Evitare l esecuzione all interno di un debugger per impedire l analisi dinamica 39

40 Eliminazione di informazioni simboliche Non e un grosso problema per i linguaggi compilati tradizionali (C, C++, ecc.) tipicamente le versioni distribuite non contengono informazioni simboliche attenzione comunque alle symbol table utilizzate per il caricamento di librerie dinamiche, o per l esportazione di funzioni di libreria 40

41 Eliminazione di informazioni simboliche Problema rilevante per i linguaggi basati su bytecode (Java, C#, ecc.) Riferimenti interni basati su nomi invece che su indirizzi (nomi di classi e loro metodi, oggetti globali, ecc.) Molto facili da decompilare 41

42 Eliminazione di informazioni simboliche Un semplice esempio: calcolo del fattoriale import java.io.*; // User enters integer N. The program calculates N factorial. // class Fattoriale { public static void main (String[] args ) throws IOException { BufferedReader userin = new BufferedReader (new InputStreamReader(System.in)); String inputdata; long N, fact = 1; System.out.println( "Enter N:" ); inputdata = userin.readline(); N = Integer.parseInt( inputdata ); if ( N >= 0 ) { while ( N > 1 ) { fact = fact * N; N = N - 1; } System.out.println( "factorial is " + fact ); } else { System.out.println("N must be zero or greater"); } } } 42

43 Eliminazione di informazioni simboliche 43

44 Eliminazione di informazioni simboliche Codice decompilato // Decompiled by DJ v Copyright 2007 Atanas Neshkov Date: 12/9/ :12:17 PM // Source File Name: Fattoriale.java import java.io.*; class Fattoriale { Fattoriale() { } public static void main(string args[]) throws IOException { BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in)); long l1 = 1L; System.out.println("Enter N:"); String s = bufferedreader.readline(); long l = Integer.parseInt(s); if(l >= 0L) { for(; l > 1L; l--) l1 *= l; System.out.println((new StringBuilder()).append("factorial is ").append(l1).tostring()); } else { System.out.println("N must be zero or greater"); } } } 44

45 Code obfuscation Mira a ridurre la possibilita di effettuare analisi statiche del codice Tecniche che modificano la struttura, la logica interna, la strutturazione dei dati e l organizzazione del codice mantenendolo funzionalmente identico all originale 45

46 Code obfuscation Tecniche semplici: Aggiungere porzioni di codice inutili (tipo quelle incluse in test sempre falsi), modificare i nomi, ecc. Essendo di natura sintattica, sono facilmente aggirabili mediante tecniche automatiche di deoffuscazione Sono richieste tecniche piu complesse Che hanno lo svantaggio di aumentare la dimensione del programma, il tempo di esecuzione, o entrambi) 46

47 Tecniche anti-debugger Mediante l impiego di un debugger, e possibile effettuare un esecuzione timestepped del programma, ed esaminarne lo stato ad ogni step Tecnica di base: detection e terminazione dell esecuzione 47

48 Tecniche anti-debugger Tecniche di detection: System/platform/debugger specific: Utilizzare funzioni previste dal sistema (IsDebuggerPresent/SystemKernelDebuggerInformation in ambito Windows) Sfruttare la conoscenza sul funzionamento di specifici debugger Code checksum: calcolare checksum di parti del codice I debugger funzionano modificano (on the fly) il codice eseguibile Il codice verifica se qualche parte del codice e stata modificata 48

49 Conclusioni La protezione dalla copiatura illegale del software e un problema sempre attuale La violazione di un meccanismo di copy protection porta alla creazione di nuovi meccanismi di copy protection, che a loro volta saranno violati La soluzione definitiva richiede necessariamente il supporto dell hardware Tali soluzioni pero sbilanciano fortemente il rapporto produttori-consumatori del sofware a vantaggio dei primi 49

50 Conclusioni Il problema dell anti-reversing non puo essere risolto in modo completamente automatico I tool di questo tipo funzionano in base ad euristiche non sempre efficaci Il loro operato puo essere sovvertito da appositi strumenti o da programmatori abili Occorre integrarli con l operato di programmatori competenti in grado di padroneggiare le tecniche di anti-reversing 50

La graduabilita della tutela della proprieta intellettuale del software

La graduabilita della tutela della proprieta intellettuale del software La graduabilita della tutela della proprieta intellettuale del software Cosimo Anglano Dipartimento di Informatica /Centro Studi sulla Criminalita Informatica Universita del Piemonte Orientale, Alessandria

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

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. 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

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Chi, come e quando predispone il contenuto delle specifiche?

Chi, come e quando predispone il contenuto delle specifiche? Chi, come e quando predispone il contenuto delle specifiche? Giovanna Petrone Dipartimento di Informatica Università di Torino La Crisi del Software Problemi con il software: Spesso consegnato troppo tardi

Dettagli

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Reflection in Java. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Reflection in Java 1 Reflection Riflessione

Dettagli

LICENZE D'USO E TIPOLOGIE DI SOFTWARE

LICENZE D'USO E TIPOLOGIE DI SOFTWARE LICENZE D'USO E TIPOLOGIE DI SOFTWARE Il software è tutelato dalle leggi sul diritto d'autore, in maniera simile a quanto avviene per le opere letterarie. Il contratto che regola l'uso del software è la

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Software per Helpdesk

Software per Helpdesk Software per Helpdesk Padova - maggio 2010 Antonio Dalvit - www.antoniodalvit.com Cosa è un helpdesk? Un help desk è un servizio che fornisce informazioni e assistenza ad utenti che hanno problemi nella

Dettagli

Come funzione la cifratura dell endpoint

Come funzione la cifratura dell endpoint White Paper: Come funzione la cifratura dell endpoint Come funzione la cifratura dell endpoint Chi dovrebbe leggere questo documento Amministratori della sicurezza e IT Sommario Introduzione alla cifratura

Dettagli

LICARUS LICENSE SERVER

LICARUS LICENSE SERVER UNIVERSITÀ DEGLI STUDI DI ROMA TOR VERGATA Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Progetto per il corso di Sicurezza dei Sistemi Informatici LICARUS LICENSE SERVER

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

Introduzione alla Virtualizzazione

Introduzione alla Virtualizzazione Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: luca.tasquier@unina2.it Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse

Dettagli

Paolo Zatelli. Dipartimento di Ingegneria Civile e Ambientale Università di Trento. Open Source e Free Software. Open Source e Free Software

Paolo Zatelli. Dipartimento di Ingegneria Civile e Ambientale Università di Trento. Open Source e Free Software. Open Source e Free Software Paolo Zatelli Università di Trento 1/11 Paolo Zatelli Dipartimento di Ingegneria Civile e Ambientale Università di Trento Paolo Zatelli Università di Trento 2/11 Free Software Il termine free si deve tradurre

Dettagli

La Soluzione per CdA e Top Management. La soluzione è Secure Board by Boole Server

La Soluzione per CdA e Top Management. La soluzione è Secure Board by Boole Server La Soluzione per Fusioni e acquisizioni, changing management, pianificazione e sviluppo del business, la documentazione correlata ai consigli di amministrazione, il corretto utilizzo dei documenti riservati

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

VMware. Gestione dello shutdown con UPS MetaSystem

VMware. Gestione dello shutdown con UPS MetaSystem VMware Gestione dello shutdown con UPS MetaSystem La struttura informatica di una azienda Se ad esempio consideriamo la struttura di una rete aziendale, i servizi offerti agli utenti possono essere numerosi:

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Le licenze d uso. Le principali tipologie di licenze

Le licenze d uso. Le principali tipologie di licenze Le licenze d uso La legge 633/41 attribuisce in via esclusiva all autore dell opera software tutti i diritti derivanti dall opera stessa, e vieta e punisce ogni abuso che leda questi diritti esclusivi.

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

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

Dettagli

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo Il Sistema Operativo Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo ... ma Cos'è un S.O.? un PROGRAMMA!... ma Cos'è un programma? PROGRAMMA: 1. algoritmo sequenza

Dettagli

Domande e risposte su Avira ProActiv Community

Domande e risposte su Avira ProActiv Community Domande e risposte su Avira ProActiv Community Avira AntiVir versione 10 sfrutta un innovativa tecnologia protettiva cloud-based, denominata ProActiv, che identifica e blocca i nuovi virus non appena questi

Dettagli

Il software e la programmazione

Il software e la programmazione Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate

Dettagli

Guida alla prevenzione della pirateria software SIMATIC

Guida alla prevenzione della pirateria software SIMATIC Guida alla prevenzione della pirateria software SIMATIC Introduzione Questa guida è stata realizzata per aiutare la vostra azienda a garantire l utilizzo legale del software di Siemens. Il documento tratta

Dettagli

Protezione del Software

Protezione del Software Protezione dalla copia Protezione del Software Alfredo De Santis! Aprile 0! Trovare un metodo contro la pirateria efficiente economico resistente contro i pirati esperti non invasivo Compito impossibile!

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Informatica per la comunicazione" - lezione 13 -

Informatica per la comunicazione - lezione 13 - Informatica per la comunicazione" - lezione 13 - Funzionamento di una password" 1: l utente tramite il suo browser richiede l accesso a una pagina del server; 2: il server richiede il nome utente e la

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli

Licenze d uso libere. Rossetto Stefano Seminario di Commercio Elettronico

Licenze d uso libere. Rossetto Stefano Seminario di Commercio Elettronico Licenze d uso libere Rossetto Stefano Seminario di Commercio Elettronico Open Source L OSI definisce un elenco di condizioni per definire una licenza Open Source: 1. Redistribuzione libera; 2. Codice sorgente

Dettagli

developed by Emanuele De Carlo

developed by Emanuele De Carlo developed by Emanuele De Carlo WorkGym è un Software sviluppato in JAVA pensato per migliorare la gestione di piccole e grandi palestre. Il suo principale scopo è quello di mantenere un DataBase contenente

Dettagli

Il Software. Il software del PC. Il BIOS

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:

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA6 A1 I file testo 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Modello produttore consumatore Operazioni logiche su struttura file 2 1 Introduzione

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Sistemi Operativi. 5 Gestione della memoria

Sistemi Operativi. 5 Gestione della memoria Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Informatica 1 Lezione 1

Informatica 1 Lezione 1 Informatica 1 Lezione 1 Concetti base: Hardware È l insieme delle parti fisiche, elettroniche e meccaniche che compongono il computer, quali il chip, il mouse, il lettore CDROM, il monitor, le schede,

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Che cosa è un VIRUS?

Che cosa è un VIRUS? Virus & Antivirus Virus Nella sicurezza informatica un virus è un software, appartenente alla categoria dei malware, che è in grado, una volta eseguito, di infettare dei file in modo da riprodursi facendo

Dettagli

La soluzione software per CdA e Top Management

La soluzione software per CdA e Top Management La soluzione software per CdA e Top Management DATI E DOCUMENTI PROTETTI Sempre. Ovunque. La Soluzione per Quando si parla di fusioni e acquisizioni, di cambiamenti di gestione, di pianificazione o di

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724)

Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Guida Rapida all uso del License Manager di ROCKEY4Smart (V. 1.0.10.724) Procedo con un esempio: voglio proteggere una applicazione (nell esempio Blocco Note di Windows: notepad.exe) per distribuirla con

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Silca Software GLOSSARIO. February 2013 Copyright Silca S.p.A. V.2.0

Silca Software GLOSSARIO. February 2013 Copyright Silca S.p.A. V.2.0 GLOSSARIO Che cos è una SCHEDA? SCHEDA ovvero l insieme dei parametri relativi a spazi, profondità, basi del taglio, angoli, riferimenti, morsetto, fresa ( un totale di circa 250 parametri per ogni asse

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Modulo 1. Concetti di base della Tecnologia dell Informazione ( Parte 1.8) Rielaborazione dal WEB: prof. Claudio Pellegrini - Sondrio.

Modulo 1. Concetti di base della Tecnologia dell Informazione ( Parte 1.8) Rielaborazione dal WEB: prof. Claudio Pellegrini - Sondrio. Modulo 1 Concetti di base della Tecnologia dell Informazione ( Parte 1.8) Rielaborazione dal WEB: prof. Claudio Pellegrini - Sondrio Copyright Tutte le software house tutelano il loro diritto a impedire

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

Dettagli

Creare connessioni cifrate con stunnel

Creare connessioni cifrate con stunnel ICT Security n. 24, Giugno 2004 p. 1 di 5 Creare connessioni cifrate con stunnel Capita, e purtroppo anche frequentemente, di dover offrire servizi molto insicuri, utilizzando ad esempio protocolli che

Dettagli

Un nuovo modo per fare analisi e generare documenti dinamici

Un nuovo modo per fare analisi e generare documenti dinamici Un nuovo modo per fare analisi e generare documenti dinamici Cos è Web4Project Web4Project (W4P) è un software nel cloud che consente di fare analisi e generare documenti dinamici/report. Cosa fa W4P è

Dettagli

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Fisciano, 24 ottobre 2008

Fisciano, 24 ottobre 2008 Virtualizzazione applicazioni per la sicurezza Luigi Catuogno Fisciano, 24 ottobre 2008 Sommario Virtualizzazione e para-virtualizzazione Sicurezza Separazione delle applicazioni Virtual data center Trusted

Dettagli

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

La soluzione software per Avvocati e Studi legali

La soluzione software per Avvocati e Studi legali La soluzione software per Avvocati e Studi legali DATI E DOCUMENTI PROTETTI Sempre. Ovunque. La Soluzione per La realtà operativa degli Studi Legali è caratterizzata dalla produzione e dalla consultazione

Dettagli

Il computer: primi elementi

Il computer: primi elementi Il computer: primi elementi Tommaso Motta T. Motta Il computer: primi elementi 1 Informazioni Computer = mezzo per memorizzare, elaborare, comunicare e trasmettere le informazioni Tutte le informazioni

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

Introduzione al Software Libero

Introduzione al Software Libero Introduzione al Software Libero Linux Day 6 23 novembre 2002 Il software Programma (codice) scritto in un particolare linguaggio di programmazione esistono molti linguaggi di programmazione (Di solito)

Dettagli

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli