You are on page 1of 52

SISTEMAS

DISTRIBUIDOS
UNIDAD II
Sistemas Distribuidos

Un sistema distribuido es una coleccin de


computadoras independientes que aparecen
ante los usuarios del sistema como una nica
computadora.
2.1. Estructuras de Sistemas Distribuidos

Compartir recursos
Tipos de redes
*LAN(Red de area local)
*MAN(red area metropolitana)
*WAN(Red de area extensa)
Comunicacin
Proceso cliente/servidor
*Ejemplo aplicaciones que usan el modelo cliente-
servidor son el correo electronico, un servidor de
impresion y la word wide web.
Qu es la comunicacin?
Comunicar es esencialmente transmitir una
informacin desde un punto a otro a travs
de una sucesin de procesos.
Ej: Telefona, Telegrafa, Radio, Televisin, el
habla, internet etc.
Procesos: Generacin (abstracta), Descripcin
(smbolos), Codificacin (adecuacin al
medio), Transmisin, Decodificacin, y
Regeneracin de Informacin.

01/09/03 Ren Jtiva Espinoza


Elementos de un sistema de
comunicacin

Transmisor: Adeca el mensaje de la fuente al medio de


transmisin.
Canal: es el medio de transmisin, en general no perfecto.
Introduce degradacin (distorsin, interferencia, ruido)
Receptor: Opera sobre la seal recibida para reconstruir el
mensaje y entregarlo al usuario de destino.

01/09/03 Ren Jtiva Espinoza


Elementos de un sistema de
comunicacin
Sistema de comunicaciones
Fuente Usuario
de de
Informa Tx Rx informa
cin cin

Canal

01/09/03 Ren Jtiva Espinoza


Problemas Con Las Seales Y
Las Comunicaciones

Atenuacion
Ruido
Desfaces
Latencia
2.2. Clases de Sistemas Operativos

Sistemas Operativos de red


Son aquellos sitemas que mantienen dos o ms
computadoras unidas a travs de algn medio de
comunidacin (fsico o no), con el objetivo
primordial de poder compartir los diferentes
recursos y la informacin del sistema.
Inicio de Sesin Remoto :

Una funcin importante de un sistema operativo


de red es permitir a los usuarios inciar
remotamente sesin.

Otr funcin principal de un SO de red consiste en


proporcionar un mecanismo para la transferencia
remota de archivos de una mquina a otra.
Sistemas Operativos Distribuidos :
Sistemas Operativos Distribuidos :

Slo deben usarse algoritmos descentralizados


con las siguientes caractersticas:

1. Ninguna mquina tiene informacin completa


acerca de todo el sistema.

2. Las mquinas toman decisiones basadas


slamente en informacin local.

3. El fallo de una de las mquinas no malogra el


algoritmo.

4. No existe un reloj comn.


2.3.Sistema
2.3. Sistemade
deArchivos
ArchivosDistribuidos
Distribuidos

Unsistema de archivos distribuido (DFS, distributed file


system)osistema de archivos de redes un sistema de
archivos de computadoras que sirve para compartir archivos,
impresoras y otros recursos como un almacenamiento
persistente en una red de computadoras.
2.3.Sistema
2.3. Sistemade
deArchivos
ArchivosDistribuidos
Distribuidos

Nombres y transparencia
Acceso a archivos remotos
Servicio con o sin estado
Replicacin de archivos
NombreyyTransparencia
Nombre Transparencia

El nombrado es una correspondencia entre los objetos


lgicos y fsicos. El nombre textual se hace corresponder con
un identificador numrico de menor nivel que a su vez se
hace corresponder con los bloques del disco.
Esta correspondencia multinivel proporciona a los usuarios
una abstraccin de un archivo que oculta los detalles de
cmo y en qu lugar del disco est almacenado el archivo.
NombreyyTransparencia
Nombre Transparencia

Estructuras de nombrado:
Se necesita diferenciar las dos ideas relacionadas en lo que
respecta a las correspondencias de nombres de un DFS.
1. Transparencia de ubicacin: El nombre de un archivo no
revela ninguna informacin acerca de la ubicacin fsica de
almacenamiento del archivo.
2. Independencia de ubicacin: No es necesario modificar el
nombre de un archivo cuando varia la ubicacin fsica de
almacenamiento del archivo.
2.3.Sistema
2.3. Sistemade
deArchivos
ArchivosDistribuidos
Distribuidos

Nombres y transparencia
Acceso a archivos remotos
Servicio con o sin estado
Replicacin de archivos
AccesoaaArchivos
Acceso ArchivosRemotos
Remotos

Supongamos que el usuario solicita acceder a un archivo


remoto. El servidor donde se almacena el archivo ha sido
localizado por el esquema de nombrado y con eso puede
tener lugar la propia transferencia de datos.
Una forma de llevar a cabo esta transferencia es mediante un
mecanismo de servicio remoto, mediante el cual las
solicitudes de acceso se entregan al servidor, la maquina
servidora realiza los accesos y los resultados se devuelven al
usuario.
AccesoaaArchivos
Acceso ArchivosRemotos
Remotos

Esquema bsico de cach:


La idea es retener en la cache los bloques de disco a los que se
ha accedido recientemente.
El problema de mantener las copias de cache coherentes con el
archivo maestro se denomina problema de coherencia de
cache.
Ubicacin de la cach
Las modificaciones efectuadas en los datos almacenados en
cache se perdern cuando se sufra un fallo catastrfico de la
mquina, si la cache se almacena en memoria voltil, adems
si los datos de cache se almacenan en disco seguirn estando
all durante la recuperacin.
AccesoaaArchivos
Acceso ArchivosRemotos
Remotos

Coherencia:
Las maquinas se enfrentan al problema de decidir si una copia
de los datos almacenada en el cache local es coherente o no
con la copia maestra.
Existen dos tcnicas para verificar la validez de los datos
almacenados en la cache.
1. Inicio por parte del cliente.
2. Inicio por parte del servidor.
2.3.Sistema
2.3. Sistemade
deArchivos
ArchivosDistribuidos
Distribuidos

Nombres y transparencia
Acceso a archivos remotos
Servicio con o sin estado
Replicacin de archivos
Serviciocon
Servicio conoosin
sinestado
estado

Existen dos tcnicas para almacenar la informacin del lado


del servidor cuando un cliente accede a archivos remotos.
Servicio de archivos con memoria del estado
Servicio de archivos sin memoria del estado
Serviciocon
Servicio conoosin
sinestado
estado

Servicio de archivos con memoria del estado


El escenario tpico de un servicio de archivos con memoria del
estado seria el siguiente: un cliente debe realizar una
operacin open() sobre un archivo antes de acceder a dicho
archivo
Servicio de archivos sin memoria del estado
Un servicio de archivos sin memoria del estado evita la
informacin de estado haciendo que cada solicitud sea auto
contenida. En otras palabras, cada solicitud identifica el
archivo y la posicin dentro del archivo de modo completo.
Serviciocon
Servicio conoosin
sinestado
estado

Ventajas de los servidores con estado


o Mensajes de peticin ms cortos
o Mejor rendimiento (se mantiene informacin en memoria)
o Facilita la lectura adelantada. El servidor puede analizar el
patrn de accesos que realiza cada cliente
Ventajas de los servidores sin estado
o Ms tolerante a fallos
o No son necesarios open y close. Se reduce el nro de mensajes
o No se gasta memoria en el servidor para almacenar el estado
2.3.Sistema
2.3. Sistemade
deArchivos
ArchivosDistribuidos
Distribuidos

Nombres y transparencia
Acceso a archivos remotos
Servicio con o sin estado
Replicacin de archivos
Replicacinde
Replicacin dearchivos
archivos

Se dispone de varias copias de algunos archivos, donde cada


copia est en un servidor de archivos independiente.
Razones de justificacin del servicio:
1. Aumentar la confiabilidad de respaldos
independientes de cada archivo
2. Permitir el acceso al archivo aunque falle un servidor
de archivos
3. Repartir la carga de trabajo entre varios servidores
Replicacinde
Replicacin dearchivos
archivos

Protocolos de actualizacin
Dada una lectura de un archivo replicado, por parte de varios
clientes, estos deben obtener el valor ms reciente-mente
modificado.
Algoritmos:
1. Rplica de la copia primaria
2. Algoritmo del voto
3. El voto con fantasmas
4. Actualizacin de propagacin de Gossip
Replicacinde
Replicacin dearchivos
archivos

1. Rplica de la copia primaria


Uno de los servidores se denomina como primario y el resto
son secundarios
Actualizaciones se envan al primario
Primario realiza cambios y enva comandos a secundarios
para que realicen la misma modificacin.
Lecturas se pueden hacer de cualquier copia, primaria o
secundaria
2.4 Gestion Distribuida de Procesos
Gestin Distribuida de procesos

2.4.1 Migracin de procesos


2.4.2 Estados globales distribuidos
2.4.3 Gestin distribuida de procesos
exclusin Mutua

2.4.4 Interbloqueo distribuido


Gestin Distribuida de Procesos

Un proceso es un programa en Ejecucin

Si dos procesos se solapan en el tiempo

Sobre un procesador Sobre Varios procesadores

Multiprogramacin Ejecucin en
Paralelo

Memoria Compartida Unidos por una red

Sistema Multiprocesador Procesamiento Distribuido

La gestin distribuida de procesos distribuye los Debe ofrecer medios para realizar
recursos de proceso entre todos los procesos de la red operaciones con procesos locales y remotos

Debe minimizar los Reparto de - Ejecucin remota


tiempos globales de la carga - Migracin
respuesta
Asignacin de Procesadores

Para planificacin entre mquinas compatibles


1. Algoritmos Deterministas/Heuristicos : Son apropiados si se pueden predecir
o se conocen todos los datos, caso contrario no es adecuado.
2. Algoritmos Centralizados/Distribuidos: Mejor alternativa, Menos robusto,
sobrecarga del nodo central, mas fcil.
3. Algoritmos ptimos/Cuasi-Optimos: Es mucho mas trabajoso porque no ser
suficiente una solucin buena simplemente.
4. Poltica de transferencia:
- Donde crear un proceso? Equipo local o remoto
- Como se toma la decisin? Segn la carga local y global
- Algoritmos globales son levemente mejor pero a un coste mayor.
5. Poltica de Ubicacin
- En caso de ejecucin remota . a qu procesador se enva el proceso?
- Esta poltica debe ser global, ya que se requiere informacin del nivel de
carga de los dems procesadores.
Gestin Distribuida de Procesos

A continuacin se analizaran algunos mecanismos clave utilizados en los


sistemas operativos distribuidos:

1. La migracin de procesos, que es el movimiento de un proceso activo


de una mquina a otra.
2. El cmo procesos en diferentes sistemas pueden coordinar sus
actividades cuando cada uno est gobernado por un reloj local y
cuando hay un retardo en el intercambio de informacin.
3. La exclusin mutua
4. El interbloqueo
Migracin de Procesos

La migracin de procesos es la transferencia de


suficiente cantidad del estado de un proceso de
un computador a otro para que el proceso
ejecute en la mquina destino.

La migracin de procesos con la capacidad de expulsar un


proceso en una mquina y reactivarlo posteriormente en
otra (expulsiva) es posible, aunque con una sobrecarga y
alta complejidad. Este coste llev a que algunos
observadores concluyesen que la migracin de procesos no
era prctica. Actualmente existen nuevos desarrollos en
esta rea.
Migracin de Procesos

La migracin de procesos es deseable en sistemas distribuidos por:

Comparticin de carga. Moviendo procesos de un sistema muy cargado a otro poco


cargado, la carga puede equilibrarse para mejorar el rendimiento global. Datos empricos
sugieren que son posibles mejoras del rendimiento.

Disponibilidad. Se puede necesitar que los procesos de larga duracin se muevan para
sobrevivir en el caso de fallos que puedan ser conocidos anticipadamente o anticipndose a
paradas del sistema planificadas. Si el sistema operativo proporciona la informacin, un
proceso que desea continuar puede bien migrar a otro sistema o asegurarse que podr re
arrancarse en el sistema actual en algn momento posterior.

Rendimiento de las comunicaciones. Los procesos que interaccionan intensivamente


pueden llevarse al mismo nodo para reducir el coste de las comunicaciones mientras dure su
interaccin.
Migracin de Procesos

Mecanismos de la migracin:
Quin inicia la migracin?
Depende del objetivo del servicio de la migracin.
Este modulo es el responsable de expulsar o indicar el proceso que
va emigrar.
Si el objetivo es llegar a un recurso en especifico, el procesos puede
migrar por si mismo segn la necesidad
Qu parte del proceso se migra?

Al ser este un movimiento se lo destruye en el sistema origen y


lo crea en el destino. Se mueve la imagen del proceso mismo
Qu
juntosucede
con sucon los mensajes
bloque y seales pendientes?
de control.

Cuando el proceso migra por si solo selecciona la maquina


destino y le enva un mensaje de tarea remota. El mensaje
lleva la imagen del proceso y la informacin de archivos
Gestin Distribuida de procesos

2.4.1 Migracin de procesos


2.4.2 Estados globales distribuidos
2.4.3 Gestin distribuida de procesos
exclusin Mutua

2.4.4 Interbloqueo distribuido


Estados Globales Distribuidos
Conceptos Bsicos

Canal. Existe un canal entre dos procesos si intercambian


mensajes. Los canales son caminos por los cuales el mensaje se
transfiere. Este es unidireccional por lo que al intercambiar
mensajes los procesos necesitan al menos 2 canales.

Estado. Es la secuencia de mensajes


que se haya enviado y recibido a
travs de los canales que llegan al
proceso

Instantnea. Una instantnea registra el estado de un


proceso. Cada instantnea incluye un registro de todos los
mensajes enviados y recibidos en todos los canales desde la
ltima instantnea.
Estados Globales Distribuidos
Conceptos Bsicos

Estado Global. Estado combinado de todos los


procesos.

Instantnea Distribuida Es un
conjunto de instantneas una para
cada proceso
Estados Globales Distribuidos

Las estrategias de diseo en estas reas se complican por el hecho de que no


existe un estado global del sistema. Esto es, no es posible para el sistema
operativo ni para ningn proceso, conocer el estado actual de todos los procesos en
un sistema distribuido.

Se puede intentar definir un estado global


recolectando instantneas de todos los procesos. una
instantnea distribuida puede indicar que un mensaje
se ha recibido pero todava no se ha enviado.
Estados Globales Distribuidos

El Algoritmo de Instantnea Distribuida


Un algoritmo de instantnea distribuida registra un estado global consistente. El algoritmo
asume que los mensajes se entregan en el orden en que se envan y que no se pierden
mensajes. Un protocolo de transporte fiable (ej., TCP) satisface estos requisitos. El
algoritmo hace uso de un mensaje de control especial denominado marcador. El algoritmo
termina para un proceso una vez que ha recibido el marcador de cada canal entrante:

G =(S,L)
S ={ S1 ,S2 ,S3 .. Sm Estado interno de M procesadores
L ={ L i,j | | i,j E 1 .. M Estado de los canales unidirecc. C i,j entre
procesadores.
El estado del canal son los mensajes en el
encolados
Gestin Distribuida de procesos

2.4.1 Migracin de procesos


2.4.2 Estados globales distribuidos
2.4.3 Gestin distribuida de procesos
exclusin Mutua

2.4.4 Interbloqueo distribuido


Gestin distribuida de procesos
exclusin mutua

Si dos o mas procesos compiten por el uso de los


recursos del sistema, es necesario un mecanismo
que haga cumplir la exclusin mutua

Para el uso exitoso de la concurrencia


entre procesos es necesaria la
capacidad de definir secciones crticas
y hacerlas cumplir

La exclusin mutua debe hacerse cumplir: en Un proceso solo


un instante dado, solo deja entrar un proceso puede estar en la
a una seccin critica para el mismo recurso u seccin critica
objeto compartido. durante UN tiempo
Gestin distribuida de procesos exclusin mutua

Los sistemas de exclusin mutua pueden ser centralizados o distribuidos.


1. Centralizado (sencillo)
El nodo de control es el que aprueba una peticin de un recurso
hasta que sea liberado

Problema: Si falla no funcionan las asignaciones,


puede llegar a ser como cuello de botella.

2. Distribuido:
Todos los nodos disponen de una cantidad igual de informacin, por termino medio.
Cada nodo tiene una representacin parcial del sistema total, esto para tomar decisiones
Todos los nodos tienen igual responsabilidad en la decisin final.

Problema: No existe un reloj comn para regular los


sucesos y hacen mas difcil idear ALGORTMOS
DISTRIBUIDOS de exclusin mutua e Interbloqueo
Gestin Distribuida de procesos

2.4.1 Migracin de procesos


2.4.2 Estados globales distribuidos
2.4.3 Gestin distribuida de procesos
exclusin Mutua

2.4.4 Interbloqueo distribuido


Interbloqueo Distribuido

El manejo del interbloqueo se complica en un sistema distribuido porque ningn nodo


tiene conocimiento preciso del estado actual del sistema global y porque la
transferencia de cada mensaje entre procesos involucra un retardo impredecible.
La literatura ha prestado atencin a dos tipos de interbloqueo distribuido: aquellos
que surgen en la ubicacin de recursos, y aquellos que surgen con la comunicacin
de mensajes.
En los interbloqueos por recursos, los procesos intentan acceder a recursos,
tales como objetos en una base de datos o recursos de E/S en un servidor; el
interbloqueo sucede si cada proceso de un conjunto de procesos solicita un
recurso que tiene otro proceso del conjunto.
En los interbloqueos en comunicaciones, los mensajes son los recursos por
los cuales esperan los procesos; el interbloqueo sucede si cada proceso de un
conjunto est esperando un mensaje de otro proceso en el conjunto y ningn
proceso en el conjunto enva nunca un mensaje.
Interbloqueo Distribuido

Este fenmeno se produce debido a:


1. Exclusion mututa: Solo 1 procesos puede usar 1 recurso en 1 instante.
2. Retencion y espera: Un proceso puede usar los recursos asignados mientras
espera se le asigne otros.
3. No expulsin: No se puede quitar un recurso a un proceso q lo esta
utilizando.
4. Circulo visioso de espera: Existe una cadena cerrada de procesos, tal que
cada procesos retiene al menos un proceso que necesita el siguiente proceso
de la cadena.

El manejo del interbloqueo es complicado pero se puede:


5. Prevenir
6. Predecir
7. Detectar
Algoritmo de la cola distribuida

Debido a la falta de un reloj comn o sincronizador se


propuso el mtodo : Registro de tiempo o Marca de Tiempo.

El esquema de marca de tiempo busca ordenar los sucesos


(mensajes de envi no recepcin).

Para logar la gestin se ha de utilizar algoritmos tales como:


Cola Distribuida y el Paso de Testigo.
Algoritmo de la cola distribuida

Algoritmo de Cola Distribuida


Supuestos Cumple con
Se tienen N nodos numerados Exclusin mutua: Las solicitudes de entrada en la
en forma nica seccin crtica se manejan de acuerdo al orden de los
mensajes impuesto por el mecanismo de marcas de
tiempo

Los mensajes de un proceso a Equidad: Al estar ordenados por marcas de tiempo,


otro se reciben en el mismo todos tienen igual oportunidad.
orden en que fueron enviados

Cada mensaje es entregado en No hay Interbloqueo: Debido a que las marcas de


un tiempo finito. tiempo son de forma consistente no puede ocurrir un
interbloqueo.
Los mensajes son enviados en No hay Inanicin: Una vez se hubiera terminado una
forma directa sin proceso seccin critica el proceso emitir el mensaje de
intermedios. Liberacin..
Middleware

El software distribuido requerido para facilitar


las interacciones cliente-servidor se
denomina middleware
PROGRAMCION DISTRIBUIDA EN EL
WB

El paso de mensajes es una tcnica empleada en programacin


concurrente para aportar sincronizacin y comunicacin entre
procesos de manera similar a como se hace con los semforos,
monitores, etc.
PROGRAMAS DE APLICACIN
DISTRIBUIDOS CLASICOS

Una aplicacin con distintos componentes que se


ejecutan en entornos separados, normalmente en
diferentes plataformas conectadas a travs de una
red. Las tpicas aplicaciones distribuidas son de dos
niveles (cliente-servidor).
Fuente de Datos

Distribuidos, S. (22 de 1 de 2017). drive.google.com.


Recuperado el 2 de 1 de 2017, de
https://drive.google.com/file/d/0B-GXPiOqDVDFYjZ5eVpGQU
ZXS2c/view

STALLINGS, S. O.-W. (22 de 1 de 2017). drive.google.com.


Recuperado el 2 de 1 de 2017, de
https://drive.google.com/file/d/0B-
GXPiOqDVDFZFdBQWJYZnBISzA/view

Ventura, M. d.-S. (22 de 1 de 2017). fing.edu.uy. Recuperado


el 2 de 1 de 2017, de fing.edu.uy:
https://www.fing.edu.uy/~asabigue/prgrado/2011ventura.pdf

You might also like