Informatica Informatica Informazione Automatica È una disciplina nata dalla necessità di velocizzare le operazioni di calcolo matematico e per trattare l’informazione in modo automatizzato Il computer è uno strumento concepito per l’eleborazione automatica dei dati Informatica e telecomunicazione Cos’è l’informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione [ACM – Association for Computing Machinery Machinery]] la scienza della rappresentazione e dell’elaborazione dell’informazione Cos’è la telecomunicazione? la trasmissione rapida a distanza dell’informazione Attenzione: Non si parla di tecnologia dei calcolatori ! Si attribuisce ruolo centrale al concetto di informazione ! 1 Il problema ? L’informazione è oggi oggetto di grande interesse: • si parla, per esempio, di società dell’informazione ... • si parla, per esempio, di tecnologia dell’informazione ... ma ci si accorge immediatamente che quello di informazione è un concetto diversificato e complesso ... • nel 1999 GM ha trattato più MIPS di IBM • nel 1996 il bilancio relativo alla gestione dell’informazione nel sistema sanitario USA è stato superiore all’intero bilancio del settore dei mass-media ? Ma cosa significa informazione informazione?? Una transizione ? L’evoluzione economico--industriale della economico società occidentale può essere interpretata secondo tre fasi • società pre pre--industriale industriale: gestione della materia • società industriale: industriale gestione dell’energia energia • società post post--industriale industriale: gestione dell’informazione informazione 2 Un’altra transizione ? Le reti da sempre costituiscono per la società uno strumento indispensabile di trasporto, scambio e comunicazione ? … dapprima reti per il trasferimento di persone e beni materiali: materiali: • • • • • reti stradali, reti fluviali, acquedotti, reti fognarie, … ? … quindi anche reti infrastrutturali per il trasferimento di energia:: energia • • • • reti elettriche, gasdotti, reti petrolifere, … ? … infine anche reti per il trasferimento di informazione informazione:: • • • • • reti reti reti reti … telegrafiche, telefoniche, televisive, informatiche, Ma il problema rimane … ? Cosa significa informazione? • Un esempio: lampioni e semafori ... al di là delle differenze materiali, funzionalmente che differenza c’è?Energia elettrica (alimentazione) Luce (energia) Luce (energia) Energia elettrica (alimentazione) Informazione !! 3 I calcolatori: cos’hanno di speciale? ? Molti strumenti sono stati progettati e realizzati per trattare informazione: • le matite servono per scrivere (non per trasferire grafite su carta) • i violini servono per suonare (non per produrre onde acustiche) ?A differenza di questi, i calcolatori sono dispositivi programmabili. programmabili. ? Ma cosa significa programmabile programmabile?? Elaborazione dell’informazione ? La programmabilità di un dispositivo attiene alle modalità con cui esso gestisce informazione ? Per esempio, per risolvere questo problema, si può: • provare e riprovare (= operare nel mondo fisico) • fare i conti a mente • fare i conti con carta e penna (= operare con supporti passivi) • fare i conti con una calcolatrice (= operare con supporti “rigidi”) • oppure … Quando si gestisce informazione, si opera su dati mediante istruzioni 4 I primi calcolatori meccanici /1 ? Blaise Pascal (1623 (1623--1662) dispositivo meccanico (ingranaggi azionati da una manovella) per l’esecuzione di somme e sottrazioni.. sottrazioni ? Gottfried Wilhelm von Leibniz (1646 (1646--1716) introduce anche moltiplicazioni e divisioni (~ calcolatrice a quattro funzioni). ? Charles Babbage (1792(1792-1871) progetta e realizza un “difference “difference engine engine” ” • calcola tabelle di numeri utili per la navigazione; • unico algoritmo: polinomiale alle differenze finite; finite • output: fori su una piastra di rame (~ schede perforate). I primi calcolatori meccanici /2 ? Charles Babbage (1792 (1792--1871) macchina programmabile: “analytical “analytical engine” engine ” • Formata da quattro parti: • store (memoria: 1000 celle × 50 cifre), • mill (unità di calcolo: 4 operazioni + trasferimento dati), • input (lettore schede), • output (perforatore schede). 5 Il periodo bellico ? /1 Konrad Zuse (Germania, anni ’30 e ’40) • Realizza macchine calcolatrici automatiche basate su relè elettromagnetici. elettromagnetici ? John Atanasoff (Iowa State College, anni ’30) • Macchina basata sull’aritmetica aritmetica binaria. binaria • Memoria basata su condensatori rinfrescati periodicamente. • Troppo avanzata per la tecnologia disponibile (problemi problemi HW HW). ? George Stibbitz (Bell Labs Labs,, anni ’30) • Calcolatore più primitivo rispetto a quello di Atanasoff, ma funzionante!! (presentato a una conferenza nel 1940) funzionante ? Howard Aiken (Harvard Harvard,, anni ’40) • Riprende il lavoro di Babbage e lo implementa sfruttando la tecnologia dei relè elettromagnetici. elettromagnetici Il periodo bellico ? /2 Negli anni ’40 si sviluppa una nuova tecnologia: le valvole termoioniche rendono obsoleti i relè elettromagnetici.. elettromagnetici ? COLOSSUS (Inghilterra 1943) • Primo calcolatore digitale elettronico. ? ENIAC (Mauchley ed Eckert - USA 1946) • Electronic Numerical Integrator And Computer. Computer • Composto da 18 000 valvole e 1500 relé per un peso complessivo di 30 t e un consumo di 140 kw kw. 6 John von Neumann Partecipa al progetto ENIAC. ? Due intuizioni fondamentali: ? • memorizzare i programmi in forma digitale nella stessa memoria dei dati per rendere più semplice la programmazione (rispetto all’utilizzo di cavi e interruttori); • utilizzare l’aritmetica binaria invece di quella decimale (due valvole per bit invece di dieci per cifra). ? Il suo progetto (macchina (macchina di von Neumann Neumann)) è ancora oggi alla base di quasi tutti i calcolatori digitali. L’architettura di Von Neumann ? Un calcolatore deve essere in grado di: • • • • • eseguire istruzioni su dati; controllare il flusso dell’esecuzione; memorizzare i dati su cui operare; memorizzare successioni di istruzioni; interagire con gli utenti e con eventuali altri sistemi. Sottosistema Sottosistema di interfaccia di memorizzazione Comunica con utenti Memorizza dati o con altri dispositivi e istruzioni Sottosistema di elaborazione Ha due funzioni: 1. eseguire le istruzioni; 2. controllare il flusso dell’esecuzione. Sottosistema di interconnessione 7 Il transistor ? Inventato ai Bell Labs nel 1948 da John Bardeen Bardeen,, Walter Brattain e William Shockley Shockley:: • nel giro di 10 anni rivoluziona la ricerca sui calcolatori; • alla fine degli anni ’50 i calcolatori a valvole sono già obsoleti. ? Digital Equipment Corporation (DEC) • fondata nel 1957 da Kenneth Olsen; • nel 1961 realizza il PDP–1, il primo minicalcolatore minicalcolatore. ? Sviluppo della tecnologia d’ d’integrazione: • decine (SSI), centinaia (MSI) e migliaia (LSI) di transistor sono integrati sullo stesso pezzo di silicio (chip); • possibilità di realizzare calcolatori più piccoli, più veloci e meno costosi dei loro predecessori. ? Due famiglie di calcolatori rappresentative: • 360 di IBM • PDP-11 di DEC Very Large Scale Integration (VLSI) ? ? 105– 107 transistor integrati per chip. 105– Passaggio dai minicalcolatori minicalcolatori,, alle workstation workstation,, ai Personal Computer (PC): • usati per applicazioni fortemente interattive (elaborazione testi, fogli elettronici, …); • in origine proposti come kit da assemblare, assemblare senza software; • due architetture principali: • Apple (basato su CPU Motorola e PowerPC) • primo PC, progettato da Steve Jobs e Steve Wozniak nel ’78, • architettura proprietaria! proprietaria • IBM e compatibili (CPU Intel e SW Microsoft – “Wintel”) • realizzato utilizzando componenti “off the shelf”, • architettura di dominio pubblico, pubblico quindi replicabile da altri (cloni)! 8 Il calcolatore in un sistema ambiente da controllare sensori calcolatore locale attuatori automazione rete interfaccia utente calcolatore remoto Interazione tra utenti e calcolatori a f c b e d ? Ciclo aa- f • interazione tra un utente e un calcolatore • esecuzione locale di un programma o accesso a documentazione loc ale ? Ciclo aa-b -e-f • interazione tra un utente e un calcolatore remoto, mediata da un secondo calcolatore in rete con il primo • esecuzione remota o distribuita di un programma o accesso a documentazione remota ? Ciclo aa-b -c-d -e-f • interazione tra utenti mediata da calcolatori • esecuzione distribuita e cooperativa di un programma o scambio di documentazione 9 Il concetto di informazione un foglio cosparso di macchie Configurazione 1 Configurazione 2 Informazione e supporto ? L’informazione è “portata “portata da”, da”, o “trasmessa “trasmessa su”, su ”, o “memorizzata “ memorizzata in”, in”, o “contenuta “contenuta in” in” qualcosa; questo “qualcosa “qualcosa” ” però non è l’informazione stessa. ? Ogni supporto ha le sue caratteristiche in quanto mezzo su cui può essere scritta dell’informazione . 10 Informazione e supporti (1) La stessa informazione può essere scritta su supporti differenti. 11 10 9 8 7 6 10 Informazione e supporti (2) Lo stesso supporto può portare informazioni differenti. fare burro italiano to make, to do, to build, … inglese tariffa, prezzo, … italiano mantequilla, manteca, … spagnolo asino, cavalletto, somaro, … 11 Informazione e supporto (3) ? Distinguere informazione e supporto fisico è distinguere tra “entità “entità logiche” logiche” ed “entità “entità fisiche”: fisiche ”: • l’informazione richiede un supporto fisico, fisico ma non coincide con esso; • l’informazione è un’entità extra extra--fisica fisica, non interpretabile in termini di materia-energia e sottoposta alle leggi della fisica solo perché basata su un supporto fisico. ? L’informazione si può creare e distruggere distruggere.. Quali caratteristiche deve avere un sistema fisico per supportare informazioni? ? Si ottiene informazione quando, dato un insieme di alternative possibili, la lettura del supporto ne elimina alcune e ne seleziona altre. ? Condizione necessaria perché un supporto possa portare informazione è che possa assumere configurazioni differenti, differenti, a ognuna delle quali venga associata una differente entità di informazione. informazione. 12 Informazione Il concetto di informazione implica quello di scelta Esempio: di che colore è la luce accesa del semaforo all’incrocio? La luce del semaforo è .......... scelta fra { { rosso, giallo, verde} } … scelta di un valore tra quelli definiti in un insieme finito di di elementi … nessun altro valore che non appartiene a { { rosso, giallo, verde} } potrà essere usato per definire il colore della luce accesa del semaforo ...l’eleborazione ...l’eleborazione automatica dei dati TIPO e VALORE TIPO dell'informazione: insieme finito nel quale viene effettuata la scelta VALORE dell’informazione: l'elemento scelto … Tipo e Valore non bastano ... esempio: numeri interi Tipo 2.000.000 Valore … ma cosa rappresenta il valore 2.000.000? gli abitanti di Napoli? il patrimonio di Mario Rossi ? il numero di articoli venduti dalla ACME SpA SpA?? ..... tipo valore 13 ATTRIBUTO ATTRIBUTO: definisce il significato dell’informazione, ossia serve ATTRIBUTO: a capire di cosa si tratta e ad identificarla (distinguerla da altre) Esempio: Il cliente è il sig. Ugo Attributo Tipo: Nome di persona Tipo: Numero reale Valore la soluzione dell'equazione è 3,5 Informazione Definizione: L'informazione è la terna di elementi {TIPO TIPO,, ATTRIBUTO ATTRIBUTO,, VALORE VALORE}} se manca uno di questi elementi non si ha informazione! 14 …attenzione ! non confondere un valore e la sua rappresentazione QUATTRO 4 IV … tre diverse rappresentazioni di uno stesso valore … altro esempio “Quattro di quadri” 4 Cardinalità di un tipo e Quantità di informazione Ogni tipo ha una propria cardinalità n che è pari al numero di elementi che compongono il tipo La cardinalità esprime il numero di elementi tra cui scegliere La cardinalità può essere usata per misurare la quantità di informazione 15 Cardinalità di un tipo e Quantità di informazione Una scelta fra valori di un tipo a cardinalità n é più complessa di una scelta fra valori di un tipo a cardinalità m Una cardinalità n>m, implica che il tipo a cardinalità n ha una quantità di informazione maggiore di quello a cardinalità m N.B. nell'universo esistono infiniti tipi, un ambiente di elaborazione è caratterizzato da un numero finito e definito di tipi Misura dell’informazione La scelta più elementare è quella fra elementi di un tipo a cardinalità 2 (al di sotto di 2 non c’è scelta ...) BIT: BIT: è la quantità di informazione associata ad ogni informazione il cui tipo ha cardinalità 2 il BIT è l’unità di misura dell’informazione 16 Misura dell’informazione E' possibile stabilire a quanti bit equivale la quantità di un’informazione il cui tipo sia a cardinalità n Il problema può essere posto in questi termini: a quante scelte fra 2 equivale una scelta fra n? e ha una semplice formulazione matematica Esempio Me Gio Do Lu Ma Ve Sa Do Ve Sa Me Gio Lu Ma Lu Ma Lu Ma Ve Sa Me Gio Me Gio Ve Do Sa Do … una scelta fra 7 elementi è equivalente a 3 scelte fra 2 insiemi 17 Misura dell’informazione Formulazione matematica B = [log n] 2 B = quantità di informazione in BIT n = cardinalità del tipo [x] operazione che associa ad x il minimo numero intero maggiore o uguale ad x … ovvero B è pari alla parte intera di log2 n, maggiorata di 1 se se la parte decimale è diversa da 0 … ovvero B è l’esponente da dare a 2 affinché la potenza risultante sia pari al minimo numero maggiore o uguale di n 2B>n Esempi: colore semaforo 2 bit seme carta 2 bit cifra decimale 4 bit lettera alfabeto italiano 5 bit numero lotto 7 bit una regione di Italia .......... uno studente in aula .......... un cittadino di Napoli .......... un italiano .......... 18 Misura dell’informazione il bit ha solo multipli byte 8 bit (23 ) K 1024 bit (210 ) Kbyte 1024 byte (210 byte) M 1048576 bit (220 ) Mbyte 1048576 byte (220 byte) G 1073741324 bit (230 ) Gbyte 1073741324 byte (230 byte) 19