Introduzione all'Informatica

4 downloads 40 Views 218KB Size Report
Insieme di discipline e tecniche per rappresentare, elaborare e trasmettere automaticamente delle informazioni. Computer - Elaboratore elettronico: e macchina ...
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.