Matuk.com

Unix próximo a cumplir 40 años

Noticias, Software - Por Paola Villarreal Fecha Miércoles 10 de junio de 2009 25 Comentarios

Dennis Ritchie y Ken Thompson

En agosto de 1969, Ken Thompson, un programador de Bell Laboratories (empresa propiedad de AT&T) vió el viaje de un mes de su esposa e hijo como una oportunidad de poner en práctica sus ideas sobre un nuevo Sistema Operativo.

Escribió la primer versión de Unix en lenguaje ensamblador para una DEC PDP-7 tardándose exactamente una semana en escribir el sistema operativo, otra semana en la consola, otra en un editor de texto y la última en el compilador. Seguramente nunca se imaginó que ese mes de trabajo cambiaría para siempre la forma de interactuar con las computadoras.

En Bell Labs, Thompson era colega de Dennis Ritchie en un proyecto para crear un nuevo sistema oporativo llamado Multics el cual fue cancelado a principios de 1969. Este revés dejó a Thompson y a Ritchie con un mal sabor de boca y decidieron no volver a utilizar ningún sistema operativo de ese entonces ni tampoco revivir a Multics pues lo veían como grotesco.

Después de varias sesiones de “brain storming”, fue Thompson quien escribió la primer versión y entre los dos siguieron desarrollandola en los siguientes años con la ayuda de otros colegas como Doug McIlroy, Joe Ossana y Rudd Canaday.

Aunque algunos principios de Multics fueron llevados a Unix, la diferencia era más bien filosófica: menos es más.

Cinco años después de la primera versión, Ritchi y Thompson escribieron en el diario de la Asociación de Maquinaria Computacional (ACM), “Un sistema operativo poderoso e interactivo no necesita consumir recursos excesivamente; ni humanos ni técnicos”. “Esperamos que los usuarios de Unix descubran que las más importante características del sistema son su simplicidad, elegancia y facilidad en el uso¨.

Y es más que obvio que los usuarios se dieron cuenta de eso pues Unix se convirtió en parte de los cimientos de la IT; desde servidores hasta workstations en universidades, entidades de gobierno y corporaciones, Unix es y fue la opción de-facto para los profesionales en Ingeniería de Software.

Todo este esfuerzo fue premiado en 1983 también por la ACM con el Premio Turing para los contribuidores de la IT: “El modelo del sistema Unix ha guiado a una generación de Ingenieros de Software hacia nuevas formas de pensar acerca de la programación¨.

Claro está, el éxito de Unix no fue de la noche a la mañana. En 1972, Ritchie escribió el lenguaje de alto nivel C (basado en el lenguaje B escrito por Thompson) y subsecuentemente Unix fue reescrito en C lo cual incrementó muchísimo su portabilidad hacia otras plataformas de hardware. En ese entonces, Unix se llamaba Unics (Uniplexed Information and Computing Service) haciendo referencia, en tono sarcástico a Multics.

Para Julio de 1974, era tiempo de que el mundo de la tecnología se enterara de la nueva joya: el artículo en el diario de ACM “The UNIX time-Sharing System”.

Thompson y Ritchie eran “hackers” consumados, cuando el significado de esta palabra se refería a alguien que combinaba creatividad, fuerza bruta e inteligencia para resolver problemas de software que la mayoría no sabía ni siquiera que existían.

Su forma de hacer las cosas y el código que escribían, les hicieron ganar mucha popularidad entre programadores de las universidades y luego en compañías pequeñas que no tenían presupuestos tipo IBM. Para todos ellos, Unix era todo lo que podían pedir.

Sin embargo, a finales de la década de los 70′s, AT&T que hasta ese momento había visto a Unix como algo entre curioso y potencialmente peligroso en términos legales (el gobierno de E.U. le prohibió formar parte del negocio de las computadoras en 1956), se dio cuenta que en sus manos tenía algo sumamente valioso comercialmente y para 1979, con el lanzamiento de la Versión 7 de Unix, la licencia de uso prohibía que el código fuente se usara para estudiar y dar clases en las universidades.

Antes de que sucediera esto, un estudiante y programador de la Universidad de California en Berkeley, Bill Joy, obtuvo una copia de Unix de Bell Labs y decidió que era una excelente plataforma para trabajar en su compilador de Pascal y editor de textos.

Las modificaciones y extensiones que él y otros más en Berkeley hicieron, resultaron en el segundo tipo principal de Unix: BSD (Berkeley Software Distribution).

En 1982, Joy fundó Sun Microsystems y lanzó a la venta su propia workstation  Sun-1 la cual corría una versión de BSD llamada SunOS. El año siguiente, AT&T lanzó la primer versión de Unix System V la cual se convirtió en la base para otros sistemas Unix propietarios como el AIX de IBM y el HP-UX de Hewlett-Packard.

A mediados de los 80′s, la adopción de Unix en toda clase de aplicaciones era ya evidente. También lo era que cada distribuidor trataba de atrapar a sus clientes con sus propias interfases y métodos.

Esto propició que en 1987 Unix System Laboratories (parte de Bell Labs) se uniera a trabajar con Sun en un sistema para unificar a las dos especies de Unix más populares en ese momento. El fruto de este trabajo se lanzó dos años después e incorporaba funcionalidades del Unix System V Release 3, BSD, SunOS y Xinex; se llamó Unix System V Release 4.0.

Basados en este sistema o en su metodología han sido muchos los sistemas operativos que se han desarrollado, el más famoso siendo Linux el cual fue desarrollado en 1991 por Linus Torvalds.

Otros sistemas operativos basados en Unix son Minix (1987, Andrew Tanenbaum), la familia BSD (FreeBSD, OpenBSD, NetBSD, entre otros), Solaris, Mac OS X (¡sorpresa!) iPhone OS X, iPod OS X, z/OS de IBM (basado en el SO para mainframes MVS), etc.

Lo único que me resta decir a cerca de Unix es: ¡GRACIAS!

Acerca de -

Mostrando 25 Comentarios
¡Gracias por participar!

  1. @Fink: en ese entonces era el nivel más alto :)

    @eblum: ese, entre algunos otros artículos de varias fuentes son en los que me basé. Te puedo decir que al final del artículo que mencionas más bien parece un anuncio de Windows NT que otra cosa. Gracias por tu interés :)

  2. Fink dice:

    @Paola Villarreal

    @Fink: en ese entonces era el nivel más alto :)

    Huy, no! Para nada… C es del 72, y antes del C y de más alto nivel, como ejemplo tenemos; FORTRAN del 54, COBOL del 59, BASIC del 64 (uno de los lenguajes de más alto nivel que se han creado aún hasta ahora), Pascal del 70, etc. :D

    @Fink BSD es un UNIX…

    Eso es justo lo que dije! BSD es una versión mas clavada (la más clavada) del UNIX! BSD = Berkeley Software Distribution, pero también se le conoce en el medio como el Berkeley Unix. ;)

  3. RonX dice:

    Paola, ya que lo estas mencionando, no veo alguna otra fuente adicional en tu artículo más que una traducción (y resumen) del artículo de Gary Anthes, y creo que te equivocaste de referencia al mencionar lo del anuncio de Windows NT, en ningún lugar me parece tal anuncio. No es mi intención ponerte en evidencia, pero al no reconocer que fue un plagio (o traducción literal tal vez se escuche mejor) y mencionar la fuente, creo que es muy válido también hacerlo notar.

  4. elchubi dice:

    El artículo es plagio, la misma @Paola Villarreal dice: “@eblum: ese, entre algunos otros artículos de varias fuentes son en los que me basé” sin embargo no menciona ninguna de esas fuentes. Ahora bien, leyendo el artículo que referencía @eblum, me parece que solo hay una fuente y es precisamente esa.

    Tampoco encontré lo de Windows NT que menciona @Paola Villareal

  5. Chicos, la historia de Unix no está para nada oculta ni hay que investigar mucho para encontrarla.

    Si ven parecido este artículo con el otro es porque está basado en ese. Pero como les comento, la investigación se hizo y se tomaron otras fuentes:

    http://www.unix.org/what_is_unix/history_timeline.html
    http://www.opengroup.org/openbrand/register/catalog.htm
    entre otros..

    Lo de Windows NT está en la cuarta página del artículo y dice, en resumen, que cuando salió NT todo el mundo de unix se tambaleó y le empezó a tirar flores a Microsot y a NT.

    @Fink pero esos lenguajes no estaban disponibles en Unix

    Saludos!

  6. elchubi dice:

    @Paola Villarreal

    es cierto, la historia de Unix no es oculta. Pero como dicen los americanos: do right things and do things right
    no tiene nada de malo el referenciar tu trabajo desde un inicio a la (s) fuente (s) original (es), la gente igual te seguirá leyendo.

    No es correcto el presentarse como el autor de algo habiendo solo hecho un resumen / traducción.

    En lo personal el artículo me gusta pero a quien debo agradecer es a Gary por el mismo y a tí quizá por la traducción para ponerlo al alcance de alguien que tenga dificultades con el inglés ya que el artículo es muy ilustrativo.

  7. garcia dice:

    ¡¡TE QUEREMOS, PAO, TE QUEREMOS!! ¡¡TE QUEREMOS PAO, TE QUEREMOS!!

    Bueno Paola, ya tienes mi paypal, verdad, para que me lleguen mis honorarios por servicios de palero. :-P

    Lo que pasa es que en parte defiendo la posición de Paola, extrapolando el caso a otro campo, si uno es paramédico, y publica por su propia experiencia el manual de Resucitación Cardiopulmonar, con diagramas y toda la cosa… y alguien más hace la observación de que “ese instructivo, con las mismas indicaciones PUNTO POR PUNTO y con los diagramas mostrando las mismas posiciones, aparece en el Manual Merck”, te dicen que te lo pirateaste.

    A lo que voy es que existen datos, historias tan depuradas, que en buena medida son del dominio público… o del dominio entre la gente del medio.

    Sí, estamos todavía en la infancia de la publicación en línea, siempre hay que citar de donde aprendimos, o ya ni siquiera citar, digamos, recomendar en donde se puede profundizar o aprender otros enfoques sobre el tema (recuerdo que Lopez Michelone suele hacer eso, por lo que le congratulo).

    Yo también le critico a Paola que a veces por traducir, pone términos científicos en una mezcla de inglés y español, así que bueno, ahí está un descuento del 15% a mis honorarios. :-P

  8. JuCar dice:

    En lo personal considero que hablando de hecos históricos no es tan grave el asunto pero tampoco estaria mal citar la fuente, no tiene nada de malo, como los articulos que aquí vemos y al final dicen fuente Znet y cuando uno visita el sitio ve que es una traducción y como dije no tiene nada de malo.

    En cuanto a “C”, se supone que es un lenguaje de bajo nivel y esto se concidera asi por sus características, de lo contrario aún ahora se enlistaria con Java, etc., cosa que no es así.
    Lo que no mata fortalece.
    Saludos. :) :( :)

  9. luhesan dice:

    Señores se ve que no pasaron por la Universidad, y si lo hicieron… pasaron de noche. El lenguaje C es un lenguaje de alto nivel por el simple hecho de que tiene una sintaxis y una semantica propia. Por otra parte necesita de la compilacion. Por ultimo debemos mencionar que cumple con los requisitos de la programacion estructurada y posteriormente con lo que se plantea en la programacion orientada a objetos (C++).

Escribe tu comentario

Te recordamos que debes ingresar para escribir tu comentario.