Una foto aleatoria

Una foto aleatoria


(Foto de )

Una frase aleatoria

(Cita de )

lunes, 9 de mayo de 2011

El algoritmo del avestruz

De mis años en la Facultad de Computación recuerdo las clases de Sistemas Operativos. Nos explicaba el profesor los modos que tienen las computadoras para gestionar el multiproceso: el usuario ejecuta un programa y luego abre otro, y la máquina tiene que ponerse pendiente de los dos, dedicando un poco de atención a cada uno, como a dos hijos de edad parecida a los que hay que tratar con la debida equidad.

El sistema le dedica un poco de tiempo a cada proceso, lo que se llama el quantum. Transcurrido éste, le deja de prestar atención y se pone con el otro, continuando así con todos los programas que, en un momento dado, se encuentren abiertos. Cada programa ocupa un fragmento de memoria y, dependiendo de la cantidad de ésta que tengamos, podremos poner más o menos programas a funcionar simultáneamente.

En vida pretendía tratar así a mis tres hijos: cuando mi mujer se ausentaba y me quedaba con ellos, le dedicaba a cada uno un momento de igual duración: tres segundos a Carlos, otros tres a María, tres más a Lucas. Cuando el sistema cambia de proceso se produce lo que se llama un cambio de contexto: se expulsa al proceso activo del procesador y se pone al siguiente, y debe almacenarse el estado del proceso que sale para poder restaurarlo cuando vuelva al primer plano. También actuaba yo así: agitando el sonajero de Carlos durante su quantum, continuando después la lectura del cuento de la niña en donde lo había dejado o moviendo una ficha en el juego de damas si es que Lucas ya había avanzado la suya.

Esta es la forma de trabajo que los informáticos llaman por turno rotatorio, en donde se establece una especie de lista circular, en la que no hay proceso ni primero ni último, y si llega uno nuevo se le abre un hueco y se lo enlaza como corresponda con el anterior y el siguiente. Yo, a mis tres hijos, también los quiero igual.

Leí el Duérmete niño al poco de nacer el mayor, porque nos daba unas noches muy malas, llorando cada poco y dificultando y hasta poniendo en peligro la vida conyugal. Seguí las lecciones al pie de la letra: cuando comenzaba a llorar y nos despertaba, Cristina y yo mascullábamos algo y nos quedábamos incorporados en la cama durante un rato, sin hacer nada, dejándole llorar, y pasábamos a atenderlo transcurrido un momento. Esto es lo que se conoce como ejecutar primero una no operación y luego un proceso activo. En la no operación se le dice al procesador que no haga nada, y lo hace (o no lo hace, según el modo en que construyamos la frase); pero hay que decírselo explícitamente, porque en otro caso trabaja en algo, aunque no sepamos en qué.

La estrategia nos dio buen resultado con los siguientes vástagos y, así, nuestros espacios de no operación durante la noche fueron ya prolongados y reconstituyentes.

Tuvimos a los tres bastante seguidos, porque queríamos seguir siendo jóvenes cuando ellos comenzasen a adolescer, y poder dejarlos solos para hacer escapadas de fin de semana a algún lugar, perdido o bullicioso, pero que nos sirviera de reencuentro, o bien reencontrarnos en nuestra propia casa cuando ellos salieran. Mientras yo trabajaba en la consultoría, a Cristina la llamaron de un bolsa de trabajo para el hospital. Al principio hacía sustituciones, pues siempre hay una enfermera de baja, u otro azar que hay que cubrir, pero con estos pequeños servicios le fueron sumando puntos y le ofrecieron un contrato con más estabilidad. El dinero nos venía muy bien y yo, al fin y al cabo, podía hacer menos horas en el despacho y quedarme con los niños.

Cristina tenía turnos en su empleo, aunque no rotatorios, sino más bien aleatorios, pues lo mismo hacía tres mañanas seguidas que empalmaba una tarde y una noche para luego librar dos jornadas seguidas. A veces sonaba el teléfono a cualquier hora, y tenía que ausentarse para echar una mano si se había producido un accidente grave o los convidados a una boda se habían intoxicado con alguna salsa.

Así trataba a veces yo también a mis hijos, aumentándoles o disminuyéndoles el quantum según la prioridad, el volumen del llanto o lo sucio del pañal, o saltándome a alguno en el democrático algoritmo del turno rotatorio. Hay otras estrategias de aun menos justicia: en ciertos sistemas antiguos los procesos llegaban y se ponían a una cola, y se iban sirviendo en el orden de llegada. Los procesos debían esperar a que terminaran los otros para que les tocara el turno, momento que aprovechaba el recién aprehendido para ser computado y finalizado utilizando la capacidad completa del procesador. Entonces, al terminar, el sistema lo saca de memoria, toma el siguiente proceso y se olvida por completo de aquellos a los que ha servido. Esta planificación todavía se utiliza en procesos nocturnos: hazme una copia de seguridad de estos datos, y luego de aquellos, y después le pides a cada cajero automático que ejecute tal programa de chequeo.

Según explica Tanenbaum en su libro sobre Sistemas Operativos, un conjunto de procesos se interbloquean cuando cada uno de ellos espera un suceso que sólo otro proceso del conjunto puede producir, pero que a su vez necesita de la ocurrencia de otro suceso que también produce otro proceso del conjunto. Bajo estas condiciones, los procesos interbloqueados se quedan en una espera indefinida, aguardando a que el uno le diga algo al otro y a que el otro le diga algo al uno. Una tarde me presenté en casa con un paquete de indios de plástico, que incluían al gran jefe con las piernas preparadas para montar a caballo, un fiero guerrero que portaba un fusil obtenido quizás de algún rostro pálido y una tienda cónica en la que guarecerse de noche. Los niños obviaron a los demás muñecos y tomaron estas tres cosas, cada uno una. Para continuar su inescrutable juego necesitaban de lo que tenían los otros dos, y comenzó así una pelea y un tira y afloja que aún podría seguir. Una de las soluciones de las que informa Tanenbaum para resolver el interbloqueo es “Desentenderse completamente del problema”, y así lo hice. Mi profesor también lo llamaba el “Algoritmo del avestruz”, que esconde la cabeza para no ver al predador que viene a comerlo. “Ojos que no ven, corazón que no siente”, también le dicen.
-,-,-,-,
Mis hijos ya son felizmente adultos y mantienen entre ellos una estrecha relación, y me han dado nietos a los que, sin embargo, no puedo tocar porque fallecí hace unos años. Así que los observo a ellos y a las almas que por aquí vagan, y a veces paso los ratos de esta eternidad que acabo de empezar fijándome en Dios, que nos hizo a su imagen y semejanza y al que nosotros tratamos de alcanzar, unas veces elevando hacia el Cielo una Torre de Babel que nos convirtió en políglotas, y otras veces construyendo máquinas capaces de dedicar la atención a procesos múltiples, como Él, que atiende los rezos de todos sus feligreses.

Dios atiende las plegarias y los ruegos por turno rotatorio, dedicando a cada uno un pequeño quantum. A mi muerte, Cristina encargó una misa por mi eterno descanso, y vi que a Dios le llegaba ésta a la vez que otras, provenientes simultáneamente de otras partes del país o del mundo. Mientras Dios escucha la petición de uno, el resto del mundo se detiene durante ese instante, de tan corta duración que se hace imperceptible. Luego, le pasa el testigo al siguiente y le escucha sus palabras. El multiproceso, en este caso, es impresionante, porque las oraciones le llegan por millones desde todos los confines, unas con la preocupación de un familiar que no sana, otras rogando por el alma de un difunto que se acaba de ir o cuyo aniversario se cumple, otras por la paz del mundo y el fin de las guerras. Así, los diferentes fragmentos que componen cada ruego son almacenados cada uno en una celda de una gran matriz, igual que se guardan los procesos suspendidos en un ordenador. De vez en cuando, Dios inicia un proceso nocturno que detiene los giros de la Tierra y pone al universo en hibernación sin que nos demos cuenta, y con él detiene la llegada de rezos y ruegos. A las letras y a las palabras que los componen, que en el proceso diurno se las ve ascender con un lento movimiento espiral desde aquellos puntos de la Tierra desde los que han sido lanzados, se las ve detenidas, y se perciben desde la lejanía como miles de linternas en calma que apuntaran hacia el Cielo. En este momento de pausa, Dios recupera de la matriz las plegarias que han ido llegando y que se encuentran completas, las une y las entiende y va Él a actuar con sus hilos de titiritero en aquellos lugares en los que se le ha pedido. Pero para este momento muchas veces es tarde, porque al proceso diurno le dedica más tiempo, y al ir a resolver los asuntos pendientes el paciente se ha muerto, el finado ya ha sido juzgado y categorizado en el Juicio Final y llevado a destino, o las bombas han alcanzado las zonas civiles.

Tengo que acercarme a Él y explicarle mis lecciones de los cambios de contexto, de la expulsión de procesos, de planificar recursos, que en la computadora garantizan la compleción del cálculo de que se trate y que, aplicado a la educación de mis hijos, les ofreció a todos ellos un trato semejante.

El otro día franqueé la legión de doce mil arcángeles que rodea su trono y comencé a hablarle; pero la lección es larga y el quantum que me dedica demasiado breve. A pesar del masivo paralelismo con el que trata los miles de peticiones que le llegan en cada segundo, no he visto que se le produzcan interbloqueos, ni siquiera cuando los entrenadores del Boca y del River le pidieron a la vez, y con idénticas intensidad y fe, la victoria para su equipo en un derby decisivo, que resolvió en empate. Desde aquí, sin embargo, observo mi planeta y me da a veces la impresión de que nos está dejando como yo a mis hijos con los guerreros indios, desentendiéndose completamente del problema.

3 comentarios:

  1. No te equivoques. Los únicos responsables de que este planeta esté tan desquiciado somos nosotros. Hacer responsable a Dios sí es aplicar el algoritmo del avestruz

    ResponderEliminar
  2. Que sorpresa, busco el algoritmo del avestruz en google y me encuentro con un relato de mi profesor.

    ResponderEliminar