Sistema di Elaborazione Dati
CPU
RAM
INTERNET
Il Modello di Von Neumann
Unità di elaborazione
Unità di
input
Memoria
centrale
(Ram)
C.P.U.
(Processore)
Unità di
output
Memorie di
massa
Hardware
•Definizione:
l’insieme dei dispositivi (elettronici, elettrici
meccanici, ecc.) che costituiscono fisicamente il
sistema di elaborazione.
Software
Definizione:
l’insieme dei programmi e dei dati che
permettono lo svolgimento delle funzioni di
elaborazione
Il transistore
• È l’elemento base degli attuali
elaboratori elettronici digitali:
– piccole dimensioni ( mm )
– basso consumo di energia ( mW )
– alta velocità di funzionamento (milioni di
operazioni al secondo)
Circuiti integrati (Chip)
Chip:
circuito integrato,
microcircuito,
componente elettronico
contenente
al suo interno moltissimi
transistor
Calcolatore
Il chip sta al calcolatore
come il mattone sta alla casa
Le generazioni informatiche
• 1942-’57,
• 1958-’63,
• 1964-’80,
• 1980-oggi,
• (futuro)
1a gen.
2a gen.
3a gen.
4a gen.
5a gen.
= valvole
= transistori
= circuiti integrati
= circuiti VLSI
=?
ENIAC (1943): Electronic
Numerical Integrator And
Calculator
• Primo eleboratore general-purpose
• 18000 Valvole, 1500 relay
• Uso per calcoli balistici
•Lunghezza 25m, altezza 3m, superficie 180m2,
peso 30ton, potenza assorbita 140KW
• Programmazione con interruttori manuali
• Aritmetica decimale, 5000 operazioni/sec
Microprocessori INTEL 80x86
1993
Pentium
MIPS: 100+ (66 MHz)
Transistors: 3.000.000+
1989
80486
MIPS: 41 (50 MHz)
Transistors: 1.200.000
1985
1979
80386
MIPS: 11 (33 MHz)
Transistors: 275.000
1982
80286
MIPS: 3 (12 MHz)
Transistors: 134.000
8088/8086
MIPS: 0.33 (5 MHz)
Transistors: 29.000
Microprocessori INTEL 80x86
1999
Pentium III
64 bit – 1.13 GHz
Transistors: 9.000.000+
1998
Pentium II
64 bit - 450 MHz
Transistors: 7.000.000+
1995
Pentium PRO
64 bit - 200 MHz
Transistors: 7.000.000+
1993
Pentium
32 bit - (166 MHz)
Transistors: 3.000.000+
Processore
Il processore o CPU è uno dei componenti principali del
computer. Esso consente l’esecuzione di numerose
istruzioni come:
operazioni di elaborazione dei dati o comandi per
controllare tutti gli altri elementi del sistema.
Processore Intel 80286
Processore AMD Athlon
Processore
• Dalla frequenza di lavoro del processore, espressa in MHZ cioè in
milioni di cicli di istruzioni a secondo, dipende la velocità di calcolo
dell’intero sistema.
• Le operazioni che il processore è in grado di eseguire sono
elementari (somma, lettura di un dato, etc.), ma vengono svolte ad
una velocità notevole, consentendo di fornire funzionalità complesse
come somma di un numero elevato di operazioni semplici.
8086 - 8088 (4.77 - 12 MHz) -1979
Pentium (75 - 200 MHz) - 1994
80286 (8 - 20 MHz) - 1983
Pentium II (180 - ? MHz) - 1997
80386 (16 - 40 MHz) - 1987
Pentium III (400 - 1200 MHz) - 1999
80486 (25 - 133 MHz) - 1991
Pentium 4 (1.2 – 2.4 GHz) - 2001
Il clock
– T = periodo di clock
– f = frequenza di clock ( unità di misura Hertz )
t
T
• Ogni elaboratore contiene un elemento di
temporizzazione (detto clock ) che genera un
riferimento temporale comune per tutti gli
elementi costituenti il sistema di elaborazione.
Memoria
•
Il modulo della memoria è fondamentale perché consente di memorizzare i
programmi da eseguire, i dati da elaborare, i risultati intermedi e finali forniti
dal computer.
•
La memoria si divide in memoria interna, quella posta fisicamente sulla
scheda elettronica che ospita anche il processore, e quella esterna che si
trova su dispositivi posti fuori della scheda e ad essa collegati.
• Memoria interna o principale
– ROM (read only memory)
– RAM (random access memory)
– Cache
• Memoria esterna, di massa o secondaria
– Floppy disk
– Hard Disk
– Nastro magnetico
– CD/DVD ROM
Memoria Interna
• ROM (Read Only Memory)
–
Memoria non cancellabile che contiene le informazioni
necessarie per inizializzare l’elaboratore (64 kB - 512 kB)
• RAM (Random Access Memory)
–
Memoria cancellabile e riscrivibile che contiene il/i programma/i
attualmente in esecuzione
(128 MB - 1 GB)
• CACHE
Memoria di transito fra componenti diversi (fra CPU e RAM, tra
RAM e memoria esterna)
Memoria interna
• Banchi di memoria
DRAM su supporti SIMM
Memoria Esterna o Memoria di massa
Periferiche di ingresso
• Le periferiche d’ingresso sono quei dispositivi che
consentono all’elaboratore di acquisire informazioni dal
mondo esterno ed in particolare dall’utente che
interagisce con la macchina.
Periferiche di uscita
Le periferiche d’uscita sono tutti quei dispositivi che
consentono di ottenere i risultati delle elaborazioni effettuate dal
calcolatore.
Periferiche di ingresso
• Tastiera (inserimento alfanumerico)
• Mouse (inserimento posizioni)
• Tavoletta grafica (inserimento posizioni)
• Scanner (inserimento immagini)
• Modem (ricezione dati)
Periferiche di uscita
• Monitor (visualizzazione)
• Stampanti (trasferimento su carta)
• Plotter (disegni e grafici)
• Modem (trasmissione dati)
• Macchine a controllo numerico
Periferiche di uscita - Monitor
• I parametri fondamentali di un monitor sono la sua dimensione (da
12 a 21 pollici), la sua risoluzione intesa come punti distinti che
possono essere attivati sulla superficie (da 200x320 a 1280x1024) e
la sua “precisione” misurata con un indice che varia da 0.25
(migliore) a 0.38 (peggiore).
• Esistono anche particolari monitor detti “touch screen” che
consentono, tramite il tocco di aree particolari della loro superficie, di
acquisire informazioni (periferica di input).
Periferiche di uscita - Stampanti
•
Stampanti (trasferimento su carta)
Consentono di trasferire su carta i risultati delle elaborazione per poi
poterli utilizzare come strumenti di verifica o di memorizzazione.
•
Ad impatto ( metodo di stampa vecchio ma economico).
•
A getto d’inchiostro: La definizione è migliore delle stampanti ad
impatto ed anche il rumore è ridotto a quello causato dal movimento
della carta.
•
Laser: La qualità di stampa è ottima, ma il costo del dispositivo e della
sua manutenzione è elevato.
•
Plotter (disegni e grafici) A questo dispositivo trasferisce su carta
immagini e grafici di dimensioni elevate, normalmente per disegno
tecnico o meccanico.
Periferiche di uscita
• Macchine a controllo numerico
Un elaboratore può avere come periferica d’uscita a diretto contatto
anche una macchina operatrice a controllo numerico; in tale caso i
“dati” in uscita dal computer sono i manufatti realizzati dalla
macchina stessa.
Generazioni di calcolatori
elettronici
La prima generazione è basata sulla tecnologia dei tubi a vuoto (valvole).
Nel 1951 si costruisce l'Univac1, dotato di memoria a mercurio e nastri
magnetici che consentivano di elaborare 30.000 informazioni al minuto.
La seconda generazione, comparsa nel 1959, è basata sui transistor che
sostituiscono le ingombranti e dispendiose valvole.
Le memorie di questi calcolatori sono costituite da nuclei di ferrite, le cui
dimensioni si riducono fino al diametro di pochi decimillimetri. La velocità
di calcolo raggiunge le 210.000 addizioni al secondo.
La terza generazione è costituita da circuiti integrati (chip)
che sostituiscono il transistor, ed appare a partire dal 1964.
Le memorie a nuclei sono affiancate da quelle a bolle
magnetiche (minore ingombro, maggiore velocità e
sicurezza di funzionamento.
La quarta generazione di calcolatori è nata con la
realizzazione del microprocessore, cioè dell'Unità Centrale
(CPU) ottenuta su un unico circuito integrato. È iniziata nel
1971 con l'invenzione del microprocessore a 4 bit (4004) ad
opera di Enrico Faggin della Intel e prosegue tuttora.
Le diverse tipologie di computer apparse dal 1971 ad oggi
sono il risultato di un'evoluzione nelle tecniche di
realizzazione dei circuiti integrati e di aumento della densità
circuitale, il cui massimo valore si indica con il termine di
livello di integrazione.
Nell'evoluzione dei livelli di integrazione si è passati dalla
SSI (Small Scale Integration) alla MSI (Medium Scale
Integration), LSI (Large Scale Integration) ed infine alla VLSI
(Very Large Scale Integration).
La tecnologia VLSI ha consentito di realizzare
microprocessori a basso costo e memorie di grande
capacità su un unico chip.
La quinta generazione di computer si basa
su architetture parallele (es. dual core) e
sulla costruzione di cluster di computer.
Cenni Storici
Fin dall'antichità gli uomini hanno sempre
cercato di rendere meno laboriosi i calcoli.
Il desiderio di rendere più veloce e più
possibile automatico il calcolo è
probabilmente antico come l'uomo. Anche
se il calcolatore non si può considerare
semplicemente una macchina di calcolo,
senz'altro è il prodotto più recente e più
clamoroso delle ricerche nate da questo
desiderio.
Nell'VIII secolo a.C. fu inventato in Cina il primo
pallottoliere.
Presso i Romani era diffuso l'abaco. Strumento
di calcolo formato da un telaietto su cui
scorrono alcune file di palline che denotano le
unità, le decine, le centinaia, le migliaia.
Abaco
Per giungere a qualcosa di nuovo bisogna
aspettare fino al 1600, quando il matematico
scozzese John Napier inventa il regolo
calcolatore.
Strumento costituito da stecche di avorio su
cui erano incise opportune serie di numeri.
Facendo scorrere le stecche una sull'altra era
possibile eseguire moltiplicazioni e divisioni.
Regolo calcolatore
La prima vera calcolatrice (che prese il nome
di "pascalina") fu inventata da Blaise Pascal
nel 1642. La pascalina, poteva eseguire
solamente l'addizione e la sottrazione.
La pascalina
Guglielmo Leibniz (nel 1971) ideò una
macchina che eseguiva anche la
moltiplicazione e la divisione.
La macchina di Leibniz
Le prime macchine calcolatrici
prodotte in serie comparvero agli
inizi del 1800 dopo la rivoluzione
industriale.
Ma è solo nel 1801 che si assistette
ad una svolta decisiva, grazie al
francese Joseph Jacquard che
realizzò un telaio da tessitura
controllato da schede perforate,
sulle quali era memorizzato il
programma di funzionamento della
macchina stessa.
Il telaio Jacquard
Sfruttando questa idea, l'inglese Charles Babbage
ideò una macchina analitica (macchina di Babbage)
che si può considerare il primo esempio di
calcolatore. Esso adottava schede perforate per
introdurre dati ed istruzioni ed era fornito di una
memoria in grado di immagazzinare fino a 1000 cifre.
La macchina analitica
di C. Babbage
Verso la fine del 1800, negli Stati
Uniti si presentò un problema molto
concreto e urgente: l'elaborazione
dei dati del censimento americano
del 1890.
Uno studioso di statistica, Herman
Hollerith adattò la scheda perforata a
questo scopo, registrando su ogni
scheda i dati di un cittadino e
realizzando una macchina in grado di
contarli. La società fondata da questo
brillante individuo si chiamò, e si
chiama tuttora, IBM (International
Business Machine).
Macchina di
Hollerith
Il primo vero calcolatore elettro-meccanico fu il
MARK 1, messo a punto nel 1944 da un
gruppo di ricercatori dell'università americana
di Harvard.
Con l'avvento delle valvole elettroniche si costruì
l'ENIAC (Elettronic Numerical Integrator and
Calculator) e nel 1951 si realizzò l'UNIVAC 1
(UNIVersal Automatic Computer).
L'UNIVAC fu il primo calcolatore elettronico in
grado di conservare il programma all'interno
della memoria (grazie ad un'importante
innovazione dovuta al matematico John Von
Neumann).
UNIVAC
Sistemi Operativi
Che cosa è un sistema
operativo?
Un software che agisce da intermediario fra l’utente e la
struttura fisica del calcolatore: gestisce gli elementi fisici di
un calcolatore e fornisce all’utente un’interfaccia per poter
utilizzare le risorse del sistema di calcolo in modo
semplice, efficiente e sicuro
Scopi del sistema operativo:
Eseguire i programmi utenti e facilitare la soluzione dei
problemi degli utenti.
Rende il sistema di calcolo un ambiente in cui si può
lavorare in modo conveniente e corretto.
Utilizzo del calcolatore in maniera efficiente.
Quali sono le parti di un SO ?
Applicazioni
Gestore del
processore
Interprete di comandi
(shell)
Gestore della
memoria
Gestore delle
periferiche
Hw
Interfaccia grafica
(desktop)
File system
Il nucleo (Kernel) del SO
• Le funzioni del SO che riguardano:
– la gestione dei processi,
– la loro cooperazione (sincronizzazione e
comunicazione)
– la gestione del processore
sono dette Nucleo (Kernel) del SO.
Processo
utente
Processo
sistema
Processo
sistema
Processo
utente
Nucleo: System call Send, Receive, Scheduling
Hardware e Firmware
Schema del sistema MS-DOS
 Non ha l’identificazione
PROGRAMMI DI APPLICAZIONE
dell’utente con login e password;
 Non ha protezione del file
system (administrator, gruppi).
PROGRAMMI DI SISTEMA
DRIVER DISPOSITIVI MS-DOS
DRIVER DISPOSITIVI ROM BIOS
 Non supporta meccanismi di
protezione della memoria.
 Non esiste la modalità
supervisore distinta da quella
utente.
 Non è multiprogrammato: la
shell lancia un programma e
attende che sia completato.
 i comandi utente di I/O agiscono
direttamente sui dispositivi non
passano attraverso il S.O.
Lo schema di Unix
interfaccia utente
interfaccia delle
librerie di sistema
interfaccia
system call
Utenti
Programmi di utilità
(Shell, compilatori, editors)
user mode
Libreria Standard
(Open close, read, write, fork)
Unix kernel:
Gestione Processi, Memoria, File System, I/O
kernel mode
Windows NT-2000 un modello
ibrido
Client Server
Macchine virtuali
non è microkernel
Fine