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.