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