“Un sistema distribuido es una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora”.
∎ Aspectos:
❑ Hardware: Las máquinas son autónomas.
❑ Software: Los usuarios piensan que el sistema es
como una única computadora.
Cada máquina posee sus componentes de hardware y software
que el usuario percibe como un solo sistema (no necesita saber qué cosas están
en qué máquinas). El usuario accede a los recursos remotos (RPC) de la misma
manera en que accede a recursos locales, o un grupo de computadores que usan un
software para conseguir un objetivo en común.
Los sistemas distribuidos deben ser muy confiables, ya
que si un componente del sistema se descompone, otro componente debe ser capaz
de reemplazarlo, esto se denomina Tolerancia
a Fallos.
Ejemplos de Sistemas
Distribuidos
Ejemplo 1
- Una red de estaciones de trabajo en un departamento de una universidad o compañía.
Ø De cada estación de trabajo personal
podría existir una pila de procesadores en el cuarto de máquinas que no estén asignados
a usuarios específicos sino que se utilicen de manera dinámica conforme sea necesario.
Ø Tal sistema podría tener un sistema
de archivos único con todos los archivos accesibles desde todas las máquinas de
la misma forma y con el mismo nombre de ruta de acceso.
Ø Además cuando el usuario escriba un
comando el sistema podría buscar el mejor lugar para ejecutarlo tal vez en la
propia estación de ti abajo del usuario o en una estación de trabajo inactiva
que pertenezca a otra persona o en uno de los procesadores no asignados en el
cuarto de máquinas.
Ø Si el sistema se ve como un todo y
actúa como un sistema de tiempo compartido clásico con un único procesador podría
considerarse como un sistema distribuido.
Ejemplo 2
- Una fábrica de robots
Ø
Cada uno
de los cuales contiene una poderosa computadora para el manejo de visión,
planeación, comunicación y otras tareas.
Ø
Cuando el
robot de la línea de ensamble nota que parte por instalar es defectuosa le pide
al robot del departamento de partes que le traiga una refacción.
Ø
Si todos
los robots actúan como dispositivos periféricos unidos a la misma computadora
central y el sistema se puede programar de esta manera también se le considera
como sistema distribuido.
Ejemplo 3
- Un Banco con cientos de sucursales por todo el mundo.
Ø
Cada
oficina tiene una computadora maestra para guardar las cuentas locales y el
manejo de las transacciones locales.
Ø
Cada
computadora tiene la capacidad de comunicarse con las de otras sucursales y con
una computadora central en las oficinas centrales.
Ø
Si las
transacciones se pueden realizar sin importar dónde se encuentre el cliente o
la cuenta y si los usuarios no observan diferencia alguna entre este sistema y
el antiguo centralizado que ha remplazado también se podría considerar como un
sistema distribuido.
Objetivos
El simple hecho de poder construir sistemas distribuidos
no significa necesariamente que sea buena idea. Después de todo con la
tecnología actual es posible colocar cantidades enormes de información en una
sola computadora personal. El hecho es que esto no tendría sentido. En
siguientes secciones se mostrarán las ventajas y desventajas en comparación con
los sistemas centralizados.
Características
- Concurrencia: Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios o los agentes que interactúan en la red.
- Una de las características de los sistemas distribuidos es su modularidad, lo que le permite una gran flexibilidad y posibilita su escalabilidad, definida como la capacidad del sistema para crecer sin aumentar su complejidad ni disminuir su rendimiento. Uno de los objetivos del diseño de un sistema distribuido es extender la escalabilidad a la integración de servicios.
- Transparencia El objetivo esencial de un sistema distribuido es proporcionar al usuario y a las aplicaciones una visión de los recursos del sistema como gestionados por una sola máquina virtual. La distribución física de los recursos es transparente.
- Fallos independientes de los componentes.- Cada componente del sistema pudiera fallar de manera independientemente, y los demás continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.
- Apertura (opennesss): Un sistema informático es abierto si el sistema puede ser extendido de diversas maneras. La apertura de los sistemas distribuidos se determina primariamente por el grado hacia el que nuevos servicios de compartición de recursos se pueden añadir sin perjudicar ni duplicar a los ya existentes.
- Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, está más bien distribuida a los componentes.
Ventajas de los Sistemas
Distribuidos sobre los Sistemas Centralizados

- Los sistemas computacionales en red ofrecen en promedio un mejor rendimiento/precio que los sistemas centralizados.
- La redundancia incrementa la disponibilidad cuando partes de un sistema fallan
- Las aplicaciones que pueden ser fáciles de ejecutar simultáneamente también ofrecen beneficios en términos de mayor rendimiento contra las soluciones centralizadas.
- Los sistemas distribuidos pueden extenderse a través de la adición de componentes, proporcionando de este modo una mejor escalabilidad en comparación con los sistemas centralizados
ELEMENTO
|
DESCRIPCIÓN
|
Económicos
|
Mejor
rendimiento/precio para las computadoras en red que los centralizados.
|
Velocidad
|
Un
sistema distribuido puede tener más potencia de cálculo que una
|
Distribución
Inherente
|
Algunas
aplicaciones involucran a las máquinas separadas espacialmente
|
Confiabilidad
|
Si
una de las máquinas colapsa, el sistema como un todo podría sobrevivir.
|
Crecimiento
Incremental
|
El
poder computacional puede ser añadido en pequeños incrementos
|
Ventajas de los Sistemas
Distribuidos sobre las computadoras independientes
ELEMENTO
|
DESCRIPCIÓN
|
Compartir Datos
|
Permite a muchos usuarios accesar a una base
de datos en común.
|
Compartir Dispositivos
|
Permite a muchos usuarios compartir
dispositivos costosos.
|
Comunicación
|
Hace de la comunicación humano – humano más
fácil.
|
Flexibilidad
|
Reparte el trabajo sobre las máquinas
disponibles de la manera más rentable
|
Ventajas
del medio ambiente de la computación distribuida sobre las aplicaciones
independientes.
- Alto rendimiento: Las aplicaciones pueden ejecutarse en paralelo y distribuir la carga a través de múltiples servidores.
- Colaboración: Múltiples aplicaciones pueden ser conectadas a través de mecanismos de sistemas computacionales distribuidos estándares.
- Alta confiabilidad y disponibilidad: Aplicaciones o servidores pueden almacenarse en múltiples maquinas.
- Escalabilidad: Para desarrollar componentes distribuidos reusables en poderosos servidores.
- Extensibilidad: Dinámica reconfiguración de aplicaciones distribuidas a través de la red.
- Alta productividad y bajo ciclo de tiempo de desarrollo: Rompiendo los grandes problemas en otros más pequeños, estos componentes individuales pueden ser desarrolladas por pequeños equipos de desarrollo de manera aislada.
- Reúso: Servicios que pueden potencialmente ser usados por múltiples aplicaciones clientes.
- Costos reducidos: Debido a la reutilización de los componentes una vez hayan sido desarrollados que son accesibles a través de la red.
Desventajas
- Complejidad: Los sistemas distribuidos son más complejos que los sistemas centralizados. Esto hace más difícil comprender sus propiedades emergentes y probar estos sistemas.
- Seguridad: Puede accederse al sistema desde varias computadoras diferentes, y el tráfico en la red puede estar sujeto a escuchas indeseadas. Esto hace más difícil el asegurar que la integridad de los datos en el sistema se mantenga y que los servicios del sistema no se degraden por ataques de denegación de servicio.
- Manejabilidad: Las computadoras en un sistema pueden ser de diferentes tipos y pueden ejecutar versiones diferentes de sistemas operativos. Los defectos en una máquina pueden propagarse a otras máquinas con consecuencias inesperadas. Esto significa que se requiere más esfuerzo para gestionar y mantener el funcionamiento del sistema.
- Impredecibilidad: Los sistemas distribuidos tienen una respuesta impredecible. La respuesta depende de la carga total en el sistema, de su organización y de la carga de la red. Como todos ellos pueden cambiar con mucha rapidez, el tiempo requerido para responder a una petición de usuario puede variar drásticamente de una petición a otra.
Bibliografía:
- Sommerville, I. (2005). Ingeniería del Software. España: Addison-Wesley.
- Lafuente, A. (28 de Mayo de 2016). Universidad del País Vasco. Obtenido de Departamento de Arquitectura y Tecnología de Computadores: http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf
- Tanenbaum, A. (1996). Sistemas Operativos Distribuidos. Amsterdam: Prentice Hall Inc.
- Sommerville, I. (2005). Ingeniería del Software. España: Addison-Wesley.
- Lafuente, A. (28 de Mayo de 2016). Universidad del País Vasco. Obtenido de Departamento de Arquitectura y Tecnología de Computadores: http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf
- Tanenbaum, A. (1996). Sistemas Operativos Distribuidos. Amsterdam: Prentice Hall Inc.
No hay comentarios:
Publicar un comentario