Todos conocemos a alguien, casi siempre
nuestra madre, que está en todo. “Tienes ojos en la espalda”,
“un ojo al gato y otro al garabato”, son algunas de las frases
que ha acuñado el saber popular para describir a estas personas. Es
sorprendente para muchos la capacidad que algunos tienen para el
multiprocesamiento, es decir, estar en varias tareas aparentemente al
mismo tiempo. Es justo esta aparente simultaneidad la que han
descrito con gran claridad las ciencias computacionales.
Cuando llevé clase de arquitectura de
computadoras, aprendí que su procesador central suele tener una
serie de tareas que atender: leer información de un disco duro,
capturar datos del teclado, desplegar imágenes en la pantalla,
enviar documentos a impresión, e incluso comunicarse con otras
computadoras en la red. Hoy día las computadoras tienen más de un
procesador, y parecería natural que hicieran muchas tareas al mismo
tiempo, considerando que cada procesador puede atender una tarea en
particular. Sin embargo, y a pesar de que no es exactamente así como
trabajan las computadoras actuales, quiero hacer un viaje en el
tiempo para recordar aquellas máquinas del siglo pasado. Sólo
tenían un procesador y era necesario que atendieran teclado,
memoria, pantalla y demás “simultáneamente”. El secreto detrás
de este paralelismo aparente era el minimizar el tiempo de switcheo.
Es decir, no hay manera de que un solo procesador atienda más de una
operación por instante, lo que sucede es que se tienen filas de
operaciones y se atiende un poco a cada operación. Como es más
rápida la computadora en recibir datos del teclado que nosotros en
teclearlos, le da tiempo suficiente para desplegarlos en pantalla e
incluso guardar en memoria temporal lo que escribimos. La cantidad de
tareas distintas que pueden hacerse está limitada por el tiempo que
se tarda en dejar una tarea en pausa y retomar otra.
Aunque nuestro cerebro es mucho más
complejo que un procesador artificial, y de hecho, sí realiza tareas
en paralelo, también es cierto que cuando atendemos muchos temas al
mismo tiempo, dependemos fuertemente del tiempo de switcheo.
De tal forma que, la cantidad de temas que podemos atender en un
momento depende tanto de la capacidad que tengamos para almacenar los
temas y donde nos quedamos en cada uno, como de la velocidad con que
logremos soltar un tema y tomar otro para procesarlo.
Nuestras abuelitas y mamás nos han
enseñado por generaciones la importancia de optimizar el tiempo,
atendiendo tantos temas como sea posible, minimizando los tiempos
ociosos. Estoy segura que Thomas Watson, el líder del equipo de la
IBM/360 (la primera computadora que hacía multitasking), no
era la excepción, ¡gracias Sra. Watson!
No hay comentarios.:
Publicar un comentario