Sistemas Distrubuidos
Un sistema distribuido puede verse como un sistema formado por varios ordenadores haciendo algo conjuntamente, de lo que se desprenden tres características inmediatas:
- Compuesto por múltiples ordenadores. Un sistema distribuido está compuesto de más de un sistema independiente, cada uno con una o más CPU, memoria local, memoria secundaria (discos) y,en general, conexiones con periféricos de acceso inmediato (on line).
- Hay interconexión entre ellos. Parece claro que si varios ordenadores distintos van a colaborar en la realización de tareas, deben comunicarse y sincronizarse entre ellos, por lo que debe haber alguna línea o red de interconexión.
- Tienen un estado compartido. Si los ordenadores realizan un trabajo conjuntamente, debenmantener un estado compartido, es decir, todos los ordenadores tienen la misma visión del estado del sistema distribuido (tablas, bases de datos del sistema, de servidores, etc.
Pero la construcción de un sistema distribuido que se comporte según esperan los usuarios, va a requerir considerar otro conjunto de características que se pueden resumir en estas dos: Consistencia y Transparencia.
Laconsistencia es una necesidad imperativa, pues sin ella, simplemente es que el sistema no funciona. La transparencia, como ya veremos en detalle, si bien es algo de que caracteriza especialmente a los sistemas distribuidos, su ausencia no impide que el sistema funcione; no obstante, es una característica deseable, de tal manera que cuanto más transparente sea un sistema distribuido, más lo podemosconsiderar como tal.
Escalabilidad: Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala más pequeña 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 podría contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidoresde impresión y otros servidores de propósito específico. A menudo se conectan varias redes de área local para formar internetworks, y éstas podrían 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 aplicación no deberían cambiar cuando la escala del sistema seincrementa. La necesidad de escalabilidad no es solo un problema de prestaciones de red o de hardware, sino que está íntimamente ligada con todos los aspectos del diseño de los sistemas distribuidos. El diseño del sistema debe reconocer explícitamente la necesidad de escalabilidad o de lo contrario aparecerán serias limitaciones. La demanda de escalabilidad en los sistemas distribuidos ha conducido auna filosofía de diseño 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, debería 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 número de usuarios y estaciones de trabajo enun sistema distribuido. Entonces, debe ser posible añadir ordenadores servidores para evitar el cuello de botella que se produciría si un solo servidor de ficheros tuviera que manejar todas las peticiones de acceso a los ficheros. En este caso el sistema deberá estar diseñado de manera que permita trabajar con ficheros replicados en distintos servidores, con las consideraciones de consistenciasque ello conlleva. Cuando el tamaño y complejidad de las redes de ordenadores crece, es un objetivo primordial diseñar software de sistema distribuido que seguirá siendo eficiente y útil con esas nuevas configuraciones de la red. Resumiendo, el trabajo necesario para procesar una petición simple para acceder a un recurso compartido debería ser prácticamente independiente del tamaño de la red. Las...
Regístrate para leer el documento completo.