Web Analytics
Conecta con nosotros

A Fondo

UNIX cumple 50 años: desde un fracaso a gobernar todos los smartphones

Publicado el
UNIX cumple 50 años

UNIX es uno de los sistemas operativos más importantes de la historia. Acaba de cumplir sus primeros 50 años de vida y aunque su uso ha descendido en los últimos años en servidores o supercomputadoras, su importancia en sistemas y aplicaciones está fuera de toda duda y es la base que alimenta múltiples derivados, incluyendo todo lo que llega de Linux y los centenares de millones de smartphones con Android e iOS.  Ars Technica le ha dedicado un excelente repaso a sus orígenes y ello nos da pie a homenajear un desarrollo que forma parte de la historia de la computación,  seguramente, el sistema operativo más influyente jamás escrito.

UNIX nació hace 50 años del fracaso de un ambicioso proyecto que involucraba a titanes de la época como Bell Labs, General Electric y MIT. Creado por unos pocos programadores en Bell Labs, su historia comienza con una reunión en el último piso de un anexo de la sede de la compañía en Murray Hill, Nueva Jersey. Era un lunes brillante y frío, el último día de marzo de 1969, y el departamento de ciencias de la computación recibía invitados distinguidos: Bill Baker, vicepresidente de Bell Labs, y Ed David, director de investigación. 

La situación era delicada. Baker estaba a punto de eliminar del mapa a Multics, uno de los primeros sistemas operativos de tiempo compartido. Concebido como un producto comercial por General Electric y en desarrollo desde 1964 tenía grandes objetivos. Hay que recordar que a principios de la década de 1960 los programas se ejecutaban uno cada vez, uno tras otro. Un investigador de Bell Labs escribía un programa, lo convertía a cualquier forma de entrada que aceptara las computadoras de entonces y lo dejaba en el centro de computadoras. Un operador ponía en cola el programa, lo ejecutaba y luego entregaba los resultados impresos y el programa original al investigador.

Si había un error en el código y después de la molestia de imprimir tarjetas perforadas, llevarlas al centro de cómputo y luego esperar los resultados, el resultado era «recompensado» con una impresión que decía algo así como «ERROR DE SINTAXIS». ¡Quéjate tú de las facilidades de la programación actual! A medida que los programas se volvieron más complicados, este método de depuración de código se volvió aún más frustrante de lo que ya era.

Por tanto, hubo un interés generalizado en compartir el tiempo, lo que permitiría a varios investigadores ejecutar programas en el mainframe al mismo tiempo, obteniendo resultados de inmediato en sus terminales remotas. Con el tiempo compartido, los programas no se imprimían en tarjetas perforadas, se escribían y almacenaban en el mainframe. En teoría, los investigadores podrían escribir, editar y ejecutar sus programas sobre la marcha y sin salir de sus oficinas.

UNIX cumple 50 años

Multics fue concebido con ese objetivo en mente, promovido como un proyecto que convertiría la potencia informática en algo tan fácil de acceder como la electricidad o el servicio telefónico, en colaboración de algunos gigantes de la época. MIT, donde ya se había desarrollado un sistema primitivo de tiempo compartido llamado CTSS y estaba en uso, proporcionaría las especificaciones. General Electrics proporcionaría el hardware y junto a Bell Labs se dividirían las tareas de programación.

El resultado es el conocido: No pudieron cumplir los objetivos. El proyecto había comenzando en 1964, su desarrollo estaba atrasado dos años porque debía entregarse en 1967, había sobrepasado con creces el presupuesto inicial y era poco o nada funcional para lo que pretendía. 

De Multics a UNIX

Volviendo a esa reunión del último día de marzo de 1969, Baker pronunció el discurso de despedida para Multics. Tratando de dar el mejor giro posible a lo que claramente era un fracaso absoluto, dijo que había logrado todo lo que intentaban lograr en Multics y que ya no necesitaban trabajar en el proyecto. Como Berk Tague, un miembro del personal presente en la reunión dijo más tarde: «Al igual que Estados Unidos en Vietnam, declaró la victoria y salió de Multics»

Dentro del departamento, este anuncio era esperable. Los programadores eran muy conscientes de los diversos problemas del proyecto y también de la computadora para la que se les había pedido que lo construyeran, un potentísimo, pero complicado mainframe GE 645Dennis Ritchie, uno de los programadores que trabajaron en Multics, dijo más tarde que todos sentían interés en el proyecto, a pesar de que sabían que las posibilidades de éxito eran extremadamente remotas. Aún así, mientras Bell Labs trabajara en Multics, también tendrían una potente máquina para «jugar» en su tiempo libre. El mainframe que Bell Labs utilizó para desarrollar Multics costó casi tanto como un Boeing 737 de la época. 

UNIX cumple 50 años

Mainframe General Electric 645

La cancelación de Multics significó el final del único proyecto en el que los programadores del departamento de informática estaban trabajando oficialmente y también significó la pérdida de la única gran computadora. Después de que el mainframe fue desmontado y retirado, los recursos del departamento de informática se redujeron a poco más que suministros de oficina y algunos terminales.

Ken Thompson, otro de los programadores importantes del proyecto, comentó con ironía la situación del momento para el proyecto de Historia Oral de Unix: «Nuestra forma de vida personal iba a ser mucho más espartana«. Afortunadamente para los entusiastas de la informática, las dificultades y las restricciones técnicas pueden conducir a veces a una inmensa creatividad.

Nace UNIX

Thompson, Ritchie y otros como Canaday y McIlroy formaron parte del equipo de programadores y supervisores de Multics. Eran conscientes de los defectos en las especificaciones que llegaron del MIT, en este momento de varios miles de páginas, y sabían que algunos de sus desafíos podrían atribuirse a la difícil arquitectura de la GE 645. Con el tiempo, los cuatro, especialmente Thompson, se convencieron de que si se les daba una «pizarra limpia», podrían desarrollar sistema operativo mejor que Multics.

Así, el sistema operativo más influyente jamás escrito no fue financiado por capitalistas de riesgo y las personas que lo escribieron no se convirtieron en multimillonarios debido a eso. UNIX surgió porque los Laboratorios Bell -subsidiaria de AT&T- contrataron personas inteligentes y les dieron la libertad de divertirse, confiando en que sus proyectos serían útiles. Antes del sistema, los investigadores de esta compañía mítica ya habían inventado el transistor y el láser, así como innovaciones en gráficos por computadora, síntesis de voz, reconocimiento de voz y otros importantes campos de la computación actual.

Lo que sigue es más conocido. Aprovechando algunos de los principios de Multics y los primeros pasos dados junto a Canaday y Ritchie en la cafetería de Bell donde «parieron» aspectos importantes como el sistema de gestión de archivos, Ken Thompson aprovechó la ausencia por vacaciones de su mujer y su hijo para escribir la primera versión de Unix en agosto de 1969.

Poco más que un editor de archivos y un núcleo para administrar el procesador PDP-7, fue el inicio de un sistema operativo portable, multitarea y multiusuario escrito en ensamblador y para la minicomputadora PDP-7 de Digital Equipment Corp. Unas semanas después, en septiembre, el departamento de informática de Bell Labs tenía un sistema operativo que se ejecutaba en un PDP-7, y no era Multics, sino un desarrollo que bautizaron como Unics (Uniplexed en lugar de Multiplexed como broma al anterior proyecto) y que no se sabe porqué acabó llamándose Unix.

UNIX cumple 50 años

Ken Thompson y Dennis Ritchie frente a un PDP-11

En 1971 Unix pasó a formar parte de la minicomputadora PDP-11, y en noviembre se publicó la primera edición del legendario «Manual de programador de Unix», en la cual colaboraron Ken Thompson y su colega Dennis Ritchie. Este último desarrollaría en 1972 el lenguaje de programación C, que sería a la postre el pilar del desarrollo en el recién creado sistema operativo.

UNIX: BSD, Linux, iOS, Android y mucho más

EN 1973 apareció por primera vez la «tubería» para comunicar dos programas, mientras que en 1974 la Universidad de California en Berkeley recibió una copia de Unix, El desarrollo del sistema operativo se dispararía a partir de ahí con la aparición de distintas versiones comerciales como el Unix System V, que sería la base del AIX de IBM y el HP-UX de Hewlett Packard.

En 1982, Bill Joy, recién graduado en Berkeley y a la postre co-fundador de Sun Microsystems, creó su propia versión basada en el Unix V6 de Bell Labs con algunos complementos adicionales. La llamó BSD (Berkeley Software Distribution), acabó convirtiéndose en rival del Unix de AT&T, y desde ahí se derivaron sistemas como FreeBSD, NetBSD, OpenBSD, DEC Ultrix, SunOS, NeXTstep/OpenStep e incluso Mac OS X.

Hay que mencionar que la distribución gratuita de Unix se detuvo en 1984 cuando el gobierno disolvió AT&T y un acuerdo de liquidación anterior que prohibía a la compañía beneficiarse de muchos inventos de Bell Labs expiró. Sin embargo, la comunidad de Unix se había acostumbrado al software libre,  por lo que al enterarse de que AT&T pronto cobraría por todas las copias de Unix y prohibiría alteraciones en el código fuente, Richard Stallman y otros decidieron recrear Unix utilizando un software que sería distribuido a cualquier persona de forma gratuita, sin restricción a las modificaciones.

Así, en 1983, Richard Stallman anunció su intención de desarrollar un sistema operativo similar a Unix constituido por software libre. Llamaron a su proyecto «GNU», abreviatura de «GNU’s Not Unix». Unos años después, en 1987, Andrew Tanenbaum creó Minix, un clónico limitado de Unix para entornos académicos que sería la semilla involuntaria de otro momento importante que llegaría poco después.

En 1991, el joven estudiante finlandés Linus Torvalds comenzó el desarrollo del núcleo Linux bajo la base de Unix. Con la combinación de otros proyectos principalmente el GNU encabezado por Richard Stallman y la Free Software Foundation, nació el sistema operativo libre, multiplataforma, multiusuario y multitarea que conocemos informalmente como Linux y más correctamente como GNU/Linux.

La presencia actual de Unix ha caído muchísimo precisamente debido a Linux, como vimos en el último Top-500 de supercomputadoras donde los 500 usaban Linux como sistema operativo. En todo caso, Unix fue el germen y sus derivadas se extienden por todos los segmentos del mercado incluyendo los móviles inteligentes con iOS o Android. Historia viva de la computación y seguramente el sistema más influyente de la historia que acaba de cumplir sus primeros 50 años de vida. ¡Felicidades!

Coordino el contenido editorial de MC. Colaboro en medios profesionales de TPNET: MCPRO, MuySeguridad, MuyCanal y Movilidad Profesional.

20 comentarios
  • Virtualbox Vbox

    Pues sí que es influyente UNIX, mucho más de lo que me imaginaba. Quizá nada de lo que conocemos hoy sería igual si UNIX no hubiera existido… quién sabe.

  • agus moya

    Ese Manual de programador de Unix es legendario entre desarrolladores. Muy buen artículo

  • L1ch

    O tal vez no hubiese existido si Ritchie tampoco xd

  • Eduardo Medina

    Hasta Windows tiene partes de Unix. Lo difícil es encontrar un sistema operativo que no le deba algo a Unix. Aquí tienes el fichero /etc/hosts que también puedes encontrar en Linux, aunque en Windows está en una ubicación diferente, pero curiosamente está en una subcarpeta etc y el fichero se llama hosts, y funciona igual, por cierto. https://support.rackspace.com/how-to/modify-your-hosts-file/

    No soy un amante de Unix, más que nada porque en los tiempos actuales me parece una rémora, y los sistemas BSD, que si bien no tienen el certificado son el heredero más fiel a aquella filosofía Unix que lo cambió todo, no están pasando por su mejor momento.

    Unix puso las bases de cómo tenían que funcionar los sistemas operativos modernos y las bases que sentó son en buena parte válidas en nuestros días. De hecho, llevamos 50 años viviendo la era que yo llamo «Unix-Von Neumann», ya que la inmensa mayoría de los ordenadores del mundo siguen las bases que sentaron Unix a nivel de sistemas operativos y Von Neumann en lo que se refiere a la arquitectura y modo de funcionar del hardware, y si no ando equivocado Von Neumann es anterior a Unix.

    En mi opinión, no habrá ninguna revolución real en la computación hasta que la mecánica cuántica se masifique, ya que ahí sí hay margen para revolucionar, pero la computación actual, basada en máquinas silicio que trabajan con binarios y sistemas operativos que siguen los principios de Unix, no creo que den para mucho más.

    Y aunque parezca mentira, cada vez que usamos un smartphone o un PC lo que estamos haciendo es usar una tecnología que lleva con nosotros 50 años, solo que obviamente muy evolucionada y a la que se le ha añadido muchas cosas, ya que por ejemplo el primer Unix ni siquiera tenía interfaz gráfica (aquello llegó unos cuantos años después de la mano de Xerox).

  • Ghoul Rul

    Y todo ese avance gracias a que los desarrolladores querían jugar Space Travel

  • Hector MA

    Linux ni siquiera es un derivado directo de Unix, sino de Minix. El que sí se basa directo en Unix es Mac OS.

  • Jose Fernandez

    No es cierto. Esta es la vedadera historia de Unix.

    «En un anuncio que ha dejado de piedra a la industria informática,
    Ken Thompson, Dennis Ritchie y Brian Kernighan admitieron que el
    sistema operativo Unix y el lenguaje de programación C creados por
    ellos es una broma del día de los inocentes, muy elaborada, y que se
    ha mantenido con vida por mas de 20 años. Hablando en el reciente
    Forum de Desarrollo de Software de Unixworld, Thompson reveló lo
    siguiente:

    “En 1969, AT&T
    había terminado su trabajo con GE/Honeywell en el proyecto Multics.
    Brian y yo acabamos de comenzar a trabajar con un release inicial de
    Pascal del profesor Nichlaus Wirth de los laboratorios ETH en Suiza y
    estabamos impresionados por su potencia y elegante simplicidad.
    Dennis acababa de finalizar de leer ‘Los aburridos de los anillos’
    una parodia hilariante de la gran trilogía ‘El señor de los
    anillos’. Como una broma decidimos hacer parodias de entorno
    Multics y del Pascal. Dennis y yo fuimos los responsables de sistema
    operativo. Vimos el Multics y diseñamos un nuevo sistema que seria
    tan complejo y criptico como fuera posible para maximizar los niveles
    de frustración de los usuarios casuales. Entonces, Dennis y Brian
    trabajaron en una versión de Pascal realmente deformada, llamada ‘A’
    . Cuando vimos que otros estaban tratando realmente de crear
    programas en ‘A’ añadimos rápidamente características
    cripticas y evolucionamos hacia ‘B’, ‘CBPL’ y finalmente ‘C’.
    Nos detuvimos cuando obtuvimos una compilación exitosa para la
    siguiente sintaxis:

    for(;P(“n”),R-;P(“|”))for(e=C;e-;P(“_”+(*u++/8)%2))P(“|
    “+(*u/4)%2);

    Pensar que los
    programadores modernos intentarían usar un lenguaje que permitiese
    tal tipo de declaración estaba por encima de nuestra comprensión.
    Realmente pensamos en venderle esto a los soviéticos para enviar su
    ciencia de la computación veinte años atrás. Imaginen nuestra
    sorpresa cuando AT&T y otras corporaciones norteamericanas
    empezaron realmente a intentar usar el Unix y el ‘C’. Les ha
    tomando 20 años desarrollar suficiente experiencia para generar, con
    todo y eso, aplicaciones de uso marginal, usando esta parodia
    tecnológica de los años 60, pero estamos impresionados por la
    tenacidad (sino el sentido común) del programador típico de ‘C’
    y Unix. En cualquier caso, Brian, Dennis y yo hemos trabajado
    exclusivamente en Pascal en el Macintosh de Apple en estos años
    pasados y nos sentimos realmente culpables por el caos, la confusión
    y la mala programación que ha resultado de nuestra tonta broma tanto
    tiempo atrás”.

    Los grandes
    proveedores y clientes de Unix y ‘C’, incluyendo AT&T,
    Microsoft, Hewlett-Packard, GTE, NCR y DEC han rehusado comentar algo
    por el momento. Borland International, un proveedor líder de
    herramientas de Pascal y ‘C’, incluyendo el popular Turbo Pascal,
    Turbo C y Turbo C++, declaro que se lo sospechaba desde hacia varios
    años y que continuaran mejorando sus productos Pascal y detendrán
    los esfuerzos para desarrollar ‘C’. Un portavoz de IBM rompió en
    una risa incontrolada y tuvo que posponer una conferencia de prensa
    sobre el futuro del RS-6000 diciendo simplemente que “… VM estará
    disponible pronto”. En una declaración criptica del profesor Wirth
    del instituto ETH y padre de los lenguajes estructurados Pascal,
    Modula 2 y Oberon dijo que P.T.Barnum estaba en lo cierto.

    En una declaración
    de fuentes de confianza se ha dicho que es posible que se produzca
    una confesión similar por parte de William Gates sobre los sistemas
    operativos MS-DOS y Windows»

  • Francisco

    yo diría que el que gobierna las mayoría de smartphone no es unix, sino una aberración suya … un hijo bastardo , ni eso…

  • Juan Orós

    Y, aunque yo no use MacOS, también está basado en Unix, yo uso en la mayoría GNU_LINUX y Android en moviles

  • Juan Orós

    linux está basado en minix que es a su vez está basado en Unix

  • L1ch

    Linux es un clon de Minix clon de Unix. GNU es un clon directo de Unix. Pero ninguno es Unix.

  • L1ch

    Linux no es Unix, ni Minix (del que se basa) tampoco.

  • Hector MA

    De ahí el uso de la palabra «directo».

  • Hector MA

    Por eso dije directo, además creo que clon y derivado son cosas diferentes.

  • Rodrigo Mariano Villar Vespa

    Unix Como sistema operativo ya no existe y no domina nada,que halla sistemas operativos basados en el o parecidos es otro tema.

  • L1ch

    Un clon de algo es algo que es idéntico a otro algo. Un derivado es algo que tiene su origen de otro algo. Ninguno es lo mismo que una bifurcación o réplica, especialmente en software.

    Y por cierto, si bien tiene la certicicación Unix, MacOS no es un Unix directo, parte de Nextstep que parten de ciertos *BSD.

  • luis del rio sampietro

    El trabajo de K Thomson y D Ritchie fue increíble, sentó la base para las siguientes décadas en computación, la filosofía Bell Labs dio estos frutos, nunca se repetirá, el gobierno USA equivocadamente retiró el derecho a patentes y dividió ATT.

  • Omar18

    Unix fue el primer ejemplo en que si la información se comparte, se publica y se libera: se llega a grande cosas. Unix tuvo su gran impulso cuando llego a manos de universidades y académicos; apenas que lo cerraron y restringieron su uso, comenzó su muerte lenta comercialmente, lo que impulsó sin quererlo su reemplazo y heredero el: GNU/Linux

  • Pak Lied

    Linux no está basado en Unix, inspirado en todo caso

  • Pak Lied

    En bsd

Top 5 Cupones

Lo más leído