L’utilizzo dei computer sta crescendo in quasi tutti i campi delle attività umane.
In un’era di costi costantemente in crescita, quelli della elaborazione elettronica sono diminuiti vertiginosamente, a causa dei rapidissimi sviluppi della tecnologia hardware e software.
Quei computer che, solo una ventina di anni fa, potevano riempire grandi stanze e costavano milioni di dollari, oggi possono essere prodotti su lamine di silicio (chip) più piccole di un’unghia, che costano forse pochi dollari.
Ironicamente, il silicio è uno dei materiali più abbondanti sulla terra: è un ingrediente della sabbia comune.
La tecnologia del chip di silicio ha reso l’elaborazione elettronica così economica che, in tutto il mondo, sono in uso centinaia di milioni di computer general-purpose (per scopi generici), aiutando la gente negli affari, nell’industria, nel governo e nelle loro vite personali, che potrebbero facilmente raddoppiarsi in una manciata di anni.
Ma vediamo meglio che cos’è un computer, la sua organizzazione, l’evoluzione dei sistemi operativi, la storia di internet e del World Wide Web.
1. Che cosa è un computer?
Un computer è un dispositivo in grado di eseguire dei calcoli e di prendere delle decisioni logiche, il tutto a una velocità superiore di milioni e anche miliardi di volte a quella degli esseri umani.
Oggi per esempio, molti personal computer possono eseguire decine di milioni di addizioni per secondo.
Una persona che operi a una calcolatrice da tavolo potrebbe aver bisogno di una vita intera, per completare lo stesso numero di calcoli che un personal computer può eseguire in un secondo.
I supercomputer più veloci oggi possono eseguire centinaia di miliardi di addizioni per secondo.
E nei laboratori di ricerca stanno già funzionando computer in grado di eseguire migliaia di miliardi di istruzioni per secondo.
I computer elaborano i dati sotto il controllo di insiemi di istruzioni chiamati programmi per computer. Tali programmi guidano il computer per mezzo di insiemi ordinati di azioni specificati da persone chiamate programmatori di computer.
Un computer è composto da vari dispositivi (come la tastiera, lo schermo, il mouse, i dischi, la memoria, i lettori di DVD e CD-ROM e le unità di elaborazione) che sono chiamati complessivamente hardware.
I programmi che possono essere eseguiti su un computer sono chiamati software.
Il costo dell’hardware è diminuito vertiginosamente negli ultimi anni, al punto che il personal computer è diventato un oggetto di uso comune.
Sfortunatamente, per decenni i costi di sviluppo del software sono andati aumentando costantemente man mano che i programmatori hanno sviluppato applicazioni sempre più potenti e complesse, senza miglioramenti significativi nella tecnologia di sviluppo del software.
2. L’organizzazione del computer
Indipendentemente dalle differenti apparenze fisiche, ogni computer può essere virtualmente concepito come suddiviso in sei unità logiche o sezioni:
- Unità di input (ingresso di dati): questa è la sezione “ricevente” del computer. Essa ottiene informazioni (dati e programmi per il computer) dai dispositivi di input e mette queste informazioni a disposizione delle altre unità, in modo che possano essere elaborate.
La maggior parte delle informazioni oggigiorno è immessa nei computer attraverso una tastiera e un mouse. E’ anche possibile inserire informazioni per mezzo del riconoscimento vocale, da immagini acquisite tramite scanner e ricevendo dei dati da una rete come Internet. - Unità di output (uscita di dati): questa è la sezione di “spedizione” del computer". Essa prende l’informazione che è stata elaborata dal computer e la invia a diversi dispositivi di output, in modo da renderla disponibile per l’utilizzo all’esterno del computer.
Oggigiorno la maggior parte delle informazioni è inviata all’esterno dei computer attraverso la visualizzazione sullo schermo, la stampa su carta oppure per controllare altri dispositivi. I computer possono anche inviare le loro informazioni a delle reti come Internet. - Unità di memoria: questa è la sezione di “magazzino” con accesso rapido e capacità relativamente bassa del computer. Essa conserva le informazioni che sono state immesse attraverso l’unità di input, in modo che possano essere rese immediatamente disponibili quando saranno necessarie.
L’unità di memoria conserva anche le informazioni che sono già state elaborate, fintanto che possano ancora essere inviate ai dispositivi di output dalla corrispondente unità. L’unità di memoria è spesso chiamata anche memoria o memoriaprimaria. - Unità aritmetica e logica (ALU): questa è la sezione di “produzione” del computer. È responsabile dell’esecuzione dei calcoli come le somme, le sottrazioni, le moltiplicazioni e le divisioni. Essa contiene i meccanismi di decisione che consentono al computer, per esempio, di confrontare due elementi prelevati dalla unità di memoria, per determinare se sono uguali.
- Unità di elaborazione centrale (CPU): questa è la sezione “amministrativa” del computer. È il coordinatore del computer ed è responsabile della supervisione per le operazioni del le altre sezioni.
La CPU indica alla unità di input il momento in cui le informazioni dovranno essere lette nella unità di memoria, indica alla ALU, il momento in cui le informazioni della memoria dovranno essere utilizzate per i calcoli, e indica alla unità di output il momento in cui dovrà inviare le informazioni dalla unità di memoria a certi dispositivi di output.
Molti computer al giorno d’oggi hanno diverse unità di elaborazione centrale e quindi possono portare a termine molte operazioni contemporaneamente; tali computer sono chiamati multiprocessore. - Unità di memoria secondaria: questa è la sezione di “magazzino” a lungo termine e con alta capacità del computer. I programmi e i dati, che in un certo momento non sono utilizzati dalle altre unità, saranno normalmente sistemati su un dispositivo di memoria secondaria (come i dischi), finché non saranno nuovamente necessari; probabilmente ore, giorni, mesi o anche anni più tardi.
I tempi di accesso alle informazioni memorizzate nella memoria secondaria sono molto più alti di quelli necessari per accedere alle informazioni memorizzate nelle memoria primaria; tuttavia il costo unitario della memoria secondaria è molto minore di quello della memoria primaria.
3. L’evoluzione dei sistemi operativi
I primi computer erano in grado di eseguire soltanto un job (processo) o un task (lavoro) alla volta.
Questo modo di operare dei computer è spesso chiamato elaborazione batch (elaborazione a lotti) monoutente.
Il computer esegue un solo programma per volta, mentre i dati sono elaborati in gruppi ossia batch. In questi primi sistemi, generalmente, gli utenti sottoponevano i loro processi al centro di elaborazione in mazzi di schede perforate.
Gli utenti dovevano spesso aspettare ore, o anche giorni, prima che i tabulati fossero restituiti alle loro scrivanie.
Per rendere più agevole l’utilizzo dei computer, venne sviluppato un software particolare chiamato sistema operativo. I primi sistemi operativi avevano il compito di gestire scorrevolmente la transizione fra i vari job.
Ciò rendeva minimo il tempo necessario agli operatori per passare da un job all’altro, aumentando così la quantità di lavoro, o velocità di elaborazione, che i computer potevano sostenere.
Man mano che i computer sono diventati più potenti, si è reso evidente che l’elaborazione batch monoutente utilizzava raramente in modo efficiente le risorse del computer, in quanto la maggior parte del tempo veniva spesa aspettando il completamento del lavoro dei lenti dispositivi di input/output.
Si pensò quindi di fare in modo che molti processi o lavori potessero condividere (share) le risorse del computer per ottenerne un miglior utilizzo. Questo modo di operare è detto multiprogrammazione.
La multiprogrammazione richiede l'elaborazione “simultanea” di molti processi sul computer: questo, in altre parole, condivide le proprie risorse tra i vari processi che competono per la sua attenzione.
Con i primi sistemi operativi in multiprogrammazione però, gli utenti dovevano ancora sottoporre i processi su mazzi di schede perforate e attendere ore o giorni per i risultati.
Negli anni ’60, molti gruppi industriali e le università concepirono i sistemi operativi con timesharing (condivisione del tempo). Il timesharing è un caso speciale di multiprogrammazione per mezzo del quale gli utenti accedono al computer attraverso dei terminali, ovvero, dei dispositivi dotati di tastiera e schermo.
In un tipico sistema di computer in timesharing, potrebbero esserci dozzine o anche centinaia di utenti che condividono contemporaneamente il computer. In realtà, il computer non serve tutti gli utenti in modo simultaneo.
Esso esegue piuttosto una piccola porzione del processo di un utente e in seguito presta il proprio servizio all'utente successivo. Il computer fa tutto ciò così velocemente che, in un secondo, è in grado di fornire molte volte il proprio servizio a ogni utente.
In questo modo i programmi degli utenti sembrano girare simultaneamente. Un vantaggio del timesharing è che l'utente riceve una risposta alla sua richiesta in modo pressoché immediato invece di dover aspettare lunghi intervalli di tempo come avveniva con i precedenti modelli di elaborazione.
Nel 1977, la Apple Computer rese popolare il fenomeno della elaborazione personale. Al principio, questa era il sogno di ogni hobbista. I computer divennero abbastanza economici perché la gente potesse comprarli per il proprio uso personale o per i propri affari.
Nel 1981, la IBM, il maggior fornitore di computer nel mondo, introdusse il Personal Computer IBM (nella foto). In seguito a ciò rapidamente l’elaborazione personale diventò legittima negli affari, nell’industria e nelle organizzazioni governative.
Questi computer erano però delle unità “indipendenti”: la gente eseguiva il proprio lavoro sulla propria macchina e quindi trasportava avanti e indietro dei dischi, per condividere le informazioni.
Per quanto i primi personal computer non fossero abbastanza potenti da gestire molti utenti in timesharing, queste macchine potevano però essere collegate insieme in reti di computer, a volte su linee telefoniche e a volte in reti locali (LAN: Locai Area Network) all’interno di una organizzazione.
Ciò ha portato al fenomeno della elaborazione distribuita, in cui il carico di elaborazione di una organizzazione è distribuito attraverso le reti alle varie postazioni in cui viene svolto effettivamente il lavoro.
4. La storia di Internet
Nei tardi anni ’60, l’ARPA - Advanced Research Projects Agency of the Department of Defense, l’Agenzia dei Progetti di Ricerca Avanzata del Dipartimento della Difesa, sostenne finanziariamente una conferenza presso l’Università dell’Illinois a Urbana-Champaign a cui parteciparono molti laureati che seguivano corsi di specializzazione finanziati dalla stessa ARPA per incontrarsi e scambiarsi delle idee.
Nel corso della conferenza l'ARPA presentò i progetti per collegare in rete i computer centrali di una dozzina circa di università e istituzioni di ricerca da essa finanziate.
Dovevano essere connessi per mezzo di linee di comunicazione operanti all'allora stupefacente velocità di 56 Kb (ovvero, 56.000 bit al secondo), in un’epoca in cui la maggior parte delle persone (delle poche che potevano permetterselo) si collegavano ai computer su linee telefoniche alla velocità di 110 bit al secondo.
I ricercatori di Harvard in Massachusetts parlavano di comunicazione attraverso il paese con il “supercomputer” Univac 1108 situato presso l'Università dello Utah per elaborare i calcoli relativi alla loro ricerca nel campo della computer grafica.
Molte altre stimolanti possibilità venivano presentate. La ricerca accademica era sul punto di fare un gigantesco balzo in avanti. In breve tempo dopo quella conferenza, l'ARPA procedette a realizzare quella che venne presto chiamata ARPAnet, il predecessore dell'odierna Internet.
I fatti si evolsero in modo differente da quanto originalmente pianificato. Nonostante ARPAnet consentisse ai ricercatori di condividere i rispettivi computer l’uno con l’altro, il suo beneficio principale si dimostrò essere la sua capacità di comunicazione facile e veloce per mezzo dello strumento che divenne noto come posta elettronica (e-mail).
Ciò è vero ancora oggi su Internet, per mezzo dell'e-mail che facilita comunicazioni di ogni tipo fra centinaia di milioni di persone in tutto il mondo.
Uno degli obiettivi principali dell’ARPA per la rete era di consentire a più utenti di inviare e ricevere informazione allo stesso tempo sugli stessi percorsi di comunicazione (come le linee telefoniche).
La rete funzionava con una tecnica chiamata commutazione di pacchetto per cui i dati digitali venivano inviati in piccole unità chiamate pacchetti. Questi ultimi contenevano i dati, l’informazione sull’indirizzo, i codici di controllo degli errori e l’informazione di sequenziamento.
L’informazione sull’indirizzo era utilizzata per instradare i pacchetti verso la loro destinazione. L’informazione di sequenziamento era usata per effettuare il riassemblaggio dei pacchetti (che - a causa della complessità dei meccanismi di instradamento - avrebbero potuto arrivare in modo disordinato) nella loro sequenza originale per poter essere presentati al destinatario.
Pacchetti appartenenti a diverse persone si mischiavano nelle linee telefoniche. Questa tecnica di commutazione di pacchetto ridusse enormemente i costi di trasmissione se paragonati a quelli delle linee di comunicazione dedicate.
La rete era progettata per operare senza un controllo centralizzato. Ciò significa che se una parte di essa avesse avuto un guasto, le parti funzionanti rimanenti sarebbero state ancora in grado di instradare i pacchetti dai mittenti ai destinatari su percorsi alternativi.
II protocollo per comunicare su ARPAnet divenne noto come TCP - Transmission Control Protocol, protocollo di controllo della trasmissione. Il TCP assicurava che i messaggi venissero instradati in modo opportuno dal mittente al destinatario e che arrivassero integri.
Parallelamente alla prima evoluzione di Internet, le organizzazioni in tutto il mondo stavano realizzando le proprie reti sia per la comunicazione entro l’organizzazione che per la comunicazione fra diverse organizzazioni. Comparve un’enorme varietà di hardware e software di rete.
Fare in modo che questi ultimi comunicassero fra loro era una sfida. L’ARPA la vinse grazie allo sviluppo di IP - Internetworking Protocol, il protocollo per il collegamento fra reti, creando realmente una “rete delle reti”, l’attuale architettura di Internet. L’insieme congiunto di protocolli è ora comunemente chiamato TCP/IP.
Agli inizi l’utilizzo di Internet era limitato ai college e alle istituzioni di ricerca; in seguito le strutture militari divennero un utente importante. Alla fine il governo decise di consentire l’accesso a Internet per scopi commerciali.
Dapprima ci fu risentimento nelle comunità del mondo della ricerca e dei militari - si riteneva che i tempi di risposta sarebbero diventati scadenti non appena “la rete” fosse stata saturata da così tanti utenti. In realtà avvenne esattamente l’opposto.
Le imprese intuirono rapidamente che, tramite un utilizzo efficace di Internet, avrebbero potuto mettere a punto le proprie operazioni e offrire servizi nuovi e migliori ai loro clienti, così iniziarono a investire ingenti somme di denaro per sviluppare e migliorare Internet.
Tale fatto generò una feroce competizione fra i fornitori di infrastrutture di comunicazione e fra i fornitori di hardware e software per soddisfare la domanda. Il risultato è che la larghezza di banda (ovvero, la capacità di trasportare informazioni delle linee di comunicazione) su Internet è cresciuta enormemente, mentre i costi sono precipitati.
In tutto il mondo i paesi ora comprendono che Internet è di cruciale importanza per la loro prosperità economica e la loro competitività.
5. La storia del World Wide Web
Il World Wide Web permette agli utenti di computer di trovare e visualizzare su Internet documenti multimediali (ovvero, documenti composti da testo, grafica, animazioni, audio e/ o video) su praticamente qualunque argomento.
Nonostante Internet sia stata sviluppata più di trenta anni fa, l’introduzione del World Wide Web è un evento relativamente recente.
Nel 1990, Tim Berners-Lee del CERN (il laboratorio europeo per la fisica delle particelle) sviluppò il World Wide Web e molti protocolli di comunicazione che costituiscono la sua spina dorsale.
Internet e il World Wide Web compariranno sicuramente nell’elenco delle più importanti e profonde opere creative dell’umanità.
Nel passato la maggior parte delle applicazioni per calcolatori giravano su computer “isolati”, ovvero, computer che non erano connessi gli uni agli altri.
Le applicazioni odierne possono essere scritte per comunicare fra le centinaia di milioni di computer nel mondo. Internet combina le tecnologie di elaborazione e comunicazione.
Rende il nostro lavoro più facile. Fa in modo che l’informazione sia istantaneamente e comodamente accessibile in tutto il mondo.
Rende possibile agli individui e alle piccole imprese il fatto di essere visibili a livello mondiale. Sta cambiando il modo di condurre gli affari.
La gente può ricercare i prezzi migliori di praticamente ogni prodotto o servizio. Comunità che coltivano interessi particolari possono rimanere in contatto fra loro.
I ricercatori possono essere al corrente in modo immediato delle ultime conquiste a livello mondiale.