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