Concetti chiave
Computer 1
• Hardware e software
• Architettura di von Neumann
• Processore
• Memoria centrale
• RAM, ROM, cache
• Input e output
• Memoria di massa
• Calcolo e automazione
• Tipi di computer
• Reti
• Client/Server
• Cloud computing
• Virtualizzazione
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 1
1.1 Hardware e software
Il computer è una macchina universale:
obbedendo alle istruzioni che gli sono
fornite riesce a trovare la soluzione a
qualsiasi problema risolvibile con una
macchina, sempre che sia dotato di
sufficiente memoria e gli sia concesso il
tempo necessario.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 2
1.1 Hardware e software
Il computer è un sistema di elaborazione costituito dall’hardware, la parte fisica
della macchina, e dal software, i dati e le istruzioni che pilotano l’hardware.
Riceve i dati e le istruzioni in ingresso o input, li archivia all’interno della
propria memoria, elabora i dati eseguendo le istruzioni e invia le informazioni
risultanti in uscita o output.
Una sequenza di istruzioni, atte a far svolgere un determinato compito
all’elaboratore, è detta programma.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 3
1.2 Processore
L’architettura di von Neumann
è ancora quella dei sistemi di
elaborazione di oggi:
• dati in ingresso da trasformare in
dati in uscita
• un programma da eseguire per
effettuare la trasformazione
• una memoria in cui contenere il
programma e i dati intermedi dei
calcoli
• un agente che esegua le azioni
programmate
Programmi e dati vengono memorizzati allo stesso
modo nella stessa unità fisica, la memoria
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 4
1.3 Memorie
Le istruzioni e i dati necessari per eseguire le operazioni svolte dalla CPU sono
memorizzati in un particolare archivio, la memoria centrale, che è volatile, ovvero
il suo contenuto è perso quando si spegne il computer, ed è costituita fisicamente
da uno o più chip formati da un numero elevatissimo di bit.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 5
1.4 Periferiche di Input/Output
Senza strumenti che da un lato ricevano
dall’esterno dati e istruzioni, e strumenti che
dall’altro lato comunichino all’utente i risultati
del lavoro svolto dal computer, quest’ultimo
sarebbe completamente isolato e del tutto
inutilizzabile. Allo scopo provvedono le
periferiche di input/output, I/O.
Esse comprendono tutti gli strumenti utilizzati
dal computer per comunicare con l’utente o con
altre macchine.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 6
1.5 Memorie di massa
Le memorie di massa, dette anche memorie
secondarie o ausiliarie, sono molto più
capienti, conservano il loro contenuto anche
quando il computer viene spento e hanno, a
parità di byte, un costo inferiore rispetto alla
RAM.
Sono esempi di memorie di massa gli hard disk,
i Cd-Rom, i DVD (Digital Versatile Disk) e i
nastri magnetici.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 7
1.6 Storia di una macchina
Abaco
Automatismo, Automazione, Orologi,
Programmazione.
Calcolatrici di Napier, Pascal, Leibniz.
Telaio di Jacquard.
Progetto di un computer di Babbage.
Macchina calcolatrice di Hollerith.
Z3, Mark I, ENIAC.
L’architettura di Von Neumann.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 8
1.7 Tipi di Computer
Mainframe
Minicomputer
Personal Computer
Tablet
Smartphone
…
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 9
1.8 Reti
IP
LAN - WAN
Internet
Download/Upload
ADSL
Wireless
VOIP
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 10
1.9 Architettura Client/Server
Server specializzati
Downsizing / Righsizing
Programmi Client/Server
N-tier
Elaborazione distribuita
P2P
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 11
1.10 Cloud
Con cloud computing si indicano
genericamente le tecnologie che permettono
di gestire dati attraverso risorse hardware e
software distribuite sulla Rete.
Con il cloud gli utenti possono svolgere le
loro attività da qualunque luogo abbiano
accesso a Internet, senza aver installato
alcun applicazione nel loro PC, Tablet,
Smartphone…
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 12
1.10 Virtualizzazione
La virtualizzazione è la creazione della
versione virtuale di una piattaforma
hardware, di un sistema operativo o di
qualsiasi altra risorsa informatica. La
versione virtuale ha esattamente le stesse
funzionalità e lo stesso comportamento
della versione “fisica”, la simula
perfettamente.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 13
1.10 Virtualizzazione
Per esempio su una macchina Mac della
Apple si può virtualizzare una macchina
Windows della Microsoft, avendo così a
disposizione due sistemi in una solo oggetto
fisico.
Pere esmpio su un server Linux si possono
virtualizzare più server Linux e Windows
ognuno dei quali è isolato dall’altro.
A. Bellini, A. Guidi, Linugaggio C. Una guida alla programmazione con elementi di Objective-C 5/ed
Copyright © 2013 - McGraw-Hill Education Italy srl
Capitolo 1 Diapositiva 14