Vous êtes sur la page 1sur 14

INTRODUCCIN A LOS SISTEMAS DISTRIBUIDOS

Un sistema distribuido es una coleccin de computadoras independientes; es decir


autnomas, que aparecen ante los usuarios del sistema como una nica computadora.
Antes de definir lo que es un Sistema Distribuido, vamos a definir un trmino ms
general: La Computacin Distribuida, podemos definirla de muchas maneras, este
trmino se utiliza indiscriminadamente para referirse a cualquier sistema en el que
mltiples agentes autnomos, cada uno con capacidades de cmputo individual, se
comunican entre s y afectan mutuamente su comportamiento. Los agentes,
usualmente llamados procesadores, procesos o nodos, pueden ser desde
computadoras completas hasta autmatas celulares con capacidad de cmputo y memoria
muy limitados que se pueden comunicar mediante mensajes. La Computacin
Distribuida hace referencia a cualquier evento en el cual se maneja un sistema en
una red de computadoras y trata de describir las tendencias hacia la funcionalidad
distribuida : sistemas distribuidos, procesamiento distribuido, bases de datos
distribuidas y cualquier otro trmino computacional que sea distribuido. Podemos
decir entonces, que la Computacin Distribuida se refiere a los servicios que provee un
Sistema de Computacin Distribuido.
Como lo hemos observado, el trmino de Computacin Distribuida se define de
varias maneras y lo mismo se aplica al trmino de Sistema Distribuido, as que en lugar
de seguir dando ms definiciones de estos trminos, nos concentraremos en el anlisis de
las caractersticas ms importantes de los Sistemas Distribuidos, de esta manera
podremos construir una definicin propia de lo que es un Sistema Distribuido al
finalizar este captulo. Una caracterstica muy importante es que las diferencias entre las
computadoras y las maneras en que estas se comunican no son transparentes para el
usuario final, esto mismo aplica para la organizacin interna del sistema distribuido.
Otra caracterstica importante es que los usuarios y las aplicaciones pueden interactuar
con un Sistema Distribuido de manera consistente y uniforme, sin importar donde y
cuando se lleve a cabo la interaccin. Todo Sistema Distribuido bebe tambin ser
relativamente fcil poder expandir, lo cual se logra al tener computadoras
independientes, pero al mismo tiempo esconder las funciones de dichas
computadoras en el sistema. Normalmente un sistema distribuido debe de estar siempre
disponible a pesar de que ciertas partes que lo conforman puedan no estar funcionando.
Los usuarios y las aplicaciones no deben de notar en ningn momento que
estas partes estn siendo reemplazadas o reparadas, o que se han agregado nuevas
partes al sistema para poder dar servicio a ms usuarios o aplicaciones.
Caractersticas de los sistemas distribuidos.

Bsicamente los sistemas distribuidos cumplen una serie de caractersticas:

Concurrencia

Cuando existen varios procesos en una nica maquina decimos que se estn ejecutando
concurrentemente. Si el ordenador esta equipado con un nico procesador central, la
concurrencia tiene lugar entrelazando la ejecucin de los distintos procesos. Si la
computadora tiene N procesadores, entonces se pueden estar ejecutando estrictamente a
la vez hasta N procesos.
En los sistemas distribuidos hay muchas maquinas, cada una con uno o mas procesadores
centrales. Es decir, si hay M ordenadores en un sistema distribuido con un procesador
central cada una entonces hasta M procesos estar ejecutndose en paralelo.
En un sistema distribuido que esta basado en el modelo de comparticin de recursos, la
posibilidad de ejecucin paralela ocurre por dos razones:
Muchos usuarios interactuan simultneamente con programas de aplicacin.
Muchos procesos servidores se ejecutan concurrentemente, cada uno respondiendo a
diferentes peticiones de los procesos clientes.

El caso (1) es menos conflictivo, ya que normalmente las aplicaciones de interaccin se


ejecutan aisladamente en la estacin de trabajo del usuario y no entran en conflicto con
las aplicaciones ejecutadas en las estaciones de trabajo de otros usuarios.

El caso (2) surge debido a la existencia de uno o mas procesos servidores para cada tipo
de recurso. Estos procesos se ejecutan en distintas maquinas, de manera que se estn
ejecutando en paralelo diversos servidores, junto con diversos programas de aplicacin.
Las peticiones para acceder a los recursos de un servidor dado pueden ser encoladas en
el servidor y ser procesadas secuencialmente o bien pueden ser procesadas varias
concurrentemente por mltiples instancias del proceso gestor de recursos. Cuando esto
ocurre los procesos servidores deben sincronizar sus acciones para asegurarse de que no
existen conflictos. La sincronizacin debe ser cuidadosamente planeada para asegurar que
no se pierden los beneficios de la concurrencia.

Escalabilidad

Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas


diferentes. La escala ms pequea consiste en dos estaciones de trabajo y un servidor de
ficheros, mientras que un sistema distribuido construido alrededor de una red de rea local
simple podra contener varios cientos de estaciones de trabajo, varios servidores de
ficheros, servidores de impresin y otros servidores de propsito especifico. A menudo
se conectan varias redes de rea local para formar internetworks, y stas podran contener
muchos miles de ordenadores que forman un nico sistema distribuido, permitiendo que
los recursos sean compartidos entre todos ellos.

Tanto el software de sistema como el de aplicacin no deberan cambiar cuando la escala


del sistema se incrementa. La necesidad de escalabilidad no es solo un problema de
prestaciones de red o de hardware, sino que esta ntimamente ligada con todos los
aspectos del diseo de los sistemas distribuidos. El diseo del sistema debe reconocer
explcitamente la necesidad de escalabilidad o de lo contrario aparecern serias
limitaciones.

La demanda de escalabilidad en los sistemas distribuidos ha conducido a una filosofa de


diseo en que cualquier recurso simple -hardware o software- puede extenderse para
proporcionar servicio a tantos usuarios como se quiera. Esto es, si la demanda de un
recurso crece, debera ser posible extender el sistema para darla servicio,. Por ejemplo, la
frecuencia con la que se accede a los ficheros crece cuando se incrementa el numero de
usuarios y estaciones de trabajo en un sistema distribuido. Entonces, debe ser posible
aadir ordenadores servidores para evitar el cuello de botella que se producira si un solo
servidor de ficheros tuviera que manejar todas las peticiones de acceso a los ficheros. En
este caso el sistema deber estar diseado de manera que permita trabajar con ficheros
replicados en distintos servidores, con las consideraciones de consistencias que ello
conlleva.

Cuando el tamao y complejidad de las redes de ordenadores crece, es un objetivo


primordial disear software de sistema distribuido que seguir siendo eficiente y til con
esas nuevas configuraciones de la red. Resumiendo, el trabajo necesario para procesar
una peticin simple para acceder a un recurso compartido debera ser prcticamente
independiente del tamao de la red. Las tcnicas necesarias para conseguir estos objetivos
incluyen el uso de datos replicados, la tcnica asociada de caching, y el uso de mltiples
servidores para manejar ciertas tareas, aprovechando la concurrencia para permitir una
mayor productividad.

Tolerancia a Fallos

Los sistemas informticos a veces fallan. Cuando se producen fallos en el software o en


el hardware, los programas podran producir resultados incorrectos o podran pararse
antes de terminar la computacin que estaban realizando. El diseo de sistemas tolerantes
a fallos se basa en dos cuestiones, complementarias entre s: Redundancia hardware (uso
de componentes redundantes) y recuperacin del software (diseo de programas que sean
capaces de recuperarse de los fallos).

En los sistemas distribuidos la redundancia puede plantearse en un grano mas fino que el
hardware, pueden replicarse los servidores individuales que son esenciales para la
operacin continuada de aplicaciones criticas.

La recuperacin del software tiene relacin con el diseo de software que sea capaz de
recuperar (roll-back) el estado de los datos permanentes antes de que se produjera el fallo.

Los sistemas distribuidos tambin proveen un alto grado de disponibilidad en la vertiente


de fallos hardware. La disponibilidad de un sistema es una medida de la proporcin de
tiempo que esta disponible para su uso. Un fallo simple en una maquina multiuruario
resulta en la no disponibilidad del sistema para todos los usuarios. Cuando uno de los
componentes de un sistema distribuidos falla, solo se ve afectado el trabajo que estaba
realizando el componente averiado. Un usuario podra desplazarse a otra estacin de
trabajo; un proceso servidor podra ejecutarse en otra maquina.
Transparencia

La transparencia se define como la ocultacin al usuario y al programador de aplicaciones


de la separacin de los componentes de un sistema distribuido, de manera que el sistema
se percibe como un todo, en vez de una coleccin de componentes independientes. La
transparencia ejerce una gran influencia en el diseo del software de sistema.

El manual de referencia RM-ODP [ISO 1996a] identifica ocho formas de transparencia.


Estas proveen un resumen til de la motivacin y metas de los sistemas distribuidos. Las
transparencias definidas son:

Transparencia de Acceso : Permite el acceso a los objetos de informacin remotos de la


misma forma que a los objetos de informacin locales.
Transparencia de Localizacin: Permite el acceso a los objetos de informacin sin
conocimiento de su localizacin
Transparencia de Concurrencia: Permite que varios procesos operen concurrentemente
utilizando objetos de informacin compartidos y de forma que no exista interferencia
entre ellos.
Transparencia de Replicacin: Permite utilizar mltiples instancias de los objetos de
informacin para incrementar la fiabilidad y las prestaciones sin que los usuarios o los
programas de aplicacin tengan por que conoces la existencia de las replicas.
Transparencia de Fallos: Permite a los usuarios y programas de aplicacin completar sus
tareas a pesar de la ocurrencia de fallos en el hardware o en el software.
Transparencia de Migracin: Permite el movimiento de objetos de informacin dentro de
un sistema sin afectar a los usuarios o a los programas de aplicacin.
Transparencia de Prestaciones. Permite que el sistema sea reconfigurado para mejorar las
prestaciones mientras la carga varia.
Transparencia de Escalado: Permite la expansin del sistema y de las aplicaciones sin
cambiar la estructura del sistema o los algoritmos de la aplicacin.

Las dos mas importantes son las transparencias de acceso y de localizacin; su presencia
o ausencia afecta fuertemente a la utilizacin de los recursos distribuidos. A menudo se
las denomina a ambas transparencias de red. La transparencia de red provee un grado
similar de anonimato en los recursos al que se encuentra en los sistemas centralizados.
VENTAJAS Y DESVENTAJAS DE LOS SISTEMAS CENTRALIZADOS

La corporativa para obtener las ventajas y desventajas de los sistemas distribuidos se


hace con respecto a una computadora aislada que es un sistema centralizado.

VENTAJAS

*Con el uso de un sistema distribuido se logra compartir informacin as como


dispositivos perifricos entre ms de un usuario.
*los sistemas distribuidos permiten dividir cargas de trabajo entre diferentes
computadoras
*cuando un nodo de procesamiento falla, el sistema en general sigue funcionando.
*ejecucin concurrente de procesos (procesos ejerc. al mismo tiempo)

DESVENTAJAS

*conocer que tipos de sistemas operativos, lenguajes de programacin y aplicaciones son


los adecuados para estos sistemas.
*los usuarios deben conocer las instrucciones de su sistema
*las redes de comunicacin pueden llegar a perder mensajes latencia de las
comunicaciones o saturacin de los mensajes.
*la vulnerabilidad que puede sufrir la informacin que puede llegar a estar disponible
para un gran numero de usuarios del sistema
*requerimientos de mayores controles del procesamiento y acceso
*administracin mas completa
*costos

1.2.1.1 Tipos de Clientes

Existen varios tipos de clientes, dependiendo de la cantidad de tareas que realice


el cliente en comparacin con el servidor.

Almacenamiento de datos local Proceso de datos local

Cliente pesado S S

Cliente hbrido No S
Cliente liviano No No

1.2.1.2 Cliente pesado

Un cliente pesado tiene capacidad de almacenar los datos y procesarlos, pero


sigue necesitando las capacidades del servidor para una parte importante de sus
funciones. Un cliente de correo electrnico suele ser un cliente pesado. Puede
almacenar los mensajes de correo electrnico del usuario, trabajar con ellos y
redactar nuevos mensajes, pero sigue necesitando una conexin al servidor para
enviar y recibir los mensajes.

1.2.1.3 Cliente hbrido

Un cliente hbrido no tiene almacenados los datos con los que trabaja, pero s es
capaz de procesar datos que le enva el servidor. Muchos programas de
colaboracin almacenan remotamente los datos para que todos los usuarios
trabajen con la misma informacin, y utilizan clientes hbridos para acceder a
esa informacin.

1.2.1.4 Cliente liviano

Un cliente liviano no tiene capacidad de procesamiento y su nica funcin es


recoger los datos del usuario, drselos al servidor, y mostrar su respuesta. Los
primeros navegadores web eran clientes livianos, simplemente mostraban
las pginas web que solicitaba el usuario. Actualmente, el uso de lenguajes
de script, programas Java y otras funciones de DHTML dan una capacidad de
procesamiento a los navegadores, por lo que se consideran clientes Hbridos.
CLIENTE/SERVIDOR

Diversas aplicaciones se ejecutan en un entorno cliente/servidor. Esto significa que


los equipos clientes (equipos que forman parte de una red) contactan a un servidor, un
equipo generalmente muy potente en materia de capacidad de entrada/salida, que
proporciona servicios a los equipos clientes. Estos servicios son programas que
proporcionan datos como la hora, archivos, una conexin, etc.
Funcionamiento del sistema cliente/servidor

Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:

El cliente enva una solicitud al servidor mediante su direccin IP y el puerto, que est
reservado para un servicio en particular que se ejecuta en el servidor.
El servidor recibe la solicitud y responde con la direccin IP del equipo cliente y su
puerto.

CONCLUSIONES

Los sistemas distribuidos abarcan una cantidad de aspectos considerables, por lo


cual su desarrollo implica mucha complejidad.
Existen ciertos aspectos que requieren extremo cuidado al desarrollarse e
implantarse como el manejo de fallos, el control de la concurrencia, etc.
Existen muchos temas de investigacin relacionados con los sistemas distribuidos,
por ejemplo, los planteados en el apartado de Desafos.
Se nota tambin que muchas tecnologas estn en constante desarrollo y
maduracin, lo cual implica un minucioso estudio previo de muchos factores antes
de apostar por alguna tecnologa en especial.

Referencias

n.d.Retrieved May 21, 2017, from


http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/lezama_l_a/capitulo2.pdf

n.d.Scribd. Servidores Pesados Vs Clientes Pesados. Retrieved May 21, 2017, from
https://es.scribd.com/document/74354362/Servidores-Pesados-vs-Clientes-Pesados
n.d.Sistemas distribuidos. Sistemas Distribuidos - Monografias.com. Retrieved May 21,
2017, from http://www.monografias.com/trabajos107/sistemas-distribuidos-
maquinas/sistemas-distribuidos-maquinas.shtml

n.d.Sistemas Distribuidos. Sistemas Distribuidos. Retrieved May 21, 2017, from


https://es.slideshare.net/leopoldocapa/sistemas-distribuidos

n.d.Sistemas distribuidos. Sistemas Distribuidos. Retrieved May 21, 2017, from


https://es.slideshare.net/nsanchez1234/sistemas-distribuidos-11793073

n.d.Sistemas operativos distribuidos y sistemas distribuidos. Sistemas Operativos


Distribuidos Y Sistemas Distribuidos. Retrieved May 21, 2017, from
https://es.slideshare.net/cris_bar/sistemas-operativos-distribuidos-y-sistemas-
distribuidos

Vous aimerez peut-être aussi