Unix

Keywords: Unix, 1970, 1971, 1973, 1975, 1978, 1979, 1982, 1983

UNIX® (o Unix) es un sistema operativo portable, multitarea y multiusuario; desarrollado en principio por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy.

Tabla de contenidos

Historia

El inicio del desarrollo de este sistema operativo (que se cree es uno de los más influyentes en la historia de la computación) fue muy particular, pues nadie habría predicho el éxito de UNIX después de su primera encarnación.

A finales de los años sesenta, el Instituto Tecnológico de Massachusetts, los laboratorios Bell de AT&T y General Electric trabajaban en un sistema operativo experimental llamado Multics (Multiplexed Information and Computing System), desarrollado para ejecutarse en un ordenador o computadora central (mainframe) modelo GE-645. El objetivo del proyecto era desarrollar un sistema operativo interactivo que contase con muchas innovaciones, entre ellas mejoras en las políticas de seguridad. El proyecto, por cierto, consiguió dar a luz versiones para producción, pero las primeras versiones contaban con un pobre rendimiento.

Los laboratorios Bell de AT&T decidieron desvincularse y dedicar sus recursos a otros proyectos. Uno de los programadores del equipo de los laboratorios Bell, Ken Thompson, siguió trabajando para la computadora GE-645 y escribió un juego llamado Space Travel (Viaje espacial). Sin embargo, descubrió que el juego era lento en la máquina de General Electric y resultaba realmente caro, algo así como 75 dólares de EE. UU. por cada partida.

De este modo, Thompson escribió nuevamente el programa, con ayuda de Dennis Ritchie, en lenguaje ensamblador, para que se ejecutase en un ordenador DEC PDP-7. Esta experiencia, junto al trabajo que desarrolló para el proyecto Multics, condujo a Thompson a iniciar la creación de un nuevo sistema operativo para la DEC PDP-7. Thompson y Ritchie lideraron un grupo de programadores, entre ellos a Rudd Canaday, en los laboratorios Bell, para desarrollar tanto el sistema de ficheros como el sistema operativo multitarea en sí. A lo anterior, agregaron un intérprete de órdenes (o intérprete de comandos) y un pequeño conjunto de programas. El proyecto fue bautizado UNICS, como acrónimo de Uniplexed Information and Computing System, pues sólo prestaba servicios a dos usuarios (de acuerdo a Andrew Tanenbaum, era sólo un usuario[1]). La autoría de esta sigla se le atribuye a Brian Kernighan, como un chiste o hack relativo a Multics. Dada la popularidad que tuvo un juego de palabras que consideraba a UNICS un sistema MULTICS castrado (pues eunuchs, en inglés, es un homófono de UNICS), se cambió el nombre a UNIX, dando origen al legado que llega hasta nuestros días.

Hasta ese instante, no había existido apoyo económico por parte de los laboratorios Bell, pero eso cambió cuando el Grupo de Investigación en Ciencias de la Computación decidió utilizar UNIX en una máquina superior a la PDP-7. Thompson y Ritchie lograron cumplir con la solicitud de agregar herramientas que permitieran el procesamiento de textos a UNIX en una máquina PDP-11/20, y como consecuencia de ello consiguieron el apoyo económico de los laboratorios Bell. Fue así como por vez primera, en 1970, se habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se incluía en él un programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento de texto" inicial, compuesto tanto por el sistema operativo como de runoff y el editor de texto, fue utilizado en los laboratorios Bell para procesar las solicitudes de patentes que ellos recibían. Pronto, runoff evolucionó hasta convertirse en troff, el primer programa de edición electrónica que permitía realizar composición tipográfica. El 3 de noviembre de 1971 se publicó The UNIX Programmer's Manual.

En 1973 se tomó la decisión de escribir nuevamente UNIX, pero esta vez en el lenguaje de programación C. Este cambio significaba que UNIX podría ser fácilmente modificado para funcionar en otros ordenadores (de esta manera, se volvía portátil) y así otras variaciones podían ser desarrolladas por otros programadores. Ahora, el código era más conciso y compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de UNIX. AT&T puso a UNIX a disposición de universidades y compañías, también al gobierno de los Estados Unidos, a través de licencias.

El desarrollo prosiguió, con la entrega de las versiones 4, 5 y 6 en el transcurso de 1975. Estas versiones incluían los pipes o tuberías, lo que permitió dar al desarrollo una orientación modular respecto a la base del código, consiguiendo aumentar aún más la velocidad de desarrollo. Ya en 1978, cerca de 600 o más máquinas estaban ejecutándose con alguna de las distintas encarnaciones de UNIX.

La versión 7, la última versión del UNIX original con amplia distribución, entró en circulación en 1979. Las versiones 8, 9 y 10 se desarrollaron durante la década de 1980, pero su circulación se limitó a unas cuantas universidades, a pesar de que se publicaron los informes que describían el nuevo trabajo. Los resultados de esta investigación sirvieron de base para la creación de Plan 9, un nuevo sistema operativo portátil y distribuido, actualmente disponible en Laboratorios Bell.

AT&T entonces inició el desarrollo de UNIX System III, basado en la versión 7, como una variante de tinte comercial y así vendía el producto de manera directa. La primera versión se lanzó en 1982. A pesar de lo anterior, la empresa subsidiaria Western Electric seguía vendiendo versiones antiguas de Unix basadas en las distintas versiones hasta la séptima. Para finalizar con la confusión con todas las versiones divergentes, AT&T decidó combinar varias versiones desarrolladas en distintas universidades y empresas, dando origen al Unix System V Release 1. Esta versión presentó características tales como el editor Vi y la biblioteca curses, desarrolladas por Berkeley Software Distribution en la Universidad de California, Berkeley. También contaba con compatibilidad con las máquinas VAX de la compañia DEC.

Normas

POSIX: Portable Operating System based on UnIX (sistema operativo portable basado en Unix)

Sistemas operativos libres similares a Unix

En 1983, Richard Stallman anunció el Proyecto GNU, un ambicioso esfuerzo para crear un sistema similar a Unix, que pudiese ser distribuido libremente. El software desarrollado por este proyecto -- por ejemplo, GNU Emacs y GCC -- ha sido parte fundamental de otros sistemas UNIX.

En 1991, cuando Linus Torvalds empezó a proponer el kernel Linux y a reunir colaboradores, las herramientas GNU eran la elección perfecta. Al combinarse ambos elementos, conformaron la base del sistema operativo (basado en POSIX) que hoy conocemos como GNU/Linux o simplemente Linux. Las distribuciones basadas en el kernel, el software GNU y otros agregados —entre las que podemos mencionar a Red Hat Linux y Debian GNU/Linux— se han hecho populares tanto entre los aficionados a la computación como en el mundo empresarial.

Impacto

La marca

UNIX es una marca registrada de The Open Group en Estados Unidos y otros países. Esta marca sólo se puede aplicar a los sistemas operativos que cumplen la Single UNIX Specification de The Open Group y han pagado las regalias establecidas. Estos sistemas UNIX incluyen IBM AIX, Compaq (antes Digital) Tru64 UNIX, Solaris, Caldera SCO UnixWare, Hewlett Packard HP-UX, NCR UNIX System V, NEC UX/4800, SGI IRIX, Caldera SCO openServer y una parte de IBM z/OS. En la práctica, el término, especialmente cuando se escribe como "UN*X", "*NIX", o "*N?X" se aplica a varios sistemas multiusuario basados en POSIX tales como GNU/Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, los cuales no buscan la certificación UNIX por resultar cara para productos destinados al consumidor final o que se distribuyen libremente en Internet.

Algunos de estos sistemas parecidos a Unix son además software libre, como GNU/Linux, FreeBSD, NetBSD, OpenBSD...

Órdenes clásicas de UNIX

Las herramientas o comandos más básicos de UNIX son:

Esta es una lista de los sesenta comandos de usuario de la sección 1 de la Primera Edición:

ar as b bas bcd boot cat chdir check chmod chown cmp cp date db dbppt dc df dsw dtf du ed find for form hup lbppt ld ln ls mail mesg mkdir mkfs mount mv nm od pr rew rkd rkf rkl rm rmdir roff sdate sh stat strip su sum tap tm tty type un wc who write

Otras órdenes Unix

Enlaces externos

Keywords: Unix, 1970, 1971, 1973, 1975, 1978, 1979, 1982, 1983