Site hosted by Angelfire.com: Build your free website today!

Historia del UNIX


Entre 1965 y 1969, los Laboratorios Bell participaron con General Electric (Más tarde Honeywell) y Project MAC (Del Massachusetts Institute of Technology) en el desarrollo del sistema Multics. Este sistema diseñado para la macrocomputadora GE-645, era demasiado grande y complejo. Los diseñadores de Multics tenían en mente un programa de utilidad general que pudiera ser en esencia "todo para el mundo".

Al avanzar los trabajos se hizo evidente que aunque Multics proporcionaría con toda probabilidad la diversidad de servicios requerida, sería un sistema enorme, costoso y torpe. Por estas y muchas otras razones, los Laboratorios Bell se retiraron del proyecto en 1969. Algunos de los miembros de investigación de Bell comenzaron a trabajar en un sistema mucho menos ambicioso. El grupo, dirigido por Ken Thompson, buscaba crear un ambiente de computación sencillo para investigación y desarrollo de programas potentes. La primera versión de un sistema UNIX se creó para un DEC PDP-7 y se escribió en lenguaje ensamblador.

Thompson llevó a la práctica un sistema de archivos, un mecanismo de control de procesos, programas para el manejo general de archivos y un intérprete de mandatos (Comandos). En 1970 Brian Kernighan acuñó el nombre "UNIX" haciendo un juego de palabras con Multics; de hecho, en el sentido en que Multics era "multi", los sistemas UNIX eran sin duda servicios de computación "uni", limitados.

Cuando apareció la PDP-11, su atractivo precio permitió al grupo adquirir la máquina. No contaba con apoyo para la multiprogramación; la computadora tenía sólo 24K y el sistema ocupaba 16K ; por tanto quedaban 8K reservados para el usuario. El tamaño máximo de archivo era de 64Kbytes. La aplicación principal era el procesamiento de textos. No había protección del almacenamiento, de modo que el sistema podía al ejecutarse caerse con facilidad durante la prueba de un programa nuevo. El disco era pequeño, apenas 500 Kilobytes.

Dennis Ritchie se unió a la labor de desarrollo y ayudó a rescribir los sistemas UNIX en C en 1973. Esto ayudó a que los programas de los sistemas UNIX se volvieran más portátiles y comprensibles.

Las contribuciones de Thompson y Ritchie recibieron como reconocimiento el premio Turing, el de más prestigio en la comunidad de computación.

Antes de la liberalización, AT&T no tenía permiso para competir en la industria de la informática, por lo que ofreció los sistemas UNIX a las universidades por una cuota nominal. Además de distribuir el código fuente, fomentando así el desarrollo adicional y las innovaciones.

Una de las universidades que adquirió una licencia de Unix fue la Universidad de California en Berkeley. La motivación principal era poder experimentar con el primer sistema operativo que incluía código fuente. Al poco tiempo, la gente de Berkeley había escrito varios programas utilitarios para Unix que otros investigadores podrían encontrar útiles. La Universidad decidió entonces distribuir este código a la comunidad y le llamó a sus distribuciones BSD (Berkeley Software Distribution). A pesar que al principio las distribuciones de Berkeley consistían principalmente en herramientas para los usuarios, muy pronto comenzaron a cambiar la forma en que el propio sistema operativo funcionaba. Implementaron el manejo de memoria virtual y programaron el soporte para los protocolos del Arpanet que luego se convertiría en el conocido Internet. Todos estos cambios eran distribuidos como BSD a quienes tenían una licencia de Unix de la división de BTL encargada de administrar este sistema (AT&T).

A mediados de los años ochentas, Richard Stallman, entonces en el Instituto Tecnológico de Massachussets (MIT) decidió dedicarse a la construcción de lo que denominó software libre. El razonamiento de Stallman era que los mayores progresos en la industria del software surgen cuando se coopera entre programadores. Según Stallman, las industrias de la época estaban atentando contra la libertad de los usuarios y programadores de compartir el software, así que decidió programar un sistema parecido a Unix y regalarlo. A este sistema le llamó GNU, un acrónimo recursivo que significa Gnu's Not Unix (GNU no es Unix).

Para las personas deseosas de correr Unix en las ahora populares PCs, quedaba únicamente una alternativa, Minix. Minix era un sistema operativo parecido a Unix desarrollado por el Profesor Andrew Tanenbaum para enseñarle a sus alumnos acerca del diseño de sistemas operativos. Sin embargo, debido al enfoque puramente educacional de Minix, Tanenbaum no permitía que este fuera modificado demasiado ya que esto complicaba el sistema y no permitía que sus estudiantes lo entendieran en un semestre.

Un estudiante de Finlandia, Linus Torvalds, al ver que no era posible extender Minix, decidió escribir su propio sistema operativo compatible con Unix. Miles de personas que querían correr Unix en sus PCs vieron aquí su única alternativa debido a que a Minix le faltaban demasiadas cosas y BSD, a pesar de tener toda la funcionalidad esperada, tenía problemas legales. El proyecto GNU que Stallman había iniciado hacía ya casi diez años había producido para este entonces un sistema casi completo a excepción del kernel, que es el programa que controla el hardware de la máquina. Torvalds decidió utilizar el casi completo sistema GNU y completarlo él mismo con su propio kernel, al resultado le llamó Linux. Richard Stallman insiste aún que el sistema debiera ser llamado GNU/Linux, ya que incluye más código del proyecto GNU que del proyecto Linux.

En 1975 los sistemas UNIX se habían popularizado muchísimo en las universidades y así apareció una organización de usuarios que evolucionó hasta convertirse en el grupo llamado USENIX.

Los sistemas UNIX satisfacen necesidades de los programadores que crean software y de los administradores que deben controlar las labores de desarrollo de programas. Sin embargo, no estaban diseñados para sustituir los sistemas operativos comerciales "de trabajo pesado" que dan apoyo a un procesamiento masivo de datos.

El sistema de tiempo compartido UNIX, séptima edición, editado en 1979, hizo que los sistemas UNIX estuvieran más cerca de convertirse en productos comerciales válidos. Los archivos podían llegar a un tamaño de mil millones de bytes. El sistema se hizo todavía más portátil y se amplió el lenguaje C. Se llevó a la práctica un shell (Intérprete de los mandatos del usuario) más potente que incluía variables de cadena, programación estructurada, manejo de trampas y otras características. Se añadió la capacidad de añadir archivos entre una máquina y otra.

Reconociendo el valor de los sistemas UNIX, Microsoft anunció en 1980 que ofrecería XENIX, una versión comercial de sistema UNIX, en microprocesadores de 16 bits. Para mejorar la viabilidad, Microsoft agrego a cute; recuperación de errores por hardware, reparación automática de archivos después de caídas, detección de fallas en el suministro de energía y errores de paridad, segmentos compartidos de datos y una mejor comunicación entre procesos.

En 1980, la Universidad de California en Berkeley recibió fondos del Departamento de Defensa para evolucionar los sistemas UNIX de sistemas operativos pequeños de tiempo compartido a sistemas apropiados para estudiar ambientes de computación distribuida. Esto redundó en el desarrollo del sistema 4.1 BSD, después AT&T comercializó el sistema UNIX System III en 1982, este evolucionó hasta convertirse en System V.

A mediados de los años noventa, AT&T vendió Unix a Novell, quién tomó como prioridad número uno resolver las demandas. El acuerdo fue que la Universidad de California eliminaría todo el código residual de AT&T y lanzaría una última distribución de BSD totalmente libre de problemas de licenciamiento. Esta distribución fue el 4.4-BSD Lite2. Quien quisiera distribuir BSD debería basar su distribución en 4.4-BSD Lite2 para no tener problemas legales. Inmediatamente los distribuidores de BSD reiniciaron sus labores de distribución migrando lentamente sus sistemas al 4.4-BSD Lite2.
Para este entonces, Linux se había convertido ya en el Unix más popular entre la gente que buscaba alternativas al Windows de Microsoft.


 

Figura 1. Evolución del UNIX.

La tabla 1 muestra una concisa historia del desarrollo de UNIX.

 

A comienzos de 1984, había sobre 100.000 instalaciones del sistema UNIX en el mundo, funcionando en máquinas con un amplio rango de computadoras, desde microprocesadores hasta mainframes. Ningún otro sistema operativo puede hacer esta declaración. Muchas han sido las razones que han hecho posible la popularidad y el éxito del sistema UNIX:


El sistema está escrito en un lenguaje de alto nivel, haciéndolo fácil de leer, comprender, cambiar, y mover a otras máquinas. Ritchie estimó que el primer sistema en C era de un 20 a un 40 por ciento más grande y lento porque no estaba escrito en lenguaje ensamblador, pero las ventajas de usar un lenguaje de alto nivel superaban largamente a las desventajas.

Sin embargo tiene algunos inconvenientes:

A pesar de que el sistema operativo y muchos de los comandos están escritos en C, UNIX soporta otros lenguajes, incluyendo Fortran, Basic, Pascal, Ada, Cobol, Lisp y Prolog. El sistema UNIX puede soportar cualquier lenguaje que tenga un compilador o intérprete y una interface de sistema que defina las peticiones del usuario de los servicios del sistema operativo de la forma estándar de las peticiones usadas en los sistemas UNIX.

 


ANTERIOR PRINCIPAL SIGUENTE