Elementi di Informatica
Marco C. Leoni
[email protected]
Introduzione
•
Computer = calcolatore, elaboratore.
•
Macchina (elettronica) per il trattamento automatico delle informazioni.
•
•
Programmabile.
Esegue un numero limitato di istruzioni semplici:
•
•
•
07/10/2007
Somma di due numeri
Controllo se il numero vale zero
Copia informazione da una parte all’altra della memoria
Elementi di Informatica - Marco C. Leoni
2
Evoluzione dei Calcolatori
•
1642: Blaise Pascal – Calcolatore meccanico (somme e sottrazioni).
07/10/2007
Elementi di Informatica - Marco C. Leoni
3
Evoluzione dei Calcolatori [2]
•
1671: G. W. von Leibniz – Calcolatore meccanico (somme, sottrazioni, moltiplicazioni e
divisioni).
•
1823: C. Babbage – Macchina differenziale (somme e sottrazioni). Algoritmo polinomiale alle
differenze finite. Risultati perforati su una piastra di rame.
•
1834: C. Babbage – Macchina analitica (somme, sottrazioni, moltiplicazioni e divisioni).
Leggeva le istruzioni da schede perforate e poteva eseguire qualsiasi algoritmo basato sulle
operazioni implementate.
07/10/2007
Elementi di Informatica - Marco C. Leoni
4
Evoluzione dei Calcolatori [3]
Macchina differenziale
Macchina analitica
07/10/2007
Elementi di Informatica - Marco C. Leoni
5
Evoluzione dei Calcolatori [4]
• 1936: K. Zuse – Primo calcolatore funzionante a relè elettromagnetici (Z1).
Valvole termoioniche (1ª generazione)
• 1943: Governo britannico – Primo calcolatore digitale elettronico (COLOSSUS).
• 1946: J. Mauchley & J. P. Eckert – 18000 valvole termoioniche, 1500 relè, 30 tonnellate,
180kW, 6000 interruttori a più posizioni (ENIAC, Electronic Numerical Integrator and
Computer).
07/10/2007
Elementi di Informatica - Marco C. Leoni
6
Evoluzione dei Calcolatori [5]
•
1952: J. von Neumann – Base dei moderni calcolatori (IAS). Parti principali: memoria, unità
logica aritmetica, unità di controllo, dispositivi di input/output. Logica binaria.
Memoria
Unità di
controllo
Unità
logica
aritmetica
Input
Output
Accumulatore
07/10/2007
Elementi di Informatica - Marco C. Leoni
7
Evoluzione dei Calcolatori [6]
Arrivano i transistor (2ª generazione)
• 1960: DEC – Primo minicalcolatore (PDP-1), 50 esemplari venduti.
Circuiti integrati (3ª generazione)
• 1964: IBM – Prima famiglia di calcolatori (360).
• 1965: DEC – Primo calcolatore a singolo bus (PDP-8).
Microprocessori (4ª generazione)
• 1974: Intel – Primo calcolatore “general-purpose” a 8 bit su singolo chip (8080).
• 1981: IBM – Inizia l’era del PC (Personal Computer).
07/10/2007
Elementi di Informatica - Marco C. Leoni
8
Istruire il Computer
•
Programma = sequenza di istruzioni che descrive come eseguire un certo
compito.
•
Le istruzioni vengono eseguite una dopo l’altra.
•
Un programma può essere interattivo o batch.
•
Per poter essere eseguito, un programma deve prima essere convertito in
istruzioni semplici.
•
Linguaggio macchina = insieme delle istruzioni primitive di un calcolatore.
07/10/2007
Elementi di Informatica - Marco C. Leoni
9
Linguaggi
•
Linguaggio macchina = molto semplice Æ noioso e difficile da utilizzare.
•
Æ Organizzazione strutturata.
Livello n: macchina fisica Mn e
liguaggio macchina Ln
„
„
Livello 1: macchina fisica M1 e
liguaggio macchina L1
Livello 0: macchina fisica M0 e
liguaggio macchina L0
07/10/2007
Ogni livello vede (e comunica con)
quelli adiacenti.
La comunicazione avviene tramite
interfacce “standard” Æ il
cambiamento di un componente
non influisce sugli altri livelli.
Elementi di Informatica - Marco C. Leoni
10
Schema Architetturale
•
•
•
•
•
Central Processing Unit
Basic Input Output System
Random Access Memory
Input / Output
Bus
CPU
Hardware
BIOS
RAM
I/O
Bus
07/10/2007
Elementi di Informatica - Marco C. Leoni
11
CPU
•
•
•
•
•
Central Processing Unit
Parte centrale del calcolatore.
Dirige e controlla tutte le funzioni: coordina la memoria e le attività delle
periferiche, esegue le operazioni aritmetiche e logiche.
Tutte le operazioni seguono la logica binaria (0 e 1).
Componenti della CPU:
•
•
•
07/10/2007
CU (Control Unit)
ALU (Arithmetic Logic Unit)
Registri
Elementi di Informatica - Marco C. Leoni
12
CPU [2]
•
Control Unit
• Dispositivo che genera segnali di controllo: dirige le operazioni della CPU.
•
Arithmetic and Logic Unit
• Parte del microprocessore dedicata a calcoli matematici e operazioni logiche
(AND, OR, NOT, XOR, …).
• Possono esserci ALU anche all’interno di altri dispositivi, per es. nella
scheda grafica (in questo caso chiamata GPU = Graphics Processing Unit) o
nella scheda audio.
•
Registri
• Celle di memoria in cui è possibile leggere e/o scrivere dati. Sono usati per
le operazioni interne alla CPU.
07/10/2007
Elementi di Informatica - Marco C. Leoni
13
Bus
•
Bidirectional Universal Switch
•
Linea di collegamento (insieme di fili elettrici) sulla quale viaggiano dati, indirizzi,
istruzioni di controllo.
•
Connette i diversi componenti.
•
Esistono vari tipi di bus: PCI, ISA, MCA, …. I componenti collegati devono essere
compatibili con la tipologia del bus stesso.
•
Ogni bus è caratterizzato da una ampiezza, che rappresenta il numero di bit che
possono essere inviati contemporaneamente da un componente all’altro.
07/10/2007
Elementi di Informatica - Marco C. Leoni
14
RAM
•
E` la memoria principale di lavoro dell’elaboratore.
•
•
•
Viene cancellata allo spegnimento della macchina.
Ospita i programmi in esecuzione e i dati in elaborazione.
Random Access Memory
07/10/2007
Elementi di Informatica - Marco C. Leoni
15
RAM [2]
Esempio di slot per l’alloggiamento della RAM.
07/10/2007
Elementi di Informatica - Marco C. Leoni
16
BIOS
•
Basic Input/Output System
•
“Programma” usato dal microprocessore per inizializzare il computer
all’accensione.
•
Si occupa anche della comunicazione tra sistema operativo e periferiche di I/O.
•
E` contenuto su una memoria EEPROM (Electronically Erasable Programmable
Read-Only Memory).
07/10/2007
Elementi di Informatica - Marco C. Leoni
17
Dispositivi di I/O
•
I/O = Input / Output
Insieme di interfacce messe a disposizione dal sistema
operativo ai programmi per effettuare uno scambio di dati o segnali con altri
programmi, con l'utente (a livello sensoriale), col computer o col sistema
operativo stesso.
•
Hard disk, scheda video, scheda audio, tastiera, mouse, stampante, lettoremasterizzatore CD/DVD, floppy disk, web cam, monitor, scanner, modem, …
07/10/2007
Elementi di Informatica - Marco C. Leoni
18
Dispositivi di I/O [2]
•
Le periferiche possono essere:
• solamente per input (tastiera, mouse)
• solo per output (stampante)
• per entrambe le funzioni (CD-ROM scrivibile).
•
Le periferiche vengono gestite tramite i “driver”:
• accessorio del sistema operativo che consente la comunicazione tra sistema
operativo e periferica;
• dev’essere registrato nel sistema;
• è possibile aggiornarlo.
07/10/2007
Elementi di Informatica - Marco C. Leoni
19
Moderno Personal Computer
1.
2.
3.
4.
5.
6.
7.
8.
Display
Scheda madre (motherboard)
CPU (microprocessore)
Memoria principale (RAM)
Schede d’espansione
Alimentatore
Drive del disco ottico
Memoria secondaria o di
massa (hard disk)
9. Tastiera
10. Mouse
07/10/2007
Elementi di Informatica - Marco C. Leoni
20
Sistemi Operativi
• SO, oppure OS (Operating System).
• Software che, tramite l’interfaccia utente, consente l'invio di
comandi al computer: controlla e gestisce tutto il traffico di
dati all'interno del computer e fra questo e tutte le periferiche,
operando anche come intermediario fra hardware e software
di sistema e i diversi programmi in esecuzione.
• E’ il programma più importante che “gira” sul computer.
• Possono essere classificati in diversi modi:
•
•
•
•
•
07/10/2007
Multi-user
Multiprocessing
Multitasking
Multithreading
Real time
Elementi di Informatica - Marco C. Leoni
21
Sistemi Operativi [2]
• Per i PC i più noti sono: DOS, Windows (per es. 9x, 2000,
XP), Unix, Mac/OS.
• I tre elementi
• computer/processore/scheda madre
• sistema operativo
• software da eseguire
devono essere strettamente compatibili (per esempio, all'acquisto di un
programma è essenziale controllare che sia compatibile con il sistema
operativo installato sul nostro computer, oltre che con la sua
configurazione).
• Un sistema operativo è composto da tre parti: interfaccia
utente (shell), file system e kernel.
07/10/2007
Elementi di Informatica - Marco C. Leoni
22
Sistemi Operativi [3]
•
Interfaccia utente
• Permette l’interazione uomo
•
macchina.
File system
• Gestisce le richieste di accesso alle memorie di massa (per es. hard disk,
cd-rom).
• Definisce il modo in cui i file sono immagazzinati e organizzati sul dispositivo
d’archiviazione.
• Può essere locale o distribuito (stoccaggio fisico dei dati su disco /
condivisione di dati fra più computer collegati fra loro).
File: insieme di informazioni codificate organizzate come una sequenza di byte e
immagazzinate come un singolo elemento su una memoria di massa (all’interno
del file system esistente su di quest’ultima).
07/10/2007
Elementi di Informatica - Marco C. Leoni
23
Bit & byte
•
bit = binary unit, unità di misura dell’informazione: quantità minima di
informazione che serve a discernere tra due possibili alternative equiprobabili.
•
bit = binary digit, cifra binaria: ovvero uno dei due simboli del sistema numerico
binario, classicamente chiamati zero (0) e uno (1). Definisce uno stato logico.
•
byte = sequenza di bit, il cui numero dipende dall'implementazione fisica della
macchina sottostante. Per convenzione negli ultimi anni lo si intende formato da
8 bit, quindi è in grado di assumere 28 = 256 possibili valori.
bit = b
byte = B
07/10/2007
Elementi di Informatica - Marco C. Leoni
24
Multipli del byte
Prefissi SI
07/10/2007
Prefissi binari
Nome
Simbolo
Multiplo
Nome
Simbolo
Multiplo
kilobyte
kB
103
kibibyte
KiB
210
megabyte
MB
106
mebibyte
MiB
220
gigabyte
GB
109
gibibyte
GiB
230
terabyte
TB
1012
tebibyte
TiB
240
petabyte
PB
1015
pebibyte
PiB
250
exabyte
EB
1018
exbibyte
EiB
260
zettabyte
ZB
1021
zebibyte
ZiB
270
yottabyte
YB
1024
yobibyte
YiB
280
Elementi di Informatica - Marco C. Leoni
25
Sistemi Operativi [4]
• Kernel
• Fulcro del sistema, gestisce tutte le parti:
•
•
•
•
Memoria virtuale
Gestore file system
Driver per il controllo delle periferiche
Schedulatore (assegna tempo di elaborazione ai processi in esecuzione)
• Diversi tipi: microkernel (funzioni base), monolitico (più veloce
ed efficiente, più complesso da manutenere), modulare
(separa alcune funzioni non essenziali).
• E’ il programma“cuore” che ha il compito di fornire ai moduli
del sistema operativo e ai programmi in esecuzione le
funzioni fondamentali e l’accesso all’hardware.
07/10/2007
Elementi di Informatica - Marco C. Leoni
26
Hard disk
•
Il disco fisso è la memoria di massa principale.
•
E’ utilizzato per memorizzare dati a lungo termine.
•
Costituenti fondamentali:
• Uno o più dischi in alluminio o vetro, rivestiti da materiale ferromagnetico, in
rapida rotazione.
• Due testine per ogni disco, una per lato (vicinissime alla superficie) – le testine
sono tenute sollevate dal movimento dell’aria dovuto alla rotazione dei dischi
e servono per leggere/scrivere i dati.
•
Caratteristiche principali:
• Capacità (GB)
• Tempo di accesso (ms)
• Velocità di trasferimento (B/s)
07/10/2007
Elementi di Informatica - Marco C. Leoni
27
Floppy disk
•
Detti anche floppy o dischetti.
•
E’ formato da:
•
•
•
una “scatola” rettangolare o quadrata;
un disco sottile e flessibile (Æ floppy).
3” ½
La lettura/scrittura delle informazioni avviene tramite il cosiddetto Floppy Disk
Drive (FDD).
5” ¼
07/10/2007
Elementi di Informatica - Marco C. Leoni
28
USB Flash Drive
•
Universal Serial Bus
Standard di comunicazione seriale per interfacciare periferiche differenti.
•
Chiave (chiavetta) USB, penna USB, pendrive.
•
Memoria di massa, grande capacità (≥ 32MB).
•
Veloci, leggere (pochi grammi), trasportabili, riscrivibili.
•
Dimensioni molto contenute: solitamente qualche centimetro.
•
Facili da utilizzare, non necessitano di alimentazione.
07/10/2007
Elementi di Informatica - Marco C. Leoni
29
CD / DVD
•
•
•
Compact Disc Æ CD.
CD±R, CD±RW,
Capacità: 650 – 700 – 800 – 900 MB.
•
•
•
Digital Versatile Disc Æ DVD.
DVD±R, DVD±RW, DVD-RAM, DVD±R DL, DVD-D
Capacità: 4.7 – 8.5 – 9.4 – 17 GB
09.10.2006
07/10/2007
Elementi di Informatica - Marco C. Leoni
30