1 00:00:15,353 --> 00:00:17,238 ¿Recuerdas la primera vez que te diste cuenta 2 00:00:17,238 --> 00:00:18,659 de que tu computadora era más 3 00:00:18,659 --> 00:00:20,742 que solo un monitor y un teclado? 4 00:00:20,742 --> 00:00:23,325 ¿Y que entre el clic del ratón y lo que veías en video, 5 00:00:23,325 --> 00:00:25,598 había "algo" que captaba tu intención, 6 00:00:25,598 --> 00:00:26,428 la entendía, 7 00:00:26,428 --> 00:00:27,880 y la concretaba? 8 00:00:28,650 --> 00:00:30,270 ¿Qué es ese "algo"? 9 00:00:30,270 --> 00:00:32,007 ¿Son gremlins? 10 00:00:32,007 --> 00:00:33,665 Imaginemos que podemos encogernos 11 00:00:33,665 --> 00:00:35,141 hasta el tamaño de un electrón 12 00:00:35,141 --> 00:00:37,894 y autoinyectarnos en un clic de ratón. 13 00:00:37,894 --> 00:00:39,531 Si desmontaras tu ratón, 14 00:00:39,531 --> 00:00:42,193 verías que es una máquina muy simple. 15 00:00:42,193 --> 00:00:43,444 Tiene un par de botones 16 00:00:43,444 --> 00:00:46,747 y un sistema para detectar el movimiento y la distancia. 17 00:00:46,747 --> 00:00:48,163 Puede que tengas un ratón óptico 18 00:00:48,163 --> 00:00:50,868 que hace estas mediciones con luces y sensores, 19 00:00:50,868 --> 00:00:52,958 pero los viejos las hacían con una bola dura de goma 20 00:00:52,958 --> 00:00:54,576 y unas ruedas de plástico. 21 00:00:54,576 --> 00:00:56,325 Pero es el mismo concepto. 22 00:00:56,325 --> 00:00:57,914 Cuando haces clic en el botón del ratón, 23 00:00:57,914 --> 00:00:59,716 éste envía un mensaje a la computadora 24 00:00:59,716 --> 00:01:01,825 con información sobre su posición. 25 00:01:01,825 --> 00:01:03,491 Al recibir el clic del ratón, 26 00:01:03,491 --> 00:01:06,880 el subsistema básico de entrada/salida lo procesa. 27 00:01:06,880 --> 00:01:09,444 El subsistema funciona como los ojos, los oídos 28 00:01:09,444 --> 00:01:12,053 la boca y las manos de la computadora. 29 00:01:12,053 --> 00:01:13,958 Básicamente, le proporciona a la computadora la forma 30 00:01:13,958 --> 00:01:16,443 de interactuar con su entorno. 31 00:01:16,443 --> 00:01:18,090 Pero también actúa como barrera 32 00:01:18,090 --> 00:01:21,501 para evitar que la CPU se abrume con distracciones. 33 00:01:21,501 --> 00:01:23,811 En este caso, el subsistema de E/S decide 34 00:01:23,811 --> 00:01:25,942 que el clic de tu ratón es bastante importante 35 00:01:25,942 --> 00:01:28,939 de modo que genera una interrupción a la CPU. 36 00:01:28,939 --> 00:01:31,075 "¡Oye CPU! Aquí tengo un clic". 37 00:01:31,952 --> 00:01:34,327 La CPU, o unidad central de procesamiento, 38 00:01:34,327 --> 00:01:36,522 es el cerebro de la computadora. 39 00:01:36,522 --> 00:01:39,072 Así como el cerebro no ocupa todo el cuerpo, 40 00:01:39,072 --> 00:01:41,577 la CPU tampoco ocupa toda la computadora, 41 00:01:41,577 --> 00:01:44,262 pero igualmente dirige el espectáculo. 42 00:01:44,262 --> 00:01:46,506 La tarea de la CPU, todo su trabajo, 43 00:01:46,506 --> 00:01:48,444 consiste en buscar instrucciones en la memoria 44 00:01:48,444 --> 00:01:50,451 y ejecutarlas. 45 00:01:50,451 --> 00:01:52,380 Así, mientras tú escribes y escribes 46 00:01:52,380 --> 00:01:53,610 tal vez muy rápido, 47 00:01:53,610 --> 00:01:55,088 como 60 palabras por minuto, 48 00:01:55,088 --> 00:01:57,090 la CPU está buscando y ejecutando 49 00:01:57,090 --> 00:01:59,137 miles de millones de instrucciones por segundo. 50 00:01:59,137 --> 00:02:02,176 Sí, miles de millones por segundo: 51 00:02:02,176 --> 00:02:04,982 instrucciones para mover el ratón por la pantalla, 52 00:02:04,982 --> 00:02:07,145 para ejecutar ese reloj del escritorio, 53 00:02:07,145 --> 00:02:08,892 para reproducir la radio de Internet, 54 00:02:08,892 --> 00:02:11,145 gestionar los archivos que estás editando en el disco duro, 55 00:02:11,145 --> 00:02:12,900 y mucho, mucho más. 56 00:02:12,900 --> 00:02:16,160 ¡La CPU de tu computadora es un as de la multitarea! 57 00:02:16,743 --> 00:02:17,613 "¡Pero, madre mía, 58 00:02:17,613 --> 00:02:18,909 en este momento está llegando un clic 59 00:02:18,909 --> 00:02:20,030 muy importante! 60 00:02:20,030 --> 00:02:22,560 ¡Dejemos todo y atendamos eso!" 61 00:02:23,207 --> 00:02:24,604 Hay programas para todo 62 00:02:24,604 --> 00:02:26,336 lo que hace la CPU. 63 00:02:26,336 --> 00:02:28,058 Un programa especial para el ratón, 64 00:02:28,058 --> 00:02:29,092 otro para el reloj, 65 00:02:29,092 --> 00:02:30,303 otro para la radio de Internet, 66 00:02:30,303 --> 00:02:33,136 y otro para las letras que se envían desde el teclado. 67 00:02:33,136 --> 00:02:35,688 Cada programa fue en principio escrito por un humano 68 00:02:35,688 --> 00:02:37,906 en un lenguaje de programación legible, 69 00:02:37,906 --> 00:02:38,765 como 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 Pero los programas humanos ocupan mucho espacio 73 00:02:43,741 --> 00:02:47,450 y contienen mucha información innecesaria para una computadora, 74 00:02:47,450 --> 00:02:49,191 por eso se compilan, se reducen 75 00:02:49,191 --> 00:02:52,653 y se almacenan en bits de unos y ceros en la memoria. 76 00:02:52,653 --> 00:02:55,410 La CPU se da cuenta de que necesita instrucciones 77 00:02:55,410 --> 00:02:57,411 para atender este clic del ratón, 78 00:02:57,411 --> 00:02:59,380 así que busca la dirección del programa del ratón 79 00:02:59,380 --> 00:03:01,755 y le envía una petición al subsistema de memoria 80 00:03:01,755 --> 00:03:04,179 en busca de las instrucciones allí almacenadas. 81 00:03:05,287 --> 00:03:07,216 Cada instrucción del controlador del ratón 82 00:03:07,216 --> 00:03:09,742 se busca y ejecuta debidamente. 83 00:03:09,742 --> 00:03:12,113 ¡Pero esto acaba de empezar! 84 00:03:12,113 --> 00:03:14,654 Porque la CPU se entera de que se hizo clic con el ratón 85 00:03:14,654 --> 00:03:16,216 cuando el cursor estaba sobre la imagen 86 00:03:16,216 --> 00:03:18,177 de un botón en la pantalla del monitor, 87 00:03:18,177 --> 00:03:21,248 y entonces la CPU le pregunta a la memoria por el programa del monitor 88 00:03:21,248 --> 00:03:23,353 para descubrir cuál es ese botón. 89 00:03:23,353 --> 00:03:25,601 Y entonces la CPU tiene que preguntarle a la memoria 90 00:03:25,601 --> 00:03:27,437 por el programa del botón, 91 00:03:27,437 --> 00:03:28,948 lo que significa que la CPU necesita 92 00:03:28,948 --> 00:03:30,688 que el programa del monitor 93 00:03:30,688 --> 00:03:32,860 le muestre otra vez el video asociado al botón, 94 00:03:32,860 --> 00:03:34,742 y así sucesivamente. 95 00:03:34,742 --> 00:03:37,487 Digamos que hay muchos programas que intervienen 96 00:03:37,487 --> 00:03:39,472 mucho antes de que veas iluminarse el botón 97 00:03:39,472 --> 00:03:41,379 en la pantalla cuando haces clic en él. 98 00:03:41,379 --> 00:03:43,848 Así, la simple tarea de hacer clic con el ratón 99 00:03:43,848 --> 00:03:46,216 implica visitar todos los componentes críticos 100 00:03:46,216 --> 00:03:48,196 de la arquitectura de la computadora: 101 00:03:48,196 --> 00:03:49,238 los periféricos, 102 00:03:49,238 --> 00:03:51,047 el sistema básico de entrada-salida, 103 00:03:51,047 --> 00:03:52,379 la CPU, 104 00:03:52,379 --> 00:03:53,154 los programas, 105 00:03:53,154 --> 00:03:54,140 y la memoria, 106 00:03:54,140 --> 00:03:56,133 y ni un solo gremlin.