¡Feliz, feliz cumpleaños Unix! A sus 40 años de vida, el sistema operativo Unix es un ser curioso: No es tan carismático como su “nieto” Linux, así que casi nunca se le ve fuera de la oficina, pero dentro de las empresas, su confiabilidad lo hace casi omnipresente aun si permanece oculto en la sombra del cuarto de servidores. Unix nació en 1969 en las oficinas de los laboratorios Bell de AT&T. Su antecesor, que conoció un éxito muy limitado, fue un sistema operativo semi-experimental llamado Multics. Para entender qué es lo que los desarrolladores de los Laboratorios Bell se proponían, es necesario recordar los líos de compatibilidad que venían incluidos con las computadoras de aquel tiempo. Aunque actualmente hay formas de ejecutar programas de Windows bajo Linux o hacer que una Mac corra Vista, las máquinas de aquel entonces no se hablaban entre sí; cuando una empresa necesitaba cambiar de computadora, por ejemplo para adquirir un modelo con más capacidad, era muy probable que se encontrara con que la máquina nueva necesitaba un sistema operativo completamente diferente al de la anterior, y con que no había ninguna forma de pasar la información entre máquinas como no fuera capturándola a mano. En 1965, los laboratorios Bell, GE y el MIT unieron fuerzas para crear a Multics, un sistema operativo multiusuario para las mainframes, las enormes computadoras corporativas que eran entonces casi la única opción para la ejecución de trabajos computacionales pesados. En 1969 Bell Labs concluyó que el proyecto no era económicamente viable y emprendió la retirada, pero, según explica hoy el sitio del laboratorio, “una pequeña banda de usuarios del centro de investigación en ciencias computacionales de Bell Labs en Murray Hill siguió buscando el Santo Grial”. Ellos eran Ken Thompson, Dennis Ritchie, Doug McIlroy, and J. F. Ossanna EL PRINCPIO Un buen día de 1969, los investigadores se sentaron a platicar sobre qué es lo que habría en su sistema operativo ideal, y sus notas del día se convirtieron en la base de el sistema operativo que se sigue usando hoy y que recibió el nombre de Unix en honor a su antecesor Multics. Ya que después de los problemas con el sistema operativo Multics la compañía no estaba dispuesta a hacer una gran inversión en el desarrollo de un sistema nuevo, el equipo Unix tuvo que conformarse con una computadora PDP-7, una máquina con capacidades muy limitadas para la época. Esto terminó convirtiéndose en una bendición disfrazada, ya que motivó a los desarrolladores para crear un sistema con muy bajas demandas. La segunda bendición disfrazada llegó cuando el equipo tuvo que aceptar que, pese a sus esfuerzos, la PDP7 se estaba quedando obsoleta y decidieron pasar a una flamante PDP-11. El primer Unix fue escrito en lenguaje ensamblador, pero este lenguaje es apenas un poco mejor que programar directamente en unos y ceros, y hacer un sistema operativo completo con él es el equivalente computacional a excavar el Gran Cañón con una cuchara. Ante la tarea de volver a programar Unix para una segunda computadora, el equipo encontró la motivación para crear una herramienta más poderosa, el lenguaje de programación C, que es aún en estos días una de las herramientas indispensables en el desarrollo de software. Para 1972, Dennis Ritchie ya había perfeccionado a C, y Thompson inició la tarea de reescribir al Unix en este lenguaje. Años más tarde, cuando C se convirtió en una herramienta indispensable para todo tipo de computadoras, esto hizo que adaptar el sistema operativo para que funcionara con cualquier modelo nuevo de computadora se simplificara enormemente. McIlroy, el tercer integrante del equipo, tuvo quizá su aportación mas importante en el área de los manuales. Incluso actualmente es común ver que el manual, sea el de un proyecto de software o el de un televisor nuevo, es algo que se deja para el final y que se hace de prisa y de mala gana. En Unix, los manuales son exhaustivos, explicando no solamente el funcionamiento y los posibles usos de cada componente, sino también las áreas donde podía llegara fallar (ya que las ciencias computacionales no eran ni son perfectas). Pero además hacer el manual se convirtió en una especie de método de control de calidad. Si al estar documentando una función se encontraba que algo era difícil de explicar, o simplemente feo, a menudo los desarrolladores terminaban mejor arreglando el software. “Cada vez que salía una nueva edición del manual, había una ráfaga de actividades”, recuerda McIlroy. "Cuando estabas escribiendo sobre las partes feas, terminabas diciendo ‘No podemos imprimir esto así’, y terminabas quitando funciones o poniendo funciones específicamente para que fueran más fáciles de describir”. Es en buena parte debido a esto es que Unix tiene la reputación de ser un sistema elegante: Para los que trabajan en sistemas, la elegancia consiste en hacer lo que haces de una forma directa, eficiente y sobre todo comprensible. Entre 1969 y 1974, Unix sólo era conocido por un puñado de usuarios en los laboratorios Bell. En 1974, el mundo supo sobre el nuevo sistema con la publicación del artículo “El sistema de tiempo compartido UNÍS”, publicado por la ACM (Asociación de Máquinas Computacionales). Pero el verdadero poder de Unix no podía manifestarse si no era llegando al mundo real, y el camino hacia éste pasó por la universidad de Berkeley, en California: Thompson tomó un sabático de seis meses para enseñarle a los universitarios las virtudes de sus sistema operativo. (Aunque cabe decir que la decisión no fue meramente comercial: Unix es, efectivamente, un excelente sistema operativo para mostrar a los estudiantes principios clave de la ciencia computacional). La comunidad académica se enamoró rápidamente de Unix, Berkeley lanzó su propia versión corregida y aumentada que existe todavía con el nombre BSD (Berkeley Software Distribution), y los estudiantes, al graduarse, llevaron hacia las empresas la buena nueva del entonces joven sistema operativo. Fue en este momento, cuando el potencial comercial del sistema quedó claro, que se dieron las circunstancias que propiciaron la aparición de innumerables competidores de Unix. Los abogados de AT&T decidieron proteger su propiedad, y prohibieron a las universidades el uso del código fuente de Unix, que antes podían estudiar libremente. Esto llevó a que Richard Stallman creara una versión libre de las aplicaciones de Unix, llamada GNU, y a que Andrew Tanenbaum creara un clon de Unix llamado Minix en 1987. En 1991 Linus Torvalds perfeccionó al kernel de Tanenbaum, lo complementó con las herramientas de Stallman, y lanzó al sistema operativo de código abierto Linux. Aunque Linux, con sus múltiples variantes, acapara casi toda la atención, Unix todavía viene en una amplísima gama de sabores y está entre los sistemas operativos favoritos para las operaciones que no requieren tanto glamour pero sí de mucha solidez. HP-UX, AIX, Solaris, y hasta el Mac OS están entre los integrantes oficiales de la familia Unix.