1 00:00:15,000 --> 00:00:17,000 ¿Recuerdas la primera vez que te diste cuenta 2 00:00:17,000 --> 00:00:18,000 de que tu computadora era más 3 00:00:18,000 --> 00:00:20,000 que solo un monitor y un teclado? 4 00:00:20,000 --> 00:00:23,000 ¿Y que entre el clic del ratón y lo que veías en video, 5 00:00:23,000 --> 00:00:25,000 había "algo" que captaba tu intención, 6 00:00:25,000 --> 00:00:26,000 la entendía, 7 00:00:26,000 --> 00:00:27,000 y la concretaba? 8 00:00:28,000 --> 00:00:30,000 ¿Qué es ese "algo"? 9 00:00:30,000 --> 00:00:32,000 ¿Son gremlins? 10 00:00:32,000 --> 00:00:33,000 Imaginemos que podemos encogernos 11 00:00:33,000 --> 00:00:35,000 hasta el tamaño de un electrón 12 00:00:35,000 --> 00:00:37,000 y autoinyectarnos en un clic de ratón. 13 00:00:37,000 --> 00:00:39,000 Si desmontaras tu ratón, 14 00:00:39,000 --> 00:00:42,000 verías que es una máquina muy simple. 15 00:00:42,000 --> 00:00:43,000 Tiene un par de botones 16 00:00:43,000 --> 00:00:46,000 y un sistema para detectar el movimiento y la distancia. 17 00:00:46,000 --> 00:00:48,000 Puede que tengas un ratón óptico 18 00:00:48,000 --> 00:00:50,000 que hace estas mediciones con luces y sensores, 19 00:00:50,000 --> 00:00:52,000 pero los viejos las hacían con una bola dura de goma 20 00:00:52,000 --> 00:00:54,000 y unas ruedas de plástico. 21 00:00:54,000 --> 00:00:56,000 Pero es el mismo concepto. 22 00:00:56,000 --> 00:00:57,000 Cuando haces clic en el botón del ratón, 23 00:00:57,000 --> 00:00:59,000 éste envía un mensaje a la computadora 24 00:00:59,000 --> 00:01:01,000 con información sobre su posición. 25 00:01:01,000 --> 00:01:03,000 Al recibir el clic del ratón, 26 00:01:03,000 --> 00:01:06,000 el subsistema básico de entrada/salida lo procesa. 27 00:01:06,000 --> 00:01:09,000 El subsistema funciona como los ojos, los oídos 28 00:01:09,000 --> 00:01:12,000 la boca y las manos de la computadora. 29 00:01:12,000 --> 00:01:13,000 Básicamente, le proporciona a la computadora la forma 30 00:01:13,000 --> 00:01:16,000 de interactuar con su entorno. 31 00:01:16,000 --> 00:01:18,000 Pero también actúa como barrera 32 00:01:18,000 --> 00:01:21,000 para evitar que la CPU se abrume con distracciones. 33 00:01:21,000 --> 00:01:23,000 En este caso, el subsistema de E/S decide 34 00:01:23,000 --> 00:01:25,000 que el clic de tu ratón es bastante importante 35 00:01:25,000 --> 00:01:28,000 de modo que genera una interrupción a la CPU. 36 00:01:28,000 --> 00:01:31,000 "¡Oye CPU! Aquí tengo un clic". 37 00:01:31,000 --> 00:01:34,000 La CPU, o unidad central de procesamiento, 38 00:01:34,000 --> 00:01:36,000 es el cerebro de la computadora. 39 00:01:36,000 --> 00:01:39,000 Así como el cerebro no ocupa todo el cuerpo, 40 00:01:39,000 --> 00:01:41,000 la CPU tampoco ocupa toda la computadora, 41 00:01:41,000 --> 00:01:44,000 pero igualmente dirige el espectáculo. 42 00:01:44,000 --> 00:01:46,000 La tarea de la CPU, todo su trabajo, 43 00:01:46,000 --> 00:01:48,000 consiste en buscar instrucciones en la memoria 44 00:01:48,000 --> 00:01:50,000 y ejecutarlas. 45 00:01:50,000 --> 00:01:52,000 Así, mientras tú escribes y escribes 46 00:01:52,000 --> 00:01:53,000 tal vez muy rápido, 47 00:01:53,000 --> 00:01:55,000 como 60 palabras por minuto, 48 00:01:55,000 --> 00:01:57,000 la CPU está buscando y ejecutando 49 00:01:57,000 --> 00:01:59,000 miles de millones de instrucciones por segundo. 50 00:01:59,000 --> 00:02:02,000 Sí, miles de millones por segundo: 51 00:02:02,000 --> 00:02:04,000 instrucciones para mover el ratón por la pantalla, 52 00:02:04,000 --> 00:02:07,000 para ejecutar ese reloj del escritorio, 53 00:02:07,000 --> 00:02:08,000 para reproducir la radio de Internet, 54 00:02:08,000 --> 00:02:11,000 gestionar los archivos que estás editando en el disco duro, 55 00:02:11,000 --> 00:02:12,000 y mucho, mucho más. 56 00:02:12,000 --> 00:02:16,000 ¡La CPU de tu computadora es un as de la multitarea! 57 00:02:16,000 --> 00:02:17,000 "¡Pero, madre mía, 58 00:02:17,000 --> 00:02:18,000 en este momento está llegando un clic 59 00:02:18,000 --> 00:02:20,000 muy importante! 60 00:02:20,000 --> 00:02:22,000 ¡Dejemos todo y atendamos eso!" 61 00:02:23,000 --> 00:02:24,000 Hay programas para todo 62 00:02:24,000 --> 00:02:26,000 lo que hace la CPU. 63 00:02:26,000 --> 00:02:28,000 Un programa especial para el ratón, 64 00:02:28,000 --> 00:02:29,000 otro para el reloj, 65 00:02:29,000 --> 00:02:30,000 otro para la radio de Internet, 66 00:02:30,000 --> 00:02:33,000 y otro para las letras que se envían desde el teclado. 67 00:02:33,000 --> 00:02:35,000 Cada programa fue en principio escrito por un humano 68 00:02:35,000 --> 00:02:37,000 en un lenguaje de programación legible, 69 00:02:37,000 --> 00:02:38,000 como Java, 70 00:02:38,000 --> 00:02:39,000 C++, 71 00:02:39,000 --> 00:02:41,000 o Python. 72 00:02:41,000 --> 00:02:43,000 Pero los programas humanos ocupan mucho espacio 73 00:02:43,000 --> 00:02:47,000 y contienen mucha información innecesaria para una computadora, 74 00:02:47,000 --> 00:02:49,000 por eso se compilan, se reducen 75 00:02:49,000 --> 00:02:52,000 y se almacenan en bits de unos y ceros en la memoria. 76 00:02:52,000 --> 00:02:55,000 La CPU se da cuenta de que necesita instrucciones 77 00:02:55,000 --> 00:02:57,000 para atender este clic del ratón, 78 00:02:57,000 --> 00:02:59,000 así que busca la dirección del programa del ratón 79 00:02:59,000 --> 00:03:01,000 y le envía una petición al subsistema de memoria 80 00:03:01,000 --> 00:03:04,000 en busca de las instrucciones allí almacenadas. 81 00:03:05,000 --> 00:03:07,000 Cada instrucción del controlador del ratón 82 00:03:07,000 --> 00:03:09,000 se busca y ejecuta debidamente. 83 00:03:09,000 --> 00:03:12,000 ¡Pero esto acaba de empezar! 84 00:03:12,000 --> 00:03:14,000 Porque la CPU se entera de que se hizo clic con el ratón 85 00:03:14,000 --> 00:03:16,000 cuando el cursor estaba sobre la imagen 86 00:03:16,000 --> 00:03:18,000 de un botón en la pantalla del monitor, 87 00:03:18,000 --> 00:03:21,000 y entonces la CPU le pregunta a la memoria por el programa del monitor 88 00:03:21,000 --> 00:03:23,000 para descubrir cuál es ese botón. 89 00:03:23,000 --> 00:03:25,000 Y entonces la CPU tiene que preguntarle a la memoria 90 00:03:25,000 --> 00:03:27,000 por el programa del botón, 91 00:03:27,000 --> 00:03:28,000 lo que significa que la CPU necesita 92 00:03:28,000 --> 00:03:30,000 que el programa del monitor 93 00:03:30,000 --> 00:03:32,000 le muestre otra vez el video asociado al botón, 94 00:03:32,000 --> 00:03:34,000 y así sucesivamente. 95 00:03:34,000 --> 00:03:37,000 Digamos que hay muchos programas que intervienen 96 00:03:37,000 --> 00:03:39,000 mucho antes de que veas iluminarse el botón 97 00:03:39,000 --> 00:03:41,000 en la pantalla cuando haces clic en él. 98 00:03:41,000 --> 00:03:43,000 Así, la simple tarea de hacer clic con el ratón 99 00:03:43,000 --> 00:03:46,000 implica visitar todos los componentes críticos 100 00:03:46,000 --> 00:03:48,000 de la arquitectura de la computadora: 101 00:03:48,000 --> 00:03:49,000 los periféricos, 102 00:03:49,000 --> 00:03:51,000 el sistema básico de entrada-salida, 103 00:03:51,000 --> 00:03:52,000 la CPU, 104 00:03:52,000 --> 00:03:53,000 los programas, 105 00:03:53,000 --> 00:03:54,000 y la memoria, 106 00:03:54,000 --> 00:03:56,000 y ni un solo gremlin.