INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 ·...

17
Piccoli Ingegneri Informatici… 1 INFORMATICA INFORMATICA Varie definizioni: Varie definizioni: – “Scienza degli elaboratori elettronici” “Scienza degli elaboratori elettronici” (Computer Science Computer Science) – “Scienza dell’informazione” “Scienza dell’informazione” D fi i i t D fi i i t Definizione proposta: Definizione proposta: Scienza della rappresentazione e Scienza della rappresentazione e dell’elaborazione dell’informazione dell’elaborazione dell’informazione 2

Transcript of INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 ·...

Page 1: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

Piccoli Ingegneri Informatici…

1

INFORMATICAINFORMATICA

•• Varie definizioni:Varie definizioni:–– “Scienza degli elaboratori elettronici”“Scienza degli elaboratori elettronici”

((Computer ScienceComputer Science))(( pp ))

–– “Scienza dell’informazione”“Scienza dell’informazione”

D fi i i tD fi i i t•• Definizione proposta:Definizione proposta:

–– Scienza della rappresentazione e Scienza della rappresentazione e ppppdell’elaborazione dell’informazionedell’elaborazione dell’informazione

2

Page 2: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

L’informatica comprende:L’informatica comprende:

• Metodi per la rappresentazione delle informazioniMetodi per la rappresentazione delle soluzioni• Metodi per la rappresentazione delle soluzioni

• Linguaggi di programmazioneArchitettura dei calcolatori• Architettura dei calcolatori

• Sistemi operativiReti di calcolatori• Reti di calcolatori

• Sistemi e applicazioni distribuiteTecnologie Web• Tecnologie Web

• Algoritmi•

3

• …...

ELABORATORE ELETTRONICOELABORATORE ELETTRONICOELABORATORE ELETTRONICO ELABORATORE ELETTRONICO (“(“COMPUTERCOMPUTER”)”)

Strumento per la rappresentazione e l’elaborazione delle informazioni

4

Page 3: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

L’ELABORATOREL’ELABORATOREL’ELABORATOREL’ELABORATORE

Componenti principaliCo po e t p c pa• Unità centrale• Video (“monitor”)• Tastiera e Mouse• Lettore CD/DVD• Dischi fissi (“hard disk”)• Dischi fissi ( hard disk )• Dischetti (“floppy”)/USB stick

Componenti accessoriComponenti accessori

• Stampante• Modem/interfaccia di rete HARDWAREModem/interfaccia di rete• Scanner• Tavolette grafiche

5…

Brevissima storia del calcolatoreBrevissima … storia del calcolatore

Nell'VIII secolo a.C. fu inventato in Cina il primo pallottoliere.p pPresso i Romani era diffuso l'abaco.

6

Page 4: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

Brevissima storia del calcolatoreBrevissima storia del calcolatore

La pascalina di Blaise Pascal (1642) che meccanizzò addizioni e sottrazioni

La macchina di Leibniz (1671) che perfezionò il principio della pascalina poichéLa macchina di Leibniz (1671) che perfezionò il principio della pascalina, poiché eseguiva anche le moltiplicazioni

Funzionava con le ruote dentate e poteva eseguire solo le addizioni.

1642

7

Brevissima storia del calcolatoreBrevissima storia del calcolatoreLa macchina analitica di Babbage (1792-1871)1871)

Il matematico inglese Charles Babbage può essere considerato il padre dei calcolatori digitali moderni: p gil progetto prevede una macchina programmabilecon una unità aritmetica di 50 cifre decimali, una memoria interna costituita da 1000 registri da50 cifre e un meccanismo di controllo a schede50 cifre, e un meccanismo di controllo a schede perforate, ripreso dal telaio tessile inventato dal francese Jacquard nel 1801.La realizzazione della macchina analitica non fu mai portata a termine sia per mancanza di fondi sia, soprattutto, per la tecnologia meccanica inadeguata alla realizzazione di una macchina di tali dimensionidimensioni.

8

Page 5: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

Ad l iAda Byron: la prima programmatrice

Ada Augusta Byron, figlia del poeta George Byronpoeta George Byron, collaborò con Babbage seguendo i progetti della segue do p ogett de aMacchina Analitica e arricchendo con numerosi ed importanti contributi (idea di esecuzione sequenziale e loop) il concetto diloop) il concetto di programmazione

9

ENIACENIAC

L’ENIAC, acronimo di ElectronicNumerical Integrator and gComputer.•Primo calcolatore digitale a circuiti elettronici senza parti meccaniche 'General Purpose'meccaniche General-Purpose •programmabile tramite cablaggio interno (fili ed interruttori).interruttori).

Le sue dimensioni sono impressionanti:l t t t i lt tlungo trenta metri, alto tre e largo uno, pesante 27 tonnellate, occupava unasala calcolo di 167 m2 e

10

sala calcolo di 167 m e richiedeva una potenza di 150 kW.

Page 6: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

John von Neumann (1903 -1957):

Il punto qualificante del progetto architetturale che da lui prende il nome (1945) consiste nel funzionamento in base al programma registrato in memoria (Stored Program Computer).

11

EDVAC

• 1952• EDVAC Electronic Discrete Variable Computer• EDVAC- Electronic Discrete Variable Computer

sviluppato da John Von Neumann e H.H.Goldstine

• Si tratta del primo progetto di calcolatoreelettronico a programma memorizzato. In altre

l d l i l l dparole del vero e proprio calcolatore moderno.Derivato dall'ENIAC, esso ne perfeziona ilconcetto di programmabilità in quanto iconcetto di programmabilità, in quanto iprogrammi sono incorporati nella memoriadella macchina.

12

Page 7: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

Brevissima Storia dei calcolatoriBrevissima .. Storia dei calcolatori

-La prima generazione di computer (ENIAC) fino circa al 1959 fauso di tubi catodici, che avevano l'inconveniente di consumare moltaenergia, di scaldare molto e di essere piuttosto inaffidabili.

-La seconda generazione, tra il 1959 e il 1964, introduce itransistor; sono macchine più piccole, più affidabili e più economiche.

-La terza generazione tra il 1965 e il 1970 introduce i circuitiLa terza generazione, tra il 1965 e il 1970, introduce i circuitiintegrati e miniaturizzati che contengono molti transistor.

-La quarta generazione fa uso dei circuiti LSI e VLSI. Anche lamemoria è molto cambiata e usa la tecnologia dei semiconduttori Èmemoria è molto cambiata e usa la tecnologia dei semiconduttori. Èquesta l'epoca dei microcomputer.

-Infine la quinta generazione dal 1980 introduce nuovi concetti sianell'hardware (computer RISC computer paralleli) sia nel softwarenell hardware (computer RISC, computer paralleli) sia nel software(calcolo parallelo, reti neurali).

13

Legge di MooreLegge di Moore

• Moore (uno dei fondatori di Intel), 1965• Numero di transistor in un chip raddoppia ogni• Numero di transistor in un chip raddoppia ogni

anno• Dal 1970 piu’ lento: raddoppia ogni 18 mesiDal 1970, piu lento: raddoppia ogni 18 mesi• Conseguenze:• Costo del chip invariato minor costo totaleCosto del chip invariato minor costo totale• Circuiti piu’ vicini maggiore velocita’• Calcolatori piu’ piccoliCalcolatori piu piccoli• Minori requisiti di raffreddamento e alimentazione

14

Page 8: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

Generazioni di calcolatoriGenerazioni di calcolatori

Tubi a vuoto - 1946-1957

• Transistor - 1958-1964• Integrazione su piccola scala – dal 1965 - Fino a 100

componenti su un chipI t i di l fi l 1971 100 3 000• Integrazione su media scala – fino al 1971 100-3,000 dispositivi su un chip

• Integrazione su larga scala- 1971-1977 3,000 - 100,000 g g , ,dispositivi su un chip

• Integrazione su grandissima scala – dal 1978 fino a oggi 100 000 - 100 000 000 dispositivi su un chip100,000 100,000,000 dispositivi su un chip

• Integrazione su ultra larga scala• Piu’ di 100,000,000 dispositivi su un chip

15

ARCHITETTURA DI UN ELABORATOREARCHITETTURA DI UN ELABORATOREARCHITETTURA DI UN ELABORATOREARCHITETTURA DI UN ELABORATORE

Unità funzionali

Ispirata al modello della Macchina di Von Neumann (Princeton Instit te for Ad anced St d anni ’40)(Princeton, Institute for Advanced Study, anni ’40)Macchina di Von Neumann:• Non distingueva fra RAM e ROM

16

Non distingueva fra RAM e ROM• Non aveva un bus ma collegamenti punto-punto

Page 9: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

HARDWAREHARDWAREHARDWAREHARDWARE

CPU (C t l P i U it) PCPU (Central Processing Unit), o Processore

CPU: svolge le elaborazioni e ilelaborazioni e il trasferimento dei dati, cioè esegue idati, cioè esegue i programmi

17

HARDWAREHARDWAREHARDWAREHARDWARE

RAM & ROMRAM & ROM

• Dimensioni relativamenterelativamente limitate

A lt• Accesso molto rapido

RAM (Random Access Memory), eRAM (Random Access Memory), eROM (Read Only Memory)Insieme formano la Memoria centrale

18

Page 10: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

HARDWAREHARDWAREHARDWAREHARDWARE

RAM è volatile (perde il suo contenuto q ando si spegne il calcolatore)quando si spegne il calcolatore)

• usata per memorizzare dati e programmiprogrammi

ROM è persistente (mantiene il suo contenuto quando si spegne il

ATTENZIONEcontenuto quando si spegne il calcolatore) ma il suo contenuto è fisso e immutabilefisso e immutabile

• usata per memorizzare programmidi sistema (tipicamente firmware)

19

( p )

HARDWAREHARDWAREHARDWAREHARDWARE

È una “linea di comunicazione”È una linea di comunicazione che collega tutti gli elementi funzionali

BUS DI SISTEMA

20

Page 11: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

HARDWAREHARDWAREHARDWAREHARDWARE

UNITÀ DI INGRESSO/ USCITA (I/O)

S t f

USCITA (I/O)• Tastiera e Mouse• Video e Stampante

Sono usate per far comunicare il calcolatore con l'esterno (in particolare con

p• Scanner• Tavoletta grafical esterno (in particolare con

l’utente) • Dispositivi di memoria di massa

21• ...

HARDWAREHARDWAREHARDWAREHARDWARE

MEMORIA DI MASSAO SS• HD• CD• DVD• …• PenDrive• …

• memorizza grandi quantità di informazioni• persistente (le informazioni non si perdono

spegnendo la macchina)• accesso molto meno rapido della memoria centrale

6

22(millisecondi contro nanosecondi; differenza 106)

Page 12: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

TECNOLOGIA DIGITALETECNOLOGIA DIGITALETECNOLOGIA DIGITALETECNOLOGIA DIGITALE

CPU, memoria centrale e dispositivi sono

D ti i i difi ti ti d

C U, e o a ce t a e e d spos t so orealizzati con tecnologia elettronica digitale

Dati e operazioni vengono codificati a partire da due valori distinti di grandezze elettriche:• tensione alta (V ad es 5V o 3 3V)• tensione alta (VH, ad es. 5V o 3.3V) • tensione bassa (VL, ad es. 0V)

A t li l i i l tA tali valori vengono convenzionalmente associate le due cifre binarie 0 e 1:• logica positiva: 1 ↔ V 0 ↔ V• logica positiva: 1 ↔ VH , 0 ↔ VL

• logica negativa: 0 ↔ VH, 1 ↔ VL

23

TECNOLOGIA DIGITALE (segue)TECNOLOGIA DIGITALE (segue)TECNOLOGIA DIGITALE (segue)TECNOLOGIA DIGITALE (segue)

Dati e operazioni vengono codificati tramite

01000110101

at e ope a o e go o cod cat t a tesequenze di bit

01000110101 ....

CPU è in grado di operare soltanto in aritmetica binaria, effettuando operazioni elementari:• somma e differenza• scorrimento (shift)• scorrimento (shift)• ...

Lavorando direttamente sull’hardware l’utente èLavorando direttamente sull’hardware, l’utente è forzato a esprimere i propri comandi al livello della macchina, tramite sequenze di bit

24

della macchina, tramite sequenze di bit

Page 13: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

SOFTWARESOFTWARESOFTWARESOFTWARE

Software: programmi cheSoftware: programmi che vengono eseguiti dal sistema

Distinzione fra:

• Software di base (es. Sistema Software di base

Software applicativo

(

Operativo)

• Software applicativo

Hardware

• Software applicativo

25

IL SOFTWAREIL SOFTWAREIL SOFTWAREIL SOFTWARE

Software:Software:insieme (complesso) di programmi Programmi

A li ti ip g

Organizzazione a strati, Ambiente dii

Applicativi

ciascuno con funzionalità di livello più alto rispetto a quelli sottostanti

SistemaOperativo

Software diComunicazione

programmazione

quelli sottostanti

Concetto diHardware

Operativo Comunicazione

Co cetto dMACCHINA VIRTUALE

26

Page 14: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

IL FIRMWAREIL FIRMWAREIL FIRMWAREIL FIRMWARE

Firmware:Firmware:il confine fra hardware e software

È uno strato di micro-programmi, scritti dai costruttori, che agiscono direttamente al di sopra dello strato hardware

Sono memorizzati su una speciale memoriaSono memorizzati su una speciale memoria centrale permanente (ROM, EPROM, …)

27

IL SISTEMA OPERATIVOIL SISTEMA OPERATIVOIL SISTEMA OPERATIVOIL SISTEMA OPERATIVO

Strato di programmi che opera al di sopra di St ato d p og a c e ope a a d sop a dhardware e firmware e gestisce l’elaboratore

Spesso è venduto insieme all’elaboratoreSpesso è venduto insieme all elaboratore

Si può scegliere tra diversi sistemi operativiper lo stesso elaboratore con diverseper lo stesso elaboratore, con diverse caratteristiche

Esempi:• Windows 95/98/XP• Windows NT/2000• Linux v.2.6• MacOs X• Symbian• Palm OS

28

• Palm OS• VISTA

Page 15: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

FUNZIONI DEL SISTEMA OPERATIVOFUNZIONI DEL SISTEMA OPERATIVOFUNZIONI DEL SISTEMA OPERATIVOFUNZIONI DEL SISTEMA OPERATIVO

Le funzioni messe a disposizione dal SO dipendono dalla complessità del sistema di elaborazione:

ti d ll i di ibili•gestione delle risorse disponibili•gestione della memoria centrale•organizzazione e gestione della memoria di massa•organizzazione e gestione della memoria di massa• interpretazione ed esecuzione di comandi elementari•gestione di un sistema multi-utente

Un utente “vede” l’elaboratore solo tramite il Sistema Operativo (SO)Sistema Operativo (SO)→ il SO realizza una “macchina virtuale”

29

FUNZIONI DEL SISTEMA OPERATIVOFUNZIONI DEL SISTEMA OPERATIVOFUNZIONI DEL SISTEMA OPERATIVOFUNZIONI DEL SISTEMA OPERATIVO

Conseguenza:Qualsiasi operazione di Conseguenza:diversi SO possono realizzare diverse macchine virtuali sullo stesso elaboratore fisico

Qualsiasi operazione di accesso a risorse implicitamente richiesta da comando utente iene esplicitata dal SO

Attraverso il SO il livello di interazione fra utente ed

stesso elaboratore fisicoviene esplicitata dal SO

elaboratore viene elevato:• senza SO: sequenze di bit• con SO: comandi, programmi, dati

I sistemi operativi si sono evoluti nel corso degli anni (interfacce grafiche, Mac, Windows, ...)

30

Page 16: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

ESEMPIOESEMPIOESEMPIOESEMPIOesegui progr1

S O Hardware0011...10100...

S. O. Hardware

e viceversa:

risultato 10S. O. Hardware

0010...10010...

Utente: Sistema Operativo:“esegui progr1” - input da tastierag p g p

- ricerca codice di “progr1” su disco- carica in memoria centrale codice e dati<elaborazione>elaborazione

Utente: Sistema Operativo:“stampa 10” - output su video

31

stampa 10 output su video

PROGRAMMI APPLICATIVIPROGRAMMI APPLICATIVIPROGRAMMI APPLICATIVIPROGRAMMI APPLICATIVI

Risolvono problemi specifici degli utenti:so o o p ob e spec c deg ute t• word processor: elaborazione di testi (es. MSWord)

• fogli elettronici: gestione di tabelle, calcoli eg ggrafici (es. MSExcel)

• database: gestione di archivi (es. MSAccess)

it (i t ti)• suite (integrati): collezione di applicativi capacidi funzionare in modo integrato

come un’applicazione unica (es. Open Office)come un applicazione unica (es. Open Office)

• Sono scritti in linguaggi di programmazione di alto livello

• Risentono in misura ridotta delle caratteristiche della hit tt d ll’ bi t tt t t ( t bilità)

32

architettura dell’ambiente sottostante (portabilità)

Page 17: INFORMATICA - unibo.itlia.deis.unibo.it/Courses/FondT1-1011-INF/lezioni/modulo... · 2010-11-25 · • Minori requisiti di raffreddamento e alimentazione 14. Generazioni di calcolatoriGenerazioni

AMBIENTI DI PROGRAMMAZIONEAMBIENTI DI PROGRAMMAZIONEAMBIENTI DI PROGRAMMAZIONEAMBIENTI DI PROGRAMMAZIONE

È l'insieme dei programmi che consentono la scrit-È l insieme dei programmi che consentono la scrit-tura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo)( pp )

Sviluppo di un programma• Affinché un programma scritto in un qualsiasi linguaggio• Affinché un programma scritto in un qualsiasi linguaggio

di programmazione sia comprensibile (e quindi eseguibile) da un calcolatore, occorre tradurlo dal li i i i i l li i d ll hilinguaggio originario al linguaggio della macchina

• Questa operazione viene normalmente svolta da specialiQuesta operazione viene normalmente svolta da speciali programmi, detti traduttori

33