4 Creare contenuti per il web - Andrea Giachetti

4 Creare contenuti per il web - Andrea Giachetti 4 Creare contenuti per il web - Andrea Giachetti

andreagiachetti.it
from andreagiachetti.it More from this publisher
12.12.2012 Views

8 1 Computer ed informazione digitale La possibilità di creare contenuti e comunicare che abbiamo a disposizione grazie ai moderni computer ed a tutta la serie di strumenti elettronici portatili o “nascosti” negli oggetti che ci circondano (cellulari, navigatori, agende, iPod e quant'altro) ha origine nella straordinaria evoluzione che gli strumenti e le applicazioni dell'informatica hanno avuto nell'arco degli ultimi decenni. Per capire il mondo di Internet, degli smartphone, dei social network e dell'e-learning, le informazioni di base che servono sono le stesse che si studiano nell'informatica di base, ed hanno a che fare sostanzialmente con il funzionamento di un calcolatore elettronico e la codifica digitale dell'informazione. Cerchiamo, quindi, di riassumerne brevemente i principi fondamentali. 1.1 Funzionamento ed applicazioni del calcolatore I moderni ”personal computer” (PC), ma anche tutti gli elaboratori “nascosti” ormai in moltissimi oggetti di uso comune (telefoni, lettori, multimediali, navigatori, televisori, ecc.) sono calcolatori elettronici che funzionano in maniera non dissimile dai primi elaboratori grossi come armadi che risalgono agli anni cinquanta del secolo scorso e che si vedono nei vecchi film di fantascienza. Essi ricevono in ingresso (input) i dati e i programmi per elaborare gli stessi ed eseguono automaticamente le operazioni programmate memorizzando e rappresentando su qualche dispositivo di uscita (output) il risultato dell'elaborazione. La peculiarità dei calcolatori elettronici sta nel fatto che i dati che memorizzano ed elaborano sono digitali, ovvero numeri o più esattamente sequenze di cifre binarie (0 e 1) che nel calcolatore elettronico sono codificati mediante quantità fisiche come livelli bassi o alti di tensione, carica di condensatori, magnetizzazione di aree o altro segnale codificato da due stati differenti. L'elaborazione di questi dati consiste in sequenze delle operazioni elementari che sono consentite dai circuiti della CPU (Central Processing Unit, cioè quel dispositivo che nella sua realizzazione fisica chiamiamo anche microprocessore): operazioni aritmetiche e logiche sulle sequenze (stringhe) di bit, spostamenti di dati in memoria. L'architettura base di tutti i calcolatori è rimasta quella introdotta da Von Neumann nel dopoguerra e schematizzata in Figura 1: dati e programmi sono inseriti in una memoria centrale che altro non è che un casellario di dati binari, che vengono continuamente aggiornati dai calcoli (operazioni aritmetiche e logiche) fatti dalla CPU seguendo gli ordini impartiti dall'utente mediante l'inserimento nella memoria centrale di liste di operazioni da eseguire (programmi). Ovviamente i calcolatori e i sistemi che li gestiscono sono diventati nel tempo sempre più complessi: oggi possiamo avere più CPU all'interno dello stesso calcolatore o dello stesso microprocessore (nei processori cosiddetti multicore), diversi tipi di bus di comunicazione (cioè di canali attraverso i quali i dati passano dalle memorie alla CPU e ai dispositivi periferici), e sono molto cambiati i sistemi di gestione dell'input/output. Tuttavia, nei suoi principi Input Memoria Centrale CPU Output di funzionamento, il calcolatore è sempre la Figura 1: Architettura di Von Neumann

Computer ed informazione digitale 9 stessa cosa: un dispositivo capace di memorizzare ed elaborare dati digitali sulla base di sequenze di comandi preordinati. Nel corso degli anni, però, sono cresciute in modo esponenziale la potenza di calcolo delle CPU, la quantità di spazio a disposizione per memorizzare i dati e le velocità di trasferimento degli stessi all'interno ed all'esterno della macchina. Questo ha consentito di cambiare radicalmente le modalità di interazione con la macchina. E' probabilmente nota a tutti la famosa “legge di Moore”, un'ipotesi avanzata negli anni 60 da Gordon Moore, co-fondatore di Intel (nota casa produttrice di microprocessori) che prevedeva una crescita esponenziale (cioè un raddoppio ogni 18 mesi) del numero di transistor dei processori (e quindi un simile incremento delle capacità di calcolo) e che si è sostanzialmente rivelata esatta fino al nuovo millennio. Oggi acquistiamo normalmente personal computer con CPU che lavorano a frequenze intorno ai 2 GigaHertz, il ché significa che in un secondo vengono eseguiti in esse due miliardi di operazioni elementari sincronizzate dai cicli del clock, cioè dell'orologio che scandisce i tempi dell'attività della CPU stessa. Questo fa capire come un moderno calcolatore possa interagire in tempo reale con l'utente (nel tempo in cui inseriamo un dato o ci accorgiamo di un cambiamento sullo schermo, dell'ordine del decimo di secondo, la CPU ha tempo di accorgersi dell'azione dell'utente, eseguire milioni di operazioni di calcolo, cambiare la rappresentazione sullo schermo, e così via. Un moderno PC ha, poi, una memoria RAM dell'ordine dei Gigabyte, cioè milioni di milioni di byte. Questo consente, ad esempio, di elaborare dati digitali che non rappresentano solo numeri o caratteri di testo, ma codificano anche grandezze fisiche come suoni ed immagini, consentendo le moderne applicazioni multimediali (anche grazie allo sviluppo di efficienti tecniche di codifica e compressione che permettono di rappresentare i dati multimediali utilizzando una quantità ridotta di memoria e di cui parleremo nel capitolo 5). I calcolatori moderni sono inoltre dotati di dispositivi di memorizzazione di massa (cioè memorie che mantengono i dati permanentemente a macchina spenta) di grandissima capacità, ovvero dischi rigidi che oggi arrivano al Terabyte, cioè milioni di miliardi di byte, ma anche CD, DVD, Blu-Ray, memorie flash, che permettono di salvare permanentemente tali dati e averli accessibili all'occorrenza. 1.2 Algoritmi e programmi L'incredibilmente grande capacità di calcolo e memorizzazione (ossia la potenza dell'hardware) non basta, però, a capire come mai i calcolatori siano diventati strumenti così versatili ed utilizzati per le più disparate applicazioni. Per capirlo dobbiamo considerare quindi anche l'evoluzione del software, cioè dei programmi che vengono fatti eseguire ai calcolatori e dei dati che questi elaborano. I primi calcolatori venivano utilizzati per compiere operazioni ripetitive su dati perlopiù numerici oppure risolvere automaticamente problemi matematici di cui sia nota la metodologia di soluzione (ad esempio risolvere un'equazione di secondo grado dati i coefficienti o trovare il volume di un solido dati i parametri geometrici): sebbene la complicazione tecnica sia notevole, il fatto che tali compiti si possano realizzare con lo strumento elettronico è intuitivo. Basta infatti avere una rappresentazione binaria dei dati di interesse e tradurre le operazioni necessarie a completare l'elaborazione richiesta in una serie di azioni eseguibili dalla CPU. Svolgere questo compito è quello che in informatica si dice implementare (cioè realizzare in pratica) un algoritmo, creando un programma eseguibile. Nei primi modelli di calcolatore questo comportava un enorme lavoro di codifica, dato che era necessario scrivere direttamente il programma nel

8<br />

1 Computer ed informazione digitale<br />

La possib<strong>il</strong>ità di creare <strong>contenuti</strong> e comunicare che abbiamo a disposizione grazie ai moderni<br />

computer ed a tutta la serie di strumenti elettronici portat<strong>il</strong>i o “nascosti” negli oggetti che ci<br />

circondano (cellulari, navigatori, agende, iPod e quant'altro) ha origine nella straordinaria<br />

evoluzione che gli strumenti e le applicazioni dell'informatica hanno avuto nell'arco degli ultimi<br />

decenni. Per capire <strong>il</strong> mondo di Internet, degli smartphone, dei social network e dell'e-learning,<br />

le informazioni di base che servono sono le stesse che si studiano nell'informatica di base, ed<br />

hanno a che fare sostanzialmente con <strong>il</strong> funzionamento di un calcolatore elettronico e la codifica<br />

digitale dell'informazione. Cerchiamo, quindi, di riassumerne brevemente i principi<br />

fondamentali.<br />

1.1 Funzionamento ed applicazioni del calcolatore<br />

I moderni ”<strong>per</strong>sonal computer” (PC), ma anche tutti gli elaboratori “nascosti” ormai in<br />

moltissimi oggetti di uso comune (telefoni, lettori, multimediali, navigatori, televisori, ecc.)<br />

sono calcolatori elettronici che funzionano in maniera non dissim<strong>il</strong>e dai primi elaboratori grossi<br />

come armadi che risalgono agli anni cinquanta del secolo scorso e che si vedono nei vecchi f<strong>il</strong>m<br />

di fantascienza. Essi ricevono in ingresso (input) i dati e i programmi <strong>per</strong> elaborare gli stessi<br />

ed eseguono automaticamente le o<strong>per</strong>azioni programmate memorizzando e rappresentando su<br />

qualche dispositivo di uscita (output) <strong>il</strong> risultato dell'elaborazione.<br />

La peculiarità dei calcolatori elettronici sta nel fatto che i dati che memorizzano ed elaborano<br />

sono digitali, ovvero numeri o più esattamente sequenze di cifre binarie (0 e 1) che nel<br />

calcolatore elettronico sono codificati mediante quantità fisiche come livelli bassi o alti di<br />

tensione, carica di condensatori, magnetizzazione di aree o altro segnale codificato da due stati<br />

differenti. L'elaborazione di questi dati consiste in sequenze delle o<strong>per</strong>azioni elementari che<br />

sono consentite dai circuiti della CPU (Central Processing Unit, cioè quel dispositivo che nella<br />

sua realizzazione fisica chiamiamo anche microprocessore): o<strong>per</strong>azioni aritmetiche e logiche<br />

sulle sequenze (stringhe) di bit, spostamenti di dati in memoria.<br />

L'architettura base di tutti i calcolatori è rimasta quella introdotta da Von Neumann nel<br />

dopoguerra e schematizzata in Figura 1: dati e programmi sono inseriti in una memoria<br />

centrale che altro non è che un casellario di dati binari, che vengono continuamente aggiornati<br />

dai calcoli (o<strong>per</strong>azioni aritmetiche e logiche) fatti dalla CPU seguendo gli ordini impartiti<br />

dall'utente mediante l'inserimento nella memoria centrale di liste di o<strong>per</strong>azioni da eseguire<br />

(programmi). Ovviamente i calcolatori e i<br />

sistemi che li gestiscono sono diventati nel<br />

tempo sempre più complessi: oggi possiamo<br />

avere più CPU all'interno dello stesso<br />

calcolatore o dello stesso microprocessore<br />

(nei processori cosiddetti multicore), diversi<br />

tipi di bus di comunicazione (cioè di canali<br />

attraverso i quali i dati passano dalle<br />

memorie alla CPU e ai dispositivi <strong>per</strong>iferici),<br />

e sono molto cambiati i sistemi di gestione<br />

dell'input/output. Tuttavia, nei suoi principi<br />

Input<br />

Memoria<br />

Centrale<br />

CPU<br />

Output<br />

di funzionamento, <strong>il</strong> calcolatore è sempre la Figura 1: Architettura di Von Neumann

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!