Sistemas Distribuidos: Conceptos, Características y Evolución
1.
2. Los sistemas distribuidos suponen un paso más en la evolución de los sistemas
informáticos, entendidos desde el punto de vista de las necesidades que las
aplicaciones plantean y las posibilidades que la tecnología ofrece. Antes de
proporcionar una definición de sistema distribuido resultará interesante presentar,
a través de la evolución histórica, los conceptos que han desembocado en los
sistemas distribuidos actuales, caracterizados por la distribución física de los
recursos en máquinas interconectadas.
3. Consiste en facilitar el acceso y la gestión de los
recursos distribuidos en la red. Los usuarios pueden
acceder a recursos remotos de la misma manera en
que lo hacen para los recursos locales
Permitiendo distribuir trabajos, tareas o procesos,
entre un conjunto de procesadores.
Al visualizar el problema anterior, surge de
manera intuitiva la noción de que un S.O
Distribuido no requiera tanta complejidad, y que
utilice la comunicación con otros módulos de
forma limitada. Los Sistemas Distribuidos
trabajan de forma independiente, asíncronica y
soberana.
4. Características sistemas distribuidos
Los sistema distribuidos abiertos pueden construirse a partir de hardware y software
heterogéneo, posiblemente proveniente de vendedores diferentes. Pero la conformidad de
cada componente con el estándar publicado debe ser cuidadosamente comprobada y
certificada si se quiere evitar tener problemas de integración.
Concurrencia: Cuando existen varios procesos en
una única maquina decimos que se están ejecutando
concurrentemente. Si el ordenador esta equipado con
un único procesador central, la concurrencia tiene
lugar entrelazando la ejecución de los distintos
procesos.
Escalabilidad La demanda de escalabilidad en
los sistemas distribuidos ha conducido a una
filosofía de diseño en que cualquier recurso
simple -hardware o software- puede extenderse
para proporcionar servicio a tantos usuarios
como se quiera.
5. Tolerancia a Fallos: Los sistemas informáticos a
veces 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.
Transparencia: La 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. La transparencia ejerce una gran
influencia en el diseño del software de sistema.
7. Caracteristicas de redes e interconexión:
• Se conecta fácilmente al PC vía Ethernet
• Permite a múltiples usuarios compartir una sola conexión ADSL con
una dirección WAN IP
• Servidor integrado LAN DHCP
• Servidor DNS integrado y relé.
• "Siempre activado "(ponteado) o por marcación (PPP)
• Voz de datos simultáneos en una sola línea de teléfono
• Aprobado para conexiones a todos los operadores más importantes de la red
• Cumple estándares ADSL (ANSI T1.413 Issue2, G.dmt, G.lite)
• Disponible como hub de 4 puertos o con conexión ATMF
8. Caracteristicas de protocolos de comunicacion:
Directo/indirecto
Monolítico/estructurado
Simétrico/asimétrico
Normalizado/no normalizado
9. Gestión de memoria de sistemas distribuidos
Una de las principales características de un sistema distribuido es la ausencia
de una memoria común. Esto hace que la comunicación y sincronización en este
tipo de sistemas tenga que hacerse mediante el intercambio de mensajes. La
mayoría de los sistemas distribuidos actuales siguen este modelo, con cada
computadora gestionando su memoria virtual. Sin embargo, hay propuestas que
intentan mejorar este esquema. Estas propuestas son:
• Utilización de paginadores externos.
• Memoria compartida distribuida.
10. La utilización de paginadores externos se basa en
almacenar el espacio de intercambio (swap) en
servidores de archivos distribuidos y en el empleo de
paginadores externos, que son procesos que se
encargan de tratar los fallos de página que ocurren en
una computadora.
La memoria compartida distribuida es una
abstracción que permite que los procesos que
ejecutan en un sistema distribuido puedan
comunicarse utilizando memoria compartida. Esta
abstracción se construye utilizando: el paso de
mensajes disponible. Facilita el desarrollo de
aplicaciones, el modelo es más sencillo y la
sincronización puede realizarse utilizando
construcciones tradicionales, cómo los semáforos.
11. Sistemas Distibuidos
Se logra una mejor comunicación
entre las personas. Ejemplo: el correo
electrónico.
Pueden compartir recursos, como
programas y periféricos, muy costosos.
Ejemplo: Impresora Láser, dispositivos
de almacenamiento masivo, etc.
Tienen mayor flexibilidad, la carga de
trabajo se puede distribuir entre
diferentes ordenadores.
Los sistemas distribuidos tienen un
sistema impredecible. Como todos ellos
pueden cambiar rápidamente
Los sistemas distribuidos son mas
complejos, esto provoca que sea mas
difícil comprender sus propiedades.
El principal problema es el software,
es el diseño, implantación y uso del
software distribuido, pues presenta
numerosos inconveniente
12. Comparaciones
S.O Distribuido S.O de Red
Grado de
Transparencia
Alto Bajo
El mismo S.O en
todos los nodos
Si No
Bases de la
comunicación
Memoria
compartida,
mensajes
Archivos
Admin de recursos Global centralizado
y distribuidos
Por nodo
Escalabilidad moderada No
Apertura Cerrada Abierta
13. Comparaciones
S.O Distribuido S.O Robustez
Determinación de
fallas
Puede que soporte y
continúe trabajando
como no puede
continuar
Procedimientos para
recuperación de
fallas.
Distribución Si No
Gestiona recursos Si No
14. S.O Distribuido Aspectos de
diseño
Compartición de
archivos
Si Según su diseño
Fallas Físicas No puede acceder a
una solución
Puede analizar y
reemplazar de ser
necesario
aperturas
recursos se pueden
añadir sin perjudicar
ni duplicar a los ya
existentes.
Difícil garantizar que
los recursos se
encuentren
disponibles de forma
eficiente
Escalabilidad operan de manera
efectiva y eficiente a
muchas escalas
diferentes.
Puede agregarse los
equipos que sean
posibles
Comparaciones
15. Acceso a archivos remotos
Un acceso remoto es poder acceder desde una computadora a un recurso
ubicado físicamente en otra computadora que se encuentra geográficamente en
otro lugar, a través de una red local o externa (como Internet).
En el acceso remoto se ven implicados protocolos (En informática, un
protocolo es un conjunto de reglas usadas por computadoras para comunicarse
unas con otras a través de una red por medio de intercambio de mensajes).
16. Métodos de acceso remoto
1. Control remoto. Con este método, un usuario se
conecta a una computadora remota y toma control de
ella. Esta computadora ejecuta todas las órdenes del
usuario y solamente la información actualizada del
teclado, del ratón y de la pantalla se transfieren por la
línea. Si la computadora remota forma parte de una red
(por ejemplo una LAN), entonces el usuario puede
también tener acceso a esa red.
2. Nodo remoto. Con este método, un usuario se
convierte en un nodo remoto de la red a través de un
dispositivo de acceso remoto. El procesamiento se
realiza sobre la computadora del usuario. Por ejemplo,
si se hace clic sobre un archivo de texto en un
directorio, ese archivo es transferido y luego abierto en
la PC del usuario.
17. La conexión puede utilizar todos los protocolos que estén mutuamente
disponibles en ambos sistemas, por lo que si TCP/IP e IPX se están ejecutando
sobre el servidor y el cliente, ambos protocolos están disponibles para ser usados.
Cuando el número de líneas es grande, los pares telefónicos se pueden
reemplazar con enlaces digitales E1 hacia la empresa telefónica, por cable o por
microondas. Cada E1 suministra 30 canales de 64 kbps. En este caso es también
posible colocar el RAS en la propia sede de la operadora telefónica, tal como
hacen los proveedores de acceso a Internet (ISP).
Una solución que se usa cada vez con mayor frecuencia para el acceso remoto
es a través de Internet. En tal caso el usuario se conecta al RAS de su ISP y de
allí a la red de la empresa, la cual está conectada a Internet a través de un enlace
dedicado
18. La mayoría de los sistemas de comunicación en grupo están diseñados para
que los mensajes enviados al grupo lleguen correctamente a todos los miembros o
a ninguno de ellos:
• Esta propiedad de “todo o nada” en la entrega se llama transmisión atómica.
• Facilita la programación de los sistemas distribuidos.
• Es de gran importancia para garantizar la consistencia de las bases de datos y
de los archivos distribuidos y duplicados.
Atomicidad
19. En los sistemas distribuidos es importante analizar y verificar el funcionamiento
de los procesos cooperativos y de aquellos que comparten recursos y/o servicios.
Los procesos cooperativos pueden directamente compartir un espacio de
dirección lógico (código y datos), o solamente comparte los datos a través de
archivos.
El acceso concurrente a los datos compartidos puede resultar en una
inconsistencia de los mismos. Se necesitan mecanismos para asegurar un
ordenamiento en la ejecución de procesos cooperativos que comparten un
espacio de direccionamiento lógico, tal que la consistencia en los datos sea
respetada.
Control de concurrencia
20. Los mecanismos de concurrencia para asegurar el ordenamiento en la ejecución
de procesos: sincronización y exclusión mutua y alocución de recursos en un
entorno de memoria compartida asincrónica son las herramientas que se están
considerando en el trabajo. Las condiciones que debe respetar un protocolo para
soportar estos mecanismos son:
• Buena formación.
• Exclusión (exclusión mutua).
• Progreso.
21. Conclusiones
Las características fundamentales para el diseño de un sistema distribuido son:
La utilización efectiva de la memoria caché en el cliente para conseguir iguales
prestaciones o mejores que la de los sistemas de archivos locales.
El mantenimiento de la consistencia entre múltiples copias de archivos en las
caches de los clientes cuando son actualizadas La recuperación después de un
fallo en el servidor o en el cliente.
El alto rendimiento en la lectura y escritura de archivos de todos los tamaños.
22. Bibliografías
[1] Jie Wu, Distributed System Design, 1999.
[2] Gary L. Peterson, Myths about the mutual exclusion problem. Information
Processing Letters, Junio 1981.
[3] Nancy A Lynch. Distributed Algorithms, 1997.
[4] Sape Mullender. Distributed Systems, 2da. Ed. 1993.
[5] Gary L. Peterson y Michael Fischer. Economical solutions for the critical
section problem in a distributed system. Proceedings of the Ninth Annual ACM
Symposium on Theory of Computing, Mayo 1977.
[6] Michael Raynal. Algorithms for Mutual Exclusion. MIT Press, Cambridge,
1986.
[7] M. Ben Ari. Principles of Concurrent Programming. Prentice Hall, Englewood
Cliffs, 1982.
[8] Sandeep Lodha y Ajay Kshemkalyani. A fair Distributed Exclusion Algorithm,
2000