Sistema di Elaborazione Dati
CPU RAM INTERNET
Il Modello di Von Neumann Unità di elaborazione Unità di input Memoria centrale (Ram) C.P.U. (Processore) Unità di output Memorie di massa
Hardware Software Definizione: l’insieme dei dispositivi (elettronici, elettrici meccanici, ecc.) che costituiscono fisicamente il sistema di elaborazione. Software Definizione: l’insieme dei programmi e dei dati che permettono lo svolgimento delle funzioni di elaborazione
Il transistore È l’elemento base degli attuali elaboratori elettronici digitali: piccole dimensioni ( mm ) basso consumo di energia ( mW ) alta velocità di funzionamento (milioni di operazioni al secondo)
Circuiti integrati (Chip) circuito integrato, microcircuito, componente elettronico contenente al suo interno moltissimi transistor
Calcolatore Il chip sta al calcolatore come il mattone sta alla casa
Le generazioni informatiche 1942-’57, 1a gen. = valvole 1958-’63, 2a gen. = transistori 1964-’80, 3a gen. = circuiti integrati 1980-oggi, 4a gen. = circuiti VLSI (futuro) 5a gen. = ?
ENIAC (1943): Electronic Numerical Integrator And Calculator Primo eleboratore general-purpose 18000 Valvole, 1500 relay Uso per calcoli balistici Lunghezza 25m, altezza 3m, superficie 180m2, peso 30ton, potenza assorbita 140KW Programmazione con interruttori manuali Aritmetica decimale, 5000 operazioni/sec
Microprocessori INTEL 80x86 1993 Pentium MIPS: 100+ (66 MHz) Transistors: 3.000.000+ 1989 80486 MIPS: 41 (50 MHz) Transistors: 1.200.000 1985 80386 MIPS: 11 (33 MHz) Transistors: 275.000 1982 80286 MIPS: 3 (12 MHz) Transistors: 134.000 1979 8088/8086 MIPS: 0.33 (5 MHz) Transistors: 29.000
Microprocessori INTEL 80x86 1999 Pentium III 64 bit – 1.13 GHz Transistors: 9.000.000+ 1998 Pentium II 64 bit - 450 MHz Transistors: 7.000.000+ 1995 Pentium PRO 64 bit - 200 MHz Transistors: 7.000.000+ 1993 Pentium 32 bit - (166 MHz) Transistors: 3.000.000+
Processore Il processore o CPU è uno dei componenti principali del computer. Esso consente l’esecuzione di numerose istruzioni come: operazioni di elaborazione dei dati o comandi per controllare tutti gli altri elementi del sistema. Processore Intel 80286 Processore AMD Athlon
Processore Dalla frequenza di lavoro del processore, espressa in MHZ cioè in milioni di cicli di istruzioni a secondo, dipende la velocità di calcolo dell’intero sistema. Le operazioni che il processore è in grado di eseguire sono elementari (somma, lettura di un dato, etc.), ma vengono svolte ad una velocità notevole, consentendo di fornire funzionalità complesse come somma di un numero elevato di operazioni semplici. 8086 - 8088 (4.77 - 12 MHz) -1979 80286 (8 - 20 MHz) - 1983 80386 (16 - 40 MHz) - 1987 80486 (25 - 133 MHz) - 1991 Pentium (75 - 200 MHz) - 1994 Pentium II (180 - ? MHz) - 1997 Pentium III (400 - 1200 MHz) - 1999 Pentium 4 (1.2 – 2.4 GHz) - 2001
Il clock T = periodo di clock f = frequenza di clock ( unità di misura Hertz ) t T Ogni elaboratore contiene un elemento di temporizzazione (detto clock ) che genera un riferimento temporale comune per tutti gli elementi costituenti il sistema di elaborazione.
Memoria Memoria interna o principale ROM (read only memory) Il modulo della memoria è fondamentale perché consente di memorizzare i programmi da eseguire, i dati da elaborare, i risultati intermedi e finali forniti dal computer. La memoria si divide in memoria interna, quella posta fisicamente sulla scheda elettronica che ospita anche il processore, e quella esterna che si trova su dispositivi posti fuori della scheda e ad essa collegati. Memoria interna o principale ROM (read only memory) RAM (random access memory) Cache Memoria esterna, di massa o secondaria Floppy disk Hard Disk Nastro magnetico CD/DVD ROM
Memoria Interna ROM (Read Only Memory) Memoria non cancellabile che contiene le informazioni necessarie per inizializzare l’elaboratore (64 kB - 512 kB) RAM (Random Access Memory) Memoria cancellabile e riscrivibile che contiene il/i programma/i attualmente in esecuzione (128 MB - 1 GB) CACHE Memoria di transito fra componenti diversi (fra CPU e RAM, tra RAM e memoria esterna)
Memoria Esterna o Memoria di massa Memoria interna Banchi di memoria DRAM su supporti SIMM Memoria Esterna o Memoria di massa
Periferiche di ingresso Le periferiche d’ingresso sono quei dispositivi che consentono all’elaboratore di acquisire informazioni dal mondo esterno ed in particolare dall’utente che interagisce con la macchina. Periferiche di uscita Le periferiche d’uscita sono tutti quei dispositivi che consentono di ottenere i risultati delle elaborazioni effettuate dal calcolatore.
Periferiche di ingresso Tastiera (inserimento alfanumerico) Mouse (inserimento posizioni) Tavoletta grafica (inserimento posizioni) Scanner (inserimento immagini) Modem (ricezione dati)
Periferiche di uscita Monitor (visualizzazione) Stampanti (trasferimento su carta) Plotter (disegni e grafici) Modem (trasmissione dati) Macchine a controllo numerico
Periferiche di uscita - Monitor I parametri fondamentali di un monitor sono la sua dimensione (da 12 a 21 pollici), la sua risoluzione intesa come punti distinti che possono essere attivati sulla superficie (da 200x320 a 1280x1024) e la sua “precisione” misurata con un indice che varia da 0.25 (migliore) a 0.38 (peggiore). Esistono anche particolari monitor detti “touch screen” che consentono, tramite il tocco di aree particolari della loro superficie, di acquisire informazioni (periferica di input).
Periferiche di uscita - Stampanti Stampanti (trasferimento su carta) Consentono di trasferire su carta i risultati delle elaborazione per poi poterli utilizzare come strumenti di verifica o di memorizzazione. Ad impatto ( metodo di stampa vecchio ma economico). A getto d’inchiostro: La definizione è migliore delle stampanti ad impatto ed anche il rumore è ridotto a quello causato dal movimento della carta. Laser: La qualità di stampa è ottima, ma il costo del dispositivo e della sua manutenzione è elevato. Plotter (disegni e grafici) A questo dispositivo trasferisce su carta immagini e grafici di dimensioni elevate, normalmente per disegno tecnico o meccanico.
Periferiche di uscita Macchine a controllo numerico Un elaboratore può avere come periferica d’uscita a diretto contatto anche una macchina operatrice a controllo numerico; in tale caso i “dati” in uscita dal computer sono i manufatti realizzati dalla macchina stessa.
Generazioni di calcolatori elettronici La prima generazione è basata sulla tecnologia dei tubi a vuoto (valvole). Nel 1951 si costruisce l'Univac1, dotato di memoria a mercurio e nastri magnetici che consentivano di elaborare 30.000 informazioni al minuto. La seconda generazione, comparsa nel 1959, è basata sui transistor che sostituiscono le ingombranti e dispendiose valvole. Le memorie di questi calcolatori sono costituite da nuclei di ferrite, le cui dimensioni si riducono fino al diametro di pochi decimillimetri. La velocità di calcolo raggiunge le 210.000 addizioni al secondo.
La terza generazione è costituita da circuiti integrati (chip) che sostituiscono il transistor, ed appare a partire dal 1964. Le memorie a nuclei sono affiancate da quelle a bolle magnetiche (minore ingombro, maggiore velocità e sicurezza di funzionamento. La quarta generazione di calcolatori è nata con la realizzazione del microprocessore, cioè dell'Unità Centrale (CPU) ottenuta su un unico circuito integrato. È iniziata nel 1971 con l'invenzione del microprocessore a 4 bit (4004) ad opera di Enrico Faggin della Intel e prosegue tuttora.
Le diverse tipologie di computer apparse dal 1971 ad oggi sono il risultato di un'evoluzione nelle tecniche di realizzazione dei circuiti integrati e di aumento della densità circuitale, il cui massimo valore si indica con il termine di livello di integrazione. Nell'evoluzione dei livelli di integrazione si è passati dalla SSI (Small Scale Integration) alla MSI (Medium Scale Integration), LSI (Large Scale Integration) ed infine alla VLSI (Very Large Scale Integration). La tecnologia VLSI ha consentito di realizzare microprocessori a basso costo e memorie di grande capacità su un unico chip.
La quinta generazione di computer si basa su architetture parallele (es. dual core) e sulla costruzione di cluster di computer.
Cenni Storici Fin dall'antichità gli uomini hanno sempre cercato di rendere meno laboriosi i calcoli. Il desiderio di rendere più veloce e più possibile automatico il calcolo è probabilmente antico come l'uomo. Anche se il calcolatore non si può considerare semplicemente una macchina di calcolo, senz'altro è il prodotto più recente e più clamoroso delle ricerche nate da questo desiderio.
Nell'VIII secolo a.C. fu inventato in Cina il primo pallottoliere. Presso i Romani era diffuso l'abaco. Strumento di calcolo formato da un telaietto su cui scorrono alcune file di palline che denotano le unità, le decine, le centinaia, le migliaia. Abaco
Per giungere a qualcosa di nuovo bisogna aspettare fino al 1600, quando il matematico scozzese John Napier inventa il regolo calcolatore. Strumento costituito da stecche di avorio su cui erano incise opportune serie di numeri. Facendo scorrere le stecche una sull'altra era possibile eseguire moltiplicazioni e divisioni. Come funziona un computer un computer raccoglie, elabora, memorizza e produce informazioni. Dispositivi di input I dispositivi di input permettono di comunicare con il computer, in quanto supportano l'immissione di dati e di comandi. Tastiera, mouse e joystick sono tipici dispositivi di input. Dispositivi di elaborazione L'unità centrale di elaborazione (CPU) è il componente principale del computer; ha il compito di eseguire i comandi, fare i calcoli, e gestire il flusso dei dati tra i vari componenti del sistema. La CPU comunica con i dispositivi di input, di output e di memorizzazione per svolgere le sue funzioni. Dispositivi di memorizzazione I dispositivi di memorizzazione conservano i dati che il computer usa per svolgere varie operazioni. Drive per dischi rigidi e dischetti, lettori di CD-ROM e drive a nastro sono esempi di dispositivi di memorizzazione. Dispositivi di output I dispositivi di output permettono al computer di comunicare con l'utente, per esempio visulaizzando i dati su un monitor o generando dei suoni. Dispositivi di output sono per esempio il monitor, la stampante e gli altoparlanti. Regolo calcolatore
La prima vera calcolatrice (che prese il nome di "pascalina") fu inventata da Blaise Pascal nel 1642. La pascalina, poteva eseguire solamente l'addizione e la sottrazione. La pascalina
Guglielmo Leibniz (nel 1971) ideò una macchina che eseguiva anche la moltiplicazione e la divisione. La macchina di Leibniz
Le prime macchine calcolatrici prodotte in serie comparvero agli inizi del 1800 dopo la rivoluzione industriale. Ma è solo nel 1801 che si assistette ad una svolta decisiva, grazie al francese Joseph Jacquard che realizzò un telaio da tessitura controllato da schede perforate, sulle quali era memorizzato il programma di funzionamento della macchina stessa. Il telaio Jacquard
Sfruttando questa idea, l'inglese Charles Babbage ideò una macchina analitica (macchina di Babbage) che si può considerare il primo esempio di calcolatore. Esso adottava schede perforate per introdurre dati ed istruzioni ed era fornito di una memoria in grado di immagazzinare fino a 1000 cifre. La macchina analitica di C. Babbage
Verso la fine del 1800, negli Stati Uniti si presentò un problema molto concreto e urgente: l'elaborazione dei dati del censimento americano del 1890. Uno studioso di statistica, Herman Hollerith adattò la scheda perforata a questo scopo, registrando su ogni scheda i dati di un cittadino e realizzando una macchina in grado di contarli. La società fondata da questo brillante individuo si chiamò, e si chiama tuttora, IBM (International Business Machine). Macchina di Hollerith
Il primo vero calcolatore elettro-meccanico fu il MARK 1, messo a punto nel 1944 da un gruppo di ricercatori dell'università americana di Harvard. Con l'avvento delle valvole elettroniche si costruì l'ENIAC (Elettronic Numerical Integrator and Calculator) e nel 1951 si realizzò l'UNIVAC 1 (UNIVersal Automatic Computer).
L'UNIVAC fu il primo calcolatore elettronico in grado di conservare il programma all'interno della memoria (grazie ad un'importante innovazione dovuta al matematico John Von Neumann). UNIVAC
Sistemi Operativi
Che cosa è un sistema operativo? Un software che agisce da intermediario fra l’utente e la struttura fisica del calcolatore: gestisce gli elementi fisici di un calcolatore e fornisce all’utente un’interfaccia per poter utilizzare le risorse del sistema di calcolo in modo semplice, efficiente e sicuro Scopi del sistema operativo: Eseguire i programmi utenti e facilitare la soluzione dei problemi degli utenti. Rende il sistema di calcolo un ambiente in cui si può lavorare in modo conveniente e corretto. Utilizzo del calcolatore in maniera efficiente. Interrompetemi pure quando qualcosa non vi è chiaro quel che dico e, se vado troppo veloce, ditemelo. Cominciamo a vedere alcuni concetti di base dei Sistemi Operativi. Possiamo dire che la "molla" che ha guidato tale evoluzione sia da addebitare a problemi di efficenza e di costi. S.O.: insieme di software che gestisce l’hardware del sistema. Alcuni sono progettati per essere “user-friendly” (Windows), altri per essere efficienti (Unix)
Quali sono le parti di un SO ? Applicazioni Interprete di comandi (shell) Interfaccia grafica (desktop) Gestore del processore Gestore della memoria Gestore delle periferiche File system Hw
Il nucleo (Kernel) del SO Le funzioni del SO che riguardano: la gestione dei processi, la loro cooperazione (sincronizzazione e comunicazione) la gestione del processore sono dette Nucleo (Kernel) del SO. Processo utente Processo sistema Processo sistema Processo utente Nucleo: System call Send, Receive, Scheduling Hardware e Firmware
Schema del sistema MS-DOS Non ha l’identificazione dell’utente con login e password; Non ha protezione del file system (administrator, gruppi). Non supporta meccanismi di protezione della memoria. Non esiste la modalità supervisore distinta da quella utente. Non è multiprogrammato: la shell lancia un programma e attende che sia completato. i comandi utente di I/O agiscono direttamente sui dispositivi non passano attraverso il S.O. PROGRAMMI DI APPLICAZIONE PROGRAMMI DI SISTEMA DRIVER DISPOSITIVI MS-DOS DRIVER DISPOSITIVI ROM BIOS
Lo schema di Unix Utenti Programmi di utilità interfaccia utente Utenti interfaccia delle librerie di sistema Programmi di utilità (Shell, compilatori, editors) interfaccia system call user mode Libreria Standard (Open close, read, write, fork) Unix kernel: Gestione Processi, Memoria, File System, I/O kernel mode
Windows NT-2000 un modello ibrido Client Server Macchine virtuali non è microkernel
Fine