Ricordi la prima volta in cui hai realizzato
che il tuo computer era più
di un monitor e una tastiera?
Tra il click del mouse e lo scorrere del video,
c'era qualcosa che catturava il vostro intento,
lo capiva,
e lo rendeva reale?
Che cos'è quel qualcosa?
Sono i gremlins?
Immaginiamo di poterci ridurre
alla dimensione di un elettrone
e di introdurci nel click di un mouse.
Se smontate il mouse,
vedrete che è una macchina veramente semplice.
Ha una coppia di pulsanti
e un sistema di rilevamento del movimento e della distanza.
Potreste avere un mouse ottico
che prende queste misure attraverso la luce e i sensori,
quelli vecchi lo facevano con una sfera di gomma dura
e rotelle di plastica.
È lo stesso concetto.
Quando cliccate il pulsante del mouse,
questo invia un messaggio al computer
con informazioni sulla sua posizione.
Quando il click è stato ricevuto,
viene processato dal sottosistema basico input/output.
Il sottosistema fa da occhi, orecchie,
bocca e mani del computer.
In pratica, fornisce al computer un modo
per interagire con il suo ambiente.
Ma fa anche da tampone
evitando che la CPU sia sommersa dalle distrazioni.
In questo caso, il sottosistema I/O stabilisce
che il click è piuttosto importante
perciò genera un'interruzione nella CPU.
"Hey, CPU! Ho qui un click."
La CPU, o Unità di Elaborazione Centrale,
è il cervello dell'intero computer.
Proprio come il cervello non occupa tutto il corpo,
la CPU non occupa tutto il computer,
ma dirige ugualmente lo spettacolo.
Il lavoro della CPU, tutto il suo lavoro,
è prendere istruzioni dalla memoria
ed eseguirle.
Così, mentre scrivete e scrivete,
magari molto velocemente,
come 60 parole al minuto,
la CPU sta prendendo ed eseguendo
miliardi di istruzioni al secondo.
Si, miliardi ogni secondo:
le istruzioni per muovere il mouse sullo schermo,
per far funzionare l'orologio nel desktop,
ascoltare la radio in Internet,
gestire i file che modificate sul disco rigido,
e molto, molto altro ancora.
La CPU del vostro computer è un formidabile multitasker!
"Però, caspita
c'è un click del mouse
che sta arrivando!
Lasciamo perdere tutto e occupiamoci di quello!"
Ci sono programmi per tutto ciò
che la CPU fa.
Un programma speciale per il mouse,
per l'orologio,
per la radio in Internet,
e per gestire le lettere inviate dalla tastiera.
Inizialmente ogni programma era scritto dall'uomo
in un linguaggio di programmazione leggibile,
come Java,
C++,
o Python.
Ma i programmi umani occupavano molto spazio
e contenevano molti dati non necessari al computer,
perciò vengono compilati e ridotti
e sistemati in bit uno e zero nella memoria.
La CPU si accorge che servono istruzioni
per occuparsi di questo click,
quindi cerca l'indirizzo del programma del mouse
e invia una richiesta al sottosistema di memoria
in cerca di istruzioni depositate lì.
Ogni istruzione nel driver del mouse
è debitamente presa ed eseguita.
E siamo solo agli inizi!
Poiché la CPU sa che il mouse è stato cliccato
quando il cursore era sull'immagine
di un pulsante sullo schermo del monitor,
allora la CPU richiede chiede memoria per il programma del monitor
per scoprire quale sia quel pulsante.
Poi la CPU deve richiedere memoria
per il programma del pulsante,
ciò significa che la CPU ha bisogno
di nuovo del programma del monitor
per mostrare il video associato al pulsante,
e così via.
Diciamo solo che ci sono tanti programmi che intevengono
ancor prima di vedere il pulsante sullo schermo
accendersi quando lo cliccate.
Dunque, solo il semplice click del mouse
implica controllare tutti i componenti essenziali
dell'architettura del computer:
le periferiche,
il sistema basico input/output,
la CPU,
i programmi,
e la memoria,
e nemmeno un gremlin.