BLOQUE I. INTRODUCCION AL SISTEMA UNIX
El sistema UNIX se ha vuelto bastante popular desde su estreno en 1969, funcionando en máquinas de procesamiento variable desde
microprocesadores hasta mainframes y suministrando un entorno de ejecución común a través de él. El sistema está dividido en dos
partes. La primera parte está formado por programas y servicios que han hecho del sistema UNIX un entorno muy popular; es la parte
visible para el usuario, incluyendo programas como el shell, mail, paquetes de procesamiento de textos, y compiladores. La segunda
parte está formada por el sistema operativo que soporta estos programas y servicios.
1. Historia de UNIX
A pesar de los sistemas abiertos, la historia de UNIX está dominada por el ascenso y caída de los sistemas hardware.
UNIX nació en 1969 en una mainframe 635 de Genaral Electric. A la vez, los Laboratorios Bell de AT&T había completado el desarrollo
de Multics, un sistema multiusuario que falló por su gran demanda de disco y memoria. En respuesta a Multics, los ingenieros de sistemas
Kenneth Thompson y Dennis Ritchie inventaron el UNIX. Inicialmente, Thompson y Ritchie diseñaron un sistema de archivos
para su uso exclusivo, pero pronto lo cargaron en una Digital Equipment Corp. (DEC) PDP-7, una computadora con solo 18 kilobytes
de memoria. Este suministraba una larga serie de puertos. En 1970, fue cargado en una PDP-11, y el runoff, el predecesor del troff,
se convirtió en el primer procesador de texto de UNIX. En 1971, UNIX recibió reconocimiento oficial de AT&T cuando la firma lo usó
para escribir manuales.
La segunda edición de UNIX fue realizada en 1971. La segunda edición dio forma al UNIX moderno con la
introducción del lenguaje de programación C y sobre los 18 meses siguientes, el concepto de los pipes. Los pipes fueron importantes
por muchas razones. Representaron una nueva forma de tratamiento de datos. Desde un punto de vista moderno, los pipes son un
mecanismo orientado a objetos, porque entregan datos desde un objeto, o programa, a otro objeto.
Mientras tanto, había mucha actividad con el C. El C es otro producto de los Laboratorios Bell. Fue formado a partir de conceptos de
otros tres lenguajes: B, CPL (Combined Programming Lenguage) y Algol-60. A finales de 1973, después de que Ritchie añadió soporte
para variables globales y estructuras, C se convertió en el lenguaje de programación de UNIX preferente. (Brian Kernigham, quien ayudó
a Ritchie a desarrollar el C, añadió la R al estándar K&R, es el estándar preferido hasta la aceptación del ANSI C).
Figura 1. Evolución del UNIX.
La tabla 1 muestra una concisa historia del desarrollo de UNIX.
El ascenso del C fue responsable del concepto de portabilidad. Escrito en C, el entorno UNIX pudo ser relativamente fácil
de trasladar a diferentes plataformas hardware. Las aplicaciones escritas en C pudieron ser fáciles de transportar entre diferentes
variantes de UNIX. En esta situación nació el primer criterio de sistema abierto: portabilidad OS, la posibilidad de mover software
desde una plataforma hardware a otra de una forma estándar. La portabilidad de UNIX se convirtió en el modelo de transportar
aplicaciones en C desde un sistema UNIX a otro.
En 1974, la quinta edición de UNIX fue realizada para que estuviera disponible para las universidades. El precio de la
versión 5 fue suficiente para recuperar los costos de las cintas y manuales. Se informó de los errores directamente a Thompson y
Ritchie, quienes los reparaban a los pocos días de la notificación. En 1975, la sexta edición de UNIX fue desarrollada e iniciada para
ser ampliamente usada. Durante este tiempo, los usuarios se hicieron activos, los grupos de usuarios fueron formados, y en 1976, se
estableció el grupo de usuarios USENIX. En 1977, Interactive System Corp. inició la venta de UNIX en el mercado comercial. Durante
este tiempo, UNIX también adquirió más poder, incluyendo soporte para procesadores punto flotante, microcódigo y administración de
memoria.
Con la creciente popularidad de los microprocesadores, otras compañías trasladaron el
UNIX a nuevas máquinas, pero su simplicidad y claridad tentó a muchos a aumentarlo bajo sus puntos de vista, resultando muchas
variantes del sistema básico. En el período entre 1977 y 1982, los Laboratorios Bell combinaron algunas variantes de AT&T dentro de un
sistema simple, conocido comercialmente como UNIX System III. Los Laboratorios Bell más tarde añadieron muchas características
nuevas al UNIX System III, llamando al nuevo producto UNIX System V, y AT&T anunció su apoyo oficial al System V en Enero de 1983.
Sin embargo, algunas personas en la Universidad de California en Berkeley habían desarrollado una variante del UNIX, BSD, para
máquinas VAX, incluyendo algunas nuevas e interesantes características.
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.
- Posee una simple interface de usuario con el poder de dar los servicios que los usuarios quieren.
- Provee de primitivas que permiten construir programas complejos a través de programas simples.
- Usa un sistema de archivos jerárquico que permite un mantenimiento fácil y una implementación eficiente.
- Usa un formato consistente para los archivos, el flujo de bytes, haciendo a los programas de aplicación más fáciles de escribir.
- Provee una simple y consistente interface a los dispositivos periféricos.
- Es un sistema multiusuario y multitarea; cada usuario puede ejecutar varios procesos simultáneamente.
- Oculta la arquitectura de la máquina al usuario, haciendo fácil de escribir programas que se ejecutan en diferentes implementaciones
hardware.
Sin embargo tiene algunos inconvenientes:
- Comandos poco claros y con demasiadas opciones.
- Escasa protección entre usuarios.
- Sistema de archivo lento.
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.
| Año | Evento | Descripción |
|
|---|
| 1965 | Origen | Bell Telephone Laboratories y General Electric Company intervienen en el proyecto MAC
(del MIT) para desarrollar MULTICS. |
|
| 1969-71 | Infancia del UNIX | El primer UNIX llamado Versión 1 o Primera edición, nace de
las cenizas de MULTICS. |
|
| 1972-73 | Nace el C | En la Versión 2 el soporte del lenguaje C y los pipes son añadidos. En
la Versión 4 el ciclo se completa con la reescritura de UNIX en C. |
|
| 1974-75 | El momento | Las Versiones 5 y 6 de UNIX se distribuyen a las universidades. La
Versión 6 circula en algunos ambientes comerciales y gubernamentales. AT&T impone
ahora pagar una licencia, a persar de que no puede promocionar UNIX por las duras
regulaciones de EEUU del monopolio telefónico de AT&T. |
|
| 1977 | UNIX como producto | Interactive Systems es la primera compañía comercial que
ofrece UNIX. |
|
| 1977 | Nace BSD | 1BSD incluye un Shell Pascal, dispositivos y el editor ex. |
|
| 1979 | Versión 7 | La Versión 7 de UNIX incluye el compilador completo K&R con uniones y
definiciones de tipos. Versión 7 también añade el Bourne Shell. |
|
| 1979 | Trabajo en Red | BSD acrecentado por BBN incluye soporte para trabajar en red. |
|
| 1979 | Nace XENIX | Implementación para microcomputadoras ampliamente distribuido en
hardware de bajo coste. |
|
| 1980 | Memoria Virtual | La capacidad de memoria virtual se añade en 4BSD. |
|
| 1980 | Nace ULTRIX | DEC realiza una versión de UNIX basado en BCD. |
|
| 1980 | Licencias en AT&T | La distribución de licencias abre el mercado. |
|
| 1982 | Atracción de los negocios | Soporte importante para procesos de transacciones
desde UNIX System Development Lab. |
|
| 1983 | Nace System V | La versión más común de AT&T obtiene sus bases. |
|
| 1984 | Salida de SVR3 | AT&T desata la versión más popular de System V hasta ahora. |
|
| 1988 | Motif vs Open Look | Sistemas por ventanas rivales son anunciados por OSF y UI. |
|
| 1988 | Siguiente paso | Un UNIX gráfico usa el Kernel Mach. |
|
| 1990 | OSF/1 vs SVR4 | Versiones rivales de UNIX son anunciadas por OSF y UI. |
|
| 1992-95 | Socialización | OSF/1 abandona la escena; SVR4 se convierte en el estándar;
Sun vende más estaciones de trabajo para usuarios de Motif que para usuarios de
Open Windows; y crece Windows/NT de Microsoft. |
Tabla 1. Hechos importantes en la historia de UNIX.
2. Versiones de UNIX
Cuando surgió UNIX su utilización fue limitada a sus creadores
(los Laboratorios Bell) y a las instituciones tales como universidades y escuelas superiores, donde los usuarios tuvieron suficiente
pericia y motivación para mantener un sistema operativo sin soporte por parte de los creadores. Esta situación y los atractivos obvios
de su uso, llevaron de forma inevitable a cierto número de casas suministradoras de software a intentar que se tapara ese agujero y
crear algún sistema operativo semejante a UNIX y accesible al gran mercado con el servicio de soporte que requiere un usuario
comercial. Esto ha tenido dos tendencias:
- Comercialización de lo que es en esencia el sistema operativo UNIX, redirigido a otro procesador, debido al compilador
transportable C, puesto que UNIX está escrito en lenguaje C.
- Comercialización de un UNIX reescrito, con igual apariencia pero métodos y estructuras internas de trabajo que pueden ser muy
distintos.
La variedad entre las versiones de UNIX es terrible. Las dos familias más importantes
de versiones de UNIX son BSD y System V. BSD dio nacimiento a SunOS, quien se ha convertido ahora en el progenitor de muchas
pequeñas variantes en el mercado de las SPARC. Tatung, por ejemplo, ofertó SPARC-OS, y Solbourne Computers ofertó SolOS. Con la
adquisición de la división de sistemas operativos de Interactive Systems, Sun ha trasladado también SunOS a las arquitecturas Intel 386
y 486.
System V es la versión más ampliamente usada de UNIX. Es el descendiente directo
del UNIX desarrollado por AT&T en 1969. Está actualmente en la revisión 4.1 y a menudo es referenciado como SVR4, o System V
Release 4. Ejemplos de descendientes de System V son ZEUS, XENIX (desarrollado por Microsoft), Idrix, LINUX,...
|