Sie sind auf Seite 1von 66

FUNDAMENTOS Y

ELEMENTOS DE
DISEO DE LOS
SISTEMAS
DISTRIBUIDOS
(PARTE I)
1 /58

Nacimiento de los Sistemas


Distribuidos
Causas:

Tecnologa de microprocesadores: relacin


potencia/coste.

Tecnologas de comunicaciones:
Protocolos de comunicaciones.
Redes de rea local (LAN): Coste y prestaciones.
Internet

Factores comerciales:
Comercio electrnico: e-comerce.
Informacin distribuida (WWW).
Reduccin de costes.
Sistemas Operativos Distribuidos
3

3 /58

Aplicaciones de los Sistemas Distribuidos


Entornos de empresa: redes corporativas e intranets.
Sustituyen a los clsicos mainframes
Entornos que requieren procesamiento paralelo.
Sustituyen a costosos supercomputadores
Servicios con alta disponibilidad y rendimiento.
Sistemas distribuidos de gestin de bases de datos.
Aplicaciones multimedia.
Sistemas industriales distribuidos y aplicaciones de control.
Internet es un enorme sistema distribuido.

Ventajas de los Sistemas


Distribuidos
Economa:

Buena relacin rendimiento/coste

Ley de Grosch (obsoleta):


Prestaciones = cte x (Precio)2

Alto rendimiento: Procesamiento paralelo.


Soporte de aplicaciones inherentemente

distribuidas.

Por ejemplo: empresa distribuida


geogrficamente

Capacidad de crecimiento: Escalabilidad.


Fiabilidad y disponibilidad: Tolerancia a

(ciertos) fallos.
Carcter abierto y heterogneo:
Estndares de interoperabilidad.

Compartir

recursos y datos.

Sistemas Operativos Distribuidos


17

17 /58

Desventajas de los Sistemas


Distribuidos
Necesidad

software:

de un nuevo tipo de

Ms complejo.
No hay todava un acuerdo sobre cmo
debe ser.
Red

de interconexin introduce nuevos


problemas:
Prdida de mensajes y saturacin.
Latencia puede provocar que al recibir un
dato ya est obsoleto.
La red es un elemento crtico.

Seguridad

y confidencialidad

Sistemas Operativos Distribuidos


21

21 /58

Arquitectura de Sistemas
Centralizados
nico

computador (caro y de gran


potencia) con terminales alfanumricos
directamente conectados.
Entornos de empresa:
Soporte multiusuario
Uso de mainframes o minicomputadores

Entornos

cientficos:

Ejecucin eficiente de aplicaciones


Uso de supercomputadores

Uso

ocasional de la red:

Transferir ficheros o logins remotos

Interfaz

de usuario poco amigable

Interfaces grficas gastan muchos recursos

Sistemas Operativos Distribuidos


22

22 /58

Arquitectura de Sistemas
Distribuidos
Conjunto

de procesadores conectados por

una red
Cada usuario tiene capacidad de
procesamiento local que permite interfaces
de usuario sofisticadas.
Uso intensivo de la red para compartir
recursos:
dispositivos
datos
procesadores (migracin de procesos)

Capacidad

global de procesamiento
disponible para:
Servicio a mltiples usuarios
Ejecucin paralela de una aplicacin
Sistemas Operativos Distribuidos
23

23 /58

Software
Se

encuentran tres variantes de


plataformas de software para
sistemas distribuidos
Sistemas operativos distribuidos
Sistemas operativos de Red
Middle-ware

24 /58

Evolucin de los Sistemas


Operativos Sistema
Sistemas
Objetivos
Operativos
Centralizados.

Sistemas

Operativos en Red

Sistemas

Operativos
Distribuidos

Gestin de recursos,
Sistema Operativo
Mquina extendida,
Centralizado
(Virtualidad)
Sistema Operativo Comparticin de recursos,
en Red
(Interoperabilidad)
Vista nica de varias
Sistema Operativo
computadoras
Distribuido
(Transparencia)

Sistemas

Cooperativos
Sistemas Operativos Distribuidos
25

Sistema
Cooperativa

Trabajo cooperativo,
(Autonoma)
25 /58

Capas de un Sistema
Operativo
La visin
esquemtica de un sistema
operativo comprende los siguientes niveles:

Hardware.
Ncleo (kernel).
Servicios del sistema.
Programas de aplicacin.
Usuarios.

Sistemas Operativos Distribuidos


26

Usuarios
Aplicaciones
Servicios
Kernel
Hardware

26 /58

Responsabilidades del
Kernel Kernels Monolticos:
Servicios
Kernel

Muchas funcionalidades dentro del kernel:


planificador, gestin de memoria, drivers,...

Computadora
m-Kernels:
Se sacan funcionalidades del kernel. Slo quedan: (i)
comunicacin entre procesos, (ii) administracin de
memoria, (iii) administracin y planificacin de bajo nivel y
(iv) entrada/salida de bajo nivel

Servicios
m-Kernel m-Kernel m-Kernel

Sistemas Operativos Distribuidos


27

Servicios
m-Kernel
Computadora

Servicios Distribuidos:
Estructura de sistema distribuido. Dependiendo
del nivel se habla de: Sistema Operativo
Distribuido, Sistema en Red o (Cooperativo).
27 /58

Heterogeneidad de un Sistema
Distribuido
Un sistema distribuido puede estar formado por multitud
de elementos conectados por redes LAN o WAN:
Terminales X y Estaciones Java (Network Computer).
PCs y estaciones de trabajo.
Sistemas porttiles (redes mviles: GSM, WAP y ...)
Minicomputadores.
Supercomputadores.
Multiprocesadores con memoria compartida o no.
Servidores especializados (de almacenamiento, de
impresin, ...).
Sistemas empotrados.
Fomentada por los siguientes factores:
Extensibilidad de los sistemas distribuidos.
Especializacin de los servidores.
Sistemas Operativos Distribuidos
28

28 /58

Aplicaciones de los Sistemas


Distribuidos

Servicios Internet: correo, noticias, Web, ... nuevos


servicios.

Redes corporativas e intranets.

Procesamiento paralelo:
Procesamiento masivo (solucin a la eficiencia).
Topologa distribuida (problemas de naturaleza
distribuida)

Sistemas distribuidos de gestin de bases de datos y


explotacin de los mismos: e.g. Data Warehousing.

Aplicaciones multimedia.

Sistemas industriales distribuidos y aplicaciones de


control.

Sistemas distribuidos de tiempo real.

..... < y muchos ms >


Sistemas Operativos Distribuidos
29

29 /58

Distribucin de los Sistemas


Operativos
Sistemas

operativos para
multiprocesadores con memoria
compartida (SMP):

Software fuertemente acoplado


sobre Hardware fuertemente acoplado
Sistema

operativo distribuido (SOD):

Software fuertemente acoplado


sobre Hardware dbilmente acoplado
Sistema

operativo en red:

Software dbilmente acoplado


sobre Hardware dbilmente acoplado
Sistemas Operativos Distribuidos
30

30 /58

Sistemas Operativos
Distribuidos (SOD)
Definicin: [Gal00]

Un sistema operativo distribuido es un conjunto de


procesadores interconectados por redes que ocultan dicha
caracterstica mostrando una visin al usuario de
uniprocesador virtual.
Caractersticas:
Ejecuta sobre un sistema distribuido haciendo creer a
los usuarios que se trata de un sistema centralizado.
Trasparencia: Debe ocultar factores derivados de la
distribucin.
Es fcil de decir pero no de hacer.
Cada sistema alcanza hasta cierto punto esta meta.
Los fracasos pueden generar frustraciones en los
usuarios.
Sistemas Operativos Distribuidos
31

31 /58

Sistema operativo distribuido


(SOD)
A p lic a c io n e s

L e n g u a je s d e p r o g r a m a c i n
S is te m a o p e r a tiv o d is t r ib u id o
H a rd w a re

H a rd w a re
R e d d e in te r c o n e x i n

Se

comporta como un SO nico (visin nica)

Distribucin. Existe Transparencia

Se

construyen normalmente como microncleos


que ofrecen servicios bsicos de comunicacin

Mach, Amoeba, Chorus.

Todos

SOD

los computadores deben ejecutar el mismo

32 /58

Sistema distribuido (SD)


Nivel fsico: Conjunto de procesadores sin memoria comn
conectados por una red
Sistema dbilmente acoplado
No existe un reloj comn
Dispositivos de E/S asociados a cada procesador
Fallos independientes de componentes del SD
Carcter heterogneo
Sistemas Operativos Distribuidos
Consigue que usuarios y aplicaciones crean que trabajan
con una nica mquina (Single System Image)

conceptos y caractersticas de
los sistemas operativos
distribuidos
S.O.D.
Software fuertemente acoplado en hardware
dbilmente acoplado (en multicomputadoras)
Parecer que toda la red es un sistema de
tiempo compartido (imagen de nico
sistema).
Es aquel que se ejecuta en una coleccin de
mquinas enlazadas mediante una red actan
como un uniprocesador virtual.
Ninguno actualmente cumple con ese
requisito

34 /58

Caractersticas de un
Sistema Distribuido

Definicin: [Tan95]
Un sistema distribuido es una coleccin de
computadoras independientes que aparece
ante los usuarios del sistema como una nica
computadora.
Recursos distribuidos para un trabajo comn.
N computadoras Un servicio nico a los
usuarios.
Tradicionalmente (1972):
Clasificacin de Flynn: SISD, SIMD, MISD, MIMD
Sistemas Operativos Distribuidos
35

35 /58

Caractersticas de un
Sistema Distribuido

Un sistema distribuido implica las


siguientes consecuencias:
No existe un reloj comn: Afecta a
cualquier aspecto de coordinacin y
mensajes.
Concurrencia global: Los elementos
del sistema se ejecutan realmente en
paralelo.
Fallos independientes: Los modos
de fallo del sistema pueden ser locales
a un subconjunto de sus componentes.
Sistemas Operativos Distribuidos
36

36 /58

Caractersticas de los SOD


Mecanismo

de comunicacin global entre


procesos. Cualquier proceso se puede
comunicar con otros local o remoto.
Esquema global de proteccin. Acceso a
listas de control
Misma administracin de procesos.
(crean, destruyen, inician o detienen los
procesos)
La apariencia del sistema de archivos
debe ser la misma en todas partes . (por
ejemplo, si el nombre del archivo es
limitado a 11 caracteres)
37 /58

Sistemas Operativos
Distribuidos (SOD)

Problemtica:
Cada nodo tiene su copia del sistema operativo: Qu
tareas se realizan localmente y cules son globales?
Cmo lograr exclusin mutua sin memoria compartida?
Cmo tratar los interbloqueos sin un estado global?
Planificacin de procesos: Cada copia del sistema
operativo tiene su cola de planificacin (migracin de
procesos).
Cmo crear un rbol de ficheros nico?
Implicaciones de la falta de reloj nico, la presencia de
fallos o la heterogeneidad.
Principal aportacin:
Se han desarrollado nuevos conceptos y planteamientos
que se han podido trasladar a los otros modelos de

sistemas distribuidos.

Sistemas Operativos Distribuidos


38

38 /58

Evolucin de los SOD

Primeros SO de red:
Incluir servicios de red en SO convencional
Ejemplo: UNIX 4BSD (1980)
Paulatina incorporacin de ms funcionalidad:
ONC de Sun (1985): incluye NFS, RPC, NIS
Primeros SOD:
Nuevos SO pero basados en arquitecturas
convencionales (monolticas)
Ejemplo: Sprite de la Universidad de Berkeley
(1988)
SOD basados en m-kernel. Ejemplos:
Mach de CMU (1986)
Amoeba diseado por Tanenbaum (1984)
Chorus de INRIA en Francia (1988)
Sistemas Operativos Distribuidos
39

39 /58

Sistemas Operativos en
Red
Definicin: [Cho97]
Red de computadoras dbilmente acopladas en las que no
existe un control externo directo sobre el hardware/software
de cada computadora para la comparticin de recursos.
Caractersticas:
No dan la visin de uniprocesador virtual (mquinas
independientes).
Cada una ejecuta una copia de sistema operativo
(distinto).
Sistema operativo convencional + utilidades de red.
Protocolos de comunicacin para intercambio de
recursos y acceso a servicios de alto nivel.
Desde rcp/rlogin hasta Open Network Computing (ONC)
de Sun.
Sistemas Operativos Distribuidos
40

40 /58

Sistemas Cooperativos
Definicin: [Cho97]
Sistemas software orientados a servicios de alto nivel que
requieren el soporte de mecanismos de comunicacin en
base a los cuales los protocolos de comunicaciones de alto
nivel se construyen.
Caractersticas:
Se mantiene el grado de trasparencia sacrificando la
visin de nico sistema. Son sistemas autnomos
independientes.
Se construyen en base a middlewares (CORBA, DCE,
DCOM, ...)
Los sistemas resultan de la integracin de mltiples
servicios proporcionados por diferentes elementos de
la red.
Sistemas Operativos Distribuidos
41

41 /58

Middleware

Middleware:
Capa de software que ejecuta sobre el sistema operativo
local ofreciendo unos servicios distribuidos estandarizados.
Sistema abierto independiente del fabricante.
No depende del hardware y sistema operativo subyacente.
Ejemplos:
DCE (Open Group).
CORBA (OMG).
...

Middleware
SO

SO

SO

Hardware

Hardware

Hardware

Sistemas Operativos Distribuidos


42

42 /58

Sistema operativo en red


(SOR)
A p lic a c io n e s

A p lic a c io n e s

L e n g u a je s d e p r o g r a m a c i n

L e n g u a je s d e p r o g r a m a c i n

S is te m a o p e r a tiv o

S is t e m a o p e r a t iv o

H a rd w a re

H a rd w a re
R e d d e in te r c o n e x i n

El

usuario ve
independientes

un

conjunto

de

mquinas

No hay transparencia
Se

debe acceder de forma explcita a los


recursos de otras mquinas
Difciles de utilizar para desarrollar aplicaciones
distribuidas
43 /58

Sistemas Operativos de
Red

Dos

o ms

computadores conectados por

red.
Comparten
los diferentes recursos y la
informacin del sistema mediante la red.
Novell Netware, Personal Netware,Windows NT
Server, UNIX, etc.
Mquina A

Mquina B

Mquina C

Aplicaciones distribuidas
Servicios de
Red del S.O.

Servicios de
Red del S.O.

Servicios de
Red del S.O.

Kernel

Kernel

Kernel
Red

44 /58

concepto y caractersticas de
los sistemas operativos de
SOR. Es aquel en el que cada
redes
mquina tiene un alto grado de
autonoma y existen pocos requisitos
a lo largo del sistema.

Software dbilmente acoplado en


hardware dbilmente acoplado
Ejemplo:
estaciones
de
trabajo
conectadas mediante una LAN
Cada usuario tiene su propia estacin
de trabajo
Tiene su propio S.O.
45 /58

Clasificacin de
Por su mbito:
Redes
Redes de rea local o LAN (Local Area Network):
Diseadas desde el principio para transportar
datos.
Redes de rea extensa o WAN (Wide Area
Network): Utilizan el sistema telefnico, diseado
inicialmente para transportar voz.
Por su tecnologa:
Redes broadcast (broadcast = radiodifusin)
Redes punto a punto

Clasificacin de Redes por su


mbito
Distancia entre
procesadores

Procesadores ubicados
en el mismo ...

Ejemplo

1m

Sistema

Multiprocesador

10 m

Habitacin

100 m

Edificio

1 Km

Campus

10 Km

Ciudad

100 Km

Pas

1.000 Km

Continente

10.000 Km

Planeta

LAN

MAN (o WAN)
WAN

Redes de rea local o LAN


(Local Area Network)

Caractersticas:
Generalmente son de tipo broadcast (1/2 compartido)
Cableado normalmente propiedad del usuario
Diseadas inicialmente para transporte de datos
Ejemplos:
Ethernet (IEEE 802.3): 1, 10, 100, 1000 Mb/s
Token Ring (IEEE 802.5): 1, 4, 16, 100 Mb/s
FDDI: 100 Mb/s
HIPPI: 800, 1600, 6400 Mb/s
Fibre Channel: 100, 200, 400, 800 Mb/s
Red inalmbrica X radio (IEEE 802.11): 1, 2, 5.5, 11 Mb/s
Topologa en bus (Ethernet) o anillo (Token Ring, FDDI)

Redes de rea extensa o WAN


(Wide Area Network)

Se caracterizan por utilizar normalmente medios


telefnicos, diseados en principio para transportar la voz.
Son servicios contratados normalmente a operadoras
(Telefnica, Millicom, BellSouth, IBM, ATT, etc.).
Las comunicaciones tienen un costo elevado, por lo que
se suele optimizar su diseo.
Normalmente utilizan enlaces punto a punto temporales o
permanentes, salvo las comunicaciones va satlite que
son broadcast. Tambin hay servicios WAN que son redes
de conmutacin de paquetes.
Redes telefnicas, redes pblicas de datos, fibra ptica
RDSI, B-RDSI, ATM
Diferencias entre LAN y WAN cada vez ms borrosas

RDSI y ATM
RDSI. Red Digital de Servicios Integrados.
Una red que procede por evolucin de una Red Digital Integrada
(RDI) telefnica y que facilita conexiones digitales extremo a
extremo para soportar una amplia gama de servicios, tanto de voz
como de otros tipos, y a la que los usuarios tienen acceso a travs
de un conjunto limitado de interfaces normalizados de usuario
multiservicio.
ATM. Modo de Transferencia Asncrona (Asynchronous Transfer
Mode)
Es una tecnologa de conmutacin de celdas que utiliza la
multiplexacin por divisin en el tiempo asncrona, permitiendo
una ganancia estadstica en la agregacin de trfico de mltiples
aplicaciones. Las celdas son las unidades de transferencia de
informacin en ATM. Estas celdas se caracterizan por tener una
longitud fija de 53 octetos. La longitud fija de las celdas permite
que la conmutacin sea realizada por el hardware, consiguiendo
con ello alcanzar altas velocidades (2, 34, 155 y 622 Mbps) de
forma fcilmente escalable.
50 /58

Clasificacin de redes X su tecnologa


Tipo

Broadcast

Enlaces punto a
punto

Caractersticas

La informacin se enva a todos La informacin se enva solo


los nodos de la red, aunque solo al nodo al cual va dirigida
interese a unos pocos

Ejemplos

Casi todas las LANs (excepto


LANs conmutadas)
Redes de satlite
Redes de TV por cable

Enlaces dedicados
Servicios de conmutacin
de paquetes (X.25, Frame
Relay y ATM).
LANs conmutadas

Redes broadcast
El medio de transmisin es compartido. Suelen ser
redes locales. Ej.: Ethernet 10 Mb/s
Los paquetes se envan a toda la red, aunque vayan
dirigidos a un nico destinatario. Posibles problemas
de seguridad (encriptado)
Se pueden crear redes planas, es decir redes en las
que la comunicacin entre dos ordenadores
cualesquiera se haga de forma directa, sin routers
intermedios.

Redes de enlaces punto a punto


La red est formada por un conjunto de enlaces entre los
nodos de dos en dos
Es posible crear topologas complejas (anillo, malla,etc.)
La comunicacin entre dos ordenadores cualesquiera se
realiza a travs de nodos intermedios que encaminan o
conmutan los paquetes (conmutador o router).
Un router o conmutador es un ordenador especializado
en la conmutacin de paquetes; generalmente utiliza un
hardware y software diseados a propsito (p. ej.
sistemas operativos en tiempo real)
En una red de enlaces punto a punto el conjunto de
routers o conmutadores y los enlaces que los unen
forman lo que se conoce como la subred. La subred
delimita la responsabilidad del proveedor del servicio.

Redes de enlaces punto a punto


En una red punto a punto los enlaces pueden ser:
Simplex: transmisin en un solo sentido
Semi-dplex o half-duplex: transmisin en ambos sentidos, pero
no a la vez
Dplex o full-duplex: transmisin simultnea en ambos sentidos

En el caso dplex y semi-dplex el enlace puede ser


simtrico (misma velocidad en ambos sentidos) o
asimtrico. Normalmente los enlaces son dplex
simtricos
La velocidad se especifica en bps, Kbps, Mbps, Gbps,
Tbps, ... Pero OJO:

1 Kbps = 1.000 bps (no 1.024)


1 Mbps = 1.000.000 bps (no 1.024*1.024)
Ejemplo: la capacidad total mxima de un enlace de 64 Kbps son
128.000 bits por segundo (64.000 bits por segundo en cada sentido).

Clasificacin de las redes


Redes LAN

Redes WAN

Redes broadcast Ethernet,


Token Ring,
FDDI

Redes va
satlite,
redes CATV

Redes de
enlaces punto a
punto

Lneas
dedicadas,
Frame Relay,
ATM

HIPPI,
LANs
conmutadas

Posibles formas de enviar la informacin


Por el nmero de destinatarios el envo de un paquete puede ser:

Unicast: si se enva a un destinatario concreto. Lo normal.


Broadcast: si se enva a todos los destinatarios posibles
en la red. Ejemplo: para anunciar nuevos servicios en la
red.
Multicast: si se enva a un grupo selecto de destinatarios
de entre todos los que hay en la red. Ejemplo: emisin de
videoconferencia.
Anycast: si se enva a uno cualquiera de un conjunto de
destinatarios posibles.
Ejemplo: servicio de alta disponibilidad ofrecido por varios
servidores simultneamente; el cliente solicita una
determinada informacin y espera recibir respuesta de uno
cualquiera de ellos.

Modelo de capas
Actualmente todas las arquitecturas de red se describen
utilizando un modelo de capas.
El ms conocido es el denominado Modelo de Referencia
OSI (Open Systems Interconnect) de ISO, que tiene 7
capas (como el SNA).
Los objetivos fundamentales del modelo de capas son:
Sencillez: hace abordable el complejo problema de la
comunicacin entre ordenadores
Modularidad: permite realizar cambios con relativa
facilidad a una de sus partes sin afectar al resto
Compatibilidad: La comunicacin entre dos entidades
de una capa puede realizarse independientemente de
las dems.

El Modelo de referencia OSI de ISO (OSIRM)


Fue definido entre 1977 y 1983 por la ISO (International
Standards Organization) para promover la creacin de
estndares independientes de fabricante. Define 7 capas:
Capa de Aplicacin
Capa de Presentacin
Capa de Sesin
Capa de Transporte
Capa de Red
Capa de Enlace
Capa Fsica

Aplicacin

Presentacin

Sesin

Transporte

Red

Enlace de Datos

Fsico

Ofrece servicios al usuario final, Transferencia de


archivos, Aplicaciones.
Interface estndar a las aplicaciones, servicios de
comunicaciones comunes
Estructura de control para la comunicacin entre
aplicaciones, estable y finaliza las conexiones
(sesiones).
Transferencia fiable y transparente de datos,
recuperacin de errores, control del flujo de
datos.
Independencia en la tecnologa de transmisin y
conmutacin de datos, establece, mantiene y
finaliza las conexiones
Transferencia fiable de datos, envia bloques de
datos, los sincroniza, controla el flujo de datos y
controla errores de transmisin.
Controla la transmisin de un flujo no
estructurado de bits por el enlace fsico, maneja
59 /58
niveles de voltaje, duracin de bits. etc

Capa Fsica
N=1

Especificacin de medios de transmisin


mecnicos, elctricos, funcionales y
procedurales

Medio fsico

Transmite
Los Datos

Capa de Enlace
N=2
Datos puros

Driver del dispositivo de


comunicaciones

Detecta y/o corrige


Errores de
transmisin

Provee el control de
la capa fsica

Capa de Red
Suministra
informacin sobre
la ruta a seguir

N=3

Por donde debo


ir a w.x.y.z?

Routers

Capa de Transporte
N=4

Verifica que los


datos se
transmitan
correctamente

Son estos
datos buenos?

Error de
comprobacin
de mensaje

Conexin extremo a
extremo (host a host)

Paquetes
de datos

Este paquete
no es bueno.
Reenviar

Capa de Sesin
N=5

Sincroniza el intercambio de datos entre


capas inferiores y superiores

Me gustara
enviarte algo

Buena
idea!

Gracias

Cerrar
Conexin

Establecer
Conexin

De nada!

Capa de Presentacin
N=6

Convierte los datos de la red al


formato requerido por la aplicacin

Datos de capas bajas


(independientes de la
mquina)

Datos de la aplicacin
(dependientes de la mquina)

Capa de Aplicacin
Que debo enviar?

Tra
ns
f. F

ich
e

ro
s

(FT
P)

N=7

H.
32
3)

Vid
eo
co
n fe
ren

W
W
W

P)
T
T
(H

cia
(

ai
m
e-

TP
M
l (S

Es la interfaz que ve el usuario final


Muestra la informacin recibida
En ella residen las aplicaciones
Enva los datos de usuario a la aplicacin
de destino usando los servicios de las
capas inferiores

Das könnte Ihnen auch gefallen