Está en la página 1de 38

Sistemas Distribuidos

Capítulo 1
INTRODUCCION

M en C JESUS MARTIN SILVA FERNANDEZ


jsilvaf@unsa.edu.pe
Describir

1. ¿Qué es un Sistema Distribuido?


2. Ejemplos de Sistemas Distribuidos
3. Características comunes
4. Problemas básicos de diseño
5. Resumen

2
1. Tipos de sistemas distribuidos

Completamente
Control Repartido

s
to
Da
Autónomo
totalmente cooperativo
Datos locales,
Autónomo directorio local
basado en transacciones No completamente replicado
directorio maestro
Maestro-esclavo Completamente replicado

Homog. Homog.
especial general Procesadores
objetivo objetivo
Heterog. Heterog.
especial general 3
objetivo objetivo
1. ¿Qué es un Sistema Distribuido?

Definición: UNSistema distribuidoes uno en el


quecomponentesubicados en computadoras en red se comunican
ycoordinarsus acciones sólo al pasarmensajes. Esta definición
conduce a las siguientes características de los sistemas distribuidos:

 Concurrencia de componentes
 Falta de un 'reloj' global

 Fallos independientes de componentes.

4
1.1 Características del Sistema Centralizado

 Un componente con partes no autónomas

 Componente compartido por los usuarios todo el tiempo

 Todos los recursos accesibles

 El software se ejecuta en un solo proceso

 Punto único de control

5
 Punto único de fallo
1.2 Características del sistema distribuido

 Múltiples componentes autónomos

 Los componentes no son compartidos por todos los usuarios

 Los recursos pueden no ser accesibles

 El software se ejecuta en procesos concurrentes en diferentes procesadores

 Múltiples puntos de control

 Múltiples puntos de falla 6


2. Ejemplos de Sistemas Distribuidos

 Red de área local e intranet

 Sistema de administración de base de datos

 Red de cajeros automáticos

 Internet/World Wide Web

 Computación móvil y ubicua


7
2.1 Red de área local

email server Desktop


computers
print and other servers

Local area
Web server network

email server
print
File server
other servers
the rest of
the Internet
router/firewall
8
2.2 Sistema de gestión de base de datos

9
2.3 Red de Cajeros Automáticos

10
2.4 Internet

intranet 

 ISP

columna vertebral

enlace satelital

computadora de escritorio:
servidor:
enlace de red:

11
2.4.1 World Wide Web

12
2.4.2 Servidores web y navegadores web

http://www.google.comlsearch?q=lyu
www.google.com

navegadores
servidores web

www.uu.se Internet
http://www.uu.se/

www.w3c.org

sistema de archivos de http://www.w3c.org/Protocols/Activity.html


www.w3c.org Protocolos

Actividad.html
13
2.5 Computación móvil y ubicua

Internet

Alojar intranet G/M/GPRS


LAN inalámbrico puerta Intranet doméstica

Móvil
teléfono
Impresora Ordenador portátil
Cámara sitio anfitrión
14
3. Características comunes

 ¿Qué estamos tratando de lograr cuando construimos un sistema


distribuido?
 Ciertas características comunes se pueden utilizar para evaluar los
sistemas distribuidos
 Heterogeneidad
 Franqueza
 Seguridad
 Escalabilidad
 Manejo de fallas
 concurrencia
 Transparencia

15
3.1 Heterogeneidad
 Variedad y diferencias en
 Redes
 Hardware de la computadora
 Sistemas operativos
 Lenguajes de programación
 Implementaciones por diferentes desarrolladores.
 software intermediocomo capas de software para proporcionar una
abstracción de programación y enmascarar la heterogeneidad de las redes,
el hardware, el sistema operativo y los lenguajes de programación
subyacentes (p. ej., CORBA).
 Código móvilpara referirse al código que puede enviarse de una
computadora a otra y ejecutarse en el destino (p. ej., applets de Java y
Javamáquina virtual).
16
3.2 Apertura

 La apertura se ocupa de las extensiones y mejoras de los


sistemas distribuidos.
 Es necesario publicar las interfaces detalladas de los
componentes.
 Los nuevos componentes deben integrarse con los
componentes existentes.
 Deben resolverse las diferencias en la representación de datos
de los tipos de interfaz en diferentes procesadores (de
diferentes proveedores).

17
3.3 Seguridad

 En un sistema distribuido, los clientes envían solicitudes para


acceder a datos administrados por servidores, recursos en las
redes:
 Médicos que solicitan registros de hospitales.
 Los usuarios compran productos a través del comercio electrónico
 Se requiere seguridad para:
 Ocultar el contenido de los mensajes: seguridad y privacidad
 Identificar correctamente a un usuario remoto u otro agente
(autenticación)
 Nuevos desafios:
 Ataque de denegación de servicio
 Seguridad del código móvil
18
3.4 Escalabilidad

 Adaptación de sistemas distribuidos a


 acomodar a más usuarios
 responder más rápido (este es el difícil)

 Por lo general, se hace agregando más y/o procesadores más


rápidos.

 No debería ser necesario cambiar los componentes cuando


aumenta la escala de un sistema.

 ¡Diseñe componentes para que sean escalables! 19


3.5 Manejo de fallas (tolerancia a fallas)

 ¡El hardware, el software y las redes fallan!

 Los sistemas distribuidos deben


mantenerdisponibilidadincluso a niveles bajos de
hardware/software/redfiabilidad.

 La tolerancia a fallas se logra mediante


 recuperación
 redundancia

20
3.6 Concurrencia

 Los componentes de los sistemas distribuidos se ejecutan en


procesos concurrentes.
 Los componentes acceden y actualizan los recursos
compartidos (por ejemplo, variables, bases de datos,
controladores de dispositivos).
 Se puede violar la integridad del sistema si no se coordinan
las actualizaciones simultáneas.
 Actualizaciones perdidas
 Análisis inconsistente

21
3.7 Transparencia

 Los sistemas distribuidos deben ser percibidos por los


usuarios y los programadores de aplicaciones como un todo y
no como una colección de componentes que cooperan.

 La transparencia tiene diferentes aspectos.

 Estos representan varias propiedades que deben tener los


sistemas distribuidos.

22
4. Problemas básicos de diseño

 Los principios generales de ingeniería de software


incluyen rigor y formalidad, separación de
preocupaciones, modularidad, abstracción,
anticipación del cambio,...
 Cuestiones específicas de los sistemas distribuidos:
 Denominación
 Comunicación
 Estructuradel software
 Arquitectura del sistema
 Asignación de carga de trabajo
31
 mantenimiento de consistencia
4.1 Denominación

 Un nombre se resuelve cuando se traduce a una forma interpretable


para la referencia de recursos/objetos.
 Identificadorde comunicación (dirección IP + número de puerto)
 La resolución de nombres implica varios pasos de traducción
 Consideraciones de diseño
 Elección del espacio de nombres para cada tipo de recurso
 Servicio de nombres para resolver nombres de recursos en com.
identificación.
 Los servicios de nombres incluyen resolución de contexto de
nombres, estructura jerárquica, protección de recursos
32
4.2 Comunicación
 Los componentes separados se comunican con los procesos de
envío y los procesos de recepción paratransferencia de
datosysincronización.
 Paso de mensajes:enviaryrecibirprimitivos
 síncrono o de bloqueo
 asíncrono o sin bloqueo
 Abstracciones definidas: canales, sockets, puertos.
 Patrones de comunicación: comunicación cliente-servidor (p. ej.,
RPC, envío de funciones) y multidifusión grupal

33
4.3 Estructura del software

 Capas en sistemas informáticos centralizados:

Aplicaciones

software intermedio

Sistema operativo

Hardware informático y de red

34
4.3 Estructura del software
 Capas y dependencias en sistemas distribuidos:

Aplicaciones

Abierto
Programación distribuida servicios
apoyo

Servicios de kernel de sistema abierto


Hardware informático y de red
35
4.4 ARQUITECTURAS DEL SISTEMA

 Servidor de cliente
 De igual a igual

 Servicios proporcionados por múltiples servidores

 Servidores proxy y cachés

 Código móvil y agentes móviles

 Computadoras en red

 Clientes ligeros y dispositivos móviles

36
4.4.1 Los clientes invocan servidores individuales

Client invocation invocation Server

result result
Server

Client
Key:
Process: Computer:

37
4.4.2 Sistemas de igual a igual
Peer 2

Peer 1
Application

Application

Sharable Peer 3
objects
Application

Peer 4

Application

Peers 5 .... N
38
4.4.3 Un servicio de varios servidores
Service

Server

Client

Server

Client
Server

39
4.4.4 Servidor proxy web

Client Web
server
Proxy
server

Client Web
server

40
4.4.5 Subprogramas web

a) client request results in the downloading of applet code

Client Web
Applet code server

b) client interacts with the applet

Web
Client Applet server

41
4.4.6 Clientes ligeros y servidores informáticos

servidor de cómputo
Computadora de red o PC

Delgado red Solicitud


Cliente Proceso

42
5. Resumen

 Definiciones de sistemas distribuidos y comparaciones con sistemas


centralizados.
 Las características de los sistemas distribuidos.

 Las ocho formas de transparencia.

 Los problemas básicos de diseño.

 Lea el Capítulo 1 y el Capítulo 2 del libro de texto.

43
6. Trabajo grupal

Revisar la lectura sobre SD:


https://www.tamps.cinvestav.mx/~vjsosa/clases/sd/sistemas_di
stribuidos_panorama.pdf

Responder:
1. Cual es la característica mas notable de SD?
2. Que restricción importante se observa en SD?
3. La implementación de SD es necesaria?

Grupo: 3 personas
Entregable: presentación .ppt
Plazo: Sesión actual
7. Trabajo

Considerando algún sistema de vigilancia para una población, revisar y


proponer:

1. Arquitectura
2. Plataforma
3. Implementación básica
4. Conclusiones

Grupo: 5 personas
Entregable: presentación .ppt, pdf, código
Plazo: 19 Abril
Gracias

También podría gustarte