Schemi per diapo Sistemi in tempo reale

Transcript

Schemi per diapo Sistemi in tempo reale
Evoluzione delle CPU
Università degli studi di Parma
Dipartimento di Ingegneria dell’Informazione
Informatica – a.a. 2012/13
Informatica
Facoltà di Medicina Veterinaria
a.a. 2012/13
prof. Stefano Cagnoni
Architettura del calcolatore
(parte III)
CPU
Anno
Frequenza
(MHz)

8086
1978
4.77 — 12
8 / 16
29 000
1982
8 — 16
16 / 16
134 000
275 000
80386
1986
16 — 33
32 / 32
80386 SX
1988
16 — 33
32 / 16
275 000
80486
1989
33 — 50
32 / 32
1 200 000
3 100 000
Pentium
1993
60 — 200
32 / 64
Pentium II
1997
233 — 400
32 / 64
7 500 000
Pentium III
1999
450 — 1133
32 / 64
24 000 000
Pentium 4
2000
1600 — 2000
32 / 64
42 000 000
100 000 000
Osservazione di Gordon Moore nel 1965:
10 000 000
1 000 000
In origine X era 12. Correzioni successive hanno portato
a fissare X=18. Questo vuol dire che c’è un incremento
di circa il 60% all’anno.
100 000
1989
Informatica 2012/2013
-2-
# Transistor [CPU Intel]
il numero dei transistor per cm2
raddoppia ogni X mesi

Numero di
transistor
80286
Informatica 2012/2013
Legge di Moore
Dimensione registri /
bus dati
Informatica 2012/2013
-3-
1991
1993
1995
1997
1999
-4-
Pag. 1
1
Caratteristiche dell’architettura
dell’elaboratore
Legge di Moore e progresso





Il progresso della tecnologia provoca un aumento del numero
di transistor per cm2 e quindi per chip.
Un maggior numero di transistor per chip permette di
produrre prodotti migliori (sia in termini di prestazioni che di
funzionalità) a prezzi ridotti.
I prezzi bassi stimolano la nascita di nuove applicazioni (ad
es. non si fanno video game per computer da milioni di $).
Nuove applicazioni aprono nuovi mercati e fanno nascere
nuove aziende.
L’esistenza di tante aziende fa crescere la competitività che,
a sua volta, stimola il progresso della tecnologia e lo sviluppo
di nuove tecnologie.
Informatica 2012/2013


Modularità

Scalabilità
ogni componente ha una funzione specifica
ogni componente può essere sostituito con uno equivalente ma con
maggiori prestazioni

Standardizzazione

Riduzione dei costi

Semplicità
componenti facilmente sostituibili in caso di malfunzionamento
grazie alla produzione su larga scala
di installazione ed esercizio del sistema
Informatica 2012/2013
-5-
Cambiare di un ordine di grandezza la quantità significa
cambiare anche la qualità:
Tipo
Prezzo (€)
Calcolatore monouso
1
Calcolatore dedicato
10
Calcolatore per videogiochi
100
Calcolatore per PC
1K
Server
10 K
Reti di workstation
100 K
Mainframe
1M
Supercalcolatore
10 M
Nei computer le differenze sono di diversi ordini di
grandezza.
I miglioramenti procurati dalla legge di Moore possono
essere utilizzati in modi diversi:
• costruire calcolatori sempre più potenti a prezzo costante;
• costruire lo stesso calcolatore a prezzi ogni anno più
convenienti.
Informatica 2012/2013
-6-
Classi di Calcolatori
• un’auto in grado di raggiungere una velocità di 1000 km/h nel
deserto del Nevada è una macchina fondamentalmente diversa
da un’auto fatta per viaggiare a 100 km/h sull’autostrada;
• un grattacielo di 100 piani non è solo un edificio di 10 piani un
po’ più grande.

Flessibilità
adatta a svolgere diverse tipologie di compiti
Quantità vs. qualità


Applicazione tipica
Biglietti di auguri
Orologi, automobili, …
Videogiochi personali
PC da tavolo o portatile
Server di rete
Centro di calc. Dipartim.
Database di una banca
Previsioni del tempo
I prezzi sono solo indicativi!
Informatica 2012/2013
-7-
-8-
Pag. 2
2
Classi di Calcolatori

Classi di Calcolatori
Calcolatori monouso:

• chip singoli incollati all’interno dei biglietti di auguri;
• si tratta in pratica di calcolatori usa e getta.

• dotati di alcuni gigabyte di memoria, di un disco fisso contenente
alcune decine di gigabyte di dati, drive DVD e/o CD–ROM,
modem, scheda audio e altre periferiche;
• dotati di sistemi operativi elaborati, molte opzioni di espansione
e una vasta gamma di software disponibile.
• Gli smartphone di fascia più alta sono veri e propri PC
Sistemi embedded (calcolatori dedicati):
• calcolatori che si trovano in telefoni, televisori, forni, auto, …
• questi calcolatori contengono un processore, meno di un
megabyte di memoria e qualche funzione di I/O.

Videogame

Informatica 2012/2013
-9-
Classi di Calcolatori

NOW (Network of Workstations) o COW (Cluster of
Workstations)

Supercomputer
• hanno CPU velocissime, molti gigabyte di memoria
centrale, dischi e reti molto veloci.
• Recentemente molti supercomputer sono diventati
macchine altamente parallele non molto diverse dai COW,
ma con componenti più veloci e più numerosi.
• I supercomputer vengono utilizzati per risolvere problemi
di calcolo molto complicati in campi scientifici e
ingegneristici:
Mainframe
• calcolatori grandi come una stanza, in uso fin dagli anni ’60;
• non sono più veloci di server potenti, ma solitamente hanno più
capacità di I/O e sono dotati di grandi insiemi di dischi
• sono macchine estremamente costose, che vengono spesso
mantenute per via dell’ingente investimento esistente in termini
di software, dati, procedure operative e personale.
Informatica 2012/2013
- 10 -
Calcolatori disponibili
• composti da PC o workstation normali collegate con reti ad
elevate prestazioni (qualche gigabit/sec) e funzionanti con
software speciale, che permette a tutte le macchine di lavorare
insieme su un unico problema;
• architetture sono facilmente scalabili (da alcune macchine ad
alcune migliaia) e sono paragonabili a minisupercomputer.

Server di rete
• si tratta di PC o workstation potenziati utilizzati come server di
rete sia per le reti locali che per Internet;
• esistono sia in configurazione con processore unico che con più
processori, hanno alcuni gigabyte di memoria, molti gigabyte di
spazio sul disco fisso e interfacce di rete ad alta velocità.
• normali calcolatori con particolari capacità grafiche, ma
software limitato e poche possibilità di estensione; fanno parte
di questa categoria anche i PDA e gli smartphone di fascia più
bassa;
• contengono un processore, alcuni megabyte di memoria, uno
schermo e poco di più.
Informatica 2012/2013
Personal computer (PC) o workstation:
•
•
•
simulazione di uno scontro fra galassie,
sintesi di nuovi farmaci,
modelli del comportamento dell’aria attorno alle ali di un
aereo.
Informatica 2012/2013
- 11 -
- 12 -
Pag. 3
3
Principali componenti di un sistema di
elaborazione
Università degli studi di Parma
Dipartimento di Ingegneria dell’Informazione
Informatica – a.a. 2012/13
Informatica

Hardware

Software
Facoltà di Medicina Veterinaria
a.a. 2012/13
prof. Stefano Cagnoni
Il software:
Applicazioni e Sistemi Operativi
– Software di sistema: Sistema operativo
– Software applicativo: Applicazioni
Informatica 2012/2013
Motivazioni

Sistema a livelli
Obiettivo per un sistema costituito da diversi componenti
ben separati:
– Disporre di un sistema a livelli, in cui lo strato superiore
mascheri quello inferiore

- 14 -
Applicazioni
Software
Sistema Operativo
Perché costruire un sistema a livelli:
– Per i progettisti: modularità -> semplicità nella
progettazione, nella realizzazione e nell’estensione
(modificabilità); naturale strategia di gestione della
complessità
– Per gli utilizzatori: virtualizzazione -> fare apparire la
realtà in modo diverso (più semplice e/o più gradevole)
Informatica 2012/2013
Hardware
Windows
Unix/Linux
Mac OS
Informatica 2012/2013
- 15 -
È il livello di SW con cui
interagisce l’utente
e comprende
programmi quali :
Compilatori
Editori di testi
Fogli elettronici
Sistemi bancari
Navigatori per Web
…..
gcc, Word, PowerPoint
Excel, Explorer
Photoshop, Gimp
È il livello di SW che interagisce direttamente
con l’hw e che si occupa di un uso corretto
ed efficiente delle risorse fisiche (processore, memorie,
periferiche etc.)
- 16 -
Pag. 4
4
I componenti di un sistema di elaborazione
Componenti di un sistema di elaborazione
• Nel caso di un sistema monoutente:
• In generale:
Applicazioni 
Sistema operativo 
A cosa serve il SO?
Un S.O. implementa una macchina virtuale più agevole e più sicura da
programmare ed utilizzare rispetto all’hw sottostante.
Informatica 2012/2013
Informatica 2012/2013
- 17 -
Organizzazione a strati
- 18 -
Architettura del Software
•Software = insieme (complesso) di programmi
- Organizzazione a strati, ciascuno con funzionalità di livello più alto
rispetto a quelli sottostanti:
programmi utente
Sistema
Operativo
“Macchine Virtuali”
HW
•Firmware:
 strato di (micro-)programmi che agiscono direttamente sullo strato
hardware
 memorizzato dal costruttore su una memoria permanente (ROM)
Informatica 2012/2013
Informatica 2012/2013
- 19 -
- 20 -
Pag. 5
5
Cosa è il software?


Esecuzione di un programma
Il software è un insieme di programmi che permettono
ad un calcolatore di offrire agli utenti determinate
funzionalità
Cosa è un programma?

L’esecuzione delle azioni nell’ordine specificato
dall’algoritmo consente di ottenere, a partire dai dati di
ingresso, i risultati che risolvono il problema
dati
input
– Un programma è un’entità statica, descritta in un
linguaggio ben definito, che specifica:
• l’insieme di istruzioni che il calcolatore deve eseguire
•


la sequenza in cui devono essere eseguite
Applicazioni
Quando un programma viene messo in esecuzione si ha
l’attivazione di un processo.
Un processo è un’entità dinamica, il cui stato
rappresenta il modo in cui si esegue il programma
Informatica 2012/2013
Sistema operativo
Hardware
Informatica 2012/2013
- 21 -
Quali e quanti applicativi software?


Per
Per
Per
Per
Per

calcolo scientifico
videoscrittura
memorizzazione e recupero dati
comunicazione
svago, …

Foglio elettronico
– Tabelle di valori e generazione di grafici: Excel, Lotus,
OpenOffice Calc

Software per database
– Sistema per l’archiviazione ed il recupero efficiente di dati
in formato digitale: Access, Oracle, MySQL, …
Le multinazionali del software (IBM, Microsoft, EDS, …)
Grandi software house
Gruppi di sviluppatori di free software
Gruppi di ricerca per prototipi
Singole persone
…
Informatica 2012/2013
Sofware per elaborazione testi
– Creazione, modifica e stampa di un documento: Word,
Editor, OpenOffice Writer
Per ogni categoria, esistono innumerevoli applicativi
software prodotti da fonti diverse:
–
–
–
–
–
–
- 22 -
Esempi
Esistono tanti tipi di applicativi software:
–
–
–
–
–
risultati
output

Software per presentazioni
– Creazione di testi/immagini per diapositive e prospetti:
PowerPoint, Acrobat, …
Informatica 2012/2013
- 23 -
- 24 -
Pag. 6
6
Esempi
Università degli studi di Parma
Dipartimento di Ingegneria dell’Informazione
Informatica – a.a. 2012/13

Software per la comunicazione
– Creazione, invio e ricezione di posta elettronica: Outlook,
Eudora, …
– Navigazione su Web: Explorer, Firefox, …

Sistemi operativi
Software per il calcolo
– Simbolico e/o numerico: Matlab, …

Software di utilità

Cos’è un virus informatico ?
– Antivirus, antispyware, …
– E’ un programma software anche lui …
Informatica 2012/2013
- 25 -
Funzioni dei sistemi operativi


Definizioni
Realizzano le operazioni base necessarie per l’uso
efficace del computer, ma non supportate direttamente
dall’hardware

–
–
–
–
–
–
Il sistema operativo (OS):
–
–
–
–
–
–
Esegue il boot
Gestisce la memoria centrale
Gestisce il processore
Gestisce i dispositivi di input/output
Gestisce i file
Gestisce le connessioni alle reti e le comunicazioni
Informatica 2012/2013
Un Sistema Operativo è un insieme di programmi che
servono a gestire le attività fondamentali di un
calcolatore:

Lettura o scrittura di file
Caricamento ed esecuzione di programmi
Gestione della memoria
Gestione dei dispositivi di input/output
Comunicazione tra calcolatori (rete)
Gestione degli utenti
Un sistema operativo funziona da intermediario fra
l’utente e l’hardware, con lo scopo di fornire un
ambiente nel quale l’utente possa eseguire i programmi
in maniera “sicura” ed efficiente
Informatica 2012/2013
- 27 -
- 28 -
Pag. 7
7
Tipi di sistemi operativi




Tipi di sistemi operativi
Il mondo Windows:
Windows95, Windows98, Windows2000, Windows NT
Workstation/Server, Windows CE, Windows XP, Windows
Vista, Windows 7, Windows 8

Sistemi operativi più diffusi:

Microsft Windows
– XP
– Vista
Il mondo Unix/Linux:
Sun Solaris, IRIX, HP-UX, SCO, Linux, …



Informatica 2012/2013
Informatica 2012/2013
- 29 -
Sistema operativo (S.O.)



In base al numero di utenti:

Mono-utente (mono-user)
– un solo utente alla volta può utilizzare il sistema
Le funzioni offerte dal S.O. dipendono dalla complessità
del sistema di elaborazione:
gestione delle diverse risorse hardware
gestione della memoria centrale
organizzazione e gestione della memoria di massa
interpretazione ed esecuzione di comandi elementari
gestione della multi-utenza e del multi-tasking
Informatica 2012/2013
- 30 -
Classificazione dei S.O.
Strato di programmi che opera al di sopra di hardware e
firmware e gestisce l’elaboratore
–
–
–
–
–
Linux
Unix
Mac OS-X di Apple (per Macintosh)

Multi-utente (multi-user)
– più utenti in contemporanea possono interagire con la
macchina
– il S.O. deve fornire a ciascuno l'astrazione di un sistema
“dedicato”
Informatica 2012/2013
- 31 -
- 32 -
Pag. 8
8
Classificazione dei S.O.
Interazione dell’utente con il S.O.

In base al numero di programmi in esecuzione:

Mono-programmato (mono-task)

– diversi S.O. possono realizzare diverse macchine virtuali
sullo stesso hardware
– aumenta l’astrazione nell’interazione utente/elaboratore
– si può eseguire un solo programma per volta

Un utente "vede" l’elaboratore solo tramite il S.O., che
simula una “macchina virtuale”
•
Multi-programmato (multi-task)
•
– il S.O. permette di eseguire più programmi in
contemporanea (su una sola CPU)
– il S.O. deve gestire la suddivisione del tempo della CPU
fra i vari programmi (time-sharing)

senza S.O.: sequenze di bit
con S.O.: comandi, programmi, dati
Il S.O. traduce le richieste dell’utente in opportune
sequenze di comandi da sottoporre alla macchina fisica
– Il S.O. traduce qualsiasi operazione di accesso a risorse
hardware, implicitamente richiesta dal comando
dell’utente
Informatica 2012/2013
Informatica 2012/2013
- 33 -
Interazione dell’utente con il S.O.
- 34 -
Interazione dell’utente con il S.O.

Interfaccia testuale
– Il S.O. interagisce con l’utente mediante l’interpretazione
di linee di comando
– esempi: DOS, Linux
Utente

“esegui progr1”

“risultato = 10”
Informatica 2012/2013
S.O.

input da tastiera
ricerca codice di “progr1” su disco
carica in RAM codice e dati
<elaborazione>
output su video
Interfaccia grafica o GUI (Graphical User Interface)
– tutti i programmi e le funzioni sono mostrati sullo
schermo mediante simboli immediatamente comprensibili
(icone)
– esempi: Windows, MacOS (Macintosh), Linux+KDE
Informatica 2012/2013
- 35 -
- 36 -
Pag. 9
9
Le funzioni di un S.O.

Le funzioni di un S.O.
Esecuzione delle applicazioni

Archiviazione di dati e programmi
– carica il programma binario prodotto della compilazione (e
residente su disco) nella RAM,
– cede il processore all’applicazione da eseguire

– mette a disposizione dell’utente una visione astratta della
memoria secondaria (il file system basato sulle astrazioni
file/archivi e folder/cartelle)
– gestisce la realizzazione di queste astrazioni sul supporto
fisico (disco) gestendo tutti i dettagli legati alla
lettura/scrittura dei settori
Facilitazione dell’accesso ai dispositivi di I/O
– interagisce con le periferiche facendosi carico di tutti i
dettagli fisici (es. modem, reti, video…)
– mette a disposizione operazioni di lettura/scrittura ad alto
livello che possono essere usate senza conoscere i dettagli
tecnici della periferica
Informatica 2012/2013
Informatica 2012/2013
- 37 -
Le funzioni di un S.O.

- 38 -
….
Gestione delle risorse

Fine per oggi…
– ripartisce le risorse disponibili fra le varie applicazioni
(processore, RAM, periferiche)
– evita che ci siano malfunzionamenti dovuti all’uso
contemporaneo di risorse
•
es: un word processor e un web browser che
inviano contemporaneamente dati alla stampante
potrebbero provocare una stampa erronea
– ottimizza le prestazioni adottando delle politiche che
permettano di sfruttare al meglio tutte le parti del
computer
Informatica 2012/2013
Informatica 2012/2013
- 39 -
Pag. 10
10