1 00:00:15,213 --> 00:00:17,568 Ricordi la prima volta in cui hai realizzato 2 00:00:17,568 --> 00:00:18,679 che il tuo computer era più 3 00:00:18,679 --> 00:00:20,742 di un monitor e una tastiera? 4 00:00:20,742 --> 00:00:23,325 Tra il click del mouse e lo scorrere del video, 5 00:00:23,325 --> 00:00:25,598 c'era qualcosa che catturava il vostro intento, 6 00:00:25,598 --> 00:00:26,428 lo capiva, 7 00:00:26,428 --> 00:00:28,650 e lo rendeva reale? 8 00:00:28,650 --> 00:00:30,270 Che cos'è quel qualcosa? 9 00:00:30,270 --> 00:00:32,007 Sono i gremlins? 10 00:00:32,007 --> 00:00:33,665 Immaginiamo di poterci ridurre 11 00:00:33,665 --> 00:00:35,141 alla dimensione di un elettrone 12 00:00:35,141 --> 00:00:37,894 e di introdurci nel click di un mouse. 13 00:00:37,894 --> 00:00:39,531 Se smontate il mouse, 14 00:00:39,531 --> 00:00:42,193 vedrete che è una macchina veramente semplice. 15 00:00:42,193 --> 00:00:43,444 Ha una coppia di pulsanti 16 00:00:43,444 --> 00:00:46,597 e un sistema di rilevamento del movimento e della distanza. 17 00:00:46,597 --> 00:00:48,163 Potreste avere un mouse ottico 18 00:00:48,163 --> 00:00:50,778 che prende queste misure attraverso la luce e i sensori, 19 00:00:50,778 --> 00:00:53,218 quelli vecchi lo facevano con una sfera di gomma dura 20 00:00:53,218 --> 00:00:54,616 e rotelle di plastica. 21 00:00:54,616 --> 00:00:56,325 È lo stesso concetto. 22 00:00:56,325 --> 00:00:58,094 Quando cliccate il pulsante del mouse, 23 00:00:58,094 --> 00:00:59,876 questo invia un messaggio al computer 24 00:00:59,876 --> 00:01:01,825 con informazioni sulla sua posizione. 25 00:01:01,825 --> 00:01:03,491 Quando il click è stato ricevuto, 26 00:01:03,491 --> 00:01:06,880 viene processato dal sottosistema basico input/output. 27 00:01:06,880 --> 00:01:09,444 Il sottosistema fa da occhi, orecchie, 28 00:01:09,444 --> 00:01:12,053 bocca e mani del computer. 29 00:01:12,053 --> 00:01:13,958 In pratica, fornisce al computer un modo 30 00:01:13,958 --> 00:01:16,443 per interagire con il suo ambiente. 31 00:01:16,443 --> 00:01:18,090 Ma fa anche da tampone 32 00:01:18,090 --> 00:01:21,501 evitando che la CPU sia sommersa dalle distrazioni. 33 00:01:21,501 --> 00:01:23,811 In questo caso, il sottosistema I/O stabilisce 34 00:01:23,811 --> 00:01:25,942 che il click è piuttosto importante 35 00:01:25,942 --> 00:01:28,939 perciò genera un'interruzione nella CPU. 36 00:01:28,939 --> 00:01:30,905 "Hey, CPU! Ho qui un click." 37 00:01:31,975 --> 00:01:34,317 La CPU, o Unità di Elaborazione Centrale, 38 00:01:34,327 --> 00:01:36,522 è il cervello dell'intero computer. 39 00:01:36,522 --> 00:01:39,072 Proprio come il cervello non occupa tutto il corpo, 40 00:01:39,072 --> 00:01:41,577 la CPU non occupa tutto il computer, 41 00:01:41,577 --> 00:01:44,262 ma dirige ugualmente lo spettacolo. 42 00:01:44,262 --> 00:01:46,776 Il lavoro della CPU, tutto il suo lavoro, 43 00:01:46,776 --> 00:01:48,444 è prendere istruzioni dalla memoria 44 00:01:48,444 --> 00:01:50,451 ed eseguirle. 45 00:01:50,451 --> 00:01:52,380 Così, mentre scrivete e scrivete, 46 00:01:52,380 --> 00:01:53,610 magari molto velocemente, 47 00:01:53,610 --> 00:01:55,088 come 60 parole al minuto, 48 00:01:55,088 --> 00:01:57,090 la CPU sta prendendo ed eseguendo 49 00:01:57,090 --> 00:01:59,137 miliardi di istruzioni al secondo. 50 00:01:59,137 --> 00:02:02,176 Si, miliardi ogni secondo: 51 00:02:02,176 --> 00:02:04,982 le istruzioni per muovere il mouse sullo schermo, 52 00:02:04,982 --> 00:02:07,145 per far funzionare l'orologio nel desktop, 53 00:02:07,145 --> 00:02:08,822 ascoltare la radio in Internet, 54 00:02:08,822 --> 00:02:11,115 gestire i file che modificate sul disco rigido, 55 00:02:11,115 --> 00:02:12,900 e molto, molto altro ancora. 56 00:02:12,900 --> 00:02:16,160 La CPU del vostro computer è un formidabile multitasker! 57 00:02:16,743 --> 00:02:17,613 "Però, caspita 58 00:02:17,613 --> 00:02:18,909 c'è un click del mouse 59 00:02:18,909 --> 00:02:20,030 che sta arrivando! 60 00:02:20,030 --> 00:02:22,560 Lasciamo perdere tutto e occupiamoci di quello!" 61 00:02:23,097 --> 00:02:24,604 Ci sono programmi per tutto ciò 62 00:02:24,604 --> 00:02:26,336 che la CPU fa. 63 00:02:26,336 --> 00:02:28,058 Un programma speciale per il mouse, 64 00:02:28,058 --> 00:02:29,092 per l'orologio, 65 00:02:29,092 --> 00:02:30,303 per la radio in Internet, 66 00:02:30,303 --> 00:02:32,834 e per gestire le lettere inviate dalla tastiera. 67 00:02:33,305 --> 00:02:35,588 Inizialmente ogni programma era scritto dall'uomo 68 00:02:35,588 --> 00:02:37,906 in un linguaggio di programmazione leggibile, 69 00:02:37,906 --> 00:02:38,765 come Java, 70 00:02:38,765 --> 00:02:39,798 C++, 71 00:02:39,798 --> 00:02:41,219 o Python. 72 00:02:41,219 --> 00:02:43,741 Ma i programmi umani occupavano molto spazio 73 00:02:43,741 --> 00:02:47,450 e contenevano molti dati non necessari al computer, 74 00:02:47,450 --> 00:02:49,191 perciò vengono compilati e ridotti 75 00:02:49,191 --> 00:02:52,653 e sistemati in bit uno e zero nella memoria. 76 00:02:52,653 --> 00:02:55,410 La CPU si accorge che servono istruzioni 77 00:02:55,410 --> 00:02:57,201 per occuparsi di questo click, 78 00:02:57,201 --> 00:02:59,630 quindi cerca l'indirizzo del programma del mouse 79 00:02:59,630 --> 00:03:01,955 e invia una richiesta al sottosistema di memoria 80 00:03:01,955 --> 00:03:04,179 in cerca di istruzioni depositate lì. 81 00:03:05,287 --> 00:03:07,216 Ogni istruzione nel driver del mouse 82 00:03:07,216 --> 00:03:09,742 è debitamente presa ed eseguita. 83 00:03:09,742 --> 00:03:12,113 E siamo solo agli inizi! 84 00:03:12,113 --> 00:03:14,594 Poiché la CPU sa che il mouse è stato cliccato 85 00:03:14,594 --> 00:03:16,266 quando il cursore era sull'immagine 86 00:03:16,266 --> 00:03:18,347 di un pulsante sullo schermo del monitor, 87 00:03:18,347 --> 00:03:21,248 allora la CPU richiede chiede memoria per il programma del monitor 88 00:03:21,248 --> 00:03:23,353 per scoprire quale sia quel pulsante. 89 00:03:23,353 --> 00:03:25,601 Poi la CPU deve richiedere memoria 90 00:03:25,601 --> 00:03:27,367 per il programma del pulsante, 91 00:03:27,367 --> 00:03:29,068 ciò significa che la CPU ha bisogno 92 00:03:29,068 --> 00:03:30,688 di nuovo del programma del monitor 93 00:03:30,688 --> 00:03:32,860 per mostrare il video associato al pulsante, 94 00:03:32,860 --> 00:03:34,742 e così via. 95 00:03:34,742 --> 00:03:37,487 Diciamo solo che ci sono tanti programmi che intevengono 96 00:03:37,487 --> 00:03:39,722 ancor prima di vedere il pulsante sullo schermo 97 00:03:39,722 --> 00:03:41,379 accendersi quando lo cliccate. 98 00:03:41,379 --> 00:03:43,848 Dunque, solo il semplice click del mouse 99 00:03:43,848 --> 00:03:46,216 implica controllare tutti i componenti essenziali 100 00:03:46,216 --> 00:03:48,196 dell'architettura del computer: 101 00:03:48,196 --> 00:03:49,238 le periferiche, 102 00:03:49,238 --> 00:03:51,047 il sistema basico input/output, 103 00:03:51,047 --> 00:03:52,379 la CPU, 104 00:03:52,379 --> 00:03:53,154 i programmi, 105 00:03:53,154 --> 00:03:54,140 e la memoria, 106 00:03:54,140 --> 00:03:56,133 e nemmeno un gremlin.