23 Sep

Introducción

UNIX es un sistema operativo ampliamente utilizado en ordenadores medianos y grandes. Aunque su uso en redes locales fue inicialmente limitado debido al costo del software y a las exigencias de hardware, en la actualidad es completamente viable.

Redes igualitarias o no administradas

Redes administradas

En estas redes, se puede hablar de compartir recursos o de una estructura centralizada (arquitectura cliente-servidor).

En realidad, los terminales (estaciones de trabajo clientes) se utilizan principalmente para introducir comandos por teclado y recibir respuestas en pantalla. La estación no utiliza (ni necesita) una gran cantidad de potencia de procesamiento.

Los terminales más comunes son los ANSI y los VT-100.

UNIX se basa en tres pilares fundamentales:

  1. Simplicidad
  2. Generalidad
  3. Extensibilidad

Cualquier tarea que se realice en UNIX se compone de la combinación de componentes simples.

Todos los componentes del sistema tienen un funcionamiento global.

Historia

UNIX nació en los Laboratorios Bell en la década de 1970. Las primeras versiones aparecieron a finales de la década de 1960.

Para facilitar la portabilidad, se escribió principalmente en lenguaje C, aunque algunas rutinas están en ensamblador. Estas últimas son las que deben adaptarse a las diferentes arquitecturas.

En 1983, se lanzó UNIX System III, que fue reemplazado en 1985 por System V, la versión más extendida en la actualidad.

UNIX es un sistema multitarea, multiusuario y multiproceso.

Soporta protocolos de red TCP/IP y NFS.

Puede manejar una gran cantidad de periféricos.

Ofrece utilidades para entornos de desarrollo de software.

Es destacable que UNIX siga vigente y en buen estado a pesar de haber sido implementado por primera vez antes de 1970 y de tener una estructura básicamente estable y común desde principios de la década de 1980.

Se puede decir que su filosofía se basa en la construcción a partir de piezas elementales que «hacen una única cosa, pero la hacen bien» y que, mediante estructuras básicas, se pueden construir elementos de cualquier tipo hasta alcanzar una gran potencia. Es como un «Meccano», donde con piezas elementales (barras y planchas con agujeros de diferentes medidas) y tuercas para unirlas, se pueden construir objetos muy complejos.

Otra característica importante es que el usuario debe realizar todas las tareas basándose en su conocimiento.

Algunas de las variantes existentes son:

  • Solaris: Desarrollada por Sun Microsystems.
  • AIX: Implementación para máquinas IBM.
  • A/UX: Implementación de UNIX para Apple.
  • HP-UX: Versión de Hewlett-Packard.
  • SCO-UNIX: Desarrollada por Santa Cruz Operation (SCO) para plataformas Intel 80386 y posteriores.
  • LINUX: Versión de UNIX para PC. Distribución libre.

Características de UNIX

  • Es un sistema operativo multiusuario, con capacidad de simular multiprocesamiento y procesamiento no interactivo.
  • Está escrito en un lenguaje de alto nivel: C.
  • Dispone de un lenguaje de control programable llamado SHELL.
  • Ofrece facilidades para la creación de programas y sistemas, y el ambiente adecuado para las tareas de diseño de software.
  • Emplea manejo dinámico de memoria por intercambio o paginación.
  • Tiene capacidad de interconexión de procesos.
  • Permite la comunicación entre procesos.
  • Emplea un sistema jerárquico de archivos, con facilidades de protección de archivos, cuentas y procesos.
  • Tiene facilidad para el redireccionamiento de Entradas/Salidas.
  • Garantiza un alto grado de portabilidad.

El sistema se basa en un Núcleo llamado Kernel, que reside permanentemente en la memoria y atiende a todas las llamadas del sistema, administra el acceso a los archivos y el inicio o suspensión de las tareas de los usuarios.

La comunicación con el sistema UNIX se realiza mediante un programa de control llamado SHELL. Este es un lenguaje de control, un intérprete y un lenguaje de programación, cuyas características lo hacen sumamente flexible para las tareas de un centro de cómputo. Como lenguaje de programación, abarca los siguientes aspectos:

  • Ofrece las estructuras de control normales: secuenciación, iteración condicional, selección y otras.
  • Paso de parámetros.
  • Sustitución textual de variables y cadenas.
  • Comunicación bidireccional entre órdenes de shell.

El shell permite modificar dinámicamente las características con las que se ejecutan los programas en UNIX:

  • Las entradas y salidas pueden ser redireccionadas o redirigidas hacia archivos, procesos y dispositivos.
  • Es posible interconectar procesos entre sí.
  • Diferentes usuarios pueden «ver» versiones distintas del sistema operativo debido a la capacidad del shell para configurar diversos entornos de ejecución. Por ejemplo, se puede hacer que un usuario entre directamente a su sección, ejecute un programa en particular y salga automáticamente del sistema al terminar de usarlo.

Deja un comentario