Sistemas Distribuidos
Introducción
Desde una perspectiva histórica se puede hablar de diferentes modelos que determinan la funcionalidad y la estructura de un sistema de cómputo (Lafuente, 2017), algunos destacables son:
- Sistemas de lotes: Fueron los primeros sistemas operativos. Permitían procesar en diferido y secuencialmente datos suministrados en paquetes de tarjetas perforadas.
- Sistemas centralizados de tiempo compartido. Se desarrollaron a mediados de los 60, con el objetivo de incrementar la eficiencia en el uso de la CPU y disminuir los tiempos de respuesta de los usuarios, que ya operaban interactivamente. Los recursos estaban centralizados y se accedía al sistema desde terminales.
- Sistemas de teleproceso. El sistema central monopoliza la gestión de los recursos y terminales remotos acceden a un sistema central utilizando una infraestructura de red y un protocolo de comunicaciones normalmente de tipo propietario.
- Sistemas personales. El objetivo de este tipo de sistemas era proporcionar un sistema dedicado para un único usuario, lo que fue posible gracias al desarrollo del microprocesador a comienzos de los 80.
- Sistemas en red. Cuando el concepto de computador central desaparece, se habla ahora de un conjunto de computadores que se conectan entre sí utilizando una infraestructura de red. Una máquina que proporciona el acceso a un determinado recurso es el servidor de ese recurso. Los clientes, que pueden disponer de recursos locales, acceden a un recurso remoto mediante solicitud al servidor correspondiente. Gracias al desarrollo de protocolos comunes, como TCP/IP, es posible interconectar las máquinas independientemente de sus características y sistema operativo (interoperatividad), extendiendo el ámbito de estos sistemas a redes de área amplia y posibilitando el surgimiento de Internet.
Sistemas Distribuidos
Antes de definir lo que es un Sistema Distribuido, debe tenerse una noción de lo que es la computación distribuida.
El término se utiliza para referirse a 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. Los 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. Podemos decir entonces, que la Computación Distribuida se refiere a los servicios que provee un Sistema de Computación Distribuido(Turpo Aroquipa, 2017).
Para Coulouris un sistema distribuido es aquél que está compuesto por varias computadoras autónomas conectadas mediante una red de comunicaciones y equipadas con programas que les permitan coordinar sus actividades y compartir recursos (Coulouris,2001). Bal ofrece una definición muy similar: "Un sistema de computación distribuida está compuesto por varios procesadores autónomos que no comparten memoria principal, pero cooperan mediante el paso de mensajes sobre una red de comunicaciones".
Características básicas de los sistemas distribuidosUna de las primeras caracterizaciones de un Sistema Distribuido fue realizada por Enslow, en 1978, quien le atribuye las siguientes propiedades:
- 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.
- Estos recursos están 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 su localización).
- El funcionamiento de los recursos físicos y lógicos está caracterizado por una autonomía coordinada.
A pesar de que la definición de Philip Enslow sigue siendo válida, Jochen Schröder les atribuyó, en 2003, sólo tres características básicas:
Sin embargo, un sistema distribuido cuenta con otras tres características fundamentales que veremos a continuación.
Ausencia de reloj globalLa sincronización es un punto clave para los sistemas operativos distribuidos. En éstos, hay un reloj por cada ordenador del sistema, con lo que es fundamental una coordinación entre todos los relojes para mostrar una hora única. Los osciladores de cada ordenador son ligeramente diferentes, y como consecuencia todo los relojes sufren un desfase y deben ser sincronizados continuamente. La sincronización no es trivial, porque se realiza a través de mensajes por la red. Cuyo tiempo de envío puede ser variable y depender de muchos factores como la distancia, la velocidad de transmisión y la propia estructura de la red.
La ausencia de reloj global se refiere a que las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.
Esta característica de los sistemas distribuidos 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.
Fallos independientesCada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando a sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.
Ejemplos
Conclusiones
En conclusión, a pesar de todas las ventajas que tienen los sistemas distribuidos, implementarlos requiere un mayor conocimiento, ya que son más complejos y se utilizan más herramientas. Sin embargo, con el desarrollo de la tecnología, pronto será más fácil hacer uso de este tipo de sistema. Pero incluso ahora, su correcta implementación representa más ventajas que desventajas y es el sistema más viable en el caso de sistemas comerciales, comunicaciones, juegos multi usuario y otros sistemas que requieran de velocidad y regularidad de transferencia de una gran cantidad de datos.
Me parece increíble. 😎
ResponderEliminarBastante interesante, e impaciente para una nueva publicación. Me encantó UuU
ResponderEliminarSe entiende muy bien aunque la redacción podría mejor.
ResponderEliminar10/10
ResponderEliminarCada vez se pone mejor 👀
ResponderEliminarUn increíble trabajo (para mí tiene 11/10). Por cierto, me fascinó leerlo.
ResponderEliminar