Capitulo1sod

84
Sistemas Distribuidos I. Ing. Erasmo Estrada.

description

Presentacion de distribuidos1

Transcript of Capitulo1sod

Page 1: Capitulo1sod

Sistemas Distribuidos I.Ing. Erasmo Estrada.

Page 2: Capitulo1sod

Origen de los sistemas distribuidos

• Hasta principios de los años 80:

– Los computadores son máquinas costosas y de

gran tamaño

– Sistemas operativos multiusuario de tiempo

compartido

• A partir de los años 80:

– Auge de los computadores personales (PCs).

• Avances tecnológicos continuos

• Bajo coste

• Sistemas operativos monousuario

– Aparición de las redes de computadores de alta

velocidad

• Redes de Área Local (LANs)

• Redes de Área Extensa (WANs

Page 3: Capitulo1sod

Ejemplo: evolución de los ordenadores personales

Origen de los sistemas distribuidos

Page 4: Capitulo1sod

Consecuencias:

– Es fácil y tiene un coste asequible la construcción de un sistema distribuido, compuesto por varios computadores conectados por una red de comunicación de alta velocidad

• Desde el punto de vista hardware

– Construir un sistema distribuido no presenta grandes dificultades

• El problema fundamental es el software

– Es difícil hacer software para sacar partido a un sistema distribuido

Origen de los sistemas distribuidos

Page 5: Capitulo1sod

Qué es un sistema distribuido

• DEFINICIÓN 1.1:

– Un Sistema Distribuido es una colección de computadores independientes que se presentan a los usuarios como un único sistema [Tanenbaum,

Page 6: Capitulo1sod

Qué es un sistema distribuido

– Un Sistema Distribuido es una colección de computadores interconectados a través de una red comunicación, de forma que cada computador tiene su propio procesador, memoria y periféricos,y las comunicaciones entre dos computadores diferentes se llevan a cabo mediante el paso de mensajes a través de la red [Sinha, 1997]

– Un Sistema Distribuido es una colección de computadores heterogéneos interconectados a través de una red [Galli, 2000]

– Un Sistema Distribuido es aquél en el que sus componentes, localizados en una red de computadores, se comunican y sincronizan entre sí mediante el intercambio de mensajes [Coulouris et at 2001]

Page 7: Capitulo1sod

Caracteristicas de los sistemas distribuidos¥ concurrencia de los componentes¥ carencia de un reloj global¥ fallos independientes de los componentes ¥ Uso de un sistema de comunicación¥ Ausencia de memoria común¥ Sincronización del trabajo¥ Ausencia de un estado global perceptible por un observador¥ Comunicación a través de mensajes

¥ Ejemplos de sistemas distribuidos¥ Internet¥ Una intranet que es una porcion de internet gestionada por una organización¥ La computacion movil y ubicua

Page 8: Capitulo1sod

¿Qué es Internet?

La Red de Internet la forman muchos ordenadores conectados entre sí y que están repartidos por

todos los países del mundo. En este momento tu estás conectado a esa Red mundial.

Navegar en Internet es ver páginas web mediante un programa que está preparado para ello. Los más conocidos son el Explorer y el Netscape. En ellas encontrarás juegos, pasatiempos, imágenes o que puedes guardar en tu ordenador

Las intranets están enlazadas conjuntamente por conexiones troncales (backbones). Una conexión o red troncal es un enlace de red con una gran capacidad de transmisión, que puede emplear conexiones de satélite, cables de fibra óptica y otros circuitos de gran ancho de banda.

En Internet hay disponibles servicios multimedia, que permiten a los usuarios el acceso a datos de audio y vídeo, incluyendo música, radio y canales de televisión y mantener videoconferencias.

Page 9: Capitulo1sod

INTRANETSUna intranet es una porción de Internet que es, administrada separadamente y que tiene un límite que puede ser configurado para hacer cumplir políticas de seguridad local. La Figura 1.2 muestra una intranet típica. Está compuesta de varias redes de área local (LANs) enlazadas por conexiones backbone. La configuración de red de una intranet particular es responsabilidad de la organización que la administra y puede variar ampliamente, desde una LAN en un único sitio a un conjunto de LANs conectadas perteneciendo a ramas de la empresa u otra organización en diferentes países.

Una intranet está conectada a Internet por medio de un encaminador (router), lo que permite a los usuarios hacer uso de servicios de otro sitio como el Web o el correo electrónico. Permite también acceder a los servicios que ella proporciona a los usuarios de otras intranets

El papel del cortafuegos es proteger una intranet impidiendo que entren o salgan mensajes no autorizados. Un cortafuegos se implementa filtrando los mensajes que entran o salen, por ejemplo de acuerdo con su origen o destino. Un cortafuegos podría permitir, por ejemplo, sólo aquellos mensajes relacionados con el correo electrónico o el acceso web para entrar o salir de la intranet que protege.

Page 10: Capitulo1sod

Los principales temas relacionados con el diseño de componentes para su uso en intranets son:

• Los servicios de ficheros son necesarios para permitir a los usuarios compartir datos,

• Los cortafuegos tienden a impedir el acceso legítimo a servicios, cuando se precisa compartir recursos entre usuarios externos e internos, los cortafuegos deben ser complementados con el uso de mecanismos de seguridad más refinados.

• El coste de instalación y mantenimiento del software es una cuestión importante. Estos costes pueden ser reducidos utilizando arquitecturas de sistema como redes de computadores y clientes ligeros

Page 11: Capitulo1sod

Cuarto de control de Sistemas10 Terminales

UTP

Fibra Óptica

Fibra ÓpticaFibra Óptica

UTP

15 Terminales

Novel

Linux

AS/400

NT – NT4 Server

-- 2003 Server

50 Terminales

1 Raca

3 Racas

60 Terminales

2 Racas30 Terminales

1RacasOficina Administrativa

2 Racas

60 TerminalesLP

70Terminales70 Terminal

es

MEXICO

2 Racas

Page 12: Capitulo1sod

COMPUTACION MOVIL Y UBICUA

En la computación móvil, los usuarios que están fuera de su hogar intranet disponen de la posibilidad de acceder a los recursos mediante los dispositivos que llevan con ellos. Pueden continuar accediendo a Internet; pueden acceder a los recursos de su intranet; y se está incrementando la posibilidad de que utilicen recursos, como impresoras, que están suficientemente próximos a donde se encuentren

Computación ubicua es la utilización concertada de muchos dispositivos de computación pequeños y baratos que están presentes en los entornos físicos de los usuarios, incluyendo la casa, la oficina y otros. El término ubicuo está pensado para sugerir que los pequeños dispositivos llegarán a estar tan extendidos en los objetos de cada día que apenas nos daremos cuenta de ellos. O sea, su comportamiento computacional estará ligado con su función física deforma íntima y transparente.

La computación ubicua y móvil se solapan, puesto que un usuario moviéndose puede beneficiarse, en principio, de los computadores que están en cualquier parte. Pero, en general, son distintas. La computación ubicua podrá beneficiar a los usuarios mientras permanecen en un entorno sencillo como su casa o un hospital. De forma similar, la computación móvil tiene ventajas si sólo se consideran computadores convencionales y dispositivos como computadores portátiles e impresoras.

Page 13: Capitulo1sod

Recursos compartidos web

Los usuarios están tan acostumbrados a los beneficios de compartir recursos que pueden pasar por alto su significado. Normalmente compartimos recursos hardware como impresoras, recursos de datos como ficheros, y recursos con una funcionalidad más específica como máquinas de búsqueda.

Las intranets están enlazadas conjuntamente por conexiones troncales (backbones). Una conexión o red troncal es un enlace de red con una gran capacidad de transmisión, que puede emplear conexiones de satélite, cables de fibra óptica y otros circuitos de gran ancho de banda.

En Internet hay disponibles servicios multimedia, que permiten a los usuarios el acceso a datos de audio y vídeo, incluyendo música, radio y canales de televisión y mantener videoconferencias.

Page 14: Capitulo1sod

El World Wide web

Es un sistema en evolución para publicar y acceder a recursos y servicios a través de Internet. Utilizando el software de un navegador web, fácilmente disponible como Netscape o Internet Explorer, los usuarios utilizan el Web para recuperar y ver documentos de muchas clases, para escuchar secuencias de audio y ver secuencias de vídeo, y para interaccionar con un conjunto ilimitado de servicios.

El Web comenzó su vida en el centro europeo para la investigación nuclear (CERN), Suiza, en 1989 como un vehículo para el intercambio de documentos entre una comunidad de físicos, conectados a Internet [Berners-Lee 1999].

Una característica fundamental del Web es que proporciona una estructura hipertexto entre los documentos que almacena

El Web es un sistema abierto: puede ser ampliado e implementado en nuevas formas sin modificar

Page 15: Capitulo1sod

El Web está basado en tres componentes tecnológicos de carácter estándar básicos:

• El lenguaje de etiquetado de hipertexto (HTML, Hypertext Markup Language) es un lenguaje para especificar el contenido y el diseño de las páginas que son mostradas por los navegadores.

• Localizadores Uniformes de Recursos (URL, Uniform Resource Locaíor) que identifican documentos y otros recursos almacenados como parte del Web.

• Una arquitectura de sistema cliente-servidor, con reglas estándar para interacción (el protocolo de transferencia hipertexto-HTTP, HyperText Transfer Protocol) mediante la cual los navegadores

Page 16: Capitulo1sod

HTML. El lenguaje de etiquetado de hipertexto se utiliza para especificar el texto e imágenes que forman el contenido de una página web, y para especificar corno serán formateados para la presentación al usuario. Una página web contiene elementos estructurados como

cabeceras, párrafos, tablas e imágenes. HTML se utiliza también para especificar enlaces y qué recursos están asociados con ellos.

URLs. El propósito de un URL es identificar un recurso de tal forma que permita al navegador localizarlo. Los navegadores examinan los URLs con el fin de buscar los recursos correspondientes de los servidores web

Cada URL, en su forma global, tiene dos componentes: esquema: localización-específica-del-esquema

. En general, los URLs de HTTP son de la forma: http://nombredelservid.or [.-puerto] [/nombredelpathdelservidor] ['.Cargamentos]

Page 17: Capitulo1sod

HTTP. El protocolo de transferencia hipertexto [www.w3.org IV] define las formas en las que los navegadores y otros tipos de clientes interaccionan con los servidores web.

sus principales características

Interacciones petición-respuesta: HTTP es un protocolo de petición-respuesta. El cliente envía un mensaje de petición al servidor que contiene el URL del recurso solicitado. (Elservidor sólo precisa la parte del URL que sigue al propio nombre DNS del servidor.) El servidor localiza el nombre de recorrido y, si existe, devuelve el contenido del fichero en un mensaje de respuesta al cliente. En caso contrario, devuelve un mensaje de error.

Tipos de contenido: los navegadores no son necesariamente capaces de manejar o hacer buen uso de cualquier tipo de contenido. Cuando un navegador hace una petición, incluye una lista de los tipos de contenido que prefiere, por ejemplo, en principio puede ser capaz de sacar en pantalla imágenes en formato GIF pero no en JPEG. El servidor puede ser capaz de tener esto en cuenta cuando devuelve el contenido al navegador. El servidor incluye el tipo de contenido en el mensaje de respuesta de forma que el navegador sabrá cómo procesarlo. Las cadenas de caracteres que indican el tipo de contenido se llaman tipos MIME, y están estandarizados en el RFC 1521 [Borensteín y Freed 1993]. Por ejemplo, si el contenido es de tipo lext/html entonces el navegador interpretará el texto como HTML y lo mostrará en pantalla; si el contenido es de tipo image/GlF el navegador lo tratará como una imagen en formato GIF, si el contenido es de tipo aplicaüonjzip entonces los datos están comprimidos en formato zip y el navegador lanzará una aplicación externa para descomprimirlos. El conjunto de acciones que un navegador tomará para un tipo de contenido dado es configurable, y los lectores deben preocuparse de comprobar estos defectos en sus propios navegadores.

Page 18: Capitulo1sod

Un recurso por solicitud: en la versión 1.0

de HTTP (que es la versión más utilizada en el momento en que se escribe esto), el cliente solicita un recurso por cada petición HTTP. Si una página web contiene nueve imágenes, por ejemplo, el navegador realizará un total de diez peticiones separadas para obtener el contenido completo de la página. Los navegadores normalmente hacen varias peticiones concurrentemente, para reducir el retardo total para el usuario.

Control de acceso simple: por defecto,

cualquier usuario con una conexión de red a un servidor web puede acceder a cualquiera de los recursos publicados. Si los usuarios desean restringir el acceso a un recurso, pueden configurar el servidor para plantear un desafío a cual quier usuario que lo pida. Los usuarios correspondientes deben probar entonces que tienen derecho para acceder al recurso, por ejemplo tecleando una contraseña (password).

Page 19: Capitulo1sod

Características más avanzadas, servicios

y páginas dinámicas.

Por ejemplo, cuando se compra algo en una tienda electrónica, el usuario rellena con frecuencia un formulario web para proporcionar sus detalles personales o para especificar exactamente lo que se desea comprar. Un formulario web es una página que contiene instrucciones para el usuario y elementos para la introducción de datos como campos de texto y cajas de comprobación. Cuando un usuario envía el formulario (normalmente pulsando un botón o una tecla de retorno (return), el navegador envía una petición HTTP a un servidor web, que contiene los valores enviados por el usuario.

Page 20: Capitulo1sod

Código descargado:

Un programa CGI se ejecuta en el servidor. A veces los diseñadores de servicios Web precisan algún código relacionado con el servicio para ejecutar en el navegador, en el computador del usuario. Por ejemplo, código escrito en Javascript [wwvv.netscape.com] se descarga a menudo con un formulario web para proporcionar una interacción con el usuario de mejor calidad que la proporcionada por los artefactos estándar de HTML

un applet es una pequeña aplicación que descarga automáticamente el navegador y se ejecuta cuando se descarga la página correspondiente

Los applets pueden acceder a la red y proporcionar interfaces de usuario específicas, utilizando las posibilidades del lenguaje, Java

Page 21: Capitulo1sod

Discusión sobre el Web.

El extraordinario éxito del Web se basa en la facilidad con la que pueden publicarse

recursos, una estructura de hipertexto apropiada

Primero, su modelo de hipertexto es deficiente en algunos aspectos. Si se borra o mueve algún recurso, ocurre que los llamados enlaces descolgados a este recurso permanecen, causando cierta frustración a los usuarios. También aparece el problema habitual de los usuarios perdidos en el hiperespacio

Page 22: Capitulo1sod

Transparencia

• Seguridad

• Rendimiento

• Heterogeneidad

• Flexibilidad

• Fiabilidad

• Escalabilidad

• Tratamiento de Fallos

Objetivos de diseño

Page 23: Capitulo1sod

Transparencia

• El principal objetivo de un SOD es que el sistema se presente a los usuarios como un único computador monoprocesador virtual Diversos conceptos de transparencia

Page 24: Capitulo1sod

Transparencia en un Sistema Distribuido

Diferentes formas de transparencia en un sistema distribuido

Que un recurso pueda estar en memoria o en discoPersistencia

Permitir la recuperacion de un recurso en caso de fallasFallas

Que un recurso pueda ser compartido por varios usuariosConcurrencia

Que puedan existir replicas de un recursoReplicacion

Que un recurso pueda moverse de un lugar a otro mientras que esta en uso

Relocalizacion

Que un recurso pueda moverse de un lugar a otroMigracion

Donde se encuentra un recursoLocalizacion

diferencias en la representacion de los datos y como accesar los recursos.Acceso

DescripcionTransparencia

Page 25: Capitulo1sod

Seguridad

• La seguridad es una característica fundamental en un SO multiusuario

• En un sistema distribuido la información se transmite entre los diferentes nodos del mismo mediante paso de mensajes

• Requisitos para garantizar la seguridad de los mensajes:

– El emisor de un mensaje debería saber que su mensaje ha sido recibido

– El receptor de un mensaje debería saber que ha sido enviado por el emisor adecuado

– Tanto el emisor como el receptor deberían tener garantías de que los mensajes no son observados ni alterados durante la transmision.

Page 26: Capitulo1sod

Ataques de denegación de servicio: otro problema de seguridad ocurre cuando un usuario desea obstaculizar un servicio por alguna razón. Esto se obtiene al bombardear el servicio con un número suficiente peticiones inútiles de modo que los usuarios serios sean incapaces de utilizarlo.

Seguridad del código móvil: el código móvil necesita ser tratado con cuidado. Suponga que alguien recibe un programa ejecutable adherido a un correo electrónico: los posibles efectos al ejecutar el programa son impredecibles; por ejemplo, pudiera parecer que presentan un interesante dibujo en la pantalla cuando en realidad están interesados en el acceso a los recursos locales, o quizás pueda ser

parte de un ataque de denegación de servicio

Page 27: Capitulo1sod

Rendimiento

• La existencia de más recursos (procesadores y memoria) debería permitir que las aplicaciones se ejecuten más rápido en un sistema distribuido que en uno centralizado

• Problemas:

– Las aplicaciones tienen que ser paralelizadas (distribuidas)

– Minimizar el tráfico en la red

– Equilibrado de carga

• Problema de compromiso: conseguir que un SOD sea transparente, flexible y fiable penaliza el rendimiento

Page 28: Capitulo1sod

Heterogeneidad

• Un SOD heterogéneo se compone de conjuntos de computadores que pueden diferir tanto en aspectos hardware como software

• Heterogeneidad implica que puede existir incompatibilidades

– Los procesadores y los lenguajes de programación no usan la misma representación de los datos

• Solución: utilizar formatos de datos comunes

• Ejemplo: XDR (RPC de Sun), CDR (CORBA)

– Diversidad de protocolos

• Solución: Adopción de protocolos estándar

Ejemplo: TCP/IP

Page 29: Capitulo1sod

Heterogeneidad

• Se buscan soluciones de alto nivel para tratar la heterogeneidad

•– Middleware es un software que reside entre la aplicación y los sistemas operativos, protocolos y hardware subyacente y cuyo objetivo es permitir que componentes heterogéneos y distribuidos se interconecten y colaboren entre si.

Page 30: Capitulo1sod

Flexibilidad

• Un SO flexible admite la modificación de sus componentes y la adición de nuevos servicios

– El factor que más influye es el diseño del núcleo del SO

• Dos arquitecturas básicas

– Núcleos monolíticos

- Micronúcleos

Page 31: Capitulo1sod

Fiabilidad

• Se supone que un SOD debe ser más fiable que un SO centralizado debido a la existencia de varios elementos de un

mismo tipo

– Sin embargo, al existir más elementos es más probable que falle alguno

– Un sistema es tolerante a fallos cuando puede seguir funcionando aunque fallen algunos de sus componentes

• Estrategias a seguir:

– Diseño de servicios que no requieran el funcionamiento de un número elevado de componentes

– Redundancia

Page 32: Capitulo1sod

Escalabilidad

• Una de las ventajas de los sistemas distribuidos es que pueden crecer para adaptarse a incrementos de carga de Trabajo

• Un sistema es escalable cuando puede crecer sin problemas

– Sin embargo, añadir nuevos recursos

• Puede generar una sobrecarga sobre otros recursos

• Puede requerir modificaciones en el sistema que pueden ser costosas de realizar

• Principio básico de diseño:

– Evitar en lo posible utilizar componentes y algoritmos centralizados.

Page 33: Capitulo1sod

Problemas de Escalabilidad

Limitaciones de la escalabilidad.

Hacer el ruteo con algoritmos centralizadosAlgoritmos Centralizados

Un unico enlaceDatos Centralizados

Un unico servidor para todos los usuariosServicios Centralizados

EjemploConcepto

Page 34: Capitulo1sod

Tecnicas de Escalamiento

1.5

Dividir los nombres en zonas como lo hace el DNS

Page 35: Capitulo1sod

Otras tecnicas de Escalamiento..

Usando Replicas : Estan pueden ser colocadas en algunos Servidores proximos al cliente.

Usando Cache: Es traer una imagen del recurso tan cerca Del cliente como sea posible.

Ambos casos traen problemas de consistencia

Page 36: Capitulo1sod

Tratamiento de Fallos

Los sistemas computacionales a veces fallan. Cuando aparecen fallos en el hardware o el software, los programas pueden producir resultados incorrectos o pudieran parar antes de haber completado el cálculo pedido.

Los fallos en un sistema distribuido son parciales; es decir, algunos componentes

fallan mientras otros siguen funcionando Técnicas para tratar fallos: Detección de fallos: algunos fallos son detectables. Por ejemplo, se pueden utilizar

sumas decomprobación (checksums) para detectar datos corruptos en un mensaje o un archivo.

El reto está en arreglárselas en presencia de fallos que no pueden detectarse pero que sí pueden esperarse.

Page 37: Capitulo1sod

Enmascaramiento de fallos: algunos fallos que

han sido detectados pueden ocultarse o atenuarse. Dos ejemplos de ocultación de fallos son:

1. Los mensajes pueden retransmitirse cuando falla la recepción. 2. Los archivos con datos pueden escribirse en una pareja de discos de forma que si

uno está deteriorado el otro seguramente está en buen estado.

Simplemente eliminar un mensaje corrupto es un ejemplo de atenuar un fallo (pudiera retransmitirse de nuevo). Probablemente el lector se dará cuenta de que las técnicas indicadas para ocultar los fallos no tienen garantía de funcionamiento las peores situaciones; por ejemplo, los datos en el segundo disco pudieran también estar corrompidos, o el mensaje bien pudiera no llegar a tiempo no importa cuantas veces se retransmita

Page 38: Capitulo1sod

Tolerancia de fallos: la mayoría de los servicios en Internet

exhiben fallos; es posible que no sea práctico para ellos pretender detectar y ocultar todos los fallos que pudieran aparecer en una red tan grande y con tantos componentes. Sus clientes pueden diseñarse para tolerar ciertos fallos, lo que implica que también los usuarios tendrán que tolerarlos generalmente. Por ejemplo, cuando un visualizador web no puede contactar con un servidor web no hará que el cliente tenga que esperar indefinidamente mientras hace sucesivos intentos; informará al usuario del problema, dándole la libertad de intentarlo más tarde

Recuperación frente a fallos: la recuperación implica

el diseño de software en el que, tras una caída del servidor, el estado de los datos pueda reponerse o retractarse (roll back) a una situación anterior. En general, cuando aparecen fallos los cálculos realizados por algunos programas se encontrarán incompletos y al actualizar datos permanentes (archivos e información ubicada en almacenamiento persistente) pudiera encontrarse en un estado inconsistente .

Page 39: Capitulo1sod

Redundancia: puede lograrse que los servicios toleren fallos mediante el empleo redundante de componentes. Considere los siguientes ejemplos:

1. Siempre deberá haber al menos dos rutas diferentes entre cuales quiera dos routers (encaminadores) en Internet.

2. En el Sistema de Nombres de Dominio, cada tabla de nombres se encuentra replicada en dos servidores diferentes.

3. Una base de datos puede encontrarse replicada en varios servidores para asegurar que los datos siguen siendo accesibles tras el fallo de cualquier servidor concreto; los servidores pueden diseñarse para detectar fallos entre sus iguales; cuando se detecta algún error en un servidor se redirigen los clientes a los servidores restantes.

Page 40: Capitulo1sod

El diseño de técnicas eficaces para mantener réplicas actualizadas de datos que cambian rápidamente sin una pérdida excesiva de prestaciones es un reto.

Los sistemas distribuidos proporcionan un alto grado de disponibilidad frente a los fallos del hardware. La disponibilidad de un sistema mide la proporción de tiempo en que está utilizable. Cuando falla algún componente del sistema distribuido sólo resulta afectado el trabajo relacionado con el componente defectuoso. Así como cuando un computador falla el usuario puede desplazarse a otro, también puede iniciarse un proceso de servicio en otra ubicación.

Page 41: Capitulo1sod

Conceptos del Hardware

Los Sistemas de computadores los podemos dividir en :

Multiprocesadores: Aquellos que comparten memoria

Multicomputadores: Aquellos que no

Page 42: Capitulo1sod

Clasificacion de acuerdo a su conexión:

De acuerdo a la arquitectura de interconexion pueden clasificarse en:

Bus:Por un solo cable se mueve el mensaje

Switch: El mensaje se puede mover por un conjunto de

Cables de los cuales se debe decidir el camino.

Page 43: Capitulo1sod

Conceptos del Hardware

1.6

Diferentes organizaciones de procesadores y memorias en sistemas de computadores distribuidos

Page 44: Capitulo1sod

Multiprocesadores

Todos los procesadores tienen acceso directo a una memoria compartida.

Los multiprocesadores bassados en bus consisten de un numero de CPUs conectados a un bus comun con un modulo de memoria.

El problema con este modelo es que con unos cuantos CPUs el bus estara sobrecargado de trafico

Page 45: Capitulo1sod

Colocar memorias cache de alta velocidad entre cpu y bus.

El cache mantendrá las palabras de memoria accesadas recientemente. Todas las solicitudes a la memoria se harán a través del cache, si lo requerido está en la cache, la cache responderá al cpu. Si la en la cache comunmente se encuentra lo requerido se tendra la tasa de acierto será alta.

Solucion:

Page 46: Capitulo1sod

El problema que se da utilizando buses es la limitacion al crecimiento aun usando cache.

Una solucion es la de crear un sistema utilizando un croosbar o un omega.

Page 47: Capitulo1sod

Clasificacion en base a la arquitectura.

Sistemas de Multicomputadores Homogeneos

Construido de la misma tecnologia.

. Procesadores iguales

Memoria igual

Usados en sistemas paralelos.

Page 48: Capitulo1sod

Los multicomputadores basados en buses: Los procesadores estan conectados por medio de redes de multiaccesos compartidos.

Los multicomputadores basados en switch: Los mensajes son encaminados a traves de la red; Dos topologias comunes: Grids. Hipercubos.

Los multicomputadores basados en switch. Procesadores paralelos masivos :

Miles de Cpus. Clusters de workstation: colección de pc’s y

workstations conectados.

Page 49: Capitulo1sod

Sistemas de Multicomputadores Heterogeneos.

Construido de multicomputadores heterogeneos.

Tipos de procesadores diferentes Tamaño de memoria diferentes Ancho de banda I/O diferentes.

Usados en sistemas de redes de computadores

Page 50: Capitulo1sod

Conceptos de Software.

El hardware es importante para los sistemas distribuidos

pero el software permite definir el alcance de un S.D.Los S.D. estan muy ligados con los S.O. Administrador de recursos.

Permite a multiples usuarios y aplicaciones compartir cpu, memorias, perifericos, dispositivos, la red, toda clase de datos.

Permite proveer maquinas virtuales sobre las cuales las aplicaciones pueden ser ejecutadas.

Page 51: Capitulo1sod

Conceptos de Software.

Los S.O. para sistemas distribuidos se dividen en: Fuertemente acoplados.

Objetivo es mantener una vista global de los recursos administrados.

Debilmente acoplados. Cada sistema de computo con su propio S.O. trabajando

en conjunto para ofrecer sus servicios y recursos a los otros.

Fuertemente acoplados conocidos como S.O.D usados

para multiprocesadores y multicomputadores homogeneos.

Page 52: Capitulo1sod

Sistemas fuertemente acoplados. Tratar de mantener una vista global de los recursos

que administran. Sistemas debilmente acoplados.

Sistemas que trabajan juntos para ofrecer sus servicios y recursos locales a clientes remotos.

Sistemas Operativos Distribuidos. S.O. de multiprocesador:

Administra los recursos de un multiprocesador.

S.O. de multicomputador:Para computadores homogeneos.

Page 53: Capitulo1sod

Sistemas Operativos de un único procesador.

La meta principal de estos sistemas es permitir a los usuarios y aplicaciones compartir recursos:

Memoria. Cpu. Disco y perifericos. Protegiendo los espacios de memoria de cada una de

las aplicaciones el sistema operativo debe tener control sobre los recursos de hardware, la operación basica:

Modo dual. Modo usuario. Modo supervisor.

Page 54: Capitulo1sod
Page 55: Capitulo1sod

S.O. Multiprocesadores.

–Requieren multiples procesadores con memoria compartida.

Sincronización:

–Semáforos.

–Señal 0,1.

Monitores:

–Procedimientos a objetos compartidos.

–Semáforos símples como variables mutex.

Sistemas Operativos multiprocesadores.Multiples procesadores tengan acceso a memoria compartida.

Page 56: Capitulo1sod
Page 57: Capitulo1sod
Page 58: Capitulo1sod

Sistemas operativos de multicomputadores

No tienen memoria compartida.La comunicación es por medio de pase de mensajes.

Son totalmente diferentes en estructura y complejidad que un sistema de multiprocesadores

Page 59: Capitulo1sod

Cada maquina contiene: S.O. propio. Para administrar sus recursos locales. Un modulo para el manejo de la comunicación

entre los procesadores. Por medio de pase de mensajes.

Una capa que ofrece los servicios de una máquina de multiprocesadores (memoria compartida, asignar tareas, enmacarar los fallos de hardware, almacenamiento, comunicación entre procesos).

Page 60: Capitulo1sod

El paso de mensajes provoca que los mensajes se enlisten.

En el emisor o en el rceptor Existen algunos puntos de bloqueo en un sistema de

buffer: Emisor: si se llena el buffer del emisor entonces S1 se

bloquea. Receptor su buffer esta lleno: Cuando no hay buffer. Cuando el buffer está vacío.

Page 61: Capitulo1sod
Page 62: Capitulo1sod

Memoria Compartida Distribuida Basado en el concepto de paginación.

El sistema es divido en paginas de 4 u 8 KB. Con fallos de paginas para permitir la busqueda de una pagina

Page 63: Capitulo1sod

El Tamaño de las paginas pueden causar: Cuando usamos páginas muy grandes puede ocasionar

un falso de página compartida cuando una pagina contiene datos de procesos independientes que estan corriendo en diferentes procesadores.

Una gran cantidad de transferencia en la red elevando el costo

Una paginas grandes pueden reducir el numero de transferencias.

Page 64: Capitulo1sod

En contraste a un SOD un SOR No asume que el hardware es homogeneo y que podria manejarse como un simple sistema.

Son generalmente construidos de sistemas de uniprocesadores

Cada uno con su propio sistema operativo

Cada computador conectado a una red de computadores

El SOR provee servicios disponibles en una maquina especifica

Accesar informacion remota por medio de comandos login.

Copiando archivos localmente.

Sistemas Operativos de Red

Page 65: Capitulo1sod

Un sistema mas moderno podria ser un servidor de archivos en una maquina suministrando servicios de lectura y/o escritura sobre archivos a clientes colocados en otras maquinas.

Los servidores de archivos generalmente mantienen un Sistema de archivo jerarquico con un directorio raiz y subdirectorios:

Las estaciones pueden Importarlos o Montarlos aumentando su sistema de archivo local.

Page 66: Capitulo1sod

El montaje puede ser aplicado en diferentes lugares

El problema que existe un SOR es el de no transparencia referente a la seguridad esto es es necesario un login y cuando se desea cambiar debera hacerse en la maquina servidor

Page 67: Capitulo1sod

Sistema Operativo Distribuido y un Sistema Operativo de Red califican par un sistema distribuido.

Sistemas operativos distribuidos

–No manejan computadoras independientes.

Sistemas operativos de red.

–No presentan la vista global de un sistema coherente.

Que hacer para tomar los ventajas de uno y de otro

Lo escalable y apertura de un SOR

La transparencia y libertad de uso de un SOD

Page 68: Capitulo1sod

Solución : colocar una Capa de software que sea utilizada en un SOR para una colección de maquinas heterogeneas y proveer transparencia de distribucion .

Muchos sistemas distribuidos son construidos por una capa adicional llamada MIDDLEWARE

Middleware:Software que reside entre la aplicación y los sistemas operativos, protocolos y hardware adyacente y que cuyo objetivo es permitir que componentes hetereogneos y distribuidos se interconecten y colaboren entre si.

Page 69: Capitulo1sod

Posición Middleware. Muchas apalicaciones distribuidas hacen uso

directo de las interfases de programación ofrecidas por los sistemas operativos de red.ejemplo: comunicación por sockets (para los procesos intercambien sus mensajes).

Las aplicaciones hacen uso de interfases del sistema de archivo local.

una solución es colocar una capa de software entre aplicaciones y el sistema operativo de red (middleware) para ofrecer un alto nivel de abstracion.

Page 70: Capitulo1sod

Middleware: requiere que el sistema operativo local de cada máquina administre sus propios recursos. Es decir middleware no administrara los recursosMiddleware gestiona los servicios locales.

Page 71: Capitulo1sod

Modelos Middleware-Llamadas a procedimientos remotos RPC: permitir a los procesos invocar a procedimientos implementados en maquinas remotas transfiriendo los parametros necesarios y regresar los resultados al proceso que inicio la llamada. Este modelo permite hacer sentir que el procedimiento fuera llamado localmente.

-Sistema de archivos Distribuidos: Tratar a los recursos como archivos puede lograrse el poder compartirlos ya sea locales o remotos

-Objetos distribuidos: la Invocacion de objetos distribuidos es permitir que cada objeto implemente una interfase que mantenga todos los detalles internos del objeto para sus usuarios esta consiste de los metodos que implementan el objeto. Cuando un proceso invoca un metodo la interfase de la maquina donde esta el proceso simplemente transforma la invocacion del metodo en un mensaje que es enviado al objeto. El objeto ejecuta el metodo invocado y devuelve el resultado. La interfase transforma el mensaje dentro de un valor de respuesta el cual es manejado por el proceso que invoco.

-Documentos distribuidos: Es el modelo utilizado por la Web la informacion esta organizada en documentos, los documentos contienen enlaces a otros documentos. Siguiendo el enlace el documento es traido de su localidad y desplegado

Page 72: Capitulo1sod

Servicios Middleware

Existen muchos servicios que los sistemas de middleware ofrecen , tales como:

Transparencia de acceso: ofreciendo facilidades de comunicación a traves de las redes de computadores.

Llamado: La forma de organizar los nombres de algun recurso permitira compartirse un ejemplo de esto es la web en donde los documentos son llamados por el significado de un URL el cual mantiene el nombre del servidor donde el documento se encuentra.

Persistencia: Esta alcanzada por medio de un sistema de archivos distribuidos o base de datos proviendo de facilidades a las aplicaciones para conectarse a estas. Generalmente ofrecidas por transacciones distribuidas permitiendo que varias operaciones de lectura / escritura sean atomicas (se deben realizar todas para que surta efecto en los datos sobre los cuales las operaciones trabajan) considerando que los datos pudieran estar disperso en el sistema.

Seguridad:

Page 73: Capitulo1sod

abiertoabiertocerradoCerradoApertura

variossiModeradoNoScalability

Por nodoPor nodoGlobal, Distribuido

Global, centralAdmon. De recursos

ModeloArchivosMensajesMemoria compartidaBases para la comunic.

NNN1Numero de copias

NoNosisiMismo S.O.

altobajoAltoMuy altoGrado de transparencia

Multicomp.Multiproc.

Middleware-based OS

Network OS

Distributed OSItem

Comparacion de sistemas distribuidos basados en Sistemas Operativos de multiprocesadores, multicomputadores. De red y middleware.

Page 74: Capitulo1sod

Modelo cliente servidor

Los procesos estan divididos en 2 grupos

Clientes: Procesos que solicitan un servicio a un servidor

Servidores: Procesos que implementan un servicio especifico ejemplo: servicio de sistema de archivos o de base de datos.

1.25 Interacion General entre un cliente y un servidor.

Page 75: Capitulo1sod

La comunicación entre un cliente y un servidor puede implemente por medio de los protocolos de red.

Simplemente el cliente empaca el mensaje con el servicio solicitado para el servidor.

El servidor procesa la solicitud y empaca un mensaje con el resultado para el cliente.

Page 76: Capitulo1sod

An Example Client and Server (1)

The header.h file used by the client and server.

Page 77: Capitulo1sod

An Example Client and Server (2)

A sample server.

Page 78: Capitulo1sod

An Example Client and Server (3)

A client using the server to copy a file.

1-27 b

Page 79: Capitulo1sod

Modelo Cliente Servidor

Una aplicación cliente servidor esta compuesta de tres niveles.

Nivel Interfase de Usuario

Nivel de Procesamiento

Nivel de datos

Capas de una aplicacion

Page 80: Capitulo1sod

Nivel de interfase de usuario.- Consiste de los programas que permiten a los usuarios finales interactuar con

las aplicaciones. Screen de caracteres Display graficos con menus pop-up, pull-down. Ventanas graficas. Iconos.

Nivel de procesamiento. Contiene las reglas de funcionalidad de la aplicación, ejemplo: motor de

busqueda. las reglas en un motor de busqueda es un programa que transforma el string de estrada del usuario en uno o mas queries de bases de datos.

Nivel de datos. _ Contiene los programas que mantienen los datos sobre los cuales la aplicación actua._ Los datos son persistentes - Basados en un sistema de archivo o base de datos - Es el responsable de mantener la consistencia de los datos para las aplicaciones- Los metadatos tales como descripcion de la tabla, restricciones y aplicaciones especificas son almacenadas en este nivel. Un ejemplo podria ser cuando una tarjeta de credito alcanza un nivel a traves de una regla de restriccion (por medio de trgger) podria activarse en el momento apropiado._ Independencia de los datos con respecto a la aplicación de tal forma que un cambio en la organización no afecte a la aplicación

Page 81: Capitulo1sod

Processing Level

Organizacion general de un motor de busqueda de internet.

1-28

Page 82: Capitulo1sod

Arquitectura cliente servidor

Arquitectura de Multicapas

La idea basica de un modelo cliente servidor consiste de tener :

Una maquina cliente que contenga la interfase del usuario .

Una maquina servidor que contenga el nivel de procesamiento y el nivel de datos.

A esto se le considera modelo de arquitectura de 2 capas.

Page 83: Capitulo1sod

Multitiered Architectures (1)

Alternativas de organizaciones cliente-servidor (a) – (e).

1-29

Page 84: Capitulo1sod

Multitiered Architectures (2)

un ejemplo de un servidor actuando como un cliente.

1-30