Introduzione all`Informatica

Transcript

Introduzione all`Informatica
INFORMATICA
INFORmazione autoMATICA
Insieme di discipline e tecniche per rappresentare, elaborare e trasmettere
automaticamente delle informazioni.
Computer - Elaboratore elettronico: e macchina concepita per tale scopo,
cioe per rappresentare, elaborare e trasmettere automaticamente dei dati.
E un'apparecchiatura digitale (digit significa cifra), elettronica ed
automatica. E anche universale, nel senso che e in grado di eseguire ogni
algoritmo purche codificato nel suo linguaggio.
La costruzione dei primi calcolatori risale all’inizio degli anni ‘40. I primi
calcolatori a programma memorizzato (cui e legato il nome di Von
Neumann) sono realizzati alla fine degli anni ‘40, quando si introduce il
principio di unitarieta di rappresentazione di dati e istruzioni, che vengono
codificati, all’interno dell’elaboratore, in maniera indistinguibile.
La diffusione dei calcolatori a livello mondiale e invece avvenuta nei
decenni ‘60 e ‘70.
L'esplosione dell’informatica e datata 1981, anno in cui l’IBM introduce il
Personal Computer (PC). Attualmente i PC, o meglio il loro componente
fondamentale, il microprocessore, e utilizzato in moltissimi settori
applicativi: Telefoni cellulari, Ricevitori satellitari digitali, Bancomat e
carte di credito, Lavatrici e forni a microonde....
L' informatica pervade:
• Industria: CAD-CAM, controllo di processo, robotica, pianificazione,..
• Affari generali: inventari, gestione stipendi, contabilità, borsa valori, ...
• Banche, Assicurazioni: processi automatizzati
• Ufficio: elaborazioni testi, gestione dati
• Servizi: sanità, biblioteche, ...
• Ricerca: simulazioni, basi dati, ...
• Istruzione
•...
TERMINOLOGIA DI BASE
• Hardware - ciò che si può “toccare” o “vedere” di un calcolatore
•
Software - la componente “immateriale”, cioe i programmi che
permettono l’uso effettivo del calcolatore
• Firmware - componenti hardware pre-programmate
• Input/Output - ingresso/uscita di dati (digitali o convertiti in digitale)
verso sistema hardware e software
•
Rete di computer - due o piu calcolatori che comunicano attraverso
componenti hardware e software
•
Architettura di un computer - insieme di moduli, soluzioni,
metodologie e tecniche che regola l’interrelazione tra hardware,
firmware, software e interfaccia verso l’uomo
•
Architettura di rete - insieme di moduli, soluzioni, metodologie e
tecniche che regola l’interrelazione tra i computer in rete
Unità di misura
Bit (b)
Byte (B)
1K
1M
1G
1T
1P
1E
1 ms
1 ηs
1 ns
1 ps
Binary digit (cifra binaria) (0 / 1)
descrive due stati diversi acceso/spento, sì/no, vero/falso
sequenza di 8 bit
(Kilo)
(Mega)
(Giga)
(Tera)
(Peta)
(Exa)
1.024 = 210 ~ 103 = mille
1.048.576 = 220 ~ 106 = milione (million)
1.073.741.824 = 230 ~ 109 = miliardo (billion)
1.093.511.627.776 = 240 ~ 1012 = trilione (trillion)
= 250 ~ 1000 trilioni
= 260 ~ 1 milione di trilioni
(millisecondo)
(microsecondo)
(nanosecondo)
(picosecondo)
10-3 sec.
10-6 sec.
10-9 sec.
10-12 sec.
MODELLI DI BASE DI COMPUTER
– Macchina
di Turing (1936):
modello teorico
– Macchina
di Von Neumann (1943 -46):
calcolatore reale (ENIAC)
• L’Unità di Elaborazione Centrale (CPU - Central Processing Unit)
• La Memoria Centrale (Primaria) (RAM - Random Access Memory)
• La Memoria di Massa (Secondaria)
• Le Unità Periferiche
• Il Bus di Sistema
Architettura di base piu evoluta di un computer
ARCHITETTURA DI BASE DI UN COMPUTER
– Unità di Elaborazione Centrale (CPU- central processor unit)
E il cuore/cervello del computer.
E l'unità che elabora l'informazione e che coordina il funzionamento
di tutte le altre unità.
Esegue le istruzioni dei programmi residenti in memoria, legge o
scrive dati in memoria, invia alle altre unità comandi da eseguire.
Esegue calcoli aritmetici (+, - , * , / ), operazioni di confronto (< , > ,
= ) , operazioni logiche (and, or, not), ecc..
La CPU e tipicamente implementata come un microprocessore monolitico
(es: Intel i486 DX2, Intel Core 2 Duo).
– Unità di Memoria Primaria o Centrale (RAM-ROM)
La memoria RAM (random access memory-memoria ad accesso casuale) e
caratterizzata dal permettere l'accesso a qualunque indirizzo con lo stesso
tempo di accesso, che e molto veloce. Memorizza dati (da elaborare o
elaborati) e programmi (da eseguire o eseguiti); e volatile ed ha bassa
capacità (da poche centinaia a miliardi di bytes; il mio Imac ha 4 GB).
La memoria ROM (read only memory) e invece non volatile ed i suoi dati
sono memorizzati in fase di costruzione e non possono più essere
modificati.
– Unità di Memoria Secondaria
Immagazzina l'informazione in modo permanente; ha alta capacità, ma
l'accesso ai dati e più lento; e più economica della RAM.
– Unità di Ingresso
Ottiene informazione da dispositivi di ingresso (tastiera, mouse,
dischi,...).
– Unità di Uscita
Restituisce informazione verso dispositivi di uscita (monitor,
stampante, dischi, modem, dispositivi di controllo,...).
SOFTWARE
Di sistema - Sistema Operativo (Windows, MAC OS, Linux,
CentOS)
– Per programmare: Editor, Compilatori, Assemblatori,
Interpreti, Debugger....
– Sistemi di gestione di basi di dati
– Software di rete
Applicativo - Word, Excel, LibreOffice, MatLab, Programmi di
posta elettronica, Programmi di navigazione
(Browser),.....
Prestazioni (performance)
- Velocità di clock (Clock speed): misurata in Hz (numero di cicli di clock
al secondo); il mio Imac ha velocità di 2,8 GH.
- MFLOPS:
milioni di istruzioni in virgola mobile al secondo.
SISTEMI OPERATIVI
Sono programmi di grandi dimensioni e notevole complessità, che
permettono all’utente di interagire facilmente con il calcolatore.
Forniscono supporto per la programmazione, supporto per la
gestione dei files, meccanismi per l' Ingresso / Uscita dei dati.
Servono a consentire l'accesso contemporaneo a più utenti, a
condividere le risorse e ottimizzarne lo sfruttamento, ad impedire
che il malfunzionamento di un programma condizioni il resto del
sistema.
I sistemi operativi lavorano in:
Multiprogramming - In multiprogrammazione, più di un programma
risiede in memoria. Poiche con una sola CPU un solo programma
può essere in esecuzione (running) in un certo istante, il programma
da eseguire, tra quelli in coda d'attesa, viene scelto da un processo
detto di scheduling. (Es. word ed excel aperti, ma in ogni istante uno
solo e in uso). Il programma scelto viene portato avanti fino a
quando esegue una operazione che richiede di aspettare dati da un
evento esterno (ad es. la lettura di dati da un nastro) oppure che
termina l'esecuzione del task.
Time-sharing - (Divisione di Tempo) - Un programma viene portato
avanti solo per una piccola frazione di tempo (quantum o timeslice)
di al più 50 ms.
Real-Time - Non appena un certo evento esterno accade un
particolare task in attesa riceve la CPU. I sistemi real-time sono
disegnati per controllare macchine meccaniche che richiedono
tempestivi processi di gestione come i robot industriali.
Il kernel e il nucleo del sistema operativo residente in memoria.
Le shell sono programmi che ci permettono di interagire facilmente
con il S.O. Altri programmi di utilità possono invocare direttamente
le funzioni del kernel.