Home > Uncategorized > Capítulo 05. Esporadic-OS.

Capítulo 05. Esporadic-OS.

Septiembre 30th, 2012 Leave a comment Go to comments

Un año, cinco meses atrás.

Esporadic-OS comenzaba a tomar forma. La primera fase del proyecto se había concluido con gran éxito. Esporadic-OS se constituía en un poderoso sistema operativo distribuido que soportaba, además, la paralelización, es decir, la capacidad para correr en un entorno de múltiples procesadores ya sea estrecha o ligeramente enlazados. Por decirlo de otra manera, Esporadic-OS podía correr en una microcomputadora convencional, como la que tienen millones de usuarios a lo largo del mundo y podía correr en plataformas que contaban con múltiples procesadores, ya sea que todos éstos se encontraran montados dentro de la misma computadora o se tratase de múltiples computadoras conectadas en red. De hecho, como consecuencia de una propuesta mía, Argus había desarrollado una supercomputadora debido a esta característica de Esporadic-OS, con el fin de crear un entorno nativo para el sistema operativo. Esa propuesta fue una de las razones por las que surgió el conflicto entre Idelfonso y yo, que enfrió las relaciones entre ambos y que provocó que se le excluyera del proyecto, haciéndome quedar como responsable absoluto del mismo. Idelfonso no veía la necesidad de desarrollar un nuevo hardware, cuando este nuevo hardware difícilmente estaría disponible para el usuario común y tenía razón, parcialmente; sin embargo, su única preocupación era que la construcción de la supercomputadora alargara el proyecto.

Él disfrazaba su preocupación con razones como que lo único que se me había pedido era que se desarrollara un sistema operativo para poder simplificar el diseño de Atalaya. Que desarrollara una plataforma específica para Esporadic-OS era algo simplemente innecesario desde su perspectiva. Por mi parte, yo estaba ya pensando en el siguiente paso, la siguiente etapa del proyecto Esporadic-OS, sus capacidades en el ámbito de las telecomunicaciones.

Este fue otro de los factores que desencadenó el conflicto. Idelfonso tenía la idea de que no se haría nada diferente a lo que existía en ese momento en el mercado en lo relativo a la comunicación entre redes de computadoras. Más aún, no justificaba el que se desarrollaran nuevas tecnologías. Solía decir que nosotros jamás podríamos hacer algo que pudiera competir contra los desarrollos de los países altamente tecnificados, que únicamente estábamos perdiendo nuestro tiempo y el de Argus, además de que estábamos haciendo el proyecto más costoso de lo necesario.

Aunque se cuidaba muy bien de expresarlo abiertamente, todo el proyecto para él no era más que una innecesaria pérdida de tiempo. Su justificación era la de siempre: si ya está hecho, para qué volverlo a hacer. Creo que, incluso, una vez el dijo que en nuestro país no se desarrolla tecnología, que no tenemos el nivel y que, además, no es necesario. Otros países van muy por delante del nuestro en ese rubro y que países como el nuestro sólo deben limitarse a adquirirla ya desarrollada.

Esa actitud retrógrada y conformista, por no calificarla como malinchista, era algo que repudiaba desde lo más profundo de mi ser.  Por limitaciones de visión como esta nuestro país se encontraba sumergido en un profundo retraso científico y tecnológico, por actitudes como ésta, nuestra gente se había vuelto negligente en su trabajo y, peor aún, para consigo mismos; por ideologías como ésta, crecía cada vez más la dependencia científica, tecnológica y económica de nuestro país con respecto a los países industrializados. Sin embargo, en la mente de Idelfonso no cabía la posibilidad de que un compatriota pudiera colocarse a la par o por encima de cualquier extranjero en estos rubros.

Esporadic-OS podía correr en múltiples plataformas, no obstante sus divergencias. Para explicar esto debo decir que, históricamente, los sistemas operativos han sido desarrollados para correr en una computadora en particular. Esto es debido a que la base de todo programa, incluidos los sistemas operativos, es el conjunto de instrucciones que soporta el procesador que tiene montado la computadora. Sin embargo, desarrollos más recientes han permitido superar este obstáculo. Esporadic-OS lo hacía. Para conseguirlo, Esporadic-OS se construía alrededor de un núcleo, que era diseñado para una máquina específica y que implementaba un lenguaje para una máquina abstracta genérica. De esta forma, no importaba que arquitectura se usara como plataforma para implementar Esporadic-OS, éste siempre podría funcionar. Por otro lado, Esporadic-OS también proporcionaba un nivel muy alto de abstracción en su capacidad de distribución.

La idea subyacente era que el nivel de abstracción está relación directa con la percepción que los usuarios tienen del sistema y de la ubicación de los recursos de éste. Mientras más tenga el usuario que saber sobre la posición física de un recurso dado, menor es el nivel de abstracción. Esporadic-OS liberaba al usuario de la necesidad de preocuparse por la distribución de los recursos conectados al sistema a un grado máximo, lo que lo hacía un sistema operativo bastante simple de operar.

Pero la simplicidad necesariamente implica un costo, el cuál era perfectamente cubierto por Esporadic-OS. La facilidad de operación implicaba controles mucho más rigurosos, que estaban completamente soportados por Esporadic-OS, tales como el control de concurrencias que, por sí mismo, era un subsistema robusto y confiable. Particularmente, la seguridad del sistema se constituía en uno de los sistemas de más alto riesgo. Dada su importancia, yo mismo me encargué de este subsistema para asegurarme de que se cubrían todos los aspectos que se debería considerar. Sergio y Raúl fueron mis colaboradores en esta asignación. Entre los tres diseñamos e implementamos los mecanismos de seguridad del sistema. Como es de esperarse, también llegamos a tener nuestras diferencias, pero era mucho más sencillo alcanzar un consenso con ellos.

Raúl había sido contratado específicamente para este proyecto. Tenía actitudes de divo.  Era un tipo bien parecido que terminaba agradando siempre a todo mundo. Yo creo que la gente físicamente atractiva suele provocar ese efecto aunque no se lo proponga. Su extensión repiqueteaba constantemente y, según pude constatarlo personalmente porque en muchas ocasiones tuve que contestar, gran parte de las llamadas eran de mujeres buscándolo. Había sido agraciado por la naturaleza y, para su fortuna –creada por su propia apariencia-, eso le abría muchas puertas. En lo concerniente al trabajo y quizás, influido un poco por su acostumbrado éxito en todo, ocurría con frecuencia que cuestionara cuanto se le proponía.

Debo aceptar que muchos de sus cuestionamientos eran benéficos para el proyecto, pero había algunos desacuerdos que era difícil negociar. No sé en realidad quien tenía la razón cuando dichos desacuerdos surgían, pero es indiscutible que uno de los dos, o él o yo, se resistía a ceder por puro orgullo.

Algo que me sacaba de quicio era que no se apegara a las especificaciones. Muchas especificaciones del producto habían sido completamente definidas mucho antes de que él se integrara al equipo. Es cierto que muchas de estas especificaciones habían sido propuestas por mí mismo, pero la decisión final había sido producto de, muchas veces, álgidas discusiones en las que examinábamos las ventajas y desventajas de implementar tales características. Al menos ese trabajo de selección y definición merecía un poco de respeto.

Era frecuente que, cuando algo no le parecía como estaba definido, Raúl modificara por su cuenta las especificaciones o diseñara algo que no se apegaba en absoluto a ellas, sin pedir autorización para ello y, muchas veces, llegué a discutir con él por su rebeldía. Sin embargo, era muy bueno en su trabajo y yo prefería que se atreviera a contradecir, porque estaba conciente de la importancia que tienen los errores en todo proceso creativo. Mayor, tal vez, que la que tienen los aciertos.

El subsistema de seguridad se había construido como un componente muy robusto y confiable de la arquitectura de Esporadic-OS, afortunadamente, a pesar de las frecuentes divergencias entre Raúl y yo. Entre sus capacidades se encontraba un añadido, que era la posibilidad de identificar usuarios por medio de dispositivos de identificación biométrica. Esto, tecnológicamente, no era una novedad. La novedad era, más bien, que este soporte se hubiera implementado de facto.

Un buen día, un incidente llamó poderosamente mi atención. Una subrutina que ya había sido probada arrojaba un mensaje de error que no había visto. De hecho, no recordaba haber incluido ese mensaje específicamente dentro de la lista de mensajes de error que Esporadic-OS podría generar. El mensaje sugería que el acceso a un recurso no se había podido completar satisfactoriamente debido a que la subrutina violaba una región protegida de la memoria. De momento sólo pensé que se trataba de alguna condicionante que no había sido contemplada en el plan de pruebas y lo atribuí a un apuntador mal direccionado. Le pedí a Sergio y a Raúl que se encargaran de revisar el código y corregirlo y ocupé mi tiempo en otras cosas. Si algo quedaba absolutamente claro para mí, es que la suposición es la madre de todas las cagadas. ¡Pronto recordaría porqué había llegado a acuñar esa frase como una convicción personal!

Ver tabla de contenido Leer el capítulo anterior Leer el siguiente capítulo

Categories: Uncategorized Tags: