Elementi di Informatica Marco C. Leoni [email protected] Introduzione • Computer = calcolatore, elaboratore. • Macchina (elettronica) per il trattamento automatico delle informazioni. • • Programmabile. Esegue un numero limitato di istruzioni semplici: • • • 07/10/2007 Somma di due numeri Controllo se il numero vale zero Copia informazione da una parte all’altra della memoria Elementi di Informatica - Marco C. Leoni 2 Evoluzione dei Calcolatori • 1642: Blaise Pascal – Calcolatore meccanico (somme e sottrazioni). 07/10/2007 Elementi di Informatica - Marco C. Leoni 3 Evoluzione dei Calcolatori [2] • 1671: G. W. von Leibniz – Calcolatore meccanico (somme, sottrazioni, moltiplicazioni e divisioni). • 1823: C. Babbage – Macchina differenziale (somme e sottrazioni). Algoritmo polinomiale alle differenze finite. Risultati perforati su una piastra di rame. • 1834: C. Babbage – Macchina analitica (somme, sottrazioni, moltiplicazioni e divisioni). Leggeva le istruzioni da schede perforate e poteva eseguire qualsiasi algoritmo basato sulle operazioni implementate. 07/10/2007 Elementi di Informatica - Marco C. Leoni 4 Evoluzione dei Calcolatori [3] Macchina differenziale Macchina analitica 07/10/2007 Elementi di Informatica - Marco C. Leoni 5 Evoluzione dei Calcolatori [4] • 1936: K. Zuse – Primo calcolatore funzionante a relè elettromagnetici (Z1). Valvole termoioniche (1ª generazione) • 1943: Governo britannico – Primo calcolatore digitale elettronico (COLOSSUS). • 1946: J. Mauchley & J. P. Eckert – 18000 valvole termoioniche, 1500 relè, 30 tonnellate, 180kW, 6000 interruttori a più posizioni (ENIAC, Electronic Numerical Integrator and Computer). 07/10/2007 Elementi di Informatica - Marco C. Leoni 6 Evoluzione dei Calcolatori [5] • 1952: J. von Neumann – Base dei moderni calcolatori (IAS). Parti principali: memoria, unità logica aritmetica, unità di controllo, dispositivi di input/output. Logica binaria. Memoria Unità di controllo Unità logica aritmetica Input Output Accumulatore 07/10/2007 Elementi di Informatica - Marco C. Leoni 7 Evoluzione dei Calcolatori [6] Arrivano i transistor (2ª generazione) • 1960: DEC – Primo minicalcolatore (PDP-1), 50 esemplari venduti. Circuiti integrati (3ª generazione) • 1964: IBM – Prima famiglia di calcolatori (360). • 1965: DEC – Primo calcolatore a singolo bus (PDP-8). Microprocessori (4ª generazione) • 1974: Intel – Primo calcolatore “general-purpose” a 8 bit su singolo chip (8080). • 1981: IBM – Inizia l’era del PC (Personal Computer). 07/10/2007 Elementi di Informatica - Marco C. Leoni 8 Istruire il Computer • Programma = sequenza di istruzioni che descrive come eseguire un certo compito. • Le istruzioni vengono eseguite una dopo l’altra. • Un programma può essere interattivo o batch. • Per poter essere eseguito, un programma deve prima essere convertito in istruzioni semplici. • Linguaggio macchina = insieme delle istruzioni primitive di un calcolatore. 07/10/2007 Elementi di Informatica - Marco C. Leoni 9 Linguaggi • Linguaggio macchina = molto semplice Æ noioso e difficile da utilizzare. • Æ Organizzazione strutturata. Livello n: macchina fisica Mn e liguaggio macchina Ln Livello 1: macchina fisica M1 e liguaggio macchina L1 Livello 0: macchina fisica M0 e liguaggio macchina L0 07/10/2007 Ogni livello vede (e comunica con) quelli adiacenti. La comunicazione avviene tramite interfacce “standard” Æ il cambiamento di un componente non influisce sugli altri livelli. Elementi di Informatica - Marco C. Leoni 10 Schema Architetturale • • • • • Central Processing Unit Basic Input Output System Random Access Memory Input / Output Bus CPU Hardware BIOS RAM I/O Bus 07/10/2007 Elementi di Informatica - Marco C. Leoni 11 CPU • • • • • Central Processing Unit Parte centrale del calcolatore. Dirige e controlla tutte le funzioni: coordina la memoria e le attività delle periferiche, esegue le operazioni aritmetiche e logiche. Tutte le operazioni seguono la logica binaria (0 e 1). Componenti della CPU: • • • 07/10/2007 CU (Control Unit) ALU (Arithmetic Logic Unit) Registri Elementi di Informatica - Marco C. Leoni 12 CPU [2] • Control Unit • Dispositivo che genera segnali di controllo: dirige le operazioni della CPU. • Arithmetic and Logic Unit • Parte del microprocessore dedicata a calcoli matematici e operazioni logiche (AND, OR, NOT, XOR, …). • Possono esserci ALU anche all’interno di altri dispositivi, per es. nella scheda grafica (in questo caso chiamata GPU = Graphics Processing Unit) o nella scheda audio. • Registri • Celle di memoria in cui è possibile leggere e/o scrivere dati. Sono usati per le operazioni interne alla CPU. 07/10/2007 Elementi di Informatica - Marco C. Leoni 13 Bus • Bidirectional Universal Switch • Linea di collegamento (insieme di fili elettrici) sulla quale viaggiano dati, indirizzi, istruzioni di controllo. • Connette i diversi componenti. • Esistono vari tipi di bus: PCI, ISA, MCA, …. I componenti collegati devono essere compatibili con la tipologia del bus stesso. • Ogni bus è caratterizzato da una ampiezza, che rappresenta il numero di bit che possono essere inviati contemporaneamente da un componente all’altro. 07/10/2007 Elementi di Informatica - Marco C. Leoni 14 RAM • E` la memoria principale di lavoro dell’elaboratore. • • • Viene cancellata allo spegnimento della macchina. Ospita i programmi in esecuzione e i dati in elaborazione. Random Access Memory 07/10/2007 Elementi di Informatica - Marco C. Leoni 15 RAM [2] Esempio di slot per l’alloggiamento della RAM. 07/10/2007 Elementi di Informatica - Marco C. Leoni 16 BIOS • Basic Input/Output System • “Programma” usato dal microprocessore per inizializzare il computer all’accensione. • Si occupa anche della comunicazione tra sistema operativo e periferiche di I/O. • E` contenuto su una memoria EEPROM (Electronically Erasable Programmable Read-Only Memory). 07/10/2007 Elementi di Informatica - Marco C. Leoni 17 Dispositivi di I/O • I/O = Input / Output Insieme di interfacce messe a disposizione dal sistema operativo ai programmi per effettuare uno scambio di dati o segnali con altri programmi, con l'utente (a livello sensoriale), col computer o col sistema operativo stesso. • Hard disk, scheda video, scheda audio, tastiera, mouse, stampante, lettoremasterizzatore CD/DVD, floppy disk, web cam, monitor, scanner, modem, … 07/10/2007 Elementi di Informatica - Marco C. Leoni 18 Dispositivi di I/O [2] • Le periferiche possono essere: • solamente per input (tastiera, mouse) • solo per output (stampante) • per entrambe le funzioni (CD-ROM scrivibile). • Le periferiche vengono gestite tramite i “driver”: • accessorio del sistema operativo che consente la comunicazione tra sistema operativo e periferica; • dev’essere registrato nel sistema; • è possibile aggiornarlo. 07/10/2007 Elementi di Informatica - Marco C. Leoni 19 Moderno Personal Computer 1. 2. 3. 4. 5. 6. 7. 8. Display Scheda madre (motherboard) CPU (microprocessore) Memoria principale (RAM) Schede d’espansione Alimentatore Drive del disco ottico Memoria secondaria o di massa (hard disk) 9. Tastiera 10. Mouse 07/10/2007 Elementi di Informatica - Marco C. Leoni 20 Sistemi Operativi • SO, oppure OS (Operating System). • Software che, tramite l’interfaccia utente, consente l'invio di comandi al computer: controlla e gestisce tutto il traffico di dati all'interno del computer e fra questo e tutte le periferiche, operando anche come intermediario fra hardware e software di sistema e i diversi programmi in esecuzione. • E’ il programma più importante che “gira” sul computer. • Possono essere classificati in diversi modi: • • • • • 07/10/2007 Multi-user Multiprocessing Multitasking Multithreading Real time Elementi di Informatica - Marco C. Leoni 21 Sistemi Operativi [2] • Per i PC i più noti sono: DOS, Windows (per es. 9x, 2000, XP), Unix, Mac/OS. • I tre elementi • computer/processore/scheda madre • sistema operativo • software da eseguire devono essere strettamente compatibili (per esempio, all'acquisto di un programma è essenziale controllare che sia compatibile con il sistema operativo installato sul nostro computer, oltre che con la sua configurazione). • Un sistema operativo è composto da tre parti: interfaccia utente (shell), file system e kernel. 07/10/2007 Elementi di Informatica - Marco C. Leoni 22 Sistemi Operativi [3] • Interfaccia utente • Permette l’interazione uomo • macchina. File system • Gestisce le richieste di accesso alle memorie di massa (per es. hard disk, cd-rom). • Definisce il modo in cui i file sono immagazzinati e organizzati sul dispositivo d’archiviazione. • Può essere locale o distribuito (stoccaggio fisico dei dati su disco / condivisione di dati fra più computer collegati fra loro). File: insieme di informazioni codificate organizzate come una sequenza di byte e immagazzinate come un singolo elemento su una memoria di massa (all’interno del file system esistente su di quest’ultima). 07/10/2007 Elementi di Informatica - Marco C. Leoni 23 Bit & byte • bit = binary unit, unità di misura dell’informazione: quantità minima di informazione che serve a discernere tra due possibili alternative equiprobabili. • bit = binary digit, cifra binaria: ovvero uno dei due simboli del sistema numerico binario, classicamente chiamati zero (0) e uno (1). Definisce uno stato logico. • byte = sequenza di bit, il cui numero dipende dall'implementazione fisica della macchina sottostante. Per convenzione negli ultimi anni lo si intende formato da 8 bit, quindi è in grado di assumere 28 = 256 possibili valori. bit = b byte = B 07/10/2007 Elementi di Informatica - Marco C. Leoni 24 Multipli del byte Prefissi SI 07/10/2007 Prefissi binari Nome Simbolo Multiplo Nome Simbolo Multiplo kilobyte kB 103 kibibyte KiB 210 megabyte MB 106 mebibyte MiB 220 gigabyte GB 109 gibibyte GiB 230 terabyte TB 1012 tebibyte TiB 240 petabyte PB 1015 pebibyte PiB 250 exabyte EB 1018 exbibyte EiB 260 zettabyte ZB 1021 zebibyte ZiB 270 yottabyte YB 1024 yobibyte YiB 280 Elementi di Informatica - Marco C. Leoni 25 Sistemi Operativi [4] • Kernel • Fulcro del sistema, gestisce tutte le parti: • • • • Memoria virtuale Gestore file system Driver per il controllo delle periferiche Schedulatore (assegna tempo di elaborazione ai processi in esecuzione) • Diversi tipi: microkernel (funzioni base), monolitico (più veloce ed efficiente, più complesso da manutenere), modulare (separa alcune funzioni non essenziali). • E’ il programma“cuore” che ha il compito di fornire ai moduli del sistema operativo e ai programmi in esecuzione le funzioni fondamentali e l’accesso all’hardware. 07/10/2007 Elementi di Informatica - Marco C. Leoni 26 Hard disk • Il disco fisso è la memoria di massa principale. • E’ utilizzato per memorizzare dati a lungo termine. • Costituenti fondamentali: • Uno o più dischi in alluminio o vetro, rivestiti da materiale ferromagnetico, in rapida rotazione. • Due testine per ogni disco, una per lato (vicinissime alla superficie) – le testine sono tenute sollevate dal movimento dell’aria dovuto alla rotazione dei dischi e servono per leggere/scrivere i dati. • Caratteristiche principali: • Capacità (GB) • Tempo di accesso (ms) • Velocità di trasferimento (B/s) 07/10/2007 Elementi di Informatica - Marco C. Leoni 27 Floppy disk • Detti anche floppy o dischetti. • E’ formato da: • • • una “scatola” rettangolare o quadrata; un disco sottile e flessibile (Æ floppy). 3” ½ La lettura/scrittura delle informazioni avviene tramite il cosiddetto Floppy Disk Drive (FDD). 5” ¼ 07/10/2007 Elementi di Informatica - Marco C. Leoni 28 USB Flash Drive • Universal Serial Bus Standard di comunicazione seriale per interfacciare periferiche differenti. • Chiave (chiavetta) USB, penna USB, pendrive. • Memoria di massa, grande capacità (≥ 32MB). • Veloci, leggere (pochi grammi), trasportabili, riscrivibili. • Dimensioni molto contenute: solitamente qualche centimetro. • Facili da utilizzare, non necessitano di alimentazione. 07/10/2007 Elementi di Informatica - Marco C. Leoni 29 CD / DVD • • • Compact Disc Æ CD. CD±R, CD±RW, Capacità: 650 – 700 – 800 – 900 MB. • • • Digital Versatile Disc Æ DVD. DVD±R, DVD±RW, DVD-RAM, DVD±R DL, DVD-D Capacità: 4.7 – 8.5 – 9.4 – 17 GB 09.10.2006 07/10/2007 Elementi di Informatica - Marco C. Leoni 30