Sistemas Operativos Distribuidos






Un sistema Operativo Distribuido es una colección de computadoras independientes que dan al usuario la impresión un único sistema coherente.
Consta de componentes autónomos.
Se organizan a menudo como una capa de software, vienen colocados de manera lógica entre una capa de alto nivel y una capa conformada por los sistemas operativos y recursos básicos de comunicación.
Dicho sistema distribuido se le conoce como middleware.

Ejemplos de middleware: DCE y CORBA.

Su representación es:

VENTAJAS


  1. Económica (A mayor costo de procesadores, también mayor rendimiento).
  2. Alto rendimiento: Ya que su procesamiento es paralelo.
  3. Soporte de aplicaciones inherentemente distribuidas (pueden estar ubicados en diferentes zonas geográficas).
  4. Escalabilidad (Capacidad de un sistema para crecer pero sin perder fluidez en su trabajo).
  5. Fiable y disponible: Tolerancia a fallos.
  6. Carácter abierto y heterogeneo: Interoperabilidad.
  7. Datos y recursos compartidos.

DESVENTAJAS


  1. Es necesario un nuevo tipo de Software.
  2. Red:
    1. Problemas al envío y recepción de mensajes.
    2. Latencia (El mensaje llegue cuando ya está obsoleto).
  3. Seguridad.
  4. Independencia de fallos por maquina (el fallo de un procesador, puede alterar al proceso en los otros).

IDEAL


  • La red es fiable.
  • No existe latencia.
  • El ancho de banda es infinito.
  • La red es segura.
  • La topología no cambia.(mapa de red)
  • Hay un administrador.
  • El costo de transporte es cero.
  • La red es homogénea.

OBJETIVOS DE UN SISTEMA OPERATIVO DISTRIBUIDO

TRANSPARENCIA

La transparencia puede ser de:

  • ACCESO: Oculta diferencias en la representación de los datos y la forma en que un recurso accede a ellos
  • POSICIÓN: Oculta la localización de un recurso.
  • MIGRACIÓN: Oculta el que un recurso pudiera moverse a otra ubicación.
  • REUBICACIÓN: Oculta el que un recurso pudiera moverse a otra ubicación mientras está en uso.
  • REPLICACIÓN: Oculta el número de réplicas de un recurso.
  • CONCURRENCIA: Oculta que un recurso puede ser compartido por varios usuarios que compitan por él.
  • FALLA: Oculta la falla y recuperación de un recurso.

RENDIMIENTO

El objetivo del rendimiento para un servicio multiusuario debe ser mejor que para uno centralizado.
El objetivo del rendimiento para la ejecución paralela de aplicaciones es proporcional a los procesadores usados.
Los factores que influyen para el rendimiento son:

  • Uso de esquemas de caché: Que muchos accesos se realicen de manera local.
  • Uso de esquemas de replicación: Reparto de carga entre componentes replicados.
  • Coste de mantener coherencia: en el caso de usar los 2 anteriores.

CAPACIDAD CRECIMIENTO

El diseño de un sistema distribuido debe evitar "cuellos de botella". Debe tener componentes, tablas y algoritmos centralizados.

Estrategias utilizadas:


  • Reparto de estructuras de datos entre varios nodos.
  • Replicación y caché.
  • Realización de parte del procesamiento en los nodos cliente.

Características deseables:


  • Ninguna máquina posee información completa del estado del sistema.
  • Las decisiones se basan únicamente en información local.
  • El fallo de una maquina no debe alterar o invalidar el algoritmo.
  • No existe un reloj para todo el sistema.

CARÁCTER ABIERTO

Facilita la interacción con otros programas abiertos.
Posibilita la migración a otros sistemas o de otros sistemas distribuidos.
Flexibilidad para extender el sistema distribuido.
Esconder la heterogeneidad.

FIABILIDAD

Evitar componentes críticos.
Uso de replicación manteniendo coherencia.


Enlaces Relacionados:
Tipos de Sistemas Distribuidos.

Fuentes:
http://laurel.datsi.fi.upm.es/docencia/asignaturas/sod
Sistemas Distribuidos Principios y paradigmas, 2da Edicion,  Andrew Tanenbaum, Maarten Van Steen

Comentarios

Popular Posts

Sistemas Distribuidos - Tolerancia a fallos

Crear Autómata Finito Determinista desde una Expresión Regular

Instalar OpenGL en Linux