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.

    Tabla 1. Hechos importantes en la historia de UNIX.
    AñoEventoDescripción
    1965OrigenBell Telephone Laboratories y General Electric Company intervienen en el proyecto MAC (del MIT) para desarrollar MULTICS.
    1969-71Infancia del UNIXEl primer UNIX llamado Versión 1 o Primera edición, nace de las cenizas de MULTICS.
    1972-73Nace el CEn 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-75El momentoLas 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 productoInteractive Systems es la primera compañía comercial que ofrece UNIX.
    1977 Nace BSD1BSD incluye un Shell Pascal, dispositivos y el editor ex.
    1979 Versión 7La 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 RedBSD acrecentado por BBN incluye soporte para trabajar en red.
    1979 Nace XENIXImplementación para microcomputadoras ampliamente distribuido en hardware de bajo coste.
    1980 Memoria VirtualLa capacidad de memoria virtual se añade en 4BSD.
    1980 Nace ULTRIXDEC realiza una versión de UNIX basado en BCD.
    1980 Licencias en AT&TLa distribución de licencias abre el mercado.
    1982 Atracción de los negociosSoporte importante para procesos de transacciones desde UNIX System Development Lab.
    1983 Nace System VLa versión más común de AT&T obtiene sus bases.
    1984 Salida de SVR3AT&T desata la versión más popular de System V hasta ahora.
    1988 Motif vs Open LookSistemas por ventanas rivales son anunciados por OSF y UI.
    1988 Siguiente pasoUn UNIX gráfico usa el Kernel Mach.
    1990 OSF/1 vs SVR4Versiones rivales de UNIX son anunciadas por OSF y UI.
    1992-95SocializaciónOSF/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.

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,...

© Copyright 2002 Ricuei