You are on page 1of 18

FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

NDICE
1. CARACTERSTICAS DE UN SISTEMA DISTRIBUIDO............................ 1
A)

CONCURRENCIA.-..............................................................................1
CARENCIA DE RELOJ GLOBAL.-...............................................................1
C) FALLOS INDEPENDIENTES DE LOS COMPONENTES.-......................................1
D) SEPARACIN FUNCIONAL.-...................................................................1
E) DISTRIBUCIN INHERENTE.-.................................................................1
F) HETEROGENEIDAD.-...........................................................................1
B)

2. OBJETIVOS DE LOS SISTEMAS DISTRIBUIDOS.................................. 2


3. VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS................................... 3
3.1. VENTAJAS CON RESPECTO A SISTEMAS CENTRALIZADOS:...........................3
3.2. VENTAJAS CON RESPECTO A PCS INDEPENDIENTES:..................................3
4. DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS.............................4
4.1. SOFTWARE:..................................................................................4
4.2. REDES:.......................................................................................4
4.3. SEGURIDAD:.................................................................................4
5. COMPLEJIDAD DE LOS SISTEMAS DISTRIBUIDOS............................. 5
5.1. SISTEMAS FUERTEMENTE ACOPLADOS...................................................6
5.2. SISTEMAS DBILMENTE ACOPLADOS.....................................................6
6. TCNICAS DE CONSTRUCCIN............................................................ 7
6.1TRANSPARENCIA..............................................................................7
6.2. CONFIABILIDAD.............................................................................7
6.3. ESCALABILIDAD.............................................................................7
6.4. FLEXIBILIDAD................................................................................8
6.5. DESEMPEO.................................................................................8
6.6. INTERCAMBIABILIDAD......................................................................8
6.7. PORTABILIDAD...............................................................................9
ndice | 1

Sistemas Distribuidos

---------------------------------------------------------------------------------------------------------------------------------6.8. INTEROPERABILIDAD.......................................................................9
7. REQUERIMIENTOS DE APLICACIN................................................. 9
8. ARQUITECTURA BSICA............................................................... 10
8.1. MULTIPROCESADORES CON BASE EN BUSES..........................................10
8.2. MULTIPROCESADOR CON CONMUTADOR...............................................11
8.3. MULTICOMPUTADORAS CON BASE EN BUSES.........................................11
9. SISTEMAS OPERATIVOS DISTRIBUIDOS......................................... 11
9.1.
9.2.
9.3.
9.4.

SPRITE:.....................................................................................12
CHORUS:...................................................................................13
AMOEBA:...................................................................................13
SOLARIS-MC..............................................................................14

BIBLIOGRAFA:............................................................................... 15
PAGINAS WEB CONSULTADAS:......................................................... 15

NDICE DE TABLAS
TABLA 1.VENTAJAS DE LOS SD SOBRE LOS CENTRALIZADOS................3
TABLA 2.VENTAJAS DE LOS SD SOBRE COMPUTADORAS AISLADAS.......3
TABLA 3.DESVENTAJAS DE LOS SD.....................................................4

NDICE DE FIGURAS
ILUSTRACIN 1.SISTEMA SPRITE.....................................................12
ILUSTRACIN 2.SISTEMA AMOEBA...................................................13

ndice | 2

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS


1. CARACTERSTICAS DE UN SISTEMA DISTRIBUIDO

a) Concurrencia.- Esta caracterstica de los sistemas distribuidos permite


que los recursos disponibles en la red puedan ser utilizados simultneamente por
los usuarios y/o agentes que interactan en la red.

b) Carencia de reloj global.- Las coordinaciones para la transferencia de


mensajes entre los diferentes componentes para la realizacin de una tarea, no
tienen una temporizacin general, est ms bien distribuida en los componentes.

c)

Fallos

independientes

de

los

componentes.-

Cada

componente del sistema pudiera fallar de manera independientemente, y los


dems continuar ejecutando sus acciones.
Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su
conjunto continua trabajando.

d) Separacin funcional.- Las funciones se reparten entre diferentes


entidades

e) Distribucin inherente.- Evidentemente, los recursos se comparten


de manera remota, adems las tareas se realizan sin que el usuario sea
consciente de qu recursos se utilizan ni dnde estn localizados

f) Heterogeneidad.- Diversidad de dispositivos, aplicaciones, sistemas


operativos, lenguajes de programacin, etc.
Sin embargo otros autores sealan las siguientes caractersticas de un sistema
distribuido:
-Las mquinas son autnomas.
-Las mquinas estn unidas a una red de computadoras.
Pgina | 1

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

-Proveen facilidades de cmputo, son tan flexibles y ampliamente aplicables como


las computadoras convencionales, centralizadas o mainframes.
-Un sistema distribuido da la impresin que se esta usando una computadora
integrada de una forma sencilla.
-La instalacin de un sistema distribuido esta dada de ms de una computadora y
ellas se pueden encontrar en diferentes localizaciones.
-Cada computadora tiene la capacidad de comunicarse con otras dentro del
sistema.
-En un sistema distribuido los usuarios pueden acceder a recursos remotos del
mismo modo como lo hacen a los recursos locales.

2. OBJETIVOS DE LOS SISTEMAS DISTRIBUIDOS


El objetivo primordial de un sistema distribuido consiste en proporcionar a los
usuarios un entorno de utilizacin de un nico sistema donde no se perciban la
existencia de mltiples sistemas.
Otros objetivos de los sistemas distribuidos son:
Compartir informacin y otros recursos.
Economizar el rendimiento (procesamiento y almacenamiento).
Crecimiento incremental.
Alta disponibilidad
Confiabilidad (tolerancia a fallos)

Pgina | 2

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

3. VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS

3.1. Ventajas con respecto a Sistemas Centralizados:


Algunas ventajas de los sistemas distribuidos sobre los centralizados son:
Elemento

Descripcin

Economa

Los microprocesadores ofrecen mejor


proporcin precio/rendimiento que los
mainframes

Velocidad

Un sistema distribuido puede tener mayor


poder de cmputo que un mainframe

Distribucin inherente

Algunas aplicaciones utilizan maquinas que


estn separadas a cierta distancia

Confiabilidad

Si una mquina se descompone, el sistema


puede sobrevivir como un todo

Crecimiento por incrementos

Se puede aadir poder de cmputo en


pequeos incrementos

Tabla 1.Ventajass de los SD sobre los centralizados

Fuente: www.geocities.ws

3.2. Ventajas con respecto a PCs Independientes:


Algunas ventajas de los sistemas distribuidos sobre las computadoras aisladas
son:
Elemento

Descripcin

Datos compartidos

Permiten que varios usuarios tengan acceso a una


base de datos comn

Dispositivos
compartidos

Permiten que varios usuarios compartan perifricos


caros, como las impresoras de color

Comunicacin

Facilita la comunicacin de persona a persona; por


ejemplo mediante el correo electrnico

Flexibilidad

Difunde la carga de trabajo entre las mquinas


disponibles en la forma ms eficaz en cuanto a los
costos.

Tabla 2.Ventajas de los SD sobre computadoras aisladas

Fuente: www.geocities.ws

Pgina | 3

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

4. DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS


Algunas desventajas de los sistemas distribuidos son:
Elemento

Descripcin

Software

Existe poco software para los sistemas distribuidos

Redes

La red se puede saturar o causar otros problemas

Seguridad

Un acceso sencillo tambin se aplica a datos secretos


Tabla 3.Desventajas de los SD.

Fuente: www.geocities.ws

4.1. Software: Es una de las principales desventajas de los sistemas


distribuidos. Existe poco software para los sistemas distribuidos en la actualidad
en razn del diseo, implantacin y uso. Estos problemas estn relacionados con
el uso de sistema operativo, lenguajes de programacin y aplicaciones, as como
del nivel de conocimiento por parte del usuario y la certeza de saber qu tanto
debe hacer el sistema y qu tanto deben hacer los usuarios. Mientras mas se
realice investigacin, este problema disminuir, pero por el momento no puede
subestimarse.

4.2. Redes: La red se puede saturar o causar otros problemas como prdida y
saturacin de mensajes, costo de instalacin de tendidos de cable o dispositivos
inalmbricos e interfaces de red.

4.3. Seguridad: Un acceso sencillo tambin se aplica a los datos secretos.


Se recomienda que la computadora principal est aislada contra accesos no
permitidos, as como contemplar polticas de acceso a los sistemas, el cual debe
estar presente en el sistema distribuido o es un software aparte que apoya al
sistema distribuido.

Pgina | 4

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

5. COMPLEJIDAD DE LOS SISTEMAS DISTRIBUIDOS


Los sistemas distribuidos tienen ms de dos dcadas de haber surgido pero son
tan complicados en su construccin tanto como una red de transporte pblico
como el metro, y pasar ms tiempo para que podamos entenderlos
correctamente y construir uno de la manera ms apropiada
La fuente bsica de la complejidad de los SD recae en la interconexin de
componentes.
Existen fallas en todos los sistemas, slo que en un SD resultan ms visibles. A
continuacin se muestran algunos problemas del sistema.
Al interconectar dos o ms elementos entre si, sus funcionalidades se interfieren.
Pueden existir tambin fallas de propagacin.
Se pueden tener fallas por el tamao del sistema.
Las aplicaciones "distribuidas" deben estar preparadas para soportar fallas
parciales; lo que representa una complejidad adicional en el diseo de stas
aplicaciones.
Se deben tener mecanismos para la localizacin de recursos, la recuperacin de
stos, as como la coordinacin de las rplicas de los estados de los servidores.
No se tiene disponibilidad de una memoria global y un reloj global, no se pueden
predecir los retardos y mensajes.
Se requiere ms capacidad de almacenamiento.
Se requiere de sincronizacin para actualizar el estado del sistema.
Compatibilidad.

Pgina | 5

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

Los recursos compartidos deben ser accedidos por un proceso a la vez


(exclusin mutua) y deben liberarse.
Seriabilizacin.
Los procesos deben solicitar recursos locales o remotos y posteriormente
liberados en cualquier orden que puede ser no conocido.

5.1. Sistemas fuertemente acoplados


Estos sistemas son llamados as porque realizan la hazaa de mltiple
procesamiento de unidades, a menudo participa la memoria simple o espacio de
direcciones para llevar acabo un alto desempeo en un sistema de computo que
esta de otra manera centralizado.
En un sistema fuertemente acoplado, el retraso que se experimenta al enviar un
mensaje de una computadora a otra es corto o pequeo y tambin la tasa de
transmisin de los datos, esto quiere decir que el nmero de bits por segundo que
se pueden transmitir, es alta. Los sistemas fuertemente

acoplados tienden a

utilizarse ms como sistemas paralelos para trabajar con un solo problema.

5.2. Sistemas dbilmente acoplados


Los sistemas dbilmente acoplados son particularmente efectivos en poder y
flexibilidad en una simple computadora o una estacin de trabajo, permitiendo el
acceso a los datos compartidos y recursos localizados en otros servidores va una
red local de alta velocidad.
En un sistema dbilmente acoplado el retraso que se experimenta al enviar los
mensajes entre las mquinas es grande y la tasa de transmisin de los datos es
baja. Los sistemas dbilmente acoplados tienden a utilizarse como sistemas
distribuidos para trabajar con varios problemas no relacionados entre si, aunque
no siempre es as.

Pgina | 6

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

En general, los multiprocesadores tienden a estar ms fuertemente acoplados que


las multicomputadoras, puesto que pueden intercambiar a la velocidad de sus
memorias, pero algunas

multicomputadoras basadas en fibra ptica pueden

funcionar tambin con velocidad de memoria. A pesar de lo vago

6. TCNICAS DE CONSTRUCCIN

6.1Transparencia
Lograr que el sistema se vea como un todo. Los usuarios deben poder acceder los
objetos remotos de

la misma forma que los locales. Es responsabilidad del

sistema de gestin de base de datos distribuida localizar el recurso y obtener la


interaccin adecuada.

6.2. Confiabilidad
La confiabilidad tiene que ver con la consistencia de los datos. Si un archivo
importante se

replica, hay que asegurarse que las rplicas se mantengan

consistentes; mientras ms haya, ms caro es mantenerlas, y ms probable es


que haya inconsistencias. La seguridad es tambin un aspecto fundamental
de la confiabilidad.

6.3. Escalabilidad
El objetivo de la escalabilidad es garantizar que un sistema funcione
independientemente del nmero

de computadoras conectadas. Un principio

bsico en el diseo de sistemas escalables es que la carga

de trabajo de

cualquier componente del sistema debe estar acotada por una constante
independiente del tamao del sistema. Si no es as, entonces el crecimiento del
sistema estar limitado. En consecuencia, todo lo que huela a centralizacin a la
larga constituir un freno a la escalabilidad.

Pgina | 7

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

6.4. Flexibilidad
La flexibilidad representa facilidades para cambios posteriores al diseo
(retroalimentacin). Los

sistemas distribuidos son nuevos; es importante, por

ende, que se puedan adaptar a nuevas tecnologas y a nuevos avances en el


tema.

6.5. Desempeo
Las caractersticas del desempeo en los sistemas distribuidos se pueden resumir
en lo siguiente:
Minimizar el tiempo de respuesta.
Maximizar el rendimiento en razn del nmero de trabajos efectuados en un
tiempo determinado.
Minimizar el uso de recursos del sistema (CPU, memoria, archivos,
entrada/salida, red, etc.).
Minimizar la cantidad de mensajes enviados en la red. En este caso intervienen
tcnicas de inteligencia artificial.
Cabe mencionar que los diseadores de sistemas distribuidos deben tratar de
nivelar o equilibrar el desempeo contra la confiabilidad.

6.6. Intercambiabilidad
Capacidad de poder cambiar cualquier componente del sistema sin afectar a sus
dems miembros, basado en el principio que consiste en disear los diferentes
elementos de un sistemas distribuido con una tolerancia tan estrecha que
cualquier elemento pueda ajustarse a cualquier otro elemento conjugado.

Pgina | 8

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

6.7. Portabilidad
Capacidad de funcionalidad de los sistemas computacionales en cualquier
arquitectura de hardware,

refirindose a que un programa escrito para una

determinada arquitectura se puede compilar y ejecutar en otra arquitectura sin


modificacin alguna.
Los sistemas distribuidos deben tener un nivel adecuado de portabilidad (los
programas pueden ser compilados y ejecutados en diferentes arquitecturas sin
tener que realizar modificaciones), al tiempo que hace que las aplicaciones sean
interoperativas.
Otra caracterstica deseable del software con respecto a portabilidad es el tamao
pequeo de los programas. En efecto, si es necesario posteriormente modificar
un programa, es mejor hacerlo en un programa pequeo -que en ltima instancia
puede rescribirse- que en uno grande. Esto reafirma la deseabilidad de programar
mdulos pequeos.

6.8. Interoperabilidad
Capacidad que consiste en que varios sistemas distribuidos pueden interactuar y
trabajar juntos en la solucin de un problema. Es importante notar que para que
los sistemas distribuidos cumplan con las normas o estndares internacionales, la
portabilidad, apertura e interoperabilidad debern interactuar de manera correcta.

7. REQUERIMIENTOS DE APLICACIN
-Como primer punto debe existir un mecanismo de comunicacin global entre los
procesos, de forma que cualquier proceso pueda comunicarse con cualquier otro.
-La administracin de procesos tambin debe ser la misma en todas partes. La
forma en que se crean, destruyen, inician y detienen los procesos no debe variar
de una mquina a otra.

Pgina | 9

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

-Cualquier mquina puede hacer lo que quiera mientras obedezca los protocolos
estndar cuando participe en una comunicacin cliente servidor.
-Las llamadas al sistema deben ser diseadas de manera que tengan sentido en
un ambiente distribuido.
-Tambin el sistema de archivos debe tener la misma apariencia en todas partes.
Adems, todo archivo debe ser visible desde cualquier posicin, sujeto, por
supuesto, a restricciones de proteccin y seguridad.
-El hecho de tener la misma interfaz de llamadas al sistema en todas partes,
entonces se ejecutan ncleos idnticos en todos los CPU del sistema. Esto facilita
la coordinacin de actividades globales. Por ejemplo, cuando se inicie un proceso,
todos lo ncleos debe cooperar en la bsqueda del mejor lugar para ejecutarlo.
-Cada ncleo debe tener un control considerable sobre sus propios recursos
locales. Por ejemplo, puesto que no existe memoria compartida, es lgico permitir
que cada ncleo controle su memoria.

8. ARQUITECTURA BSICA

8.1. Multiprocesadores con base en buses


Los multiprocesadores con base en buses constan de cierta cantidad de CPU,
conectados a un bus comn, junto con un mdulo de memoria. Una configuracin
sencilla consta de un plano de base (backplane) de alta velocidad o tarjeta madre,
en el cual se pueden insertar las tarjetas de memoria y el CPU. Un bus tpico
tiene 32 o 64 lneas de direcciones, 32 o 64 lneas de datos y 32 o ms lneas de
control, todo lo cual opera en paralelo. Para leer una palabra de memoria, un CPU
coloca la direccin de la palabra deseada en las lneas de direcciones del bus y
coloca una sealen las lneas de control adecuadas para indicar que desea leer.
La memoria responde y coloca el valor de la palabra en las lneas de datos para

Pgina | 10

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

permitir la lectura de sta por parte del CPU solicitante. La escritura funciona de
manera similar.

8.2. Multiprocesador con conmutador.


Para construir un multiprocesador con ms de 64 procesadores, es necesario un
mtodo distinto para

conectar cada CPU con la memoria. Una posibilidad es

dividir la memoria en mdulos para conectarlos a las CPU con un conmutador de


cruceta, como se muestra en la figura (a). Cada CPU y cada memoria tiene una
conexin que sale de l, como se muestra.

8.3. Multicomputadoras con base en buses.


La construccin de una multicomputadora, es decir, sin memoria compartida es
fcil. Cada CPU tiene conexin directa con su propia memoria local. El nico
problema es la forma en que los CPU se comunicar entre s. Es claro que aqu
tambin se necesita de cierto esquema de interconexin, pero como solo es para
la comunicacin entre un CPU y otro, el volumen de trfico ser de varias rdenes
menores en relacin con el uso de una red de interconexin para el trfico CPUmemoria.
Este esquema es muy similar, desde el punto de vista topolgico, al procesador
basado en un bus, pero como tendr menor trfico, no necesita ser un bus con un
plano de base de alta velocidad. De hacho puede ser una LAN de menor
velocidad. Es ms a menudo una coleccin de estaciones de trabajo en una LAN
que una coleccin de tarjetas de CPU que se insertan en un bus rpido.

9. SISTEMAS OPERATIVOS DISTRIBUIDOS


Los sistemas operativos distribuidos desempean las mismas funciones que un
sistema operativo normal, pero con la diferencia de trabajar en un entorno
distribuido. Su Misin principal consiste en facilitar el acceso y la gestin de los
recursos distribuidos en la red.
Pgina | 11

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

En un sistema operativo distribuido los usuarios pueden acceder a recursos


remotos de la misma manera en que lo hacen para los recursos locales. Permiten
distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede
ser que este conjunto de procesadores est en un equipo o en diferentes, lo cual
es transparente para el usuario.
Los sistemas distribuidos deben de ser muy confiables y estables ya que si un
componente del sistema se descompone otro componente debe de ser capaz de
remplazarlo inmediatamente y no afectar los procesos del sistema.
Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los
siguientes: Sprite, Mach, Chorus, Spring, Amoeba, Solaris-MC, Taos, etc.

9.1. Sprite:
Es un sistema operativo distribuido con un ncleo monoltico. Este sistema
operativo tiene la apariencia para los programadores de un sistema nico, ya que
la distribucin se produce dentro del propio ncleo y de este modo, Sprite nos da
la impresin de estar trabajando sobre un tpico sistema UNIX.
Un sistema Amoeba esta conformado por una pila de procesadores, servidores
especializados, y terminales grficas.

Ilustracin 1.Sistema Sprite


Fuente: www.freewebs.com

Pgina | 12

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

9.2. Chorus:
El sistema operativo Chorus es un sistema operativo altamente escalable y de
implementacin confiable, tanto as que se ha establecido entre los proveedores
superiores de Telecomunicaciones. El sistema operativo Chorus se utiliza en
conmutadores pblicos, as como dentro del acceso a redes de trabajo,
conmutadores de conexin cruzada, sistemas de correo de voz, estaciones
celulares base, telfonos-web y telfonos celulares.

9.3. Amoeba:
Est escrito en C. Posee un lenguaje para el cmputo distribuido y paralelo
llamado Orca. No tiene el concepto de mquina de origen.
El Shell inicial se ejecuta en mquina arbitraria, pero los comandos tienen porqu
ejecutarse en la misma mquina que el Shell.
La arquitectura del sistema en Amoeba contempla una pila de procesadores,
servidores especializados y terminales grficas. Una pila de procesadores tiene
una interfaz de red y memoria RAM. Es posible configurar un conjunto de
mquinas como una pila de procesadores.

Ilustracin 2.Sistema Amoeba


Fuente: www.freewebs.com

Pgina | 13

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

9.4. Solaris-MC
Solaris MC es una extensin del ncleo de Solaris para operar en clster. ste
sistema incorpora ideas procedentes de Spring, aunque mantiene la estructura de
ncleo monoltico no adaptable que presenta UNIX.
En pocas palabras, Solaris MC es un sistema distribuido que no puede
considerarse como un sistema adaptable en realidad, aunque sea elegante y
extremadamente flexible.

Pgina | 14

Sistemas Distribuidos

----------------------------------------------------------------------------------------------------------------------------------

BIBLIOGRAFA:
Tanenbaum Andrew S, Sistemas Operativos Distribuidos, Editorial Prenticf Hall
Hispanoamericana S.A., Mxico, 1996.
Almidn Ortiz, Carls Alcides, Concepto de la Teora de Sistemas, Universidad
peruana Los Andes, Per.
George Coulouris, Sistemas Distribuidos: Conceptos y Diseo, Editorial Addison
Wesley, 2001.

PAGINAS WEB CONSULTADAS:


http://www.frm.utn.edu.ar/soperativos/Archivos/Sistemas_Distribuidos.pdf
http://oposicionestic.blogspot.com/2011/06/sistemas-distribuidos.html
http://www.tamps.cinvestav.mx/~vjsosa/sistemas_distribuidos_panorama.pdf

Pgina | 15