0% encontró este documento útil (0 votos)
25 vistas24 páginas

Slides - Unidad 1

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas24 páginas

Slides - Unidad 1

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 24

Unidad 1: Sistemas Distribuidos

• Avance en las tecnologías de cómputo


• Avance en las tecnologías de telecomunicaciones (redes de comunicación de área local (LAN),
metropolitana (MAN), y de área amplia (WAN))
• Velocidad de las redes actuales.

• Tanenbaum [2007] define un sistema distribuido como: una colección de computadoras


independientes que aparecen ante los usuarios del sistema como una única computadora.

• Bazan [2017]: un sistema distribuido es aquel cuyos componentes, de hardware o de software,


se alojan en nodos de una red comunicando y coordinando sus acciones a través del envío de
mensajes.

• “Un sistema en el cual las componentes de hardware y software se ubican en una red de
computadoras y comunican y coordinan sus acciones solo por envío mensajes.”

• “Un sistema que consiste de una colección de dos o más computadoras independientes que
coordinan su procesamiento a través del intercambio sincrónico o asincrónico de mensajes.”

• “Un sistema distribuido es una colección de computadoras autónomas enlazadas a


través de una red con software diseñado para producir facilidades de cómputo
integradas.”
- En la Figura 1 muestra que no necesariamente debe existir una
correspondencia unívoca entre computadoras y aplicaciones.

- También se observa que la visión del sistema único es lograda por la


capa middleware que oculta los detalles del entorno de ejecución local
de cada computadora.
• Ventajas de los Sistemas Distribuidos:
– 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.).
– Especificidad: favorece el diseño de software modular donde cada
componente se ejecuta en la plataforma más adecuada.
– 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.
Desventajas de los Sistemas Distribuidos:

• 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.


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 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.
• Mantenimiento de consistencia: Verificar que todos los conceptos involucrados con el
sistema operativo, al operar en un esquema distribuido, sigan realizándose de manera
correcta.
• Funcionalidad: Implica que el sistema distribuido a implementar funcione de acuerdo con
las metas trazadas y que permita hacer más eficiente el trabajo que antes se hacía usando
un sistema centralizado. (Ej. de métrica: Speed-up)
• Seguridad: Es importante considerar todos los factores de riesgo a que se expone la
información en un ambiente distribuido, por ello se deben de implementar los mecanismos
de seguridad que permitan proteger esta información.
Taxonomía 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).
Ejemplos de Sistemas Distribuidos: Internet

La Internet es una red que aglutina computadoras y aplicaciones heterogéneas


implementadas bajo el protocolo de pilas análogo al modelo OSI para redes de
computadoras.
Este protocolo se basa en una comunicación horizontal capa a capa donde las capas de
nivel superior invocan servicios de niveles inferiores mediante interfaces de servicio. Esta
visión por capas como proveedoras y consumidoras de servicios es un método de
abstracción para aislar a los niveles superiores de detalles de la transmisión física.
Ejemplos de Sistemas Distribuidos: Intranet

Las intranets son redes administradas localmente, usualmente


propietarias (la red del campus de una universidad, la red de una
organización o empresa) y se comunican a Internet ubicando
firewalls.
Ejemplos de Sistemas Distribuidos: Sistema Distribuido Móvil y Ubicuo.

Este tipo de sistemas distribuidos se caracterizan porque sus componentes son móviles - dispositivos

pequeños que pueden portarse y ser utilizados durante su transporte -, y ubicuos - dispositivos que admiten

estar conectados todo el tiempo sin importar el lugar.

En la Figura 6 se observa una configuración posible para un sistema distribuido móvil y ubicuo donde los

dispositivos pueden ser cámaras fotográficas, impresoras, teléfonos celulares, laptop e incluso PDAs y tabletas.
Ejemplos de Sistemas Distribuidos: RAID
Modelos de Arquitecturas/Distribución

• La arquitectura de un sistema es su estructura en términos de los componentes


especificados por separado y sus interrelaciones.

• El objetivo de una arquitectura general es asegurar que la estructura reunirá


presentes y probables futuras demandas sobre el mismo.

• La arquitectura de un sistema distribuido define la estructura completa de un


sistema según sus componentes específicos, determinado el rol y funciones
que cumple cada componente, la ubicación dentro de la red y la interrelación
entre las componentes lo que determina su rol o interfaz de comunicación.

• En cuanto a las funciones de las componentes, se definen como procesos


servidores (atienden requerimientos solicitados por otros procesos), procesos
clientes (inician la comunicación, solicitan el requerimiento y esperan la
respuesta) y procesos pares (procesos que cooperan y comunican
simétricamente para realizar una tarea).

• Principales modelos arquitectónicos de los sistemas distribuidos: cliente-


servidor, peer-to-peer, grid, proxy, cluster.
Modelo Cliente-Servidor

• El modelo cliente-servidor es la arquitectura más citada cuando se discuten los


sistemas distribuidos. Ejemplo:

• El modelo cliente-servidor puede tomar diferentes configuraciones:


Modelo Proxy

• Es un servidor que se emplea como intermediario entre las


peticiones de recursos que realiza un cliente a otro servidor.

• Esta situación estratégica de punto intermedio suele ser


aprovechada para soportar una serie de funcionalidades, como:

– Proporcionar caché.
– Control de acceso.
– Registro del tráfico.
– Prohibir cierto tipo de tráfico.
– Mejorar el rendimiento.
– Mantener el anonimato.
Modelo Proxy

• El proxy más conocido es el servidor proxy web, su función principal es


interceptar la navegación de los clientes por páginas web por motivos de
seguridad, rendimiento, anonimato, entre otros.
• Ejemplo: Acceso a servidores web vía un proxy.

• Ejemplo: Arreglo de proxy cliente y proxy servidor para acceder al servidor desde dos
clientes.
Modelo peer-to-peer (P2P)

• En los sistemas P2P no se requiere una infraestructura dedicada.

• Los servidores dedicados y clientes no existen, ya que cada peer


puede tomar el papel tanto de servidor como de cliente al mismo
tiempo.

• Una ventaja importante de los sistemas peer-to-peer es que todos


los recursos disponibles son proporcionados por los peers.

• Durante la distribución de un contenido, los peers aportan sus


recursos para transmitir el contenido a los demás peers. Por lo
tanto, cuando un nuevo peer se agrega al sistema al sistema P2P,
la demanda se incrementa pero la capacidad general del sistema
también.
Modelo peer-to-peer (P2P)

• Paradigma peer-to-peer:

• Beneficios de un sistema peer-to-peer:


– Nodos comparten recursos.
– Se pueden desplegar algoritmos distribuidos.
– Escalamiento más fácil del sistema.
– Ahorro de costos.
– Flexibilidad.
– Ningún punto único de falla.
– Mayor robustez del sistema.
Modelo peer-to-peer (P2P)

• Una infraestructura de comunicación P2P está formada por un grupo de nodos


ubicados en una red física. Estos nodos construyen una abstracción de red en la
parte superior de la red física conocida como red superpuesta, que es
independiente de la red física subyacente.
Modelo Applets

• Un applet es un código que se ejecuta en el contexto de otro programa, por


ejemplo, en un navegador web.
• El código se descarga en el navegador y se ejecuta allí.

• Ejemplo. Paso 1) A solicitud del cliente el servidor web, responde con el código
del applet.

• Paso 2) El cliente interactúa con el applet.


Modelo Applets

• Un applet normalmente lleva a cabo una función muy específica.


• Son ampliamente utilizados en aplicaciones de telefonía móvil.
• Un applet puede dar una buena respuesta interactiva, ya que no
sufre de los retrasos o variabilidad de ancho de banda asociado
con la comunicación de la red.
• Un applet típicamente carece de sesión y tiene privilegios
restringidos de seguridad.
• Los applet que se cargan a través de la red con frecuencia son
considerados como códigos de poca confianza
• Ejemplos de los applets más comunes son:
– Java applets.
– Animaciones Flash.
– Windows media player.
– Modelos 3D.
Modelo Clúster
• Clúster: hace referencia a conjuntos o conglomerados de computadoras
construidos mediante el uso de hardware común y que se comportan como si
fueran una única computadora.

• Ejemplos:
– Aplicaciones de supercómputo
– Servidores web
– Comercio electrónico
– Software de misiones críticas
– Bases de datos de alto rendimiento.
• Un clúster (según el hardware y S.O.) puede ser:
– Homogéneo.
– Semihomogéneo.
– Heterogéneo.
Modelo Grid
• El cómputo grid es un paradigma del cómputo distribuido, frecuentemente usado
para indicar una infraestructura de gestión de recursos distribuidos que se centra en
el acceso coordinado a los recursos informáticos remotos
• Estos recursos de cómputo son colectados desde múltiples localizaciones para
alcanzar una meta común.
• A diferencia del cómputo de cluster (en grupo o racimo), el cómputo grid tiende a
ser más heterogéneo y disperso geográficamente.
• Los recursos que son integrados por una infraestructura grid son típicamente
plataformas de cómputo dedicadas a supercomputadoras de alta gama o clústers de
propósito general.
• Beneficios del cómputo grid:
– Explotación de recursos infrautilizados.
– Capacidad de CPU paralelos.
– Recursos virtuales y organizaciones virtuales para la colaboración.
– Acceso a recursos adicionales.
– Balanceo de recursos.
– Fiabilidad.
– Mejor gestión de infraestructuras de TI más grandes y distribuidos.
Arquitectura por Capas

• Una arquitectura de capa resulta familiar en los sistemas distribuidos y está relacionado
con la abstracción.
• Las capas superiores hacen uso de los servicios ofrecidos por las capas inferiores.
• Capas de servicio en un sistema distribuido:

• Un servicio distribuido puede ser proporcionado por uno o más procesos del servidor, que
interactúan entre sí y con los procesos de cliente para mantener una visión de todo el
sistema, coherente de los recursos del servicio.
• Middleware es un software que tiene como función principal enmascarar la
heterogeneidad del sistema distribuido para proporcionar un modelo de programación
conveniente a los programadores de aplicaciones. Ejemplos de middleware son: CORBA,
DCOM, .NET.
• Finalmente, la capa de aplicaciones y servicios son las prestaciones que ofrece el sistema
distribuido a los usuarios. Se entiende como las aplicaciones distribuidas.

También podría gustarte