21
CAPÍTULO 6: SISTEMAS DISTRIBUIDOS Abril-Agosto 2009

Sistemas Distribuidos

Embed Size (px)

DESCRIPTION

Esta es una presentación de sistemas operativos

Citation preview

Page 1: Sistemas  Distribuidos

CAPÍTULO 6: SISTEMAS DISTRIBUIDOS

Abril-Agosto 2009

Page 2: Sistemas  Distribuidos

OBJETIVO:

Proporcionar una panoráma de alto nivel de los sistemas distribuidos y de las redes que los interconectan. Analizar la estructura de los sistemas operativos distribuidos.

Page 3: Sistemas  Distribuidos

Contenido

Motivación. Tipos de sistemas operativos distribuidos. Estructura de una red Topoligía de red Estructura de comunicación Protocolo de comunicación Robustez

Page 4: Sistemas  Distribuidos

MOTIVACIÓN

Un sistemas distribuido es una colección de procesadores débilmente acoplados interconectados a través de una red de comunicación. Estos procesadores se denominan: sitios, nodos, máquinas, computadores, host.

Page 5: Sistemas  Distribuidos

MOTIVACIÓN

Hay cuatro razones para construir un sistema distribuido: Compartición de recursos: Si hay varios nodos conectados entre sí, un usuario en uno de los nodos puede utilizr los recursos disponibles en otro. Aceleracenión de cálculos: Si un deterimnado cálculo puede dividirse en una serie de calculos menor envergadura que pueden ejecutarse de forma concurrente, un sistema distribuido permitira distribuir esos subcálculos entre los diversos nodo. Fiabilidad: Si falla uno de los nodos, nodos restantes pueden continuar operando. Comunicación: Cuando hay varios sitios conectados entre sí mediante una red de comunicación, los usuarios de los diferentes nodos tienen la oportunidad de intercambiar información.

Page 6: Sistemas  Distribuidos

TIPOS DE SO DISTRIBUIDOS

Sistemas Operativos en red. Sistemas Operativos distribuidos.

Page 7: Sistemas  Distribuidos

Sistemas Operativos en Red

Proporciona un entorno en la que los usuarios pueden acceder a recuros remotos iniciando una sesión en una máquina remota.Inicio de Sesión:

Una función importante que permitir a los usuarios iniciar una sesión remota. Internet proporciona el protocolo telnet para este proposito.

telnet cs.yale.eduEste comando permiti iniciar una sesión remota. El proceso en la maquina remota solicitara un usuario y clave.Una vez recibidad la información correcta el procesos actuara como proxy para el usuario, que podrá realizar sus cálculos en la máquina remota exactamente igual que cualquier usuario local.

Page 8: Sistemas  Distribuidos

Sistemas Operativos en Red

Transferencia rempota de archivos:El protocolo ftp permite acceder a un sistema de archivos remotos

ftp cs.yale.eduEl programa pedira una usuario y clave para iniciar sesión Tambien se puede especificar un usuario anónimo (usuario anonymous y clave arbitrarea) Comandos de ftp:

put: transfiere una archivos desde la máquina local a la máquina remota.get: transfiere un archivo desde la máquina remota a la máquina localls / dir: enumerar los archivos situados en el directorio actual

cd: cambiar de directorio

Page 9: Sistemas  Distribuidos

Sistemas Operativos Distribuidos

Los usuarios acceden a recuros remotos de la misma forma que si lo hicieran localmente.

Migración de datosUna técnica de migración es transferir todos los datos remotos al equipo local, una vez que ya no se necesiten, se devuelve una copia del archivo al sistio remoto, aún si se ha hecho un pequeño cambio.Otra técnica consiste en transferir la porsión de datos que son necesarios en ese momento y posteriormente se devolvera una copia de esa porsión.

Page 10: Sistemas  Distribuidos

Sistemas Operativos Distribuidos

Migración de Cálculos.Supongamos que el proceso P quiere acceder a una archivo situado en el nodo A y sacar un resumen de ese archivo.Una técnica para ello es por medio de RPC, El proceso P invoca a un procedimiento predefinido en el sitio A, ese procedimiento se ejecutara de manera apropiada y luego devolvera el resultado a P.Otra técnica es el envio de mensajes al sitio remoto. El proceso P envía un mensaje al sitio A. El SO en el sitio A crea entonces un proceso Q cuya función consiste en llevar a caba la tarea asignada. Cuando el proceso Q termina su ejecución, devuelve el resultado a P a través del sistema de mensajes.

Page 11: Sistemas  Distribuidos

Sistemas Operativos Distribuidos

Migración de Procesos.Es una extensión lógica de la migarción de cálculos.Cuando se inicia un proceso no siempre se ejecuta localmente, el proceso completo o partes del mismo, pueden ejecutarce en diferentes sitios. Este sistema se puede emplear por diferentes razones:

Equilibrio de cargaAceleración de cálculosPreferencias de hardwarePreferencias de softwareAcceso a datos

Page 12: Sistemas  Distribuidos

ESTRUCTURA DE UNA RED

Redes de área local Redes de área extensa

c

Page 13: Sistemas  Distribuidos

TOPOLIGÍA DE LA RED

Se puede compara las distintas configuraciones son los siguientes criterio.

Coste de instalación:  Coste de enlazar fisicamente los nodos del sistema Coste de comunicación: Coste de tiempo y en dinero para enviar un mensaje.Disponibiliad: El gardo hasta ek que puede accederse a los datos a pesar del fallo de algún enlace o nodo.

Page 14: Sistemas  Distribuidos

TOPOLIGÍA DE LA RED

Page 15: Sistemas  Distribuidos

ESTRUCTURA DE COMUNICACIÓN Los diseñadores de redes deben contemplan cinco cuestiones básicas:Nombrado y resolución de IP:

Si dos nodos A y B desean intercambiar información entre ellos, deben se capacez de nombrarse. Para resolver este problema, los procesos de lso sistemas remotos se identifican generalmente mediante la pareja <nombre de host, identificador>Es más facil recordar un nombre que un número, por esta razón debe exitir un mecanismo de resolver el nombre de host en un identificador de host. Un mecanismo para la resolución es que cada equipo tenga un archivo de datos con la resolución local.Otro mecanismo es mediante un sistema de nombramiento de dominio (DNS)

Page 16: Sistemas  Distribuidos

ESTRUCTURA DE COMUNICACIÓNEstrategias de encaminamiento:

Encaminamiento fijo: Se especifica de antemano una ruta desde A a BEncaminamiento virutal: Se fija una ruta desde A hata B mientras dura una sesiónEncaminamiento dinámico: La ruta utilizada para enviar un mensaje desde el sitio A a B se selecciona en el momento de seleccionar el mensaje.

Estrategias de paquetes:Generalmente los mensajes son de longitud variables. Para simplificar el diseño se implementa las comunicicaciones mediante mensajes de longiud fija denominados paquetes, tramas o datagramas. Todo mensaje implementado en un único paquete puede enviarse a su destino como un mensaje sin conexión.

Page 17: Sistemas  Distribuidos

ESTRUCTURA DE COMUNICACIÓN Estrategias de conexión

Una vez que los mensajes son capaces de alcanzar su destino, los procesos pueden establecer sesiones de comunicación para intercambiar información.

Comunicación de circuitos: Si dos procesos quieren comunicarce establecen dos enlaces físicos permanentes.Comunicación de mensajes: Si dos procesos quieren comunicarse establecen un enlace temporal mientras dure la transferencia.Comunicación de palquetes: Cada mensaje lógico puede dividirse en una serie de paquetes. Cada paquete puede ser enviado a su destino por separado y debe por tanto incluir una dirección origen y destino a través de la red.

Page 18: Sistemas  Distribuidos

ESTRUCTURA DE COMUNICACIÓN Contienda

Esposible que varios sitios quieran transmitir información simultameamente a través de un mismo enlace. Esta situación se produce principalmente en redes anillo y de bus multiacceso. Por lo que hay que establecer técnicas para evitar las colisiones repentinas.

CSMA/CD: Antes de transmitir un mensaje por el enlace el nodo debe ponerse a la escucha para determinara si se esta transmitiendo otro mensaje, estas técnica se denomina detección de portadora con acceso múltiple. Si el enlace esta libre puede transmitir caso contrario debe esperar hasta que este libre.Paso de testigo: Un testigo circula por el sistema. El sistio que necesite transmitir información deberá esperar hasta que le llege el testigo. Entonces, el nodo elimina el testigo y empieza a transmitir sus mensajes.

Page 19: Sistemas  Distribuidos

ROBUSTEZ

En un sistema distribuido puede haber fallas en un enlace, en un sitio y la perdida de mensajes. Para garantizar la robustez del sistema, podemos detectar todos esos fallos, reconfigurando el sisetma de forma que el procesamiento pueda continuar y efectuar la correspondiente recuperación conado se repare un sitio o enlace.Detección de fallos

En un entorno sin memoria compartida no podemos diferenciar entre fallos de enlace, de sitio o permidida de mensajes. Usualmente lo único que se puede detectar es que se ha producido un fallo.Para detectar que se ha producido un fallo de enlace y de sitio podemos utilizar un procedimiento de contacto.

Page 20: Sistemas  Distribuidos

ROBUSTEZ

Detección de fallosSupongamos que el sitio A y B tiene un enlace físico directo entre ellos, Ambos envia un mensaje Estoy Funcionando. Si el sitio A no recibe ese mensaje dentro de un periodo de tiempo predeterminado, se puede sumir que el sitio B ha fallado, que el enlace entre A y B ha fallado o que el mensaje se ha perdido.Para diferenciar entre un fallo del enlace y el de sitio. Se puede enviar otro mensaje ¿Estas funcionando? A través de otra ruta. Cuando B reciba el mensaje respondera inmediatamente. Esta respuesta le dice a A que el enlace directo entre A y B esta fallando. Caso contrario puede darse la siguintes situaciones:

El sitio a fallado.El enlace directo entre A y B a fallado.La ruta alternativa a fallado.El mensaje se ha perdido.

Page 21: Sistemas  Distribuidos

ROBUSTEZReconfiguración

En caso que se haya deteminado que se ha producido un fallo, deberá iniciar un procedimiento que permita al sistema reconfigurarse y continuar con su modo normal de operación.Si ha fallado un enlace entre A y B, debe difindirse a todos los sitios del sistema, para poder actualizar correspondientemente las diversas tablas de encaminamiento.Si el sistema cree que el sitio a fallado debe notofocar a todos los sistemas, para que no intenten utilizar los servicios del sitio que ha fallado.

Recuperación de fallosSupongamis que el enlace ha fallado. Cuando se repare el enlace entre A y B debe notificarse tanto a A como a B.Supongamso que el sitio B ha fallado. Cuando se recupere deberá notificarse a todos los sitios que ya está en funcionamiento de nuevo.