INFORMATICA Per informatica si intende la scienza e la tecnica dell’elaborazione dei dati e generalmente del trattamento automatico delle informazioni. CALCOLATORE 4 operazioni fondamentali DISPLAY Visualizza i dati introdotti e i risultati di output. TASTIERA acquisizione degli input e operazioni da eseguire. Hardware In informatica, l'insieme delle apparecchiature, dei componenti circuitali e dei dispositivi di un sistema elettronico, in particolare di un computer. L'hardware comprende anche gli apparecchi periferici, quali stampanti, modem e mouse. Gli hardware sono tutti i componenti (caratteristiche fisiche) elettronici e meccanici di un elaboratore. È considerato componente meccanico un qualunque componente che presuppone il movimento di un certo meccanismo, ad es. il mouse, mentre i componenti elettronici sono ad es. lo schermo. Esistono anche componenti sia elettronici che meccanici ad es. l’hard disk o il lettore cd. Software In informatica, termine generico che indica l'insieme dei programmi per computer, vale a dire le sequenze di istruzioni che guidano i circuiti di un elaboratore a compiere il lavoro cui è destinato. A seconda delle funzioni e delle applicazioni, si possono distinguere diverse categorie di software. Le due categorie fondamentali sono i sistemi operativi (software di sistema), che controllano direttamente i circuiti di un computer, e i programmi applicativi, destinati a gestire le svariate applicazioni per cui esso può essere impiegato. Il software di sistema svolge mansioni indispensabili, ma spesso "invisibili", come il mantenimento dei file su disco e la gestione dello schermo; il software applicativo ha invece compiti più specifici, come l'elaborazione di testi e la gestione di database. Due ulteriori categorie, che non sono qualificabili né come software di sistema né come applicativi, benché contengano elementi propri di entrambi, sono il software di rete, che abilita gruppi di computer a comunicare tra loro, e il software di linguaggio, che fornisce ai programmatori gli strumenti necessari per scrivere i programmi. A seconda delle modalità di distribuzione del software si parla inoltre di "software in scatola" o "a pacchetti", sviluppato e distribuito soprattutto presso punti di vendita al dettaglio; di freeware e software di dominio pubblico, messi a disposizione gratuitamente dai programmatori; di shareware, simile al freeware, ma che di solito comporta il versamento di una piccola tariffa da parte dell'utente. 1 STRUTTURA FISICA DI UN ELABORATORE L’ elemento principale di un computer è l’unità centrale, che consiste in un involucro di metallo e plastica denominato CASE o CABINET. I Case possono essere di tre tipi diversi: 1) DESKTOP: tipo orizzontale posizionato di solito sotto il monitor 2) TOWER: tipo verticale grande 3) MINI TOWER: tipo verticale piccolo. Non esiste una sostanziale differenza tra questi tre modelli, perché possono avere le stesse prestazioni. Sul CASE vi sono alcuni pulsanti: 1. ACCENZIONE. 2. RESET: che costituisce l’estremo rimedio quando il computer no risponde ai comandi. Premere reset significa cancellare tutto ciò che non era stato salvato. All’interno del CASE ci sono alcuni elementi fondamentali che sono: - L’alimentatore o trasformatore: serve a trasformare la corrente elettrica dai 220 v. - Scheda madre: sulla scheda madre vengono fissati gli elementi che servono al computer per fissare ed elaborare dati. STRUTTURA OPERATIVA DI UN ELABORATORE L’unità centrale di elaborazione può essere scomposta da un punto di vista fisico in tre settori: ALU (unità aritmetico logica): è la parte esecutiva del computer, difatti esegue le operazioni matematiche e logiche (confronti del tipo maggiore, minore o del tipo vero o falso); inoltre esegue la manipolazione dei bit all’interno dei byte; il suo funzionamento è controllato dall’Unità di controllo. UNIT CONTROL (unità di controllo): si tratta di uno speciale circuito progettato in modo tale che la CPU si comporti esattamente come le istruzioni ricevute in memoria. Questo importante blocco funzionale è quindi in grado di controllare l’esecuzione di una istruzione e di interagire con memorie e moduli in ingresso-uscita. MEMORIA: contiene i programmi e i dati sui quali lavoreranno i programmi. Le memorie in genere sono caratterizzate dalle seguenti grandezze: supporto fisico, modalità e tempo di accesso, capacità, tipo di operazioni consentite. Per il tipo di operazioni consentite si possono avere: - memorie a lettura e scrittura - memorie a sola lettura 2 MACCHINE PROGRAMMABILI Utilizzato anche per problemi di tipo diverso delle operazioni. Comprende ed esegue ordini impartiti dall’esterno. Deve Poter eseguire operazioni logiche Elaborare non solo numeri ma anche caratteri Essere veloce nell’elaborare. HARDWARE Meccaniche, elettroniche, ottiche. SOFTWARE Parte logica. SISTEMA SISTEMA Elaborazione dati utente HARDWARE CPU (central processing unit) MEMORIA CENTRALE (ram e rom) DISPOSITIVI INPUT DISPOSITIVI OUTPUT UNITA’ MEMORIA DI MASSA } Protocolli di comunicazione. I protocolli di comunicazione usano per il trasferimento dei dati un dispositivo elettronico il BUS DI SISTEMA. 2 TIPI DI MEMORIA Esistono diversi tipi di memoria, con caratteristiche diverse a seconda del materiale e delle prestazioni. In relazione alle funzioni svolte all'interno del computer, si distinguono una memoria centrale e una memoria di massa. In base al materiale di cui è costituito il supporto e al meccanismo di immagazzinamento dei dati si distinguono memorie a semiconduttori, veloci e compatte, costituite da circuiti integrati, ultimamente utilizzate anche per la memoria centrale, oltre che per il buffer e per le memorie di transito; memorie magnetiche (dischi o nastri); memorie ottiche (CD-ROM) e memorie cartacee (le schede perforate dei primi modelli, ormai superate). 2.1 Memoria RAM e memoria ROM 3 In base al tipo di operazioni consentite sulle informazioni in esse contenute si distinguono memorie di lettura/scrittura, dette ad accesso casuale, o RAM (Random Access Memory), tra cui vanno considerati i dischi e i nastri magnetici; memorie di sola lettura, o ROM (Read Only Memory), come i dischi ottici. Esistono poi altri parametri di classificazione, quali la capacità (una memoria da 1 MB può contenere informazioni fino a 1.048.576 byte), il tempo di accesso (sequenziale o diretto), la modalità di accesso (casuale o sequenziale) e la capacità di salvare o meno le informazioni in caso di interruzione dell'alimentazione (memorie stabili o labili). 2.2 Memoria centrale La memoria centrale è una delle sezioni principali di un elaboratore, la cui funzione consiste nella memorizzazione delle informazioni necessarie per l'esecuzione di un programma. Si tratta di una RAM, che costituisce il deposito temporaneo utilizzato dal microprocessore per i programmi, il lavoro in esecuzione e diversi tipi di informazioni interne di controllo; è una memoria a semiconduttore, che viene letta o scritta dal microprocessore o da altri dispositivi hardware. Le locazioni di questo tipo di memoria possono essere raggiunte in qualsiasi ordine; da qui il nome di memoria ad accesso casuale o diretto. Parte della memoria centrale RAM è anche la memoria cache, in generale molto più veloce della normale memoria RAM, ma di dimensioni nettamente inferiori. È utilizzata per mantenere le informazioni di più probabile utilizzo in modo da velocizzare il loro reperimento da parte del microprocessore. All'interno di un computer è anche presente una memoria ROM, che rappresenta un supporto permanente, non cancellabile, su cui vengono conservate informazioni indispensabili, tra cui le istruzioni di avvio della macchina e le procedure di ingresso/uscita. Si noti che anche i vari tipi di ROM (vedi EPROM; PROM) permettono l'accesso diretto; il termine RAM, tuttavia, nel linguaggio comune viene riservato alle memorie volatili (il cui contenuto si perde nel caso di interruzione dell'alimentazione), che possono essere scritte oltre che lette. Esistono poi diversi buffer o cache (aree di memoria riservate), destinate alla conservazione temporanea di informazioni specifiche, come i caratteri da inviare alla stampante o quelli appena ricevuti dalla tastiera. La memoria centrale è divisa in due parti: La memoria RAM (Random Access Memory) o memoria ad accesso casuale (detta così per la maniera in cui viene letta dalla cpu) e la ROM (Read Only Memory). RAM: Random Access Memory è la memoria ad accesso casuale (o diretto) ed è la memoria di lettura e scrittura. Nella RAM vengono collocati i programmi e i dati che dovranno essere elaborati dal processore. È una memoria volatile, pertanto quando si spegne il computer si perde tutto. La memoria RAM si può paragonare a un secchio che è vuoto al momento dell’accensione del computer e che si riempie man mano che si comincia a lavorare. La RAM si presenta sulla scheda madre sotto forma di CHIP, piastrine di silicio con uno spessore di circa 2 mm attaccate alla scheda attraverso dei PIN (piedini). I chip di memoria sono composti da tante cellette ognuna delle quali è in grado di memorizzare delle informazioni che possono essere numeri, lettere, ecc… Ogni cella è composta da 8 interruttori chiamati bistabili o transistors. Ogni interruttore può essere acceso o spento, cioè zero o uno e corrisponde a un bit. 8 bit, cioè una cella corrisponde a un byte. 4 1 interutt. 2 interutt. 8 interutt. Acceso o spento 21 2 4 combinazioni 2 = 4 00 01 11 10 28 = 256 In totale ci sono 256 caratteri fra numeri, lettere, altri tasti, ecc. (alfabeto ascii) ROM: Read Only Memory o memoria di sola lettura. In essa risiede un programma elementare di inizializzazione nel computer, necessario quando si avvia la macchina per andare a recuperare il sistema operativo residente in genere su memorie di massa. La più piccola informazione memorizzabile o manipolabile da un PC prende il nome di bit e rappresenta una cifra binaria (0,1); il linguaggio binario è il solo linguaggio che il computer conosca: è indispensabile allora essere in grado di specificare la sequenze d’istruzioni e i dati in una forma più accessibile all’uomo; si ricorre perciò a linguaggi simbolici. (Ad esempioo il linguaggio BASIC è molto vicino a quello umano). L’unità di misura della capacità di memoria di un PC è il byte, ovvero un raggruppamento di otto cifre binarie (8 bit); per rappresentare i numeri e i caratteri si ricorre a dei codici che associno a ciascuna cifra o carattere una rappresentazione in binario. Il codice standard adottato si chiama ASCII (American Standard Code for Information Interchange): è un codice a 8 bit (1 byte detto anche memoria) i quali sono suddivisi in 7 bit + 1 bit di parità, quindi con la possibilità di avere 2D8 {disposizione a ripetizione di 2 elementi (acc. – spento) presi a gruppi di 8 (8 BIT) } = 256 combinazioni. In questo codice, a ciascun byte proveniente dalle 256 combinazioni viene assegnato un carattere, numero, lettera o altro simbolo riconoscibile dall’ elaboratore. 2.3 Memoria di massa Si dice invece memoria di massa qualunque dispositivo esterno all'elaboratore, che immagazzini informazioni su un supporto permanente, quale un disco o un CD-ROM. Tali dispositivi hanno generalmente un'elevata capacità, ma tempi di accesso superiori rispetto a quelli della memoria centrale. PROM o Programmable Read-Only Memory è un tipo di memoria a sola lettura che permette di inserire i dati nell'integrato già realizzato (e non in fase di produzione come per le ROM strettamente intese) con un apparecchio apposito detto programmatore di PROM. Una volta programmata, una PROM ha un contenuto di dati fisso e non più modificabile. Poiché le ROM sono economicamente vantaggiose solo per grandi volumi di produzione, le PROM vengono usate per piccole produzioni o nelle fasi di messa a punto di un prodotto. In questo caso, possono essere programmate nuove PROM via via che si perfeziona il progetto. Vedi anche EPROM. EPROM o Erasable Programmable Read-Only Memory è un tipo di memoria a sola lettura riprogrammabile. Le EPROM vengono programmate dall'utente dopo la produzione. A differenza delle PROM (ROM programmabili una sola volta), possono essere cancellate e riscritte parecchie volte; per questo rappresentano una buona soluzione per i produttori di hardware, poiché 5 permettono l'inserimento di variabili o codici soggetti a cambiamenti in sistemi per i quali sarebbe onerosa la sostituzione delle PROM a ogni modifica. La cancellazione delle EPROM si ottiene esponendo il chip semiconduttore a una radiazione ultravioletta attraverso una finestra trasparente presente sul contenitore. L’operazione richiede attrezzature apposite e produce la cancellazione totale, perciò il contenuto deve essere completamente riscritto, anche in caso di modifiche modeste. Per questi motivi sono nate le EPROM o EAROM, per le quali la cancellazione, ottenuta mediante impulsi elettrici, può essere selettiva (rivolta solo alle locazioni da modificare). L’ultima evoluzione, che si sta diffondendo in modo rapidissimo, è costituita dalle Flash-EPROM, memorie EPROM cancellabili elettricamente come le EPROM e EAROM, ma molto meno costose e con tempi di lettura e scrittura notevolmente ridotti. La capacità di memoria è uno dei requisiti fondamentali di un computer; la sua misura è un indice che informa l’utente sulla quantità di dati che è possibile immagazzinare. La tabelle dei multipli del byte è la seguente: KILO (K) MEGA (M) GIGA (G) TERA (T) = 1.024 = 1.048.576 = 1.073.741.824 = 1.099.511.627.776 byte byte byte byte = = = = 10 2 220 230 240 Architettura E’ la combinazione degli elementi hardware che costituiscono la struttura di un computer, o anche la struttura logica del software di un sistema (ad esempio, del sistema operativo). L'architettura di un computer comprende tutti i componenti, principali e secondari, necessari al suo funzionamento: il sistema di elaborazione, gli elementi integrati, la circuiteria e i programmi di sistema. Vengono generalmente esclusi i programmi applicativi, necessari per eseguire compiti specifici, ma non indispensabili al funzionamento della macchina. Per architettura di rete si intende la struttura logica di un insieme di più macchine collegate in una rete di comunicazione. Un'architettura è detta aperta se le sue specifiche sono pubblicate e liberamente accessibili; chiusa, se le specifiche sono detenute solo dall’azienda produttrice, che impedisce l’integrazione di dispositivi prodotti da altre aziende. 2 ARCHITETTURA HARDWARE L'architettura di un computer è solitamente sequenziale (architettura sequenziale di van Neumann); per ottenere una maggiore rapidità di esecuzione delle operazioni, numerosi elaboratori utilizzano un'architettura parallela (o concorrente). Ne sono un esempio i processori a schiera (array processor), capaci di eseguire le operazioni in forma matriciale. Dotate di architettura SIMD (Single Instruction, Multiple-Data), sono macchine adatte all'elaborazione di immagini e alla simulazione di eventi fisici. Nel campo dei microprocessori si distinguono diversi tipi di architetture: l'architettura CISC (Complex Instruction Set Computing) permette di elaborare istruzioni complesse, ma in tempi relativamente lunghi, che vengono essenzialmente impiegati a risolvere, per un numero enorme di volte, un ristretto gruppo di istruzioni (il 20% di tutte le eseguibili). Proprio per permettere al computer di eseguire rapidamente un limitato numero di istruzioni, occorrenti frequentemente, è stata ideata l'architettura RISC (Reduced Instruction Set Computing): è un tipo di architettura a pipeline, capace di disporre nuove istruzioni per il processore già durante l'esecuzione 6 dell'istruzione corrente. Se un sottosistema a disco usa una memoria per pre-caricare e mantenere le informazioni, si dice dotato di architettura cache. Nel caso di architettura chiusa, la riservatezza delle informazioni rende difficile, per altre aziende, la produzione di dispositivi compatibili con tali macchine; di solito, solo il produttore originale è in grado di realizzare periferiche o espansioni per il sistema. Al contrario, l'architettura aperta facilita lo sviluppo di hardware addizionale da parte di terzi, indipendentemente dal produttore. Il personal computer introdotto nel 1981 da IBM è un tipico caso di architettura aperta: fin dalla sua comparsa furono rese disponibili le caratteristiche del sistema, permettendo a numerose altre aziende di realizzare prodotti simili e di allargare il mercato. 3 ARCHITETTURA DI RETE Per le reti si parla di architettura client-server. Questa particolare configurazione delle reti locali funziona in base al principio di "intelligenza distribuita": in essa il server e le singole postazioni di lavoro sono considerati dispositivi "intelligenti", ossia programmabili in modo da sfruttare pienamente le loro capacità di elaborazione. L'esecuzione di un'applicazione viene suddivisa tra due componenti fisicamente distinti: il client, accessibile all'utente, e il server, "nascosto" all'utente. Il componente client, rappresentato generalmente da un personal computer completo e autosufficiente (diversamente dai terminali che si trovavano nelle vecchie architetture, privi di microprocessore, detti "muti" perché capaci di funzionare essenzialmente solo come video e tastiera), fornisce tutta la sua potenza e le sue prestazioni all'utente. Il server, che può essere un altro personal computer, un minicomputer o un mainframe, integra il componente client fornendo le tradizionali risorse offerte da minicomputer e mainframe in condivisione: gestione dei dati, distribuzione delle informazioni tra i diversi client, amministrazione sofisticata della rete e prestazioni relative alla sicurezza. Il vantaggio dell'architettura client-server rispetto alle precedenti risiede nel fatto che macchine client e server operano insieme per portare a termine le elaborazioni richieste dall'applicazione in svolgimento: questo non solo aumenta la capacità di elaborazione disponibile, ma ne permette un uso più efficiente. La porzione di applicazione affidata a un client è in genere ottimizzata in funzione dell'interazione con l'utente, mentre il server sovrintende alle operazioni centralizzate e multiutente. 4 ARCHITETTURA SOFTWARE Nel settore del software il termine indica la definizione completa e dettagliata delle diverse parti logiche che costituiscono un programma o un servizio, come l'interfaccia tra utente e computer, il sistema operativo o un sistema di protocolli di comunicazione tra elaboratori diversi. Clock-Calendar Circuito di temporizzazione indipendente usato nei microcomputer per mantenere l'indicazione corretta dell'ora e della data. Un circuito clock-calendar è alimentato da una batteria che ne garantisce il funzionamento anche a computer spento. Alcuni computer vengono dotati di tale circuito già in fase di costruzione, altri devono esserne provvisti mediante l'inserimento di una piccola scheda in uno slot di espansione dell'unità di sistema. Ora e data fornite dal circuito clockcalendar possono essere usate dal sistema operativo e dai programmi applicativi: ad esempio, per contrassegnare i file con la data e l'ora della prima registrazione o dell'ultima revisione; oppure, in applicazioni come l'elaborazione di testi, per inserire la data o l'ora all'interno di un documento. Bus : insieme di linee di connessione usato per il trasferimento dati tra i componenti di un computer. Il bus è una via di collegamento suddivisa in "corsie", che permette lo scambio di 7 informazioni tra le diverse parti del sistema: microprocessore, controllore del disk drive (vedi disco), memoria e porte di input/output. Gestiti di norma dal microprocessore, i bus sono specializzati nel trasporto di diversi tipi di informazioni: il data bus, costituito da un gruppo di linee realizzate come piste su una scheda a circuito stampato, è destinato a trasportare i dati; l'address bus, a trasportare gli indirizzi (locazioni di memoria) in cui sono reperibili specifiche informazioni; il control bus, le istruzioni e i segnali di controllo che coordinano il corretto funzionamento delle diverse parti del sistema. Ogni bus è caratterizzato dal numero di bit che può trasferire contemporaneamente: un bus dati a 16 bit, ad esempio, trasferisce dati a 16 bit per volta. Il tempo necessario per il trasferimento attraverso un bus è solitamente dell'ordine dei nanosecondi. Poiché i bus sono parte integrante del sistema interno di trasferimento dati e, del resto, gli utenti hanno spesso la necessità di aggiungere componenti al sistema, molti personal computer dispongono di uno o più slot di espansione (connettori per l'aggiunta di schede stampate); quando tali schede vengono inserite, si collegano elettricamente ai bus e divengono a tutti gli effetti parti del sistema. BIOS o Basic Input-Output System E’ l’insieme di routine che opera da interfaccia fra l'hardware e il sistema operativo di un computer, per permettere il trasferimento di informazioni tra i diversi elementi del sistema, quali la memoria, i dischi e il monitor. Sui primi computer IBM e compatibili, il BIOS, o ROM BIOS, era registrato nella memoria a sola lettura (ROM) della macchina e non era modificabile; nei computer più recenti esso è registrato in una memoria ad accesso casuale dedicata, capace di mantenere le informazioni anche in assenza di alimentazione, in modo da rendere possibile l'aggiornamento. Malgrado la sua forte influenza sulle prestazioni, il BIOS è invisibile per gli utenti di computer; esso è accessibile, invece, ai programmatori. Interfaccia 8 E’ il termine che indica la parte del sistema attraverso cui avviene il trasferimento e la conversione dei dati tra due elementi in modo da realizzare la compatibilità per entrambi. Nell'elaborazione elettronica sono presenti, a vari livelli, diversi tipi di interfacciamento: dalle interfacce utente, che permettono agli operatori di comunicare con i programmi, alle interfacce hardware, che collegano i dispositivi e i componenti all'interno di un computer. 2 INTERFACCE HARDWARE In campo hardware, sono considerate interfacce le schede, i connettori e gli altri dispositivi che collegano elementi esterni col computer, consentendo il trasporto di informazioni. Esistono, ad esempio, interfacce standard per il trasferimento dati, come l'RS-232-C e l'SCSI, destinate al collegamento tra elaboratori e stampanti, dischi rigidi e altre periferiche. 3 INTERFACCE SOFTWARE In campo software le interfacce sono programmi o insiemi di programmi che permettono all'utente di accedere alle diverse funzionalità di un sistema. In particolare, le interfacce utente permettono all'utente di interagire con uno specifico applicativo o con il sistema operativo. Sistema Qualsiasi insieme di dispositivi elementari che cooperano per lo svolgimento di un compito. In relazione ai computer, il termine sistema è usato in un'ampia varietà di contesti. Un computer è un sistema hardware costituito da un microprocessore munito della relativa circuiteria di supporto, da dispositivi di ingresso (tastiera, mouse, disk drive), da dispositivi di uscita (monitor, disk drive) e da alcune periferiche (stampante, modem). L'intero sistema hardware è governato da un sistema operativo, spesso indicato come software di sistema, costituito da un set di programmi indispensabili, che gestiscono l'hardware e i file dei dati, dando supporto ai programmi applicativi. Il termine sistema si riferisce anche a qualunque combinazione di programmi, procedure, dati e apparecchiature usata per elaborare informazioni; sono di uso comune espressioni quali sistema di contabilità, sistema di fatturazione, sistema di gestione di database Sistema operativo E’ il software responsabile del controllo e dell'allocazione di tutte le risorse hardware di una macchina, quali la gestione della memoria, la temporizzazione dell'unità centrale di elaborazione (CPU, Central Processing Unit), la destinazione dello spazio sui dischi e il controllo delle periferiche. Il sistema operativo è il fondamento su cui poggiano tutti i programmi applicativi, quali, ad esempio, gli elaboratori di testo e i fogli elettronici. I programmi del sistema operativo sono generalmente organizzati secondo una struttura gerarchica che comprende diversi livelli, la cui sequenza è stabilita in base al grado di astrazione rispetto alle risorse hardware presenti nel sistema; il livello più profondo, che esercita le funzioni di controllo, viene detto kernel o core (nucleo), mentre il livello più vicino all'utente viene detto interfaccia utente o shell. Il sistema operativo risiede solitamente nella memoria di massa, tranne un piccolo segmento di codice che risiede nella ROM e che carica il sistema nella RAM (la memoria ad accesso casuale). OS/2 E’ un sistema operativo multitasking per personal computer basato sulla linea di microprocessori x86 della Intel. Messo a punto congiuntamente da Microsoft e IBM, OS/2 può supportare programmi applicativi basati su MS-DOS e Windows e può leggere tutti i dischi in MS-DOS. 9 DOS o Disk Operating System Qualsiasi sistema operativo caricato al momento dell'avvio da un sistema di elaborazione a disco. In origine l'espressione era utilizzata per distinguere i sistemi basati su disco dai primi sistemi operativi per microcomputer registrati su nastri magnetici o direttamente sulla memoria interna. Con l'introduzione dei Personal Computer, negli anni Ottanta, il termine DOS è diventato un sinonimo di MS-DOS. MS-DOS o Microsoft Disk Operating System Il sistema operativo sviluppato dalla Microsoft Corporation nel 1981 per i personal computer IBM. Evoluzione del precedente CP/M, è un sistema operativo a 8-16 bit, che ha conosciuto un'ampia diffusione nel corso degli anni Ottanta, attraverso le numerose versioni di aggiornamento. In seguito è stato affiancato dai primi sistemi dotati di interfaccia utente di tipo grafico, quale Windows 3.1, e successivamente sostituito da Windows 95 e versioni successive. Windows NT, anch’esso un successore del sistema MS-DOS, è nato come sistema operativo autonomo, destinato a un’utenza più professionale, che richiede prestazioni aggiuntive quali un efficiente multitasking e un’avanzata gestione delle reti CP/M o Control Program for Microcomputers Sistema operativo messo a punto da Gary Kildall nel 1974, per personal computer basati su microprocessori a 8 bit (Intel 8080 e Zilog Z-80 nella versione CP/M-80). La Digital Research produsse successivamente il CP/M-86 per computer basati sui processori a 16 bit Intel 8086/8088, il CP/M-8000 per computer basati sullo Zilog Z8000 e il CP/M-68k per quelli basati sul Motorola 68000. Più recentemente è stata introdotta una versione in grado di supportare il multitasking, denominata Cuncurrent CP/M. Oggi questi sistemi operativi, divenuti obsoleti, sono praticamente scomparsi. Multitasking E’ la modalità di funzionamento offerta da un sistema operativo capace di svolgere più compiti contemporaneamente. Esistono diversi tipi di multitasking. Nella modalità Context switching, due o più programmi applicativi vengono caricati contemporaneamente, ma solo uno di essi, quello la cui finestra è in primo piano sullo schermo, è portato in esecuzione. Per attivare una delle elaborazioni "nascoste", l'utente deve portare in primo piano la relativa finestra. Nella modalità Cooperative multitasking, di cui si ha esempio nel sistema operativo del Macintosh, ai programmi "nascosti" vengono assegnati tempi di elaborazione ricavati dai tempi morti del programma "in vista" (quando questo, ad esempio, è in attesa di un dato). Nella modalità Time-slice multitasking, adottata dal sistema operativo OS/2, viene ciclicamente assegnata a ogni programma una parte del tempo di elaborazione del microprocessore (frazioni di secondo). Per mantenere un ordine, vengono attribuiti diversi livelli di priorità alle varie applicazioni, oppure si servono le applicazioni in sequenza. Poiché la percezione del tempo è, per un utente umano, assai lenta rispetto alla velocità di elaborazione di un computer, le operazioni svolte in Time-slice multitasking appaiono pressoché simultanee. Il multitasking può essere distinto inoltre in preemptive e concurrent o non-preemptive. Nella prima modalità, adottata in OS/2, Unix e Windows NT, il sistema operativo assegna a ogni processo un periodo di attività, al termine del quale il controllo passa a un altro processo, indipendentemente dallo stato raggiunto dal primo. Nel sistema di multitasking cuncurrent o cooperativo (utilizzato in Windows 3.11) il sistema operativo trasferisce il controllo a una sola applicazione, mentre le altre non possono essere eseguite fino a quando la prima non restituisce il controllo al sistema operativo. Vedi anche Time-sharing. 10 Time-sharing E’ l'uso di un unico sistema di elaborazione per lo svolgimento contemporaneo di più funzioni o programmi da parte di utenti diversi. L'esecuzione di programmi differenti da parte del sistema operativo è solo apparentemente contemporanea: in realtà vengono assegnati tempi di lavoro diversi ai vari programmi, che operano uno per volta alternandosi rapidamente. Da questo punto di vista, il time-sharing è simile al funzionamento multitasking proprio dei microcomputer; il time-sharing, tuttavia, riguarda una molteplicità di utenti che accedono tramite terminali a un sistema di elaborazione centrale, mentre il multitasking, nelle funzioni relative ai microcomputer, consiste nello svolgimento di più attività per un singolo utente. Porta E’ un elemento hardware che permette la trasmissione dei dati da e verso un dispositivo di elaborazione. I microprocessori trasmettono o ricevono i bit dei dati attraverso porte che sono, generalmente, locazioni di memoria specializzate. I computer sono dotati di porte per il collegamento di unità periferiche, quali stampanti o modem. Vedi anche Interfaccia. In elettronica, dispositivo logico, generalmente costituito da un circuito integrato, che esegue specifiche operazioni logiche elementari. COM E’ termine derivato dall'abbreviazione di "comunicazioni", riservato dal sistema operativo a un massimo di quattro porte seriali (vedi Parallelo) denominate COM1, COM2, ecc. Ad esempio, un modem collegato a una porta seriale e una stampante seriale collegata a un'altra porta sono identificate dal sistema operativo come COM1 e COM2. COM, come acronimo per Computer Output Microfilm, indica la produzione diretta di immagini su microfilm che registrano dati emessi da un computer. COM è anche il nome del dominio di livello superiore di un indirizzo Internet assegnato a organizzazioni commerciali, ad esempio "myPC.myCompany.com". Parallelo E’ il termine si riferisce all'elaborazione o al trasferimento simultaneo di dati in un computer, in opposizione a seriale che indica elaborazioni o trasferimenti che hanno luogo in tempi diversi. Nel trasferimento parallelo di dati, i bit di un'informazione, ad esempio gli 8 bit di un byte, sono trasmessi simultaneamente, ciascuno su una linea separata. Nelle elaborazioni parallele, o in altre simili operazioni, più eventi si svolgono nello stesso intervallo di tempo; ad esempio, più microprocessori in uno stesso computer possono seguire contemporaneamente i diversi aspetti di un processo (come un calcolo complesso). Personal computer o Microcomputer Calcolatore da tavolo o portatile che impiega un microprocessore come unità centrale di elaborazione (CPU, Central Processing Unit), noto anche come PC, home computer, small-business computer o semplicemente micro. I primi modelli di personal computer erano in grado di elaborare a ogni passo informazioni di 4 o 8 bit ed erano considerati strumenti per singoli utenti; più recentemente, la distinzione tra personal computer e mainframe (computer capaci di prestazioni superiori, spesso condivisi da molti utenti) è stata superata, poiché i modelli più recenti di personal computer hanno velocità e capacità operativa simili a quelle dei dispositivi multiutente. 11 Componenti di un Personal Computer Un personal computer è di norma dotato di elementi per la visualizzazione e la stampa dei dati (monitor e stampante); per azionare i comandi e introdurre i dati (tastiera e mouse); per leggere e immagazzinare informazioni (lettori di CD-ROM e floppy disk); e per comunicare con altri computer (modem). Computer a scuola Dal suo arrivo sul mercato negli anni Settanta, il personal computer ha conosciuto una rapidissima diffusione negli uffici, nei centri di ricerca e ora anche nelle scuole. Oltre alle funzioni di scrittura, grafica ed elaborazione dati e ai numerosi programmi appositamente studiati per l'apprendimento delle materie scolastiche, uno dei grandi vantaggi di cui si gioverà il mondo dell'educazione con l'introduzione del computer è la sconfinata disponibilità di informazioni a cui esso dà accesso.Robert Isear/Science Source/Photo Researchers, Inc. Il personal computer è destinato all'uso domestico, scolastico e da ufficio. Nella gestione domestica può facilitare il controllo del bilancio familiare, la memorizzazione delle scadenze e, non ultimo, può costituire uno strumento di gioco. Nelle scuole viene utilizzato come sussidio didattico. Anche le più piccole imprese, infine, dispongono di microcomputer per la videoscrittura, la contabilità o la gestione di archivi. 2 BREVE STORIA DEL PERSONAL COMPUTER Scheda con circuiti integrati I circuiti integrati rendono possibile la realizzazione dei personal computer, vale a dire di elaboratori di dimensioni compatte, ma capaci di funzioni altamente avanzate. Detti anche chip, i circuiti integrati consistono di elementi quali resistori, condensatori e transistor, assemblati su sottili lastrine di silicio. Una tipica scheda per computer è costituita da diversi circuiti integrati, opportunamente connessi.James Green/Robert Harding Picture Library La realizzazione del personal computer è stata resa possibile da due innovazioni tecniche nel campo della microelettronica: i circuiti integrati (IC) che, sviluppati a partire dal 1959, hanno permesso la miniaturizzazione dei circuiti di memoria dei computer; e il microprocessore, apparso per la prima volta nel 1971, con cui la CPU, da ingombrante insieme di circuiti stampati e integrati, si è ridotta a una singola piastrina di silicio. Il primo sistema da scrivania progettato specificamente per uso personale fu presentato nel 1974 dalla Micro Instrumentation Telemetry Systems (MITS). I proprietari del sistema furono incoraggiati dall'editore di una popolare rivista di tecnologia a creare e vendere per corrispondenza un kit di montaggio del computer; il prodotto, chiamato Altair, fu venduto a poco meno di 400 dollari. Il successo dell'operazione indusse molte piccole società a dedicarsi alla produzione di computer. La prima grande azienda elettronica che produsse e distribuì personal computer, la Tandy Corporation, presentò nel 1977 un modello che si impose rapidamente nel settore grazie alla combinazione di due novità: la tastiera e un visualizzatore a raggi catodici. L'utente poteva programmare il computer e archiviare informazioni su nastri magnetici in cassetta. Ben presto, poco dopo l'introduzione del nuovo modello della Tandy, due ingegneri programmatori, Stephen Wozniak e Steven Jobs, avviarono una nuova casa produttrice destinata a divenire l’azienda a crescita più rapida nella storia economica degli Stati Uniti: la Apple Computer. Tra le prestazioni del loro primo elaboratore a 8 bit, il personal Apple II, c'erano una memoria più estesa, un sistema di memorizzazione su dischetti per dati e programmi, e la grafica a colori. Il successo e la rapida diffusione dell'azienda diedero un ulteriore impulso alla crescita del settore. Prima della fine del decennio il mercato dei personal aveva assunto una fisionomia definita. 12 Nel 1981 l'IBM introdusse il proprio modello di microcomputer, l'IBM Personal Computer, passato alla storia come il primo PC. Il suo microprocessore, l'Intel 8088 a 16 bit, era in grado di utilizzare una larghezza di parola di 16 bit e di trasferire le informazioni su un bus dati a 8 bit. Il modello successivo, l'IBM PC/XT, era dotato invece del microprocessore Intel 8086, che utilizzava una larghezza di parola di 16 bit e un bus dati a 16 bit. L'IBM PC/AT, infine, basato sul microprocessore a 16 bit Intel 80286, era una macchina a 16 bit in entrambi i significati. La realizzazione del primo PC segnò un momento fondamentale per la successiva evoluzione del microcomputer: aprendo la strada allo sviluppo di modelli sempre più veloci e potenti e incoraggiando la standardizzazione della produzione. A metà degli anni Ottanta fu introdotto un potente computer a 32 bit in grado di far lavorare ad alta velocità avanzati sistemi operativi multiutente. Collocando in un personal da scrivania una potenza di elaborazione sufficiente a servire piccole e medie imprese, il nuovo modello ridusse la distanza tra microcomputer e minicomputer. Un'innovazione di importanza fondamentale per la diffusione del personal computer fu l'introduzione di un'interfaccia utente di più facile uso. L'Apple Macintosh (un elaboratore a 16 bit introdotto nel 1984) fu tra i primi a sostituire l'interfaccia convenzionale del sistema operativo con una di tipo grafico a icone (simboli grafici che rappresentano oggetti e funzioni del computer) e menu, oggi presente in tutti i microcomputer. Ricercando sistemi di uso sempre più semplice e immediato, lo sviluppo tecnologico applicato al microcomputer ha portato alla creazione di meccanismi a controllo vocale che oggi permettono all'utente di usare i vocaboli e la sintassi del linguaggio parlato per comandare il calcolatore. La direzione in cui sta procedendo la ricerca per il perfezionamento del personal computer è quella di una continua miniaturizzazione dell'hardware. Senza penalizzazioni in termini di efficienza e potenza della macchina, vengono oggi realizzati microcomputer estremamente veloci e di dimensioni minime: il palmtop, ad esempio, offre le prestazioni di un normale personal con l'ingombro di una calcolatrice. Buffer: una porzione riservata della memoria di un sistema di elaborazione, in cui i dati vengono temporaneamente immagazzinati in attesa di essere trasferiti verso un dispositivo, sia esso una periferica o un'unità di memoria di massa. Il buffer viene generalmente utilizzato per compensare le differenze di velocità tra il processo di trasferimento e quello di elaborazione. Alcuni dispositivi, come le stampanti o le loro schede di supporto, dispongono spesso di buffer propri. Driver: un elemento hardware o software che svolge una funzione di regolazione e controllo su un dispositivo connesso a un computer. Un driver di linea, ad esempio, amplifica i segnali da trasmettere su una linea di comunicazione, mentre un bus driver amplifica e regola i segnali trasmessi attraverso un bus (dispositivo per il trasferimento dati). Un device driver è una sezione del software che permette il riconoscimento di un particolare dispositivo e la trasmissione dei dati tra questo e il computer. Nella maggior parte dei casi, i driver del sistema operativo controllano l'hardware in modo da trasmettere i dati al dispositivo pilotato. I device driver compresi nelle applicazioni, invece, realizzano solo la traduzione dei dati; per la loro trasmissione ai dispositivi esterni si appoggiano ad altri driver più specifici. Un driver di questo tipo è quello di stampante, che ha lo scopo di tradurre i dati del computer in una forma comprensibile a una particolare stampante. Stampanti diverse, infatti, richiedono codici e comandi differenti per funzionare correttamente. Bug : errore nel software o nell'hardware. 13 Nel software, un bug è un errore logico o di codifica che causa un malfunzionamento del programma o la produzione di risultati errati. Errori di lieve entità quali, ad esempio, un cursore che non si comporta come dovuto, sono fastidiosi ma non danneggiano le informazioni. Errori più gravi possono invece bloccare lo svolgimento di un programma o far sì che il computer non risponda più ai comandi dell'utente. L'unico rimedio in un caso simile consiste nel riavviare il programma, anche se questo implica la perdita di tutto il lavoro non salvato svolto fino al momento del blocco. In ogni caso, il programmatore dovrà trovare e correggere l'errore con un procedimento detto debugging. A causa dei possibili rischi per dati importanti, i programmi applicativi commerciali vengono messi a punto e provati con estrema precisione prima di essere distribuiti (vedi Beta Test). I piccoli bug scoperti dopo la commercializzazione di un programma vengono corretti nel primo aggiornamento; ai più gravi si rimedia, in genere, con software appositi, detti patches, che arginano il problema o ne riducono gli effetti. Nell'hardware, un bug è un problema strutturale ricorrente che impedisce a un sistema o gruppo di componenti di operare correttamente. L'origine del termine (bug significa "cimice" o, genericamente, "insetto") risale ai primordi dell'era dei computer, quando un problema all'hardware di un calcolatore elettromeccanico della Harvard University fu causato da una farfalla notturna caduta tra i contatti di un relè. Microprocessore Piccola unità centrale di elaborazione (CPU, Central Processing Unit), impiegata in computer di dimensioni compatte e, come circuito indipendente, in una vasta gamma di altre applicazioni. Numerosissimi sono i dispositivi elettronici di uso quotidiano che funzionano grazie a un microprocessore; tra questi, il televisore, il telefono cellulare, il videoregistratore. L'avvento del microprocessore è stato reso possibile dalla progressiva miniaturizzazione dei circuiti integrati e dall’evoluzione della tecnologia dei semiconduttori. Il primo esemplare fu creato nel 1971 dalla Intel di Santa Clara, in California, e battezzato Intel 4004; in pochi centimetri riuniva le capacità di un intero, gigantesco ENIAC, il primo computer della storia. Microprocessore Il microprocessore è l'unità di elaborazione caratteristica dei personal computer. Si distingue dalle altre CPU (unità centrali di elaborazione) per le dimensioni straordinariamente contenute: su una piccola lastrina di silicio esso ospita tutti i circuiti integrati necessari a leggere, elaborare e memorizzare i dati gestiti dal computer.Jean-Pierre Horlin/The Image Bank 2 STRUTTURA E FUNZIONI Un microprocessore è realizzato su una singola lastrina di silicio, detta wafer o chip, opportunamente protetta da un contenitore di pochi centimetri per lato. Malgrado le piccole dimensioni, riunisce centinaia di migliaia di componenti e può essere programmato per svolgere un gran numero di funzioni. Un microprocessore integrato contiene tipicamente i registri (celle di memoria ad alta velocità), il coprocessore matematico, deputato a eseguire calcoli a virgola mobile, e la ALU (Unità LogicoAritmetica). Dispone inoltre di interfacce per collegarsi a memorie esterne e ad altri sistemi. Esso attinge i dati e le istruzioni da eseguire alla memoria centrale, quindi procede con le elaborazioni e restituisce i dati ottenuti alla memoria centrale. La velocità di esecuzione di questo complesso di operazioni dipende dalla frequenza di clock e dall’architettura del sistema; la prima si misura in MHz (megahertz), la seconda, in bit. 14 3 TIPI DI MICROPROCESSORE Il principale criterio di classificazione dei microprocessori è il numero di bit di informazione che possono essere trasferiti "in parallelo" (contemporaneamente) e conservati nei registri interni. Questo numero è in continuo aumento, grazie allo sviluppo della tecnologia dei circuiti; attualmente sono comuni microprocessori a 8, 16 e 32 bit, e sono già stati sviluppati integrati a 64 bit. 4 BREVE STORIA DEL MICROPROCESSORE Microprocessore Pentium Un'immagine ingrandita di un micorprocessore Pentium, prodotto a partire dal 1993. Contiene più di tre milioni di transistor stipati in pochi millimetri quadrati, circa il triplo del precedente 486.Michael W. Davidson/Photo Researchers, Inc. Dopo l’Intel 4040, considerato il primo microprocessore della storia, Intel ha prodotto dispositivi sempre più veloci e sofisticati. Uno dei primi disponibili per personal computer fu l'Intel 8080, che influenzò l'architettura dello Z80, assai popolare a suo tempo e, meno direttamente, la successiva linea dei microprocessori 80x86 (80286, 80386, 80486 e 80586 o Pentium). Il primo Pentium comparve nel 1993: integrava 3,1 milioni di transistor e vantava il doppio della velocità del precedente 486; oggi il Pentium IV vanta prestazioni straordinarie: un’architettura a 32 bit e non una, ma due unità di elaborazione, ciascuna delle quali è in grado di lavorare a una frequenza di 1500 MHz. La serie 68000, della Motorola, ha trovato invece ampio impiego nella gamma dei computer Macintosh. Negli anni Novanta sono stati sviluppati altri microprocessori per sfruttare il successo delle architetture Reduced Instruction Set Computing (RISC), che hanno incrementato la velocità del processore riducendo la varietà e la complessità dei comandi riconosciuti. L'Advanced RISC Machine (ARM), sviluppata dalla casa britannica Acorn, è stato il primo microprocessore RISC a essere impiegato in un personal computer per uso domestico. 5 PROSPETTIVE Il futuro del microprocessore dipende essenzialmente dallo sviluppo della nanotecnologia. I più recenti risultati della ricerca in questo campo permetteranno presto di realizzare microprocessori straordinariamente veloci: Intel, che ha da poco creato transistor da 20 nm (1 nm = 1 miliardesimo di metro), prevede di poter stipare fino a 1 miliardo di questi dispositivi in un microprocessore, raggiungendo frequenze prossime ai 20 GHz (1 GHz = 1 miliardo di Hz). Accanto alle ricerche volte a miniaturizzare e potenziare le prestazioni del microprocessore, sono in corso studi finalizzati a rendere questo dispositivo sempre più pratico ed economico: è infatti in via di perfezionamento in Europa una tecnologia per la produzione di microprocessori in plastica, realizzati con un procedimento analogo a quello della stampa a getto di inchiostro. I microprocessori plastici, che secondo le previsioni degli scienziati potrebbero comparire sul mercato dopo il 2004, sarebbero un po’ più ingombranti e meno veloci dei più moderni chip in silicio, ma di gran lunga più economici; troverebbero il loro impiego ideale in dispositivi di basso costo quali videogiochi e calcolatori portatili. Sistema di elaborazione Un sistema computer tipico è costituito da un'unità centrale (CPU), da dispositivi di ingresso (tastiera, mouse) e di uscita (video, stampanti) e dalla memoria (disk drive, schede interne). La CPU contiene un'unità che svolge operazioni aritmetico-logiche, alcuni registri per memorizzare dati e istruzioni, un'unità di controllo che gestisce le varie funzioni e un bus interno che collega le varie parti della CPU stessa tra loro e con l'esterno. Transistor Dispositivo a semiconduttore utilizzato nei circuiti di amplificatori, oscillatori, rivelatori e di numerosi altri strumenti per telecomunicazioni. Si tratta di un componente a stato solido costituito 15 da un sottile frammento di cristallo semiconduttore, di solito germanio o silicio, suddiviso in tre zone distinte (terminali), con caratteristiche fisiche diverse. Prima della sua invenzione, le apparecchiature elettroniche erano basate sull'uso dei tubi a vuoto a effetto termoionico, degli amplificatori magnetici e di particolari condensatori utilizzati anch'essi come amplificatori. Esiste un'analogia tra le funzioni osservabili ai terminali di un transistor e quelle di un triodo a vuoto: così come il catodo di un tubo a vuoto, quando viene riscaldato, emette elettroni il cui flusso è modulato dall'anodo, l'emettitore di un transistor bipolare fornisce cariche elettriche mobili (elettroni o lacune), il cui flusso è controllato dal terminale centrale (base). Circuito con transistor Tra i componenti di questo circuito, i transistor sono riconoscibili dalle capsule cilindriche argentate che li ricoprono. Ognuno di essi consiste di un pezzetto di silicio che, "drogato" da un certo numero e tipo di atomi, si comporta come un semiconduttore di tipo n o di tipo p. Inventati nel 1948, i transistor sono componenti fondamentali dei moderni circuiti, in cui possono entrare come amplificatori, interruttori o oscillatori.H. Schneebeli/Science Source/Photo Researchers, Inc. Il transistor fu messo a punto nel 1948, presso i Bell Laboratories, dai fisici americani Walter Houser Brattain, John Bardeen e William Bradford Shockley che, per questa realizzazione, nel 1956 ricevettero il premio Nobel per la fisica. Shockley fu il promotore e il direttore dell'intero programma di ricerca sui materiali semiconduttori; i suoi associati, Brattain e Bardeen, inventarono un particolare tipo di transistor. 16