0:00:15.353,0:00:17.238 ¿Recuerdas la primera vez [br]que te diste cuenta 0:00:17.238,0:00:18.659 de que tu computadora era más 0:00:18.659,0:00:20.742 que solo un monitor y un teclado? 0:00:20.742,0:00:23.325 ¿Y que entre el clic del ratón [br]y lo que veías en video, 0:00:23.325,0:00:25.598 había "algo" que captaba tu intención, 0:00:25.598,0:00:26.428 la entendía, 0:00:26.428,0:00:27.880 y la concretaba? 0:00:28.650,0:00:30.270 ¿Qué es ese "algo"? 0:00:30.270,0:00:32.007 ¿Son gremlins? 0:00:32.007,0:00:33.665 Imaginemos que podemos encogernos 0:00:33.665,0:00:35.141 hasta el tamaño de un electrón 0:00:35.141,0:00:37.894 y autoinyectarnos en un clic de ratón. 0:00:37.894,0:00:39.531 Si desmontaras tu ratón, 0:00:39.531,0:00:42.193 verías que es una máquina muy simple. 0:00:42.193,0:00:43.444 Tiene un par de botones 0:00:43.444,0:00:46.747 y un sistema para detectar [br]el movimiento y la distancia. 0:00:46.747,0:00:48.163 Puede que tengas un ratón óptico 0:00:48.163,0:00:50.868 que hace estas mediciones [br]con luces y sensores, 0:00:50.868,0:00:52.958 pero los viejos las hacían [br]con una bola dura de goma 0:00:52.958,0:00:54.576 y unas ruedas de plástico. 0:00:54.576,0:00:56.325 Pero es el mismo concepto. 0:00:56.325,0:00:57.914 Cuando haces clic en el botón del ratón, 0:00:57.914,0:00:59.716 éste envía un mensaje a la computadora 0:00:59.716,0:01:01.825 con información sobre su posición. 0:01:01.825,0:01:03.491 Al recibir el clic del ratón, 0:01:03.491,0:01:06.880 el subsistema básico[br]de entrada/salida lo procesa. 0:01:06.880,0:01:09.444 El subsistema funciona [br]como los ojos, los oídos 0:01:09.444,0:01:12.053 la boca y las manos [br]de la computadora. 0:01:12.053,0:01:13.958 Básicamente, le proporciona[br]a la computadora la forma 0:01:13.958,0:01:16.443 de interactuar con su entorno. 0:01:16.443,0:01:18.090 Pero también actúa como barrera 0:01:18.090,0:01:21.501 para evitar que la CPU[br]se abrume con distracciones. 0:01:21.501,0:01:23.811 En este caso, el subsistema de E/S decide 0:01:23.811,0:01:25.942 que el clic de tu ratón es bastante importante 0:01:25.942,0:01:28.939 de modo que genera[br]una interrupción a la CPU. 0:01:28.939,0:01:31.075 "¡Oye CPU! Aquí tengo un clic". 0:01:31.952,0:01:34.327 La CPU, o unidad central de procesamiento, 0:01:34.327,0:01:36.522 es el cerebro de la computadora. 0:01:36.522,0:01:39.072 Así como el cerebro no ocupa todo el cuerpo, 0:01:39.072,0:01:41.577 la CPU tampoco ocupa toda la computadora, 0:01:41.577,0:01:44.262 pero igualmente dirige el espectáculo. 0:01:44.262,0:01:46.506 La tarea de la CPU, todo su trabajo, 0:01:46.506,0:01:48.444 consiste en buscar[br]instrucciones en la memoria 0:01:48.444,0:01:50.451 y ejecutarlas. 0:01:50.451,0:01:52.380 Así, mientras tú escribes y escribes 0:01:52.380,0:01:53.610 tal vez muy rápido, 0:01:53.610,0:01:55.088 como 60 palabras por minuto, 0:01:55.088,0:01:57.090 la CPU está buscando y ejecutando 0:01:57.090,0:01:59.137 miles de millones de [br]instrucciones por segundo. 0:01:59.137,0:02:02.176 Sí, miles de millones por segundo: 0:02:02.176,0:02:04.982 instrucciones para mover [br]el ratón por la pantalla, 0:02:04.982,0:02:07.145 para ejecutar ese reloj del escritorio, 0:02:07.145,0:02:08.892 para reproducir la radio de Internet, 0:02:08.892,0:02:11.145 gestionar los archivos que[br]estás editando en el disco duro, 0:02:11.145,0:02:12.900 y mucho, mucho más. 0:02:12.900,0:02:16.160 ¡La CPU de tu computadora[br]es un as de la multitarea! 0:02:16.743,0:02:17.613 "¡Pero, madre mía, 0:02:17.613,0:02:18.909 en este momento está llegando un clic 0:02:18.909,0:02:20.030 muy importante! 0:02:20.030,0:02:22.560 ¡Dejemos todo y atendamos eso!" 0:02:23.207,0:02:24.604 Hay programas para todo 0:02:24.604,0:02:26.336 lo que hace la CPU. 0:02:26.336,0:02:28.058 Un programa especial para el ratón, 0:02:28.058,0:02:29.092 otro para el reloj, 0:02:29.092,0:02:30.303 otro para la radio de Internet, 0:02:30.303,0:02:33.136 y otro para las letras que [br]se envían desde el teclado. 0:02:33.136,0:02:35.688 Cada programa fue en principio[br]escrito por un humano 0:02:35.688,0:02:37.906 en un lenguaje de programación legible, 0:02:37.906,0:02:38.765 como Java, 0:02:38.765,0:02:39.798 C++, 0:02:39.798,0:02:41.219 o Python. 0:02:41.219,0:02:43.741 Pero los programas humanos [br]ocupan mucho espacio 0:02:43.741,0:02:47.450 y contienen mucha información [br]innecesaria para una computadora, 0:02:47.450,0:02:49.191 por eso se compilan, se reducen 0:02:49.191,0:02:52.653 y se almacenan en bits[br]de unos y ceros en la memoria. 0:02:52.653,0:02:55.410 La CPU se da cuenta de que[br]necesita instrucciones 0:02:55.410,0:02:57.411 para atender este clic del ratón, 0:02:57.411,0:02:59.380 así que busca la dirección [br]del programa del ratón 0:02:59.380,0:03:01.755 y le envía una petición[br]al subsistema de memoria 0:03:01.755,0:03:04.179 en busca de las instrucciones[br]allí almacenadas. 0:03:05.287,0:03:07.216 Cada instrucción del controlador del ratón 0:03:07.216,0:03:09.742 se busca y ejecuta debidamente. 0:03:09.742,0:03:12.113 ¡Pero esto acaba de empezar! 0:03:12.113,0:03:14.654 Porque la CPU se entera de que [br]se hizo clic con el ratón 0:03:14.654,0:03:16.216 cuando el cursor estaba[br]sobre la imagen 0:03:16.216,0:03:18.177 de un botón en la pantalla del monitor, 0:03:18.177,0:03:21.248 y entonces la CPU le pregunta a la [br]memoria por el programa del monitor 0:03:21.248,0:03:23.353 para descubrir cuál es ese botón. 0:03:23.353,0:03:25.601 Y entonces la CPU tiene que [br]preguntarle a la memoria 0:03:25.601,0:03:27.437 por el programa del botón, 0:03:27.437,0:03:28.948 lo que significa que la CPU necesita 0:03:28.948,0:03:30.688 que el programa del monitor 0:03:30.688,0:03:32.860 le muestre otra vez el video[br]asociado al botón, 0:03:32.860,0:03:34.742 y así sucesivamente. 0:03:34.742,0:03:37.487 Digamos que hay muchos[br]programas que intervienen 0:03:37.487,0:03:39.472 mucho antes de que veas[br]iluminarse el botón 0:03:39.472,0:03:41.379 en la pantalla cuando haces clic en él. 0:03:41.379,0:03:43.848 Así, la simple tarea de[br]hacer clic con el ratón 0:03:43.848,0:03:46.216 implica visitar todos[br]los componentes críticos 0:03:46.216,0:03:48.196 de la arquitectura de la computadora: 0:03:48.196,0:03:49.238 los periféricos, 0:03:49.238,0:03:51.047 el sistema básico de entrada-salida, 0:03:51.047,0:03:52.379 la CPU, 0:03:52.379,0:03:53.154 los programas, 0:03:53.154,0:03:54.140 y la memoria, 0:03:54.140,0:03:56.133 y ni un solo gremlin.