Sistemas Distribuidos: Arquitectura, Características y Modelos Cliente-Servidor

Clasificado en Informática

Escrito el en español con un tamaño de 5,21 KB

Sistemas Distribuidos (SD)

Una colección de elementos de cómputo autónomo que se encuentran físicamente separados y no comparten una memoria común, se comunican entre sí a través del intercambio de mensajes utilizando un medio de comunicación.

Características de los Sistemas Distribuidos

  • Plataforma no estándar: Los SD pueden operar en diversas plataformas de hardware y software.
  • Memoria y SO propios: Cada elemento de cómputo tiene su propia memoria y Sistema Operativo.
  • Procesamiento paralelo: Capacidad de realizar procesamiento en paralelo para mejorar el rendimiento.
  • Dispersión y parcialidad: Los componentes del sistema pueden estar geográficamente dispersos y funcionar de manera independiente.

Compartición de Recursos

En un sistema distribuido, todos los recursos, desde componentes de hardware hasta elementos de software, deben ser compartidos. Los recursos están físicamente encapsulados en una de las computadoras y solo pueden ser accedidos por otras computadoras mediante las comunicaciones (la red).

Apertura

Un sistema informático es abierto si puede ser extendido de diversas maneras. Esto se determina principalmente por el grado en que nuevos servicios de compartición de recursos se pueden añadir sin perjudicar ni duplicar los ya existentes.

Concurrencia

Cuando existen varios procesos en una única máquina, se dice que se están ejecutando concurrentemente. Si el ordenador está equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos. Si la computadora tiene N procesadores, entonces se pueden estar ejecutando estrictamente a la vez hasta N procesos.

Escalabilidad

Un sistema distribuido construido alrededor de una red de área local simple podría contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidores de impresión y otros servidores de propósito específico. A menudo, se conectan varias redes de área local para formar internetworks, y estas podrían contener muchos miles de ordenadores que forman un único sistema distribuido, permitiendo que los recursos sean compartidos entre todos ellos.

Tolerancia a Fallos

Los sistemas informáticos fallan. Cuando se producen fallos en el software o en el hardware, los programas podrían producir resultados incorrectos o podrían pararse antes de terminar la computación que estaban realizando. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre sí: Redundancia de hardware y recuperación del software.

Transparencia

Se define como la ocultación al usuario y al programador de aplicaciones de la separación de los componentes de un sistema distribuido, de manera que el sistema se percibe como un todo, en vez de una colección de componentes independientes.

Seguridad

La seguridad de un sistema es responsable de la integridad del Sistema Operativo. Dentro del diseño de un sistema de seguridad se consideran dos aspectos importantes:

  • Autenticación: Es el proceso de garantizar que una entidad es quien debe ser.
  • Autorización: Es el proceso de decidir qué privilegios tiene una entidad y hacer que solo esos privilegios se encuentren disponibles.

Modelo Cliente-Servidor

Sistema donde el cliente es una máquina que solicita un determinado servicio y se denomina servidor a la máquina que lo proporciona.

Características del Modelo Cliente-Servidor (MCS)

  • Es sencillo y sin conexión.
  • El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.
  • No se tiene que establecer una conexión sino hasta que ésta se utilice.
  • La pila del protocolo es más corta y, por lo tanto, más eficiente.

Arquitectura Cliente-Servidor

Agrupa conjuntos de elementos que efectúan procesos distribuidos y cómputo cooperativo.

Beneficios

  • Mejor aprovechamiento de la potencia de cómputo (reparte el trabajo).
  • Reduce el tráfico en la Red (viajan requerimientos).
  • Opera bajo sistemas abiertos.
  • Permite el uso de interfaces gráficas variadas y versátiles.

Cliente-Servidor (Dos Capas)

Consiste en una capa de presentación y lógica de la aplicación; y la otra de la base de datos. Esta arquitectura se utiliza:

  • Cuando se requiere poco procesamiento de datos en la organización.
  • Cuando se tiene una base de datos centralizada en un solo servidor.
  • Cuando la base de datos es relativamente estática.
  • Cuando se requiere un mantenimiento mínimo.

Cliente-Servidor (Tres Capas)

Consiste en una capa de la Presentación, otra capa de la lógica de la aplicación y otra capa de la base de datos. Esta arquitectura se utiliza:

  • Cuando se requiere mucho procesamiento de datos en la aplicación.
  • Cuando se requiere aislar la tecnología de la base de datos para que sea fácil de cambiar.
  • En aplicaciones donde la funcionalidad está en constante cambio.

Entradas relacionadas: