lunes, 4 de julio de 2011

Características de un Sistema Distribuido

A continuación se analiza en forma breve algunos de los aspectos claves del diseño con los que deben trabajar las personas que piensan construir un sistema operativo distribuido: 

Transparencia


Diseñar el sistema de forma que todas las personas piensen que la colección de máquinas es tan sólo un sistema de tiempo compartido, de un procesador, a la manera antigua.

La transparencia se puede lograr en dos niveles distintos. Lo más fácil es ocultar la distribución a los usuarios, aunque también es posible hacer que el sistema sea transparente para los programas.

Los distintos tipos de transparencia en un sistema distribuido son:

  • Transparencia de localización: los usuarios no pueden indicar la localización de los recursos.
  • Transparencia de migración: los recursos se pueden mover a voluntad sin cambiar sus nombres.
  • Transparencia de réplica: los usuarios no pueden indicar el número de copias existentes.
  • Transparencia de concurrencia: varios usuarios pueden compartir recursos de manera automática.
  • Transparencia de paralelismo: las actividades pueden ocurrir en paralelo sin el conocimiento de los usuarios.


Flexibilidad

El diseño de un sistema distribuido debe hacerse con la idea de facilitar los cambios futuros. A este respecto, los micronúcleos son superiores a los núcleos monolíticos.

Confiabilidad

Uno de los objetivos originales de la construcción de sistemas distribuidos fue el hacerlos más confiables que los sistemas con un procesador. La idea es que si una máquina falla, alguna otra máquina se encargue del trabajo. En otras palabras, en teoría, la confiabilidad global del sistema podría ser el OrBooleano de la confiabilidad de los componentes.

Un aspecto importante dentro de la confiabilidad es la disponibilidad que se refiere a la fracción de tiempo en que se puede utilizar el sistema.

Otro aspecto de la confiabilidad general es la seguridad. Los archivos y otros recursos deben ser protegidos contra el uso no autorizado.

También otro aspecto de la confiabilidad es la tolerancia de fallas. los sistemas distribuidos se deben diseñar de forma que escondan las fallas; es decir, ocultarlo a los usuarios.

Desempeño

Cuando se ejecuta una aplicación en un sistema distribuido, no debe parecer peor que su ejecución en un procesador. Se pueden utilizar diversas métricas de desempeño. El tiempo de respuesta es una, pero también lo son el rendimiento, uso del sistema y cantidad consumida de la capacidad de la red. Además es frecuente que el resultado de cualquier parámetro dependa de la naturaleza de éste.

Escalabilidad
Diseñar un sistema distribuido que pueda escalar hacia sistemas más grandes en un futuro.


  • No hay comentarios:

    Publicar un comentario