sesion 08 tel202 2010-1

48
Profesor: Mg. Enrique Larios V. SESIÓN 8 Procesamiento y Comunicación en Sistemas Distribuidos Arquitectura de Computadoras y Sistemas Operativos para Telecomunicaciones

Upload: kevinxd123

Post on 03-Jul-2015

813 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Sesion 08   tel202 2010-1

Profesor: Mg. Enrique Larios V.

SESIÓN 8

Procesamiento y Comunicación en Sistemas Distribuidos

Arquitectura de Computadoras y Sistemas Operativos para

Telecomunicaciones

Page 2: Sesion 08   tel202 2010-1

AGENDA

• Definición y concepto• Clasificación• Procesos cliente/servidor• Llamadas a procesos remotos – RPC• Desarrollos Web • Bibliografía

Page 3: Sesion 08   tel202 2010-1

Definición y concepto Un sistema distribuido es aquel en el que dos o más

máquinas colaboran para la obtención de unresultado.

En todo sistema distribuido se establecen una ovarias comunicaciones siguiendo un protocoloprefijado mediante un esquema cliente-servidor.

Page 4: Sesion 08   tel202 2010-1

Definición y concepto En un esquema cliente-servidor, se denomina

cliente la máquina que solicita un determinadoservicio y se denomina servidor la máquina que loproporciona.

El servicio puede ser la ejecución de undeterminado algoritmo, el acceso a determinadobanco de información o el acceso a un dispositivohardware.

Page 5: Sesion 08   tel202 2010-1

Definición y concepto Por extensión, se puede aplicar el esquema cliente-

servidor dentro de una misma máquina, donde elproceso servidor y el proceso cliente son dosprocesos independientes que corren dentro de lamisma instancia del sistema operativo.

Es por tanto un elemento primordial para que hayaun sistema distribuido, la presencia de un mediofísico de comunicación entre ambas máquinas, yserá la naturaleza de este medio la que marque enmuchos casos la viabilidad del sistema.

Page 6: Sesion 08   tel202 2010-1

Clasificación Se clasifican los sistemas cliente servidor de

acuerdo al nivel de abstracción del servicio que seofrece. Se distinguen tres componentes básicos desoftware: Interacción con el usuario Lógica de Aplicación Repositorio de datos

Page 7: Sesion 08   tel202 2010-1

Clasificación 1. Representación distribuida. La interacción con el

usuario se realiza básicamente en el servidor. Elcliente hace de pasarela, de sistema de acceso alos elementos hardware pantalla y teclado.

Base de datosLógica de aplicaciónInterfase de usuario

Terminal físico

Page 8: Sesion 08   tel202 2010-1

Clasificación 2. Representación remota. Los datos se envían sin

formatear, y es el cliente el responsable deformatear los datos y realizar las acciones deinteracción con el usuario. En este caso, laaplicación y la base de datos se encuentran en elservidor

Base de datosLógica de aplicaciónInterfase avanzado de usuario

Terminal inteligenteInterfase básico de usuario

Page 9: Sesion 08   tel202 2010-1

Clasificación 3. Lógica distribuida. En el cliente se llevan a cabo

la interacción con el usuario y la parte más trivial dela lógica de la aplicación. En este caso, se llevan acabo controles básicos de rango de campos,campos obligatorios, etc, mientras que el grueso dela lógica permanece en el servidor.

Base de datosLógica de aplicación

PC Desk TopLógica básica de aplicaciónInterfase de usuario

Page 10: Sesion 08   tel202 2010-1

Clasificación 4. Gestión remota de datos. Tanto la interacción

con el usuario como la aplicación residen en elcliente, siendo el servidor el depositario de losdatos.

Base de datos PC Desk TopLógica de aplicaciónInterfase de usuario

Page 11: Sesion 08   tel202 2010-1

Clasificación 5. B.D. Distribuidas. El cliente debe conocer la

topología de la red, así como la disposición yubicación de los datos. En este caso, se delegaparte de la gestión de base de datos a los clientes.

Base de datos

PC Desk TopDistribución de datosLógica de aplicaciónInterfase de usuarioBase de datos

Page 12: Sesion 08   tel202 2010-1

Clasificación Cliente servidor a tres niveles (three tier). La

aplicación se distribuye en los tres niveles:aplicación, datos e interfase de usuario

Base de datos

PC Desk TopInterfase de usuario

Lógica de aplicación

Page 13: Sesion 08   tel202 2010-1

Proceso cliente/servidor Las máquinas cliente son, en general, PC

monousuario o puestos de trabajo que ofrecen unainterfaz muy amigable para el usuario final.

Cada servidor ofrece una serie de servicios deusuario compartidos a los clientes.

El servidor permite a los clientes compartir elacceso a la misma base de datos y permite el usode un sistema de computación de alto rendimientopara gestionar la base de datos.

Page 14: Sesion 08   tel202 2010-1

ServidorEstación de trabajo(cliente)

Entorno genérico cliente/servidor.

LAN o WAN o Internet

Page 15: Sesion 08   tel202 2010-1

Aplicaciones cliente/servidor El software básico es un sistema operativo que se

ejecuta en la plataforma del hardware. Las plataformas y los sistemas operativos del cliente

y del servidor pueden ser diferentes. Estas diferencias de niveles inferiores no son

relevantes en tanto que un cliente y un servidorcompartan los mismos protocolos de comunicación ysoporten las mismas aplicaciones.

Page 16: Sesion 08   tel202 2010-1

Arquitectura genérica cliente/servidor.

Servidor

Estación de trabajocliente

Servicios depresentación

Software de comunicaciones

Sistema operativocliente

Plataforma hardware

Software decomunicaciones

Sistema operativocliente

Plataforma hardware

Petición

Respuesta

Interacciónde protocolos

Lógica de aplicación (parte del cliente)

Lógica de aplicación (parte del cliente)

Arquitectura genérica cliente/servidor

Page 17: Sesion 08   tel202 2010-1

Aplicaciones cliente/servidor Las funciones reales de la aplicación pueden

repartirse entre cliente y servidor de forma que: Se obtienen los recursos de la red y de la

plataforma. Se optimiza la capacidad de los usuarios para

realizar varias tareas. Se optimiza la capacidad para cooperar el uno

con el otro en el uso de recursos compartidos.

Page 18: Sesion 08   tel202 2010-1

Aplicaciones de bases de datos El servidor es un servidor de base de datos. La interacción entre el cliente y el servidor se hace

en forma de transacciones: El cliente realiza una petición a la base de datos

y recibe una respuesta de aquella. El servidor es responsable de mantener la base de

datos.

Page 19: Sesion 08   tel202 2010-1

Servicios de presentación

Lógica deaplicación

Software decomunicaciones

Sistema operativocliente

Plataformahardware

Estación de trabajo cliente

Petición

Respuesta

Interacción de protocolo

Software decomunicaciones

Sistema gestorde base de datos

Sistema operativo servidor

Plataforma hardware

Servidor

Lógica de basede datos Lógica de base de datos

Arquitectura c/s para aplicaciones de base de datos.

Page 20: Sesion 08   tel202 2010-1

Utilización de bases de datos cliente/servidor

Servidor

Cliente

Base de datosde 1.000.000de registros

Consulta inicial

100.000 registros posibles

Consulta siguiente

100.000 registros posibles

Consulta final

Un registro devuelto

(a) Cliente/servidor bien empleado

Page 21: Sesion 08   tel202 2010-1

Cliente

Servidor

Base de datosde 1.000.000de registros

Consulta

300.000 registros devueltos

(b) Cliente/servidor mal empleado

Utilización de bases de datos cliente/servidor

Page 22: Sesion 08   tel202 2010-1

Arquitectura cliente/servidor de tres capas El software de aplicación está distribuido entre tres

tipos de máquinas: Máquina de usuario: Cliente delgado.

Servidor de capa intermedia: Pasarelas. Convierte protocolos. Mezcla e integra resultados de distintas fuentes de

datos. Servidor final (backend).

Page 23: Sesion 08   tel202 2010-1

Cliente

Servidor de capa intermedia(servidor de aplicaciones)

Servidores finales(servidores de datos)

Arquitectura c/s en capas

Page 24: Sesion 08   tel202 2010-1

Middleware Conjunto de herramientas que proporcionan una

manera uniforme de acceder a los recursos delsistema en todas las plataformas.

Herramienta o conjunto de herramientas que nospermitirán gestionar y coordinar los mecanismos decomunicación Permite a los programadores

construir aplicaciones que parezcan las mismas. utilizar el mismo método de acceso a los datos. Independiza el servicio y su implementación, del S.O. y

protocolos de comunicaciones Permite la convivencia de distintos servicios en una misma

máquina

Page 25: Sesion 08   tel202 2010-1

Middleware Middleware

Estación de trabajo cliente

Servicio de presentación

Lógica de aplicación

Software de comunicaciones

Sistema operativocliente

Plataforma hardware

Servidor

Software de comunicaciones

Servicios de aplicación

Sistema operativo servidor

Plataforma hardware

Interacción de ´Middleware

Interacción de protocolos

El papel del middleware en la arquitectura cliente/servidor

Page 26: Sesion 08   tel202 2010-1

Aplicación Aplicación

Plataforma:SOHardware

Plataforma:SOHardware

Interfaz con plataforma

API

Middleware(Servicios del sistema distribuido)

Visión lógica del middleware

Page 27: Sesion 08   tel202 2010-1

Ejemplo de la funcionalidad del middleware

Ejecutando sobre la DECnet y en los PChay aplicaciones y

middlewareRedNovell

Redcentral

RedTCP/IP

DECnetLAN

VMS ejecutando

en VAX

Estacionesde trabajo

Puente

Servidor de terminales

Ejecutando en la red Novell hay aplicaciones, middleware, software de

red Novell y OS/2 de IBM

Ejecutando sobre la red local TCP/IP hay aplicaciones,

middleware, softwareTPC/IP y UNIX

Page 28: Sesion 08   tel202 2010-1

Paso distribuido de mensajes El paso de mensajes se utiliza para comunicar

procesos. Se envían y reciben mensajes, tal y como se hace

en un sistema único. Llamadas a procedimiento remoto.

Page 29: Sesion 08   tel202 2010-1

Primitivas básicas de paso de mensajes

Proceso emisor

Proceso receptor

Módulo de pasode mensajes

Módulo de pasode mensajes

IDProceso Mensaje

Page 30: Sesion 08   tel202 2010-1

Fiabilidad frente a no fiabilidad Un servicio de paso de mensajes fiable garantiza la

entrega, siempre que sea posible. No es necesario hacer que el proceso emisor

sepa que se entregó el mensaje. Puede enviar el mensaje a la red de

comunicaciones sin informar de su éxito ni de sufracaso: Reduce la complejidad y la sobrecarga.

Page 31: Sesion 08   tel202 2010-1

Bloqueante frente a no bloqueante No bloqueante: Un proceso no queda suspendido como resultado

de un Send o un Receive. Ofrece un empleo eficiente y flexible. Los programas son difíciles de depurar.

Bloqueante: Un Send bloqueante no devuelve el control al

proceso emisor hasta que el mensaje se hayatransmitido.

O no devuelve el control hasta que se hayaobtenido un acuse de recibo.

Un Receive bloqueante no devuelve el controlhasta que el mensaje se haya ubicado en elbuffer asignado.

Page 32: Sesion 08   tel202 2010-1

Llamadas a procedimiento remoto Permite que programas de máquinas diferentes

interactúen mediante la semántica dellamadas/retornos a simples procedimientos.

Es un enfoque muy aceptado. Como la interfaz es estándar: Los módulos clientes y servidores pueden

trasladarse entre computadores y sistemasoperativos fácilmente.

Page 33: Sesion 08   tel202 2010-1

Aplicacióncliente

Aplicación local o

sistema operativo

Presentación local

MecanismoRPC

Aplicación deservidor remoto

Mecanismo RPC

Presentaciónlocal

Respuestalocal

Respuestalocal

Respuestalocal

Llamada a proce-dimiento

local

Llamada a proce-dimiento

local

Llamada a procedimiento remoto

Llamada a procedimiento remoto

Mecanismo de llamada a procedimiento remoto

Page 34: Sesion 08   tel202 2010-1

Enlace cliente/servidor El enlace especifica la relación entre un

procedimiento remoto y el programa llamador. Enlaces no persistentes: La conexión lógica se establece entre dos

procesos en el momento de la llamada remota. Enlaces persistentes: Una conexión se mantiene después de que el

procedimiento termina.

Page 35: Sesion 08   tel202 2010-1

Sincronismo frente a asincronismo RPC síncrona: Las llamadas tradicionales a procedimiento

remoto son síncronas, lo que requiere que elproceso llamador espere hasta que el procesollamado devuelva un valor.

Se comporta de manera muy parecida a unallamada a subrutina.

RPC asíncrona: No bloquea al llamador. Permite que un cliente invoque repetidamente a

un servidor, generando una serie de peticiones deuna vez .

Page 36: Sesion 08   tel202 2010-1

Mecanismos de Orientación a Objetos Un cliente que necesita un servicio envía una

petición a un agente de servicio de objetos. El agente: Actúa como un directorio de todos los servicios

disponibles en la red. Llama al objeto adecuado y le pasa los datos

relevantes El objeto remoto atiende la petición y responde al

agente, quien devuelve la respuesta al cliente.

Page 37: Sesion 08   tel202 2010-1

Mecanismos de orientación a objetos

Solicitadorde objetosremotos

Agente desolicitudesde objetos

Servidorde objetos

Aplicación

Cliente Servidor

Solicitudesy respuestasde objetos

Solicitudesy respuestasde objetos

Tran

spor

te

Transporte

Red

Tran

spor

te

Red

Red

(c) Agentes de solicitud de objetos (ORB)

Page 38: Sesion 08   tel202 2010-1

Desarrollos Web Caso particular de desarrollo cliente servidor con

representación remota, en la cual disponemos deun protocolo standard: HTTP y un middlewaredenominado WebServer.

Cada página puede desencadenar la solicitud denumerosos peticiones adicionales para finalizar elproceso de representación remota.

Se dispone de un lenguaje standard de definición yformateo de páginas: HTML

Page 39: Sesion 08   tel202 2010-1

Desarrollos Web Incrustación de la lógica de aplicación en el servidor

Web: CGI: Common Gateware Interface

Cada petición HTTP genera un nuevo proceso, el cual analizala solicitud y genera un resultado. Cada proceso correspondea una transacción.

Es flexible, ideal para pequeñas aplicaciones de uso reducido No escala adecuadamente

Páginas ASP: Caso particular de CGI Entorno propietario Microsoft Aspectos de rendimiento bastante mejorados

Page 40: Sesion 08   tel202 2010-1

Desarrollos Web Incrustación de la lógica de aplicación en el servidor

Web Servlets: Ejecución de aplicaciones Java en el

servidor que procesan la petición y generan lapágina de respuesta No generan un proceso adicional por cada petición Utilizan un lenguaje de alto nivel (Java)

Objetos CORBA: Permite la integración de objetos CORBA con el servidor Web,

creando una estructura cliente servidor multinivel Es la solución más generalista y adaptable Permite fácil, flexible y eficiente integración con BBDD

Page 41: Sesion 08   tel202 2010-1

Desarrollos Web Esquema general

Navegador

Web Server

ServletMáquina virtual

Java

ConectorCORBA

ServidorCORBA

Procesos CGI

HTTP

Parámetrosproceso

CORBA

RMIBase de datos

Page 42: Sesion 08   tel202 2010-1

Nuevos tipos de dispositivos Dispositivos que acceden hoy a internet: Internet Explorer, Netscape, Set Top Box, Móviles

WAP, PDAs Palm Pilot, Windows CE, ...

Page 43: Sesion 08   tel202 2010-1

Nuevos tipos de dispositivos Problema a resolver: Necesidad de adaptar la interfase de usuario a

cada tipo de dispositivo Medidas a tomar: Separar la lógica de aplicación de la interfase de

usuario Utilizar métodos estándar de comunicación entre

la lógica de aplicación y la interfase de usuario Uso de herramientas que permitan adaptar

rápidamente las aplicaciones a los nuevos tiposde dispositivos que irán apareciendo

Page 44: Sesion 08   tel202 2010-1

Nuevos tipos de dispositivos Tendencia actual

Navegador

Web Server

Páginas HTML

Servidor Aplicaciones Lógica de negocio

DatosBase de datos

Interfase de usuario

Gestor comunicaciones

UsuarioMóvil

WAP Server

Páginas WML

SQL

XML

- -

Wml binariohttp

Page 45: Sesion 08   tel202 2010-1

Nuevos tipos de dispositivos Variante de los fabricantes BBDD

Navegador

Web Server

Páginas HTML

Lógica de negocio

DatosBase de datos

Interfase de usuario

Gestor comunicaciones

UsuarioMóvil

WAP Server

Páginas WML

XML

- -

Wml binariohttp

Page 46: Sesion 08   tel202 2010-1

Nuevos tipos de dispositivos Variante de los fabricantes pasarelas

Navegador

Web Server

Páginas HTML Lógica de negocio

DatosBase de datos

Interfase de usuario

Gestor comunicaciones

UsuarioMóvil

WAP Server

Reglas de traducción WML

SQL

- -

Wml binariohttp

Interfase de usuario

Page 47: Sesion 08   tel202 2010-1

51

BibliografíaLibro Descripción

Operating system concepts

Silberschatz, Abraham

Modern Operating Systems

Tanenbaum, Andrew S.

Sistemas OperativosMg. Oporto Díaz, Samuel

Page 48: Sesion 08   tel202 2010-1

Gracias por su atención