Sistemas Distribuidos
INTRODUCCIÓN
El desarrollo de
los sistemas distribuidos vino de la mano de las redes locales de alta
velocidad a principios de 1970. Más recientemente, la disponibilidad de
computadoras personales de altas prestaciones, estaciones de trabajo y
ordenadores servidores ha resultado en un mayor desplazamiento hacia los
sistemas distribuidos en detrimento de los ordenadores centralizados multiusuario.
Esta tendencia se ha acelerado por el desarrollo de software para sistemas
distribuidos, diseñado para soportar el desarrollo de aplicaciones
distribuidas. Este software permite a los ordenadores coordinar sus actividades
y compartir los recursos del sistema – hardware, software y datos.
Los sistemas
distribuidos se implementan en diversas plataformas hardware, desde unas pocas
estaciones de trabajo conectadas por una red de área local, hasta Internet, una
colección de redes de área local y de área extensa interconectados, que en
lazan millones de ordenadores.
DESARROLLO
Definición:
Un
sistema distribuido se define como una colección de computadores autónomos
conectados por una red, y con el software distribuido adecuado para que el
sistema sea visto por los usuarios como una única entidad capaz de proporcionar
facilidades de computación.
Características:
Establece que son
seis las características principales responsables de la utilidad de los
sistemas distribuidos. Se trata de compartición de recursos, apertura, concurrencia,
Carencia de reloj global, fallos independientes y transparencia:
·
Concurrencia.- Esta característica de los sistemas distribuidos
permite que los recursos disponibles en la red puedan ser utilizados
simultáneamente por los usuarios y/o agentes que interactúan en la red.
·
Carencia de reloj global.- Las coordinaciones para la transferencia de
mensajes entre los diferentes componentes para la realización de una tarea, no
tienen una temporización general, está más bien distribuida a los componentes.
·
Fallos independientes.- Cada componente del sistema puede fallar
independientemente, con lo cual los demás pueden continuar ejecutando sus
acciones. Esto permite el logro de las tareas con mayor efectividad, pues el
sistema en su conjunto continua trabajando.
·
Compartición de recursos.- La compartición de recursos es la gestión de datos equitativa entre los
sistemas operativos para mantener un nivel de uso de memoria bajo.
·
Apertura.-
Un sistema puede ser abierto o cerrado con respecto a extensiones hardware o software.
La apertura de los sistemas distribuidos se determina primariamente por el
grado hacia el que nuevos servicios de compartición de recursos se pueden
añadir sin perjudicar ni duplicar a los ya existentes.
·
Transparencia.-
Ocultación al usuario y al programador de aplicaciones de la separación de los
componentes de un sistema distribuido, de manera que el sistema se percibe como
un todo, en vez de una colección de componentes independientes. La
transparencia ejerce una gran influencia en el diseño del software de sistema.
Evolución:
Procesamiento
central (Host).- Uno de los
primeros modelos de ordenadores interconectados, llamados
centralizados, donde todo el procesamiento de la organización se
llevaba a cabo en una sola computadora, normalmente un Mainframe, y los
usuarios empleaban sencillos ordenadores personales.
Los problemas de
este modelo son:
·
Cuando la
carga de procesamiento aumentaba se tenía que cambiar el hardware del
Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.
·
El otro problema que
surgió son las modernas interfaces gráficas de usuario, las cuales
podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.
Grupo de Servidores.- Otro modelo que entró a competir con el anterior, también un tanto
centralizado, son un grupo de
ordenadores actuando como servidores, normalmente de archivos o de
impresión, poco inteligentes para un número de Minicomputadores que hacen el
procesamiento conectados a una red de área local.
El problema
de este modelo es que podría generarse una saturación de los medios de
comunicación entre los servidores poco inteligentes y los minicomputadores, por
ejemplo cuando se solicitan archivos grades por varios clientes a la vez,
podían disminuir en gran medida la velocidad de transmisión
de información.
La Computación Cliente Servidor.- Este modelo, que predomina en la actualidad, permite
descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz Gráfica de Usuario. Esto
hace que ciertos servidores estén dedicados solo a una aplicación determinada y
por lo tanto ejecutarla en forma eficiente.
Cliente-Servidor
Definición:
El modelo
cliente-servidor de un sistema distribuido es el modelo más conocido y más
ampliamente adoptado en la actualidad. Hay un conjunto de procesos servidores,
cada uno actuando como un gestor de recursos para una colección de recursos de
un tipo, y una colección de procesos clientes, cada uno llevando a cabo una
tarea que requiere acceso a algunos recursos hardware y software compartidos.
Los gestores de recursos a su vez podrían necesitar acceder a recursos
compartidos manejados por otros procesos, así que algunos procesos son ambos
clientes y servidores. En el modelo, cliente-servidor, todos los recursos
compartidos son mantenidos y manejados por los procesos servidores. Los
procesos clientes realizan peticiones a los servidores cuando necesitan acceder
a algún recurso. Si la petición es válida, entonces el servidor lleva a cabo la
acción requerida y envía una respuesta al proceso cliente. Es un
elemento primordial, la presencia de un medio físico de comunicación entre las máquinas,
y dependerá de la naturaleza de
este medio la viabilidad del sistema.
Ventajas de los sistemas
cliente-servidor
La principal ventaja de los sistemas
cliente-servidor está en la correspondencia natural de las aplicaciones en el
marco cliente-servidor. Un ejemplo de esto es una agenda electrónica. Debido a
que los datos son relativamente estáticos y son visto de manera uniforme por
todos los usuarios del sistema parece lógico colocarlos en un servidor que
acepte peticiones sobre dichos datos. Es más, en este caso la lógica de aplicación
debería estar colocada del lado del servidor, para proporcionar una mayor flexibilidad
al sistema de búsquedas.
Otra ventaja es la
posibilidad de ejecutar aplicaciones que hacen uso intensivo de los recursos en
plataformas hardware de bajo coste. También el sistema es más escalable,
pudiéndose añadir tanto nuevo clientes como nuevos servidores.
Categorías de Servidores:
·
Servidores
de archivos.- Proporciona
archivos para clientes. Si los archivos no fueran tan grandes y los usuarios
que comparten esos archivos no fueran muchos, esto sería una gran opción de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el servidor los ubica y se los
envía.
·
Servidores
de Base de Datos.- Son
los que almacenan gran cantidad de datos estructurados, se diferencian de los de archivos pues la información
que se envía está ya resumida en la base de datos. Ejemplo: El Cliente hace una consulta, el servidor
recibe esa consulta (SQL) y extrae solo la información pertinente y envía esa
respuesta al cliente.
·
Servidores de Software
de Grupo.- El software de
grupo es aquel, que permite organizar el trabajo de un grupo. El servidor
gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar las
listas de correo electrónico. El
Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo
envía al resto del grupo.
·
Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o link hace un
llamado de la página y el servidor recibe el mensaje
y envía la página correspondiente.
·
Servidores
de correo.- Gestiona
el envío y recepción de correo de un grupo de usuarios (el servidor no necesita
ser muy potente). El servidor solo debe utilizar un protocolo de correo.
·
Servidor de
objetos.- Permite
almacenar objetos que pueden ser activados a distancia. Los clientes pueden ser capaces de activar
los objetos que se encuentran en el servidor.
·
Servidores
de impresión.- Gestionan
las solicitudes de impresión de los clientes. El cliente envía la solicitud de impresión, el servidor recibe la solicitud
y la ubica en la cola de impresión, ordena a la impresora que
lleve a cabo las operaciones y luego avisa a la computadora cliente que ya acabo su respectiva impresión.
·
Servidores
de aplicación.- Se
dedica a una única aplicación. Es básicamente una aplicación a la que pueden
acceder los clientes.
Componentes de Software:
Se
distinguen tres componentes básicos de software:
·
Presentación.- Tiene que ver con la presentación
al usuario de un conjunto de objetos visuales y llevar a cabo el procesamiento
de los datos producidos por el mismo y los devueltos por el servidor.
·
Lógica de
aplicación.- Esta
capa es la responsable del procesamiento de la información que tiene lugar en
la aplicación.
·
Base de
datos.- Esta
compuesta de los archivos que contienen los datos de la aplicación.
VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS
Con respecto a Sistemas Centralizados:
·
Una de las
ventajas de los sistemas distribuidos es la economía, pues es mucho más barato, añadir servidores y clientes
cuando se requiere aumentar la potencia de procesamiento.
·
El trabajo en conjunto. Por ejemplo: en
una fábrica de ensamblado, los robots tienen sus CPUs diferentes y realizan
acciones en conjunto, dirigidos por un sistema distribuido.
·
Tienen una mayor confiabilidad. Al estar
distribuida la carga de trabajo en muchas máquinas la falla de una de ellas no
afecta a las demás, el sistema sobrevive como un todo.
·
Capacidad de crecimiento incremental. Se puede
añadir procesadores al sistema
incrementando su potencia en forma gradual según sus necesidades.
DESVENTAJAS
DE LOS SISTEMAS DISTRIBUIDOS
·
El principal
problema es el software, es el diseño,
implantación y uso del software distribuido, pues
presenta numerosos inconvenientes. Los principales interrogantes son los siguientes:
·
La respuesta a estos interrogantes no es
uniforme entre los especialistas, pues existe una gran diversidad de criterios y de interpretaciones al respecto.
·
Otro
problema tiene que ver con las redes de comunicación. Por ejemplo: Perdida de
mensajes, saturación en el tráfico, etc.
·
Un problema
que puede surgir al compartir datos es la seguridad de los mismos.
·
En general
se considera que las ventajas superan a las desventajas, si estas últimas se
administran seriamente.
CONCLUSIONES
Los sistemas distribuidos abarcan una cantidad de aspectos considerables
ya que tienen una gran cantidad de usos al poder separar los usos de memoria y disco en varios ordenadores, para que todos trabajen al mismo tiempo y aumente la velocidad.
Son comúnmente utilizados en sistemas comerciales, redes WAN, aplicaciones multimedia y juegos multiusuario, por lo que son indispensables para la vida.
Son comúnmente utilizados en sistemas comerciales, redes WAN, aplicaciones multimedia y juegos multiusuario, por lo que son indispensables para la vida.
REFERENCIAS
·
Roger S. Presuman. Ingeniería de Software. Quinta Edición.
McGraw-Hill Interamericana. Madrid. 2002.
·
George Coulouris. Sistemas Distribuidos. Tercera Edición. Addison Wesley.
Madrid. 2001.
·
Guía Rápida de Internet, David Zurdo Saiz, Alejandro Sicilia Burgoa,
Fernando Acevedo Quero, Paraninfo. Madrid. 1997
·
http://augcyl.org/?page_id=231
·
http://www.monografias.com/trabajos16/sistemas-distribuidos/sistemas-distribuidos.shtml
No hay comentarios.:
Publicar un comentario