SISTEMAS DISTRIBUIDOS
La computación distribuida o Sistemas distribuidos se puede definir como cualquier sistema en el que múltiples agentes autónomos, cada uno con capacidades de cómputo individual, se comunican entre sí y afectan mutuamente su comportamiento.Más sin embargo el término más utilizado para definir a los sistemas distribuidos es el siguiente "Sistemas cuyos componentes hardware y software, que están en computadoras conectadas en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo en común. Se establece un protocolo preestablecido."
Los sistemas distribuidos hacen referencia a cualquier evento en el cual se maneja un sistema en una red de computadoras y trata de describir las tendencias hacia la funcionalidad distribuida, es decir que se refiere a los servicios que proveen los sistemas de computación distribuido.
Para poder identificar a un sistema distribuido se dieron las siguientes primeras caracterizaciones realizadas por Enslow, en 1978:
- Está compuesto por varios recursos informáticos de propósito general, tanto físicos como lógicos, que pueden asignarse dinámicamente a tareas concretas.
- Los recursos estás distribuidos físicamente, y funcionan gracias a una red de comunicaciones.
- Hay un sistema operativo de alto nivel, que unifica e integra el control de los componentes.
- El hecho de la distribución es transparente, permitiendo que los servicios puedan ser solicitados especificando simplemente su nombre (no la localización).
- El funcionamiento de los recursos físicos y lógicos está caracterizado por una autonomía coordinada.
Sin embargo las características principales de un sistema distribuido son tres:
- Concurrencia: Permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.
- 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 en los componentes.
- Fallos independientes de los componentes: Cada componente del sistema pudiera fallar de manera independiente, y los demás continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su propio conjunto continua trabajando.
Cabe destacar que un sistema distribuido también puede considerarse como un sistema formado por varios ordenadores haciendo algo conjuntamente, de lo que se desprenden tres características inmediatas:
- Compuesto por múltiples ordenadores: un sistema distribuido está compuesto de más de un sistema independiente, cada uno con una o más CPU's, memoria local, memoria secundaria (discos) y, en general, conexiones con periféricos de acceso inmediato (on line).
- Hay interconexión entre ellos: Como los ordenadores distintos van a colaborar en realización de tareas, deben comunicarse y sincronizarse entre ellos, por lo que debe haber alguna línea o red de interconexión.
- Tienen un estado compartido:Los ordenadores deben mantener un estado compartido, es decir, todos los ordenadores tienen la misma visión del estado del sistema distribuido (tablas, bases de datos del sistema, servidores, etc).
Más sin embargo para poder hacer la construcción de un sistema distribuido se deben considerar un par de características más: Consistencia y Transparencia.
Consistencia: La inconsistencia de acceso incontrolado a datos compartidos en sistemas centralizados distribuidos puede provocar más peligros y malas consecuencias, para esto se necesitan las siguientes consistencias en el sistema:
- Consistencia en actualización: Cuando varios procesos acceden concurrentemente a un dato para actualizarlo, donde la actualización de todo un dato en su conjunto no se realiza como una única operación atómica en exclusión mutua.
- Consistencia de Replica: cuando un conjunto de datos debe mantenerse replicado en diversos ordenadores de la red, pudiendo ser modificado en cualquiera de ellos.
- Consistencia de Caché: cuando un cliente accede a un recurso (fichero de datos), se pueden guardar copias de estos datos en una memoria local del cliente (memoria caché) para facilitar su acceso en posteriores referencias, evitando tener que transferir de nuevo los datos por la red.
- Consistencia de Reloj: muchos de los algoritmos utilizados en aplicaciones y programación de sistemas dependen de unas marcas de tiempo que indican el momento en que sucedió un evento.
- Consistencia de Interfaz de Usuario: llega a ocurrir que en una aplicación cunado el usuario interactúa con el programa y da clicks sobre esta, la pantalla no cambia. Se tiene un parámetro de que el retardo en mostrar la interfaz al usuario no debe ser mayor a 0.1s para dar la impresión de disponer de una máquina dedicada.
Transparencia: dice que el sistema va a comportarse de manera ideal sin que el usuario se aperciba en ningún momento de los posibles y normales problemas que pueden producirse en el sistema, es decir, que en el sistema pueden producirse fallos, pero el usuario no los va a notar.
"En conclusión decimos que un sistema distribuido es aquel en que los componentes de localizados computadores conectados en red se comunican y coordinan sus acciones únicamente con el paso de mensajes y tiene tres características principales: Concurrencia de Componentes, Carencia de Reloj Global y Fallos independientes de componentes."
Diccionario.
Agentes: usualmente llamados procesadores, procesos o nodos, pueden ser desde computadoras completas hasta autómatas celulares con capacidad de cómputo y memoria muy limitados que se pueden comunicar mediante mensajes.
Referencias:
http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/sistemas_distribuidos_panorama.pdf
http://www.unap.edu.pe/cidiomas/licing/pdf/sd.pdf
http://www.dia.eui.upm.es/asignatu/sis_dis/Paco/Introduccion.pdf
No hay comentarios.:
Publicar un comentario