¡Feliz, feliz cumpleaños Unix!

Anuncio
¡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.
Descargar