SlideShare uma empresa Scribd logo
1 de 31
UNIDAD 1
INTRODUCCION A LOS SISTEMAS
DISTRIBUIDOS
INTRODUCCION
En años recientes, el avance en las
tecnologías de cómputo y las
telecomunicaciones han permitido una
gran expansión de los sistemas de
información, así como su alta
disponibilidad, independientemente de
su campo de aplicación. Las
telecomunicaciones permiten la
conectividad de un gran número de
usuarios ubicados en cualquier parte
del mundo por medio de la transmisión
de voz, datos o video a través de una
gran variedad de dispositivos.
Diferentes redes de comunicación de área local (LAN),
metropolitanas (MAN), así como de área amplia (WAN),
pueden ser accedidas a través de Internet. Esto ha permitido
que paralelamente surjan instalaciones de cómputo donde
pueden ser desplegadas aplicaciones para realizar
procesamiento distribuido de tareas. Estas nuevas facilidades
ofrecen a los usuarios y organizaciones una gran flexibilidad
para estructurar sus propios sistemas de información de una
manera eficiente, así como la oportunidad de interactuar con
otros sistemas de información de una manera distribuida.
Como consecuencia, esto ha generado una gran dependencia
de estos sistemas distribuidos para poder transmitir o procesar
información.
Tanenbaum [1996] define un sistema distribuido como una colección de computadoras independientes que
aparecen ante los usuarios del sistema como una única computadora. El advenimiento de los sistemas
distribuidos ha estado soportado en dos importantes innovaciones tecnológicas:
• El microprocesador.
• Las redes de área local.
VENTAJAS Y DESVENTAJAS DE
LOS SISTEMAS DISTRIBUIDOS
Ventajas de los sistemas distribuidos con respecto a
los sistemas centralizados
Entre las principales ventajas de los sistemas distribuidos con respecto a las computadoras
centralizadas se encuentran:
• Economía: Los microprocesadores ofrecen una mejor relación precio/ rendimiento que
las computadoras centrales.
• Velocidad: Un sistema distribuido puede tener mayor poder de cómputo que una
computadora centralizada individual.
• Distribución inherente: Implica que un sistema distribuido puede emplear aplicaciones
instaladas en computadoras remotas.
• Confiabilidad: El sistema es consistente, aun si una computadora del sistema deja de
funcionar.
• Crecimiento proporcional: Cada vez que se requiera mayor poder de cómputo en el
sistema, solo se pueden adicionar los incrementos de cómputo requeridos.
Ventajas de los sistemas distribuidos con respecto a
las computadoras aisladas
Con respecto a las computadoras aisladas, es decir, aquellas que no se encuentran
conectadas a una red, los sistemas distribuidos tienen las siguientes ventajas:
• Datos compartidos: Permite que distintos usuarios tengan acceso a una base de datos o
archivo común.
• Dispositivos compartidos: Permite compartir un recurso costoso entre distintos usuarios,
como plotters o impresoras láser.
• Comunicación: Brinda la posibilidad de comunicación de usuario a usuario (telnet, correo
electrónico, etc.).
• Confiabilidad: Facilita la repartición de la carga de trabajo entre las distintas
computadoras con base en su funciones y capacidades, brindando una mayor flexibilidad
y confiabilidad al sistema.
Desventajas de los sistemas distribuidos
A pesar de los diferentes beneficios que introducen los sistemas distribuidos, todavía
existen diferentes retos que deben ser resueltos como los siguientes:
• Software: Gran parte del software para sistemas distribuidos está aún en desarrollo.
• Redes: Los problemas de transmisión en las redes de comunicación todavía son
frecuentes en la transferencia de grandes volúmenes de datos (por ejemplo, multimedia).
• Seguridad: Se necesitan mejores esquemas de protección para mejorar el acceso a
información confidencial o secreta.
• Tolerancia a fallas: Las fallas operativas y de componentes aún son frecuentes.
FORMAS DISTINTAS DE
ORGANIZAR N COMPUTADORAS
La organización de cierta cantidad de computadoras se puede
realizar usando alguno de los casos de los siguientes sistemas
operativos:
• Sistema operativo de red.
• Sistema operativo distribuido.
• Sistema operativo de multiprocesamiento.
ASPECTOS DEL DISEÑO DE
SISTEMAS DISTRIBUIDOS
Transparencia
Es una característica de los sistemas distribuidos para ocultar al usuario la manera en que el
sistema funciona o está construido, de tal forma que el usuario tenga la sensación de que todo
el sistema está trabajando en una sola máquina local. Entre las principales transparencias
deseables en un sistema distribuido están:
• De localización: Los usuarios no pueden saber dónde se encuentran los datos localizados.
• De migración: Los recursos se pueden mover a voluntad sin cambiar su nombre.
• De réplica: Los usuarios no pueden ver el número de copias existentes.
• De concurrencia: Varios usuarios pueden compartir recursos de manera automática.
• De paralelismo: La actividad o consulta puede requerir procesamiento paralelo sin que el
usuario lo perciba.
• De fallas: Cuando una computadora del sistema falla, esta es imperceptible para el usuario.
• De desempeño: El funcionamiento y velocidad de las máquinas donde se consulta es
imperceptible para el usuario.
• De escalabilidad: El usuario ignora cuándo en el sistema se agrega otra computadora.
Flexibilidad
Facilita modificaciones al diseño inicial.
Confiabilidad
Permite que, en caso de que una computadora falle, otra la pueda sustituir en la realización de
sus tareas asignadas.
Desempeño
Está en referencia a los tiempos de respuesta de una aplicación.
Escalabilidad
Permite que a la arquitectura actual se le pueda adicionar más poder de cómputo.
Repartición de la carga
Se debe analizar con qué equipos cuenta el sistema y los diferentes recursos de cómputo en
cada uno de ellos, como capacidad de disco, velocidad de la red, etc. Los tipos de arquitectura
a usar pueden ser:
• Servidores-estación de trabajo.
• Pila de procesadores.
• Multiprocesadores con memoria compartida.
• Multiprocesadores con memoria distribuida.
TAXONOMIA DE LOS SISTEMAS
DISTRIBUIDOS
Con base en su taxonomía, los sistemas distribuidos pueden clasificarse de la siguiente
manera:
1. Sistemas con software débilmente acoplado en hardware débilmente acoplado.
Ejemplo: Sistema operativo de red, como es el caso de NFS (Network File System
Sistema de archivo de red).
2. Sistemas con software fuertemente acoplado en hardware fuertemente acoplado.
Ejemplo: Sistemas operativos de multiprocesador (sistemas paralelos).
3. Sistemas con software fuertemente acoplado en hardware débilmente acoplado.
Ejemplo: Sistemas realmente distribuidos (imagen de sistema único).
Un caso de los sistemas distribuidos con software y hardware débilmente acoplado son los
sistemas operativos de red. Algunas prestaciones de estos sistemas son:
• Conexión remota con otras computadoras.
• Copia remota de archivos de una máquina a otra.
• Sistema de archivos global compartidos.
DESAFIOS
1. Heterogeneidad
2. Extensibilidad
3. Seguridad
4. Escalabilidad
5. Tratamiento de
fallos
6. Concurrencia
7. Transparencia
1.- Heterogeneidad
■ En un SD existe heterogeneidad a mucho niveles:
■ Redes →distintos protocolos de red
■ HW →distinta representación de los datos
■ SSOO →distintas llamadas al sistema
■ Lenguajes de programación →representación de
estructuras de datos, acceso a métodos, etc.
■ Implementaciones → adopción de estándares
■ Solución: middleware, estrato SW que enmascara la
heterogeneidad subyacente
Middleware
Java C Perl Python HTML JavaScript Ruby
Internet/Intranet LAN/WAN OSI/TCP-IP 3G
MacOS Windows Linux Unix Android iOS
Intel Motorola AMD PowerPC Móviles
2.- Extensibilidad
■ Grado en que se pueden añadir y publicar
nuevos servicios para su uso por una
variedad de clientes
■ Publicación de interfaces
■ Por ejemplo
■ RFC (Request For Comments)
■ Propuestas de protocolos para Internet
■ WSDL (Web Service Description Language)
■ Descripción y publicación de servicios web
(SOAP)
3.- Seguridad
■ Comunicación por paso de mensajes
■ Estos mensajes pueden ser manipulados por
terceros
■ Tres desafíos principales:
■ Confidencialidad: lectura de mensajes por
terceros
■ Integridad: modificación de mensajes por terceros
■ Disponibilidad: interferencia con los
procedimientos de acceso a los recursos
4.- Escalabilidad
■ Un sistema es escalable si conserva su
efectividad ante un incremento significativo del
■ Número de recursos
■ Número de usuarios
■ Puntos clave
■ Control del coste de los recursos HW
■ Prevención del desbordamiento de recursos SW
■ P
. ej: paso de IPV4 (234 direcciones IP) a IPV6 (2128
direcciones IP)*
■ Evitar cuellos de botella/pérdidas en prestaciones
■ Algoritmos descentralizados
■ Replicación
■ Uso de cachés *En 1998 ya se había diseñado la solución al
problema de escala de IPv4. ¿En qué medida es,
a día de hoy, IPv6 una realidad?
Escalabilidad
Internet
https://www.isc.org/network/survey/
(IPv4 only)
Escalabilidad
Internet
https://global-internet-map-2021.telegeography.com
5.- Tratamiento de fallos
■ En un sistema distribuido, los fallos siempre son
parciales
■ Detección de fallos
■
■
Checksum para fallos en la transmisión
Detección de la caída de servidores
■ Enmascaramiento de fallos
■
■
Retransmisión de mensajes
fallidos Servidores proxy
■ T
olerancia a fallos → Redundancia
■
■
■
Rutas alternativas entre routers
Sistemas de nombres duplicado
Replicación de ficheros
■ Disponibilidad:
■ Proporción de tiempo que un sistema está operativo
6.- Concurrencia
■ Cada objeto que represente un recurso compartido en
un sistema distribuido debe responsabilizarse de
garantizar que opera correctamente en un entorno
concurrente
■ Algunos objetos deberán reimplementarse para
trabajar correctamente en entornos distribuidos
■ Servidores multihilo
■ Sincronización mediante semáforos u otros
mecanismos
7.- Transparencia
■ Ocultación al usuario y al programador de
aplicaciones de los componentes de un
sistema distribuido
■ El sistema se percibe como un todo, en vez de
como una colección de componentes
independientes
¿Crees que se puede conseguir una transparencia
perfecta? Es decir ¿crees que puede ejecutarse un
método remoto como si fuera local? Razona tu respuesta
Transparencia
Tipos
■ De acceso
■ Se accede mediante igual mecanismo a recursos locales y
remotos
■ De ubicación
■ Se accede a los recursos sin necesidad de conocer su
localización
■ De concurrencia
■ Varios procesos operan concurrentemente sin interferencia
mutua
■ De replicación
■ Uso de múltiples ejemplares de cada recurso para
aumentar fiabilidad y prestaciones sin que los
usuarios necesiten su conocimiento ¿Se te ocurre algún sistema distribuido que cumpla
con alguno de estos tipos de transparencia?
Transparencia
Tipos (ii)
■ Frente a fallos
■ Ocultación de fallos dejando que el usuario o
programa de aplicación complete sus tareas a pesar
de fallos HW o SW
■ Movilidad
■ Reubicación de recursos y clientes en un sistema sin
afectar la operación de los usuarios y programas
■ Prestaciones
■ Reconfiguración del sistema para mejorar las prestaciones
según varíe la carga de uso
■ Escalado
■ Expansión en tamaño del sistema o aplicaciones sin
cambiar la estructura subyacente o los algoritmos de
aplicación
Desafíos
Contexto
■ Todos los desafíos son importantes
■ Dependiendo del contexto unos van a tener más
relevancia que otros
■ Transacciones comerciales →seguridad, fallos,
concurrencia
■ Google, P2P, DNS → escalabilidad, fallos
■ Cuando estemos estudiando un problema, a menudo:
■ Nos centraremos en un desafío
■ Dando por ‘solventados’ algunos desafíos
■ Analizando cómo repercute la solución en algunos
otros desafíos
Resumen
■
En un sistema distribuido (SD) los componentes
están unidos mediante una red y se comunican
mediante paso de mensajes.
En un SD pueden convivir muchas plataformas,
una heterogeneidad que trata de resolverse
mediante middleware.
En algunos casos es importante diseñar SDs que
sean escalables, es decir, toleren un incremento
en el número de recursos o usuarios.
Especialmente importante si la escala es
Internet.
En un SD puede haber fallos a muchos niveles
que en la medida de lo posible deben ser
ocultados o tolerados.
■
■
■
■
En un SD varios procesos pueden acceder a los mismos
recursos a la vez. Esta concurrencia debe ser
identificada y tratada adecuadamente.
La seguridad y la extensibilidad son otros desafíos
importantes, pero no nos centraremos en ellos
Un tratamiento correcto de estos desafíos lleva a un
sistema.
transparente en el que el usuario final no percibe
estos aspectos.
Es importante definir el contexto
en el que nos encontramos para identificar los desafíos
clave, o los que vamos a necesitar enfrentar en nuestro
modelo de SD.
■
■
■
TALLER
1.- Menciona tres ventajas y tres desventajas de los sistemas distribuidos con
respecto a los centralizados.
2.- Indica la importancia de la transparencia en los sistemas distribuidos.
3.- Explica en qué consiste la transparencia de red en los sistemas distribuidos.
4.- Indica cuál es la diferencia entre sistemas fuertemente acoplados y sistemas
débilmente acoplados.
5.- Indica la diferencia entre un sistema operativo de red y un sistema operativo
distribuido.
6.- Indica la diferencia entre una pila de procesadores y un sistema distribuido.
7.- ¿Qué significa “imagen único” sistema en los sistemas distribuidos?
8.- Indica cinco tipos de recursos en hardware y software que pueden
compartirse de manera útil.
9.- ¿Por qué es importante el balanceo de carga en los sistemas distribuidos?
10.- ¿Cuándo se dice que un sistema distribuido es escalable?
11.- ¿Por qué existe más riesgo a la seguridad en un sistema distribuido que en
un sistema centralizado?

Mais conteúdo relacionado

Mais procurados

Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
Margarita Labastida
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
Fernando Camacho
 
Presentacion De Nagios
Presentacion De NagiosPresentacion De Nagios
Presentacion De Nagios
magicdrums
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Yazmin Ibarra
 
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
Connections Systems
 

Mais procurados (20)

Modelos de los sistemas distribuidos
Modelos de los sistemas distribuidosModelos de los sistemas distribuidos
Modelos de los sistemas distribuidos
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Nagios
NagiosNagios
Nagios
 
Introduction to OpenFlow
Introduction to OpenFlowIntroduction to OpenFlow
Introduction to OpenFlow
 
Administracion de redes servidor ftp
Administracion de redes   servidor ftpAdministracion de redes   servidor ftp
Administracion de redes servidor ftp
 
Presentacion De Nagios
Presentacion De NagiosPresentacion De Nagios
Presentacion De Nagios
 
Hilos con Posix
Hilos con PosixHilos con Posix
Hilos con Posix
 
Casos uso uml
Casos uso umlCasos uso uml
Casos uso uml
 
3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO3.1 Administración de memoria CUESTIONARIO
3.1 Administración de memoria CUESTIONARIO
 
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De DatosHerramientas De Control, Monitoreo Y Acceso A Base De Datos
Herramientas De Control, Monitoreo Y Acceso A Base De Datos
 
Configuraciones básica en Router Cisco
Configuraciones básica en Router CiscoConfiguraciones básica en Router Cisco
Configuraciones básica en Router Cisco
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
12962797 ccna-3-v-40-exploration-examen-final-modulo-3-50-preguntas (1)
 
Switching a nivel 3
Switching a nivel 3Switching a nivel 3
Switching a nivel 3
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
 
Cap3 mod3(sol)
Cap3 mod3(sol)Cap3 mod3(sol)
Cap3 mod3(sol)
 
Enrutamiento de datos
Enrutamiento de datosEnrutamiento de datos
Enrutamiento de datos
 
Sistema operativos distribuidos
Sistema operativos distribuidosSistema operativos distribuidos
Sistema operativos distribuidos
 

Semelhante a UNIDAD 1 TEMA 1 .pptx

Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
Luis Yallerco
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
scorpion_esab
 

Semelhante a UNIDAD 1 TEMA 1 .pptx (20)

Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
sistemas distribudos Semana 1
sistemas distribudos Semana 1sistemas distribudos Semana 1
sistemas distribudos Semana 1
 
Aplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.pptAplicaciones Distribuidas.ppt
Aplicaciones Distribuidas.ppt
 
Sistemas distribuidos pnn2
Sistemas distribuidos pnn2Sistemas distribuidos pnn2
Sistemas distribuidos pnn2
 
Belkis sistemas operativo
Belkis sistemas operativoBelkis sistemas operativo
Belkis sistemas operativo
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Sistemas centralizados resume
Sistemas centralizados resumeSistemas centralizados resume
Sistemas centralizados resume
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Cap1
Cap1Cap1
Cap1
 
Yamilet gonzalez
Yamilet gonzalezYamilet gonzalez
Yamilet gonzalez
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos distribuidos - Ernesto Souquet C.I: 28.396.245
Sistemas operativos distribuidos - Ernesto Souquet C.I: 28.396.245Sistemas operativos distribuidos - Ernesto Souquet C.I: 28.396.245
Sistemas operativos distribuidos - Ernesto Souquet C.I: 28.396.245
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 

Último

Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
GuillermoBarquero7
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
EncomiendasElSherpa
 

Último (6)

Evaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdfEvaluación del riesgo tecnologías informáticas.pdf
Evaluación del riesgo tecnologías informáticas.pdf
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Trabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - OfimáticaTrabajo de Powerpoint - Unsaac - Ofimática
Trabajo de Powerpoint - Unsaac - Ofimática
 
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOSESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
ESCRITORIO DE WINDOWS 11 Y SUS ELEMENTOS
 
2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx2da. Clase Mecanografía e introducción a Excel (2).pptx
2da. Clase Mecanografía e introducción a Excel (2).pptx
 
Caso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business CentralCaso de Exito LPL Projects Logistics Spain y Business Central
Caso de Exito LPL Projects Logistics Spain y Business Central
 

UNIDAD 1 TEMA 1 .pptx

  • 1. UNIDAD 1 INTRODUCCION A LOS SISTEMAS DISTRIBUIDOS
  • 3. En años recientes, el avance en las tecnologías de cómputo y las telecomunicaciones han permitido una gran expansión de los sistemas de información, así como su alta disponibilidad, independientemente de su campo de aplicación. Las telecomunicaciones permiten la conectividad de un gran número de usuarios ubicados en cualquier parte del mundo por medio de la transmisión de voz, datos o video a través de una gran variedad de dispositivos. Diferentes redes de comunicación de área local (LAN), metropolitanas (MAN), así como de área amplia (WAN), pueden ser accedidas a través de Internet. Esto ha permitido que paralelamente surjan instalaciones de cómputo donde pueden ser desplegadas aplicaciones para realizar procesamiento distribuido de tareas. Estas nuevas facilidades ofrecen a los usuarios y organizaciones una gran flexibilidad para estructurar sus propios sistemas de información de una manera eficiente, así como la oportunidad de interactuar con otros sistemas de información de una manera distribuida. Como consecuencia, esto ha generado una gran dependencia de estos sistemas distribuidos para poder transmitir o procesar información. Tanenbaum [1996] define un sistema distribuido como una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora. El advenimiento de los sistemas distribuidos ha estado soportado en dos importantes innovaciones tecnológicas: • El microprocesador. • Las redes de área local.
  • 4. VENTAJAS Y DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS
  • 5. Ventajas de los sistemas distribuidos con respecto a los sistemas centralizados Entre las principales ventajas de los sistemas distribuidos con respecto a las computadoras centralizadas se encuentran: • Economía: Los microprocesadores ofrecen una mejor relación precio/ rendimiento que las computadoras centrales. • Velocidad: Un sistema distribuido puede tener mayor poder de cómputo que una computadora centralizada individual. • Distribución inherente: Implica que un sistema distribuido puede emplear aplicaciones instaladas en computadoras remotas. • Confiabilidad: El sistema es consistente, aun si una computadora del sistema deja de funcionar. • Crecimiento proporcional: Cada vez que se requiera mayor poder de cómputo en el sistema, solo se pueden adicionar los incrementos de cómputo requeridos.
  • 6. Ventajas de los sistemas distribuidos con respecto a las computadoras aisladas Con respecto a las computadoras aisladas, es decir, aquellas que no se encuentran conectadas a una red, los sistemas distribuidos tienen las siguientes ventajas: • Datos compartidos: Permite que distintos usuarios tengan acceso a una base de datos o archivo común. • Dispositivos compartidos: Permite compartir un recurso costoso entre distintos usuarios, como plotters o impresoras láser. • Comunicación: Brinda la posibilidad de comunicación de usuario a usuario (telnet, correo electrónico, etc.). • Confiabilidad: Facilita la repartición de la carga de trabajo entre las distintas computadoras con base en su funciones y capacidades, brindando una mayor flexibilidad y confiabilidad al sistema.
  • 7. Desventajas de los sistemas distribuidos A pesar de los diferentes beneficios que introducen los sistemas distribuidos, todavía existen diferentes retos que deben ser resueltos como los siguientes: • Software: Gran parte del software para sistemas distribuidos está aún en desarrollo. • Redes: Los problemas de transmisión en las redes de comunicación todavía son frecuentes en la transferencia de grandes volúmenes de datos (por ejemplo, multimedia). • Seguridad: Se necesitan mejores esquemas de protección para mejorar el acceso a información confidencial o secreta. • Tolerancia a fallas: Las fallas operativas y de componentes aún son frecuentes.
  • 9. La organización de cierta cantidad de computadoras se puede realizar usando alguno de los casos de los siguientes sistemas operativos: • Sistema operativo de red. • Sistema operativo distribuido. • Sistema operativo de multiprocesamiento.
  • 10. ASPECTOS DEL DISEÑO DE SISTEMAS DISTRIBUIDOS
  • 11. Transparencia Es una característica de los sistemas distribuidos para ocultar al usuario la manera en que el sistema funciona o está construido, de tal forma que el usuario tenga la sensación de que todo el sistema está trabajando en una sola máquina local. Entre las principales transparencias deseables en un sistema distribuido están: • De localización: Los usuarios no pueden saber dónde se encuentran los datos localizados. • De migración: Los recursos se pueden mover a voluntad sin cambiar su nombre. • De réplica: Los usuarios no pueden ver el número de copias existentes. • De concurrencia: Varios usuarios pueden compartir recursos de manera automática. • De paralelismo: La actividad o consulta puede requerir procesamiento paralelo sin que el usuario lo perciba. • De fallas: Cuando una computadora del sistema falla, esta es imperceptible para el usuario. • De desempeño: El funcionamiento y velocidad de las máquinas donde se consulta es imperceptible para el usuario. • De escalabilidad: El usuario ignora cuándo en el sistema se agrega otra computadora.
  • 12. Flexibilidad Facilita modificaciones al diseño inicial. Confiabilidad Permite que, en caso de que una computadora falle, otra la pueda sustituir en la realización de sus tareas asignadas. Desempeño Está en referencia a los tiempos de respuesta de una aplicación. Escalabilidad Permite que a la arquitectura actual se le pueda adicionar más poder de cómputo. Repartición de la carga Se debe analizar con qué equipos cuenta el sistema y los diferentes recursos de cómputo en cada uno de ellos, como capacidad de disco, velocidad de la red, etc. Los tipos de arquitectura a usar pueden ser: • Servidores-estación de trabajo. • Pila de procesadores. • Multiprocesadores con memoria compartida. • Multiprocesadores con memoria distribuida.
  • 13. TAXONOMIA DE LOS SISTEMAS DISTRIBUIDOS
  • 14. Con base en su taxonomía, los sistemas distribuidos pueden clasificarse de la siguiente manera: 1. Sistemas con software débilmente acoplado en hardware débilmente acoplado. Ejemplo: Sistema operativo de red, como es el caso de NFS (Network File System Sistema de archivo de red). 2. Sistemas con software fuertemente acoplado en hardware fuertemente acoplado. Ejemplo: Sistemas operativos de multiprocesador (sistemas paralelos). 3. Sistemas con software fuertemente acoplado en hardware débilmente acoplado. Ejemplo: Sistemas realmente distribuidos (imagen de sistema único). Un caso de los sistemas distribuidos con software y hardware débilmente acoplado son los sistemas operativos de red. Algunas prestaciones de estos sistemas son: • Conexión remota con otras computadoras. • Copia remota de archivos de una máquina a otra. • Sistema de archivos global compartidos.
  • 16. 1. Heterogeneidad 2. Extensibilidad 3. Seguridad 4. Escalabilidad 5. Tratamiento de fallos 6. Concurrencia 7. Transparencia
  • 17. 1.- Heterogeneidad ■ En un SD existe heterogeneidad a mucho niveles: ■ Redes →distintos protocolos de red ■ HW →distinta representación de los datos ■ SSOO →distintas llamadas al sistema ■ Lenguajes de programación →representación de estructuras de datos, acceso a métodos, etc. ■ Implementaciones → adopción de estándares ■ Solución: middleware, estrato SW que enmascara la heterogeneidad subyacente Middleware Java C Perl Python HTML JavaScript Ruby Internet/Intranet LAN/WAN OSI/TCP-IP 3G MacOS Windows Linux Unix Android iOS Intel Motorola AMD PowerPC Móviles
  • 18. 2.- Extensibilidad ■ Grado en que se pueden añadir y publicar nuevos servicios para su uso por una variedad de clientes ■ Publicación de interfaces ■ Por ejemplo ■ RFC (Request For Comments) ■ Propuestas de protocolos para Internet ■ WSDL (Web Service Description Language) ■ Descripción y publicación de servicios web (SOAP)
  • 19. 3.- Seguridad ■ Comunicación por paso de mensajes ■ Estos mensajes pueden ser manipulados por terceros ■ Tres desafíos principales: ■ Confidencialidad: lectura de mensajes por terceros ■ Integridad: modificación de mensajes por terceros ■ Disponibilidad: interferencia con los procedimientos de acceso a los recursos
  • 20. 4.- Escalabilidad ■ Un sistema es escalable si conserva su efectividad ante un incremento significativo del ■ Número de recursos ■ Número de usuarios ■ Puntos clave ■ Control del coste de los recursos HW ■ Prevención del desbordamiento de recursos SW ■ P . ej: paso de IPV4 (234 direcciones IP) a IPV6 (2128 direcciones IP)* ■ Evitar cuellos de botella/pérdidas en prestaciones ■ Algoritmos descentralizados ■ Replicación ■ Uso de cachés *En 1998 ya se había diseñado la solución al problema de escala de IPv4. ¿En qué medida es, a día de hoy, IPv6 una realidad?
  • 24. 5.- Tratamiento de fallos ■ En un sistema distribuido, los fallos siempre son parciales ■ Detección de fallos ■ ■ Checksum para fallos en la transmisión Detección de la caída de servidores ■ Enmascaramiento de fallos ■ ■ Retransmisión de mensajes fallidos Servidores proxy ■ T olerancia a fallos → Redundancia ■ ■ ■ Rutas alternativas entre routers Sistemas de nombres duplicado Replicación de ficheros ■ Disponibilidad: ■ Proporción de tiempo que un sistema está operativo
  • 25. 6.- Concurrencia ■ Cada objeto que represente un recurso compartido en un sistema distribuido debe responsabilizarse de garantizar que opera correctamente en un entorno concurrente ■ Algunos objetos deberán reimplementarse para trabajar correctamente en entornos distribuidos ■ Servidores multihilo ■ Sincronización mediante semáforos u otros mecanismos
  • 26. 7.- Transparencia ■ Ocultación al usuario y al programador de aplicaciones de los componentes de un sistema distribuido ■ El sistema se percibe como un todo, en vez de como una colección de componentes independientes ¿Crees que se puede conseguir una transparencia perfecta? Es decir ¿crees que puede ejecutarse un método remoto como si fuera local? Razona tu respuesta
  • 27. Transparencia Tipos ■ De acceso ■ Se accede mediante igual mecanismo a recursos locales y remotos ■ De ubicación ■ Se accede a los recursos sin necesidad de conocer su localización ■ De concurrencia ■ Varios procesos operan concurrentemente sin interferencia mutua ■ De replicación ■ Uso de múltiples ejemplares de cada recurso para aumentar fiabilidad y prestaciones sin que los usuarios necesiten su conocimiento ¿Se te ocurre algún sistema distribuido que cumpla con alguno de estos tipos de transparencia?
  • 28. Transparencia Tipos (ii) ■ Frente a fallos ■ Ocultación de fallos dejando que el usuario o programa de aplicación complete sus tareas a pesar de fallos HW o SW ■ Movilidad ■ Reubicación de recursos y clientes en un sistema sin afectar la operación de los usuarios y programas ■ Prestaciones ■ Reconfiguración del sistema para mejorar las prestaciones según varíe la carga de uso ■ Escalado ■ Expansión en tamaño del sistema o aplicaciones sin cambiar la estructura subyacente o los algoritmos de aplicación
  • 29. Desafíos Contexto ■ Todos los desafíos son importantes ■ Dependiendo del contexto unos van a tener más relevancia que otros ■ Transacciones comerciales →seguridad, fallos, concurrencia ■ Google, P2P, DNS → escalabilidad, fallos ■ Cuando estemos estudiando un problema, a menudo: ■ Nos centraremos en un desafío ■ Dando por ‘solventados’ algunos desafíos ■ Analizando cómo repercute la solución en algunos otros desafíos
  • 30. Resumen ■ En un sistema distribuido (SD) los componentes están unidos mediante una red y se comunican mediante paso de mensajes. En un SD pueden convivir muchas plataformas, una heterogeneidad que trata de resolverse mediante middleware. En algunos casos es importante diseñar SDs que sean escalables, es decir, toleren un incremento en el número de recursos o usuarios. Especialmente importante si la escala es Internet. En un SD puede haber fallos a muchos niveles que en la medida de lo posible deben ser ocultados o tolerados. ■ ■ ■ ■ En un SD varios procesos pueden acceder a los mismos recursos a la vez. Esta concurrencia debe ser identificada y tratada adecuadamente. La seguridad y la extensibilidad son otros desafíos importantes, pero no nos centraremos en ellos Un tratamiento correcto de estos desafíos lleva a un sistema. transparente en el que el usuario final no percibe estos aspectos. Es importante definir el contexto en el que nos encontramos para identificar los desafíos clave, o los que vamos a necesitar enfrentar en nuestro modelo de SD. ■ ■ ■
  • 31. TALLER 1.- Menciona tres ventajas y tres desventajas de los sistemas distribuidos con respecto a los centralizados. 2.- Indica la importancia de la transparencia en los sistemas distribuidos. 3.- Explica en qué consiste la transparencia de red en los sistemas distribuidos. 4.- Indica cuál es la diferencia entre sistemas fuertemente acoplados y sistemas débilmente acoplados. 5.- Indica la diferencia entre un sistema operativo de red y un sistema operativo distribuido. 6.- Indica la diferencia entre una pila de procesadores y un sistema distribuido. 7.- ¿Qué significa “imagen único” sistema en los sistemas distribuidos? 8.- Indica cinco tipos de recursos en hardware y software que pueden compartirse de manera útil. 9.- ¿Por qué es importante el balanceo de carga en los sistemas distribuidos? 10.- ¿Cuándo se dice que un sistema distribuido es escalable? 11.- ¿Por qué existe más riesgo a la seguridad en un sistema distribuido que en un sistema centralizado?