Historia del Software: Unix (Parte I)



Esta semana les traemos una edición especial de Historia del Software, en dos entregas. Nos pareció demasiado breve (o demasiado extenso) resumir una historia tan grande en solamente un post, y para que sea más dinámico de leer, esta semana tendrán para leer una historia completa en dos oportunidades. Como siempre, nos dedicaremos a un evento o programa que cambió la historia de la computación para siempre. Y le dedicamos tamaña entrega a Unix, uno de los sistemas operativos que cambió el rumbo de los desarrollos informáticos.

No es de extrañar que un ícono gigante como Dennis Ritchie esté detrás de todo esto. Unix fue desarrollado por un grupo de ingenieros que en su momento estaban trabajando en AT&T: no solamente Ritchie, sino también Ken Thompson, Brian Kernighan, Douglas McIlroy y Joe Ossanna. A mediado de los años ‘60, cuando Ritchie estaba recién salido de la Universidad de Harvard, los laboratorios Bell, junto con el MIT y General Electric, comenzaron a trabajar en el desarrollo de un sistema operativo llamado Multics.

Multics era un sistema de avanzada, pero contaba con demasiadas fallas. En primer lugar, era demasiado caro. Pensemos sino por un momento que Ritchie había desarrollado un juego para Multics llamado Space Travel: la computadora GE-645 en la que corría Multics tenía un precio tan elevado que cada partida costaba 75 dólares. De más está decir que un equipo así jamás podría gozar del éxito comercial que tienen las computadoras hoy en día.

Los laboratorios Bell no bajaron los brazos. Comprendieron la complejidad y las imposibilidades de Multics, pero no desestimaron su filosofía. Los cinco desarrolladores que mencionamos antes decidieron darle una nueva oportunidad a la idea, pero en una escala más pequeña. Lo principal era mantener un entorno de programación que no fuera solamente bueno, sino que además incentivara el trabajo en equipo, con acceso remoto, para alentar la comunicación. Thompson comenzó a escribir simulaciones en el entorno de Multics, y el equipo de Bell comenzó a trabajar en los conceptos primordiales como procesos de computación, archivos, interpretación de líneas de comando, y hasta programas de utilidades primitivos.



¿Y de dónde viene el nombre Unix, entonces? De Multics, por supuesto. Peter Neumann consideró gracioso hacer un chiste sobre Multics y llamó al proyecto Unics (Uniplexed Information and Computing Service). Al poder soportar varios usuarios múltiples se lo volvió a llamar Unix. Hasta el momento, todo suena muy prometedor pero no lo era para las personas que no estaban involucradas en el proyecto. De hecho, Unix no contó con una financiación oficial, ni de parte de los laboratorios Bell o de otra entidad. A medida que avanzaron con Unix, Ritchie, Thompson y su equipo se dieron cuenta que necesitarían dinero si querían realmente innovar con su invento.

Los desarrolladores se acercaron nuevametne a los laboratorios Bell para pedir financiación a cambio de la promesa de incluir un procesador de textos (o al menos, la capacidad de ese tipo de tareas) a una máquina PDP-11/20. Así fue como en 1970 se instaló Unix en un ordenador, junto con un editor de textos y con un programa de formato de textos llamado roff. Este primer acercamiento se escribió en el lenguaje de la PDP-11/20. Un año más tarde, en 1971, se publicó el Manual para Programadores en Unix. Unos meses más tarde, se instaló la primera versión comercial de Unix en el New York Telephone Co. Systems Development Center. Este sistema funcionó sin cambios por siete años, con un sistema operativo propio y adaptado.

Por supuesto, este fue solamente el comienzo. En la próxima entrega cerraremos la historia de Unix, comenzando por uno de sus hitos más importantes: el comienzo de la implementación del lenguaje C.