Capitulo1sod

  • 2,456 views
Uploaded on

Presentacion de distribuidos1

Presentacion de distribuidos1

More in: Travel , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,456
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
101
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Sistemas Distribuidos I. Ing. Erasmo Estrada.
  • 2. 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
  • 3. Ejemplo: evolución de los ordenadores personales Origen de los sistemas distribuidos
  • 4. 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
  • 5. 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,
  • 6. 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]
  • 7.
    • 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
  • 8. ¿ 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.
  • 9. INTRANETS Una 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.
  • 10. 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
  • 11. Cuarto de control de Sistemas 10 Terminales UTP Fibra Óptica Fibra Óptica Fibra Óptica UTP 15 Terminales Novel Linux AS/400 NT – NT4 Server -- 2003 Server 50 Terminales 1 Raca 3 Racas 60 Terminales 2 Racas 30 Terminales 1Racas Oficina Administrativa 2 Racas 60 Terminales LP 70Terminales 70 Terminales MEXICO 2 Racas
  • 12. 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.
  • 13. 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.
  • 14. 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
  • 15. 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
  • 16.
    • 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]
  • 17.
    • 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.
  • 18.
    • 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).
  • 19. 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.
  • 20. 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
  • 21. 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
  • 22.
    • Transparencia
    • • Seguridad
    • • Rendimiento
    • • Heterogeneidad
    • • Flexibilidad
    • • Fiabilidad
    • • Escalabilidad
    • Tratamiento de Fallos
    Objetivos de diseño
  • 23. 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
  • 24. Transparencia en un Sistema Distribuido Diferentes formas de transparencia en un sistema distribuido Que un recurso pueda estar en memoria o en disco Persistencia Permitir la recuperacion de un recurso en caso de fallas Fallas Que un recurso pueda ser compartido por varios usuarios Concurrencia Que puedan existir replicas de un recurso Replicacion 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 otro Migracion Donde se encuentra un recurso Localizacion diferencias en la representacion de los datos y como accesar los recursos. Acceso Descripcion Transparencia
  • 25. 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.
  • 26.
    • 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
  • 27. 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
  • 28. 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
  • 29. 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.
  • 30. 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
  • 31. 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
  • 32. 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.
  • 33. Problemas de Escalabilidad Limitaciones de la escalabilidad. Hacer el ruteo con algoritmos centralizados Algoritmos Centralizados Un unico enlace Datos Centralizados Un unico servidor para todos los usuarios Servicios Centralizados Ejemplo Concepto
  • 34. Tecnicas de Escalamiento 1.5 Dividir los nombres en zonas como lo hace el DNS
  • 35. 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
  • 36. 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.
  • 37.
    • 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
  • 38.
    • 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 .
  • 39.
    • 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.
  • 40.
    • 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.
  • 41. Conceptos del Hardware Los Sistemas de computadores los podemos dividir en : Multiprocesadores: Aquellos que comparten memoria Multicomputadores: Aquellos que no
  • 42. 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.
  • 43. Conceptos del Hardware 1.6 Diferentes organizaciones de procesadores y memorias en sistemas de computadores distribuidos
  • 44. 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
  • 45.
    • 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:
  • 46.
    • 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.
  • 47. Clasificacion en base a la arquitectura. Sistemas de Multicomputadores Homogeneos Construido de la misma tecnologia. . Procesadores iguales Memoria igual Usados en sistemas paralelos.
  • 48.
    • 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.
  • 49. 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
  • 50. 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.
  • 51. 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.
    •  
  • 52.
    • 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.
  • 53. 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.
  • 54.  
  • 55.
    • 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.
  • 56.  
  • 57.  
  • 58. 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
  • 59.
    • 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).
  • 60.
    • 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.
  • 61.  
  • 62.
    • 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
  • 63.
    • 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.
  • 64.
    • 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
  • 65.
    • 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.
  • 66. 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
  • 67.
    • 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
  • 68.
    • 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.
  • 69. 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.
  • 70.
    • Middleware: requiere que el sistema operativo local de cada máquina administre sus propios recursos. Es decir middleware no administrara los recursos
    • Middleware gestiona los servicios locales.
  • 71. 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
  • 72. 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:
  • 73. Comparacion de sistemas distribuidos basados en Sistemas Operativos de multiprocesadores, multicomputadores. De red y middleware. abierto abierto cerrado Cerrado Apertura varios si Moderado No Scalability Por nodo Por nodo Global, Distribuido Global, central Admon. De recursos Modelo Archivos Mensajes Memoria compartida Bases para la comunic. N N N 1 Numero de copias No No si si Mismo S.O. alto bajo Alto Muy alto Grado de transparencia Multicomp. Multiproc. Middleware-based OS Network OS Distributed OS Item
  • 74. 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.
  • 75. 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.
  • 76. An Example Client and Server (1)
    • The header.h file used by the client and server.
  • 77. An Example Client and Server (2)
    • A sample server.
  • 78. An Example Client and Server (3)
    • A client using the server to copy a file .
    1-27 b
  • 79. 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
  • 80.
    • 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
  • 81. Processing Level
    • Organizacion general de un motor de busqueda de internet.
    1-28
  • 82. 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.
  • 83. Multitiered Architectures (1)
    • Alternativas de organizaciones cliente-servidor (a) – (e).
    1-29
  • 84. Multitiered Architectures (2)
    • un ejemplo de un servidor actuando como un cliente.
    1-30