Post on 26-Jul-2020
Laboratorio di Informatica I
1
Lezione 1:Introduzione al corso
Vittorio Scarano
Laboratorio di Informatica I
Corso di Laurea in Informatica
2
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Struttura della lezione
• Il corso di Laboratorio di Informatica I– informazioni logistiche ed organizzazione– obiettivi del corso– le attività di laboratorio– modalità di esame
• Introduzione– Cosa è l’informatica (Computer Science)– L’evoluzione dei calcolatori e considerazioni
– Classificazione degli elaboratori
– La struttura di base del calcolatore
3
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Informazioni logistiche
• Audience:– studenti la cui matricola termina per 8, 9
• Orario delle lezioni– Mercoledì (9-12) aula C-38– Giovedì (15-17) aula C-31– Venerdì (9-12) Laboratorio L/19
• Ricevimento studenti– Mercoledì, Venerdì ore 12-13.30 studio L1 22
• Altre informazioni:http://www.dia.unisa.it/~vitsca/LAB
4
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Organizzazione del corso
• Lezioni in aula (mercoledì egiovedì)– programmazione:
• il linguaggio di programmazione C
• Esercitazioni (venerdì)– esercitazioni guidate in
laboratorio L/19
5
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Libri di testo (1)
Autore:
Eric S. Roberts
Titolo:
“The Art and Science of C”
Casa Editrice:
Addison Wesley
6
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Libri di testo (2)
Autori:
Al Kelley, Ira Pohl
Titolo:
“C: Didattica eProgrammazione”
Casa Editrice:
Addison Wesley
Laboratorio di Informatica I
2
7
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Modalità di esame
• Il corso di Laboratorio in 3 moduli:– Modulo A (Ottobre): esame a novembre (il 7 ?)
– Modulo B (Novembre): esame a dicembre
– Modulo C (Febbraio-Marzo): esame ad aprile
– Colloquio finale orale
• Dalla guida dello studente:“L’insegnamento di Laboratorio di Informatica I ècoordinato con quello di Programmazione I e la provad’esame congiunta dei due corsi, corrispondente a 4unità didattiche, dà luogo ad un unico voto.”
8
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Obiettivi del corso
• Alcuni concetti base sull’Informatica
• La programmazione: il linguaggio C– fondamenti di programmazione
– progettazione ed uso di librerie
– tipi di dati composti
• Operatività– realizzazione di programmi in C sotto Linux
9
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Introduzione al corso
• Cosa è l’informatica (Computer Science)• La evoluzione dei calcolatori• Una classificazione dei calcolatori• Alcuni concetti base:
– hardware, software– la architettura di un calcolatore– algoritmi e programmazione
• compilazione• debugging• software maintenance and software engineering
10
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
“ Informatica”?
= Trattamento automatico
maticaInfor
delle informazioni
!
11
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La Evoluzione dei Calcolatori
• La generazione zero: la preistoria
• La I generazione: le valvole elettroniche
• La II generazione: i transistors
• La III generazione: i circuiti integrati
• La IV Generazione: i circuiti integrati VLSI
12
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione “zero”: calcolatori meccaniciL’abaco
• L’abaco come strumento per contare– evolutosi in maniera leggermente diversa in:
• Babilonia, Cina, Grecia, Impero Romano
– tuttora in uso in Cina e Giappone
Laboratorio di Informatica I
3
13
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione “zero”: calcolatori meccaniciStrumenti per il calcolo azionati a mano
• Wilhelm Schickard (1623):– semplice calcolatore meccanico
(Orologio Calcolatore)
• Blaise Pascal (1642):Pascaline– addizionatore
– costruito in 50 esemplari
• Gottfried Leibnitz (1671):– moltiplicazioni e divisioni
14
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione “zero”: calcolatori meccaniciStrumenti per il calcolo azionati a vapore
• Babbage (1832): Difference Engine
– parzialmente realizzata
– composta di 14.000 pezzi
– funzionamento a vapore
– set fisso di istruzioni
15
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione “zero”: calcolatori meccanici
• Babbage: Analytical Engine (1870)– macchina programmabile:
• in grado di eseguire funzioni diverse a seconda dicome fosse programmata
• Le istruzioni venivano fornite attraverso schedeperforate (usate per i telai in Francia da Jacquard)
– Ada Lovelace Byron:• prima programmatrice della storia
– Macchina mai costruita
16
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Alcune considerazioni su ...L’Analytical Engine
• Un calcolatore è programmabile– assolve compiti diversi a seconda di come viene
programmata
– quindi, di uso generale (general-purpose)
• La macchina:– deve essere istruita sui passi da compiere per
risolvere un problema (programmazione)
– i programmi vanno inseriti tramite schedeperforate
17
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione “zero”: calcolatori meccanici
• Herman Hollerith U.S.A:– schede perforate per il censimento (1890)
• 200 tonnellate di schede raccolte (2 anni)
• 50-220 schede lette al minuto
– (1896) fonda la Tabulating Machine Companyche (1924) diventa la International BusinessMachine.
18
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Alcune considerazioni su ..Il censimento USA
• I dati vengono inseriti tramite schedeperforate: fase di input
• Separazione della fase di input da quella dielaborazione:– Necessità della memorizzazione dei dati
– Dispositivi di tipo diverso per
• inserimento dei dati
• elaborazione dei dati
Laboratorio di Informatica I
4
19
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione 0.5: calcolatori elettromeccanici
• Howard Aiken (1937-1944): Mark I– Harvard University– Altezza 3 metri, lunghezza 18 metri– Peso 5 tonnellate– Elettromeccanico :
• 760,000 parti, 3300 relay, 800 Km cavi– Prestazioni:
• 3 addizioni/s, 1 moltipl. in 6 s, 1 divisione in 13 s
20
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione 0.5: calcolatori elettromeccanici
• Caratteristiche del Mark I– Input: rotolo di carta perforata– Notazione decimale (23 cifre)
• maggiore precisione rispetto a 64 bit!– Alcuni applicazioni:
• calcolo integrali• equazioni top-secret provenienti da Los Alamos
21
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Generazione 0.5: calcolatori elettromeccaniciMark I: (1945) il primo “computer bug”
Grace Hopper (programmatrice part-time) scrive:
22
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I Generazione: le valvole elettroniche (1)
� ENIAC (1943-1946)� Electronic Numerical Integrator and Computer
� Applicazioni calcolo balistico
� 30 tonnellate, 19.000 valvole termoioniche
� Prestazioni: 5.000 addizioni e 300moltiplicazioni a dieci cifre, al secondo
� Input/Output: Schede perforate e Telescriventi
� 30 unità (di cui 20 addizionatori) funzionanti inparallelo
23
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
ENIAC: le caratteristiche
• Dim.: 10 m x 18 m
• Controlli
• Console per output
• Consumo:
180.000 watt
24
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
ENIAC: la programmazione...
• Programmazione attraverso la connessione fisicadelle unità
• Viene introdotto il salto condizionato (if…then…)
Laboratorio di Informatica I
5
25
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
ENIAC: … ed il debugging
“ Identificare una valvola difettosa significacontrollare 19.000 componenti.”
26
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Alcune considerazioni su ..ENIAC
• La programmazione:– flusso di esecuzione del programma
– diramazioni condizionate
Condizioneverafalsa
27
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I Generazione: le valvole elettroniche (2)
� EDVAC (1951)� Progettato da Von Neumann
� Dotato di memoria centrale(1024 parole)
� Dotato di memoria di massa(20000 parole)
� Usa la aritmetica binaria� ogni elemento può prendere
valore 0 oppure 1
� Struttura semplice e di facileprogrammazione
28
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La architettura di Von Neumann
Memoria
Unità di ControlloUnità Aritmetico-Logica
Accumulatore
Output InputFlusso datiSegnali di controllo
29
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano � Il programma viene memorizzato con i dati
� può automodificarsi� di facile modifica (programmazione)
� Introduzione delle subroutines� porzioni di codice riutilizzabile attraverso il
Conditional Control Transfer
� librerie di codice per usi comuni
� Rappresentazione binaria� efficienza ed affidabilità
� Memoria di massa e memoria centrale
Alcune considerazioni su ..L’EDVAC e la sua architettura
30
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I Generazione: le macchine commerciali
� UNIVAC I� Nastri magnetici, stampanti
� 750,000$
� 185,000$ per una stampante
� Usato dal Census Bureau
� Elezioni USA 1952:� UNIVAC predice la vittoria di
Eisenhower su Stevenson nelleproiezioni, contro le analisi diopinione.
Laboratorio di Informatica I
6
31
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I Generazione: le macchine commerciali
� IBM 701(1953)� 19 esemplari prodotti in 3
anni
� IBM 650 (1954)� 450 esemplari in 1 anno
� tamburi magnetici permemorizzazione di massa
32
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
II Generazione: i transistor
• 1948: la AT&T inventa iltransistor
• 1956: MIT TX-0 primo computercon transistor
• Primi Sistemi Operativi
• Primi Linguaggi diprogrammazione ad alto livello– ALGOL, COBOL,FORTRAN
33
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Alcune considerazioni su..I linguaggi di programmazione
• I linguaggi di programmazione:– non legati alla architettura della macchina
• astrazione del processo• portabilità
– di uso più semplice per il programmatore– necessità di traduzione (compilazione)– linguaggi orientati alle applicazioni
• Sistemi operativi: necessari per– l’accesso alle risorse della macchina– l’uso efficiente delle risorse
34
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
III Generazione: i circuiti integrati
• 1967: i primi circuiti integratirealizzano su un unico chipcentinaia di transistor
• Fairchild Corporation:– unità aritmetica a 8 bit
– un accumulatore
35
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
III Generazione: i circuiti integrati
• Sistemi operativi: multitasking
• IBM 360: famiglia di sistemi– 6 computer e 40 periferiche
compatibili
– upgrade Software Hardware
• Nasce la Digital EquipmentCorporation con i primi mini :– PDP-8 e PDP-11
36
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
IV Generazione: i circuiti integrati VLSI
• Very Large Scale Integration (VLSI)
• Migliaia di transistor su chip (anni 70)
• IBM System/370
• VAX 11/780 DEC
• Cray X/MP (supercomputer)
• Sistemi Operativi:– VMS di Digital
– UNIX di AT&T, BELL Lab.
Laboratorio di Informatica I
7
37
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
L’era dei Microcomputer (1)
• (1969) Intel realizza il 4004:– primo chip a racchiudere un
processore intero– progettato da Federico Faggin
(con altri)– 2250 transistor– parola a 4 bit– 60,000 operazioni al secondo– progenitore di 8008, 8080,
8086 e 8088
38
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
L’era dei Microcomputer (2)
• Mentre la Intel realizza il 4004:– La Motorola realizza il 6800,
– La Zylog lo Z80
• Steve Jobs costruisce l’Apple I– (assemblato nel garage) è il primo PC
• La DEC crea il CP/M, sistema operativoper microcomputer basati su 8080 e Z80
39
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
L’era dei Microcomputer (3)
• 1981: IBM crea il suo Personal Computerbasato su 8088.
• Commissiona il sistema operativo ad unapiccola società: la Microsoft che crea MS-DOS.
• Il PC IBM si impone sul mercato che siconverte agli “IBM compatibili”
• L’unico concorrente rimane la Apple
40
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
L’era dei Microcomputer (4)
• 1984: la Apple lancia il Macintosh– basato su Motorola 68000
– innovativa ed intuitiva interfaccia grafica
– la nuova filosofia:• “User Friendly”
• WYSIWYG: “What you see is what you get”
• 1987: la Microsoft– leader a causa dell’uso universale di MS.-DOS
– risponde con Windows 1.0, 2.0, 3.0
41
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
L’era dell’Informatica Distribuita
• Le motivazioni:– i mainframe sono costosi da mantenere
– potenza di calcolo disponibile su scrivania
– evoluzione delle reti locali e geografiche
• La rivoluzione:– da un mainframe con terminali “stupidi”
– ad una rete di PC collegati ad un minicomputer
Il modello Client-Server
42
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
L’era di Internet
• Rete mondiale che connette milioni dicalcolatori
• Servizi:– e-mail (posta elettronica)
– World Wide Web: sistema ipertestuale per ilreperimento di informazioni
• Integrazione tra la rete ed il WWW ed ilpersonal computer
Laboratorio di Informatica I
8
43
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Una Classificazione di Elaboratori
Personal Digital Assistant
Network Computer
Notebook
Personal Computer
Workstation
Mini-computer
Mainframe
Supercomputer
DimensioneCapacità
Costo
Facilità d’usoGenericità
44
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Personal Digital Assistant (PDA)
� schermo da 3 a 6 pollici; peso ~200g� senza tastiera (palmari) o con tastiera mini
(hand-held)� alimentazione a batteria� Sistema Operativo ridotto� input tramite penna e riconoscimento scrittura� interfaccia a raggi infrarossi per collegamento� Esempi:
� Apple Newton, PalmPilot, Psion, Sharp 5800,Philips Velo1, etc.
45
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Network Computers
• Recente introduzione
• Capacità di calcolo simili ad un PersonalComputer
• scarica il proprio Sistema Operativo da rete– a seconda del S.O. caricato assumono
funzionalità diverse
• utile per piattaforma di calcolo eterogeneo
46
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Computer Notebook
� Dimensioni di un agenda formato A4
� Peso da 1 Kg fino a 4-5 Kg.
� Alimentazione a rete ed a batteria(ricaricabile)
� Prestazioni simili ad un Personal Computerma ad un costo più elevato.
� Dotati di dispositivi interscambiabili
� Esempi:� Apple Powerbook, Toshiba Notebook, etc.
47
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Personal Computer
� Detto anche microcomputer
� “nato” nel 1981 dalla IBM
� anche se 77 la Commodore presentava il PET...
� architettura a processore unico
� oggetto della evoluzione più rapida
� Due piattaforme:
� Wintel (WIN dows + InTEL )
� Apple PowerPC48
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Workstation
� Stazioni di lavoro individuali dall’elevatacapacità di calcolo;
� Potenti processori dedicati per la grafica
� Utilizzati nella:
� progettazione CAD (Computer AidedDesign)
� grafica computerizzata (video)
� simulazione di processi complessi
Laboratorio di Informatica I
9
49
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Mini e Supermini Computer
� Calcolatori dipartimentali
� Supportano decine di utenti ed utenze coninteressi specifici
� Potenze di calcolo elevate
� Ambiente multi-utente
� Software Applicativo particolare
� Dotati (spesso) di multiprocessore
50
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I “grossi calibri”...
� Mainframe� Supportano centinaia di utenti
� Elevata capacità di gestione dati
� Costo e gestione elevata e complessa.
� Supercomputer� Estremamente veloci (multiprocessore)
� Alto grado di parallelismo interno
� Usati in campo scientifico o tecnico per:� elaborazione di dati atmosferici inviati da satellite
� simulazione di voli spaziali, etc…
51
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Le Componenti di un Calcolatore
• Hardware (HW):– il calcolatore (circuiti elettronici)
• Software (SW):– programmi (istruzioni per l’hardware)
• Firmware– Componenti HW pre-programmate per
realizzare specifiche funzionalità.
52
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Architettura Generale di un Elaboratore
Bus di Interconnessione
Processore Memoria Centrale
Controller dispositivi I/Oe comunicazione
CabinetMe
mor
ie d
i Ma
ssa
Memorie di massa esterne
Dispositivi di comunicazione
Video Stampante
53
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Il Processore
Bus di Interconnessione
Processore Memoria Centrale
Controller dispositivi I/Oe comunicazione
CabinetMe
mor
ie d
i Ma
ssa
Memorie di massa esterne
Dispositivi di comunicazione
Video Stampante
54
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Il Processore
• Central Processing Unit (CPU)
• Effettua la computazione:– controllata dalle istruzioni prelevate dalla
memoria
• Circuiti integrati– integra (milioni di) transistor
Laboratorio di Informatica I
10
55
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Un confronto: numero di transistors
19 81 19 82 19 85
19 89
19 93
19 97
19 98
0
1 .0 00 .00 0
2 .0 00 .00 0
3 .0 00 .00 0
4 .0 00 .00 0
5 .0 00 .00 0
6 .0 00 .00 0
7 .0 00 .00 0
8 .0 00 .00 0
80
86
80
28
6
80
38
6
80
48
6
Pe
ntiu
m
P.
MM
X
Pe
ntiu
m I
I
56
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La Memoria Centrale
Bus di Interconnessione
Processore Memoria Centrale
Controller dispositivi I/Oe comunicazione
CabinetMe
mor
ie d
i Ma
ssa
Memorie di massa esterne
Dispositivi di comunicazione
Video Stampante
57
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La Memoria Centrale
• Contiene:– dati
– programmi
• Random Access Memory (RAM)
• Memoria volatile– necessita di alimentazione elettrica
58
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Un confronto di memorie: la dimensione
6 4K b 2 56 K b 1 M b 4 M b1 6M b
6 4M b
2 56 M b
0
5 00 00
1 00 00 0
1 50 00 0
2 00 00 0
2 50 00 0
3 00 00 0
1 98 4 1 98 5 1 98 6 1 98 8 1 98 9 1 99 2 1 99 4
Dimensione (#transistors)
59
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Un confronto di memorie: la velocità
150
120
7060
50 5040
0
20
40
60
80
100
120
140
160
1984 1985 1986 1988 1989 1992 1994
Velocità (in ns)
60
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La Memoria di Massa
Bus di Interconnessione
Processore Memoria Centrale
Controller dispositivi I/Oe comunicazione
CabinetMe
mor
ie d
i Ma
ssa
Memorie di massa esterne
Dispositivi di comunicazione
Video Stampante
Laboratorio di Informatica I
11
61
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La Memoria di Massa
• Contengono in maniera permanente:– dati
– programmi
• Memoria secondaria (Secondary Storage)
• Dischi magnetici:– interni/esterni
– rigidi (hard disk)
– floppy disk (removibili)
62
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I dispositivi di Input/Output
Bus di Interconnessione
Processore Memoria Centrale
Controller dispositivi I/Oe comunicazione
CabinetMe
mor
ie d
i Ma
ssa
Memorie di massa esterne
Dispositivi di comunicazione
Video Stampante
63
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
I dispositivi di Input/Output
• Permettono la comunicazione con utenti:– per inserire di dati/programmi
– per fornire risultati
– (in generale) per il controllo
• La postazione di lavoro:– monitor, tastiera, mouse
• Stampanti
64
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Altri elementi...
Bus di Interconnessione
Processore Memoria Centrale
Controller dispositivi I/Oe comunicazione
CabinetMe
mor
ie d
i Ma
ssa
Memorie di massa esterne
Dispositivi di comunicazione
Video Stampante
65
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Altri elementi...
• Bus di comunicazione– permette la comunicazione tra i componenti
– facilita la connessione (standard)
• Dispositivi di comunicazione:– verso rete geografica (modem)
– verso rete locale (scheda di rete)
66
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La creazione di un programma
• Un processo composto di fasi diverse
• Necessario:– Identificare il problema
– Conoscere la soluzione
– Implementare ed eseguire la soluzione
• Ciclo di vita del software– debugging
– maintenance
Laboratorio di Informatica I
12
67
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Il processo: una vista informale
Analisi
Stesura di unadescrizione
Interpretazione
Esecuzione
Soluzione
Descrizione
Descrizioneinterpretata
Soluzione
Problema
68
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Il processo in dettaglio
Analisi
Formalizzazione
Programmazione
Compilazione
Soluzioneinformale
Soluzione formale
Programma in linguaggioad alto livello
Programma inLinguaggioMacchina
ProblemaAlgoritmo
Esecuzione
69
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Gli Algoritmi
• Algoritmo:Sequenza finita di istruzioni che, se eseguite,
svolgono un particolare compito.
• Caratteristiche di un algoritmo:– non ambiguità– effettivo (esecuzioni eseguibili)– finito (terminazione)
• Studio della complessità di un algoritmo
70
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Il processo in dettaglio
Analisi
Formalizzazione
Programmazione
Compilazione
Soluzioneinformale
Soluzione formale
Programma in linguaggioad alto livello
Programma inLinguaggioMacchina
Problema
Esecuzione
Codifica
71
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Codifica di un algoritmo
• Trasformazione della sequenza di passi(astratti) in un linguaggio diprogrammazione ad alto livello
• Linguaggi ad alto livello:– indipendenti dalla piattaforma (quasi…)
– Esempi:• Fortran, Pascal, Basic, Cobol, C, C++, Java etc.
72
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Il processo in dettaglio
Analisi
Formalizzazione
Programmazione
Compilazione
Soluzioneinformale
Soluzione formale
Programma in linguaggioad alto livello
Programma inLinguaggioMacchina
Problema
Esecuzione
Laboratorio di Informatica I
13
73
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
La compilazione
• Traduce il linguaggio ad alto livello in linguaggiomacchina (compreso dal processore)
• Effettuata dal compilatore e dal linker
file sorgente
fileoggetto
librerie
file eseguibile
compilatore
linker
74
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano
Una gerarchia di “Macchine” logiche
Software ApplicativoLinguaggi ad Alto livello
Hardware/FirmwareComponenti Elettronici, Collegamenti fisici
Software di BaseSistema Operativo, Utilità, Software Comunicazione
Utilizzatori:
75
Lab
ora
torio
di I
nfo
rma
tica
200
0-2
00
1
Vi.t
torio
Sca
rano Calcolatori Programmabili
Una review...
Input - Elaborazione - Output
Programmazione e debugging
Rappresentazione binaria
Memorizzazione comune di dati e programmi
Linguaggi di programmazione e sistemi operativi