miércoles, 30 de mayo de 2012

SISTEMA OPERATIVO UNIX

Es un sistema operativo Multitarea y Multiusuario, lo cual significa que puede ejecutar   varios programas y puede gestionar a varios usuarios simultáneamente. Se desarrolló en los laboratorios Bell (por Kernighan & Thompson), y aunque al principio se diseñó para el PDP-11, una máquina de Digital, ahora se ejecuta en gran cantidad de plataformas con muchos tipos de microprocesadores diferentes, haciéndolo un sistema multiplataforma, y provocando por tanto que un programa en código máquina ejecutable en una plataforma en UNIX no tenga por qué ser ejecutable en otra. Sin embargo, todos los UNIX son compatibles a dos niveles.
Comandos del sistema operativo y grupos de ellos, es decir, scripts. Programas en C en código fuente, siempre que se utilicen las librerías estándar. Una librería es un conjunto de funciones que el usuario puede utilizar, que vienen aparte del compilador.

Esta multiplicidad de plataformas hace que UNIX venga en diferentes presentaciones, casi una por cada fabricante y para cada tipo de máquina. Además, hay dos grupos (bueno, quizás 3) de desarrollo diferentes:

*    System V: liderado por AT&T, y acompañado por Sun y otra serie de fabricantes, va por la versión 4.
*    BSD, el más utilizado en las universidades.

Aparte, hay una serie de intentos de llegar a un UNIX totalmente estándar, pero al haber varios, estos intentos son en vano. En concreto, son los siguientes:

*    UNIX International, de AT&T y Sun. Open Software Foundation, que ha hecho ya un sistema operativo, OSF/1, y un IGU (interfaz gráfica de usuario), OSF Motif, liderado por IBM y su peña.

UNIX es un sistema operativo de red y tiene algunas características de sistema distribuido, ya que existe un nombre único para todos los ficheros disponibles en la red, y que es independiente de la máquina, o más específicamente, en ese nombre no se incluye el nombre de la máquina en el que el fichero está almacenado. Esto se denomina transparencia de localización, y se logra, por ejemplo, con el NFS de Sun.

Hay cienes de interfaces para usuario basados en UNIX, pero la mayoría utilizan como rutinas básicas para dibujo y gestión de ventanas X-Windows, también llamado X11, por ser la última versión. X-Windows no es la interfaz para el usuario, pero son utilizadas por diversas interfaces para el usuario como conjunto básico de primitivas gráficas o sistema de imaginería. Es, además, un sistema de presentación de gráficos en una red.

Algunas versiones: AIX de IBM, A/UX de Apple, HP-UX de Hewlett Packard, DG/UX de Data General, SunOS de Sun, IRIX para las estaciones de trabajo Silicon Graphics; y, en general, casi todo entorno operativo que lleve una X por algún lado.



COMUNICACIONES.


En los años 70, Brian Kernighan y Ken Thompson,  empleados de AT&T, decidieron escribir un sistema operativo nuevo para una maquina digital muy conocida en ese entonces PDP-7. Dicho sistema operativo debió ser multiusuario y multitarea. Llamaron a dicho sistema operativo UNIX que, aunque parezca raro, no son las iniciales de nada, sino que es un derivado de un nombre del sistema operativo MINIX, el cual evoluciona.
           
La primera versión de UNIX fue escrito en Assembler, pero en posteriores versiones se utilizó un lenguaje de alto nivel, él “C”. La idea de utilizar un lenguaje de alto nivel fue asegurar  que el sistema sea portable, es decir, que pudiera correrse en otras computadoras. En este sentido, UNIX fue el primer sistema operativo escrito con este objeto en mente.
           
Un sistema UNIX posee una estructura de capas. En el centro encontramos el hardware y redondeándolo el corazón o “kernel” del sistema. La función del kernel es la administración del hardware (memoria, periféricos), y de los procesos. Por afuera de los mismos encontramos los “shells” o interfaces a de comando. Los shells son programables mediante scripts, como los archivos BAT del DOS, pero en un lenguaje mucho mas poderoso. Por afuera de los shell encontramos los comandos y las aplicaciones. Estos pueden comunicarse con el shell o con el kernel directamente. En general, las aplicaciones no interactuan con el hardware como suele suceder con el DOS, pues de esa manera son portables mas fácilmente entre distintas plataformas, metas muy buscada en el mundo UNIX y no tanto en el mundo DOS.
           
Entre las ventajas que posee encontramos:

   -Gran configurabilidad. Muchos parámetros del sistema operativo pueden ser modificados. De hecho si se licencia el código fuente, puede modificarse el kernel.    -Diversidad de plataforma.    -A partir del System V Release 4 existen una cierta estandarización.
Entre sus fallas se detectaron:


      -A pesar de los esfuerzos de todos los desarroladores, aun existen diferencias entre los distintos UNIX. -Es un sistema operativo muy poco amigable con el usuario. Así, puede hablarse de un “temor de UNIX” entre la gente de sistemas que no lo conocen. Se han desarrollado interfaces gráficas que facilitan en gran parte su administración y manejo.

UNIX fue diseñado desde el principio para facilitar al máximo  las comunicaciones, tanto de los usuarios del sistema como entre los distintos operadores (computadoras); no solo entre ordenadores con UNIX, sino también entre ordenadores con UNIX y a ordenadores con otros sistemas operativos.



AT&T`s STREAMS.


El mecanismo AT&T`s Streams provee un número de características para transmisiones de alta velocidad. Streams facilita  la implementación de protocolos de red en capas tales como OSI, SNA, TCP/IP y XNS.
            Un Streams es un camino bidireccional entre un proceso en el espacio de usuario y un manejador de dispositivo en el espacio kernel. Los módulos de procesos pueden ser configurados dinámicamente  en un stream de manera tal que los programas pueden agregar servicios a los naturalmente previstos por los dispositivos.
            Con manejadores de dispositivos, las llamadas al sistema  son conmutadas  a los manejadores; con streams, las llamadas al sistema crean mensajes para comunicarse con los manejadores. Un stream asocia un par de colas (una para lectura y otra para escritura) con el usuario y otro par con el dispositivo. Las colas son enlazadas para formar un stream entre el manejador de dispositivo y el usuario.  Para cada cola hay cuatros rutinas:
- Open es llamada cuando el dispositivo es abierto.
- Close es llamada cuando el dispositivo está cerrado.
- Put coloca datos en la cola.
- Service sirve la cola y los datos de salida en un dispositivo o en la siguiente cola.


COMUNICACIONES ENTRE ORDENADORES.



UNIX fue diseñado en principio como un S.O. que hace relativamente fácil la comunicación entre ordenadores, no sólo entre ordenadores con UNIX sino también entre ordenadores con UNIX y ordenadores con otros S.O.
            Aunque las comunicaciones entre ordenadores separados por grandes distancias a través de líneas telefónicas no son un concepto nuevo, los que utilizan UNIX poseen la ventaja de que los programas de utilidad necesarios para establecer las comunicaciones forman parte del S.O. y son directamente accesibles al usuario final.

UNIX es un sistema operativo muy versátil y hoy en día despliega sus potencialidades en  entornos muy disímiles. Entre otros se encuentran los siguientes:
- Mainframes y microcomputadoras de distintos tamaños.
- Estaciones de trabajos.
- Super computadores.
- Sistemas tolerantes a fallas (en este caso el sistema corre un derivado de UNIX que soporta la operación de este tipo de máquinas).
- Sistema de control en tiempo real (en este caso, UNIX fue modificado para dar soporte a operaciones en tiempo real, es decir, ejecutables en un lapso predecible). Un sistema  comercial UNIX  de tiempo real es el QNX.

No hay comentarios:

Publicar un comentario