Sistemas Distribuidos Un sistema distribuido se define como una colección de computadoras autónomas conectadas 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. El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta velocidad a principios de 1970. Actualmente el poder contar fácilmente con una computadora personal, una estación de trabajo y servidores, ha desplazado a los ordenadores centralizados multiusuario. Al desarrollar software para sistemas distribuidos, se ha acelerado el proceso para crear aplicaciones distribuidas. Una definición más Un sistema distribuido se define como una colección de computadoras separados físicamente y conectados entre sí por una red de comunicaciones distribuida; cada máquina posee sus componentes de hardware y software que el usuario percibe como un solo sistema (no necesita saber qué cosas están en qué máquinas). El usuario accede a los recursos remotos (RPC) de la misma manera en que accede a recursos locales, o un grupo de computadores que usan un software para conseguir un objetivo en común.
Ilustración 12 http://unaq-so.wikispaces.co http://unaq-so.wikispaces.com/SISTEMAS+OPERATIVOS+DISTRIBUIDOS m/SISTEMAS+OPERATIVOS+DISTRIBUIDOS
Viernes 25 de Enero de 2013
Características
Compartición de recursos. o
Los recursos en un sistema distribuido están físicamente encapsulados en una de las computadoras y sólo pueden ser accedidos por otras computadoras mediante las comunicaciones (la red).
o
Para que la compartición de recursos sea efectiva, ésta debe ser manejada por un programa que ofrezca un interfaz de comunicación permitiendo que el recurso sea accedido, manipulado y actualizado de una manera fiable y consistente. Surge el término genérico de gestor de recursos.
o
Apertura(openness) o
Un sistema informático es abierto si el sistema puede ser extendido de diversas maneras.
o
Un sistema puede ser abierto o cerrado con respecto a extensiones hardware (añadir periféricos, memoria o interfaces de comunicación, etc… )
o
o con respecto a las extensiones software ( añadir características al sistema operativo, protocolos de comunicación y servicios de compartición de recursos, etc… ).
o
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.
Concurrencia o
Cuando existen varios procesos en una única maquina decimos que se e stán ejecutando concurrentemente. Si el ordenador esta equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos. Si la computadora tiene N procesadores, entonces se pueden estar ejecutando estrictamente a la vez hasta N procesos.
o
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 ejecutándose en paralelo.
o
En un sistema distribuido que está basado en el modelo de compartición de recursos, la posibilidad de ejecución paralela ocurre por dos razones:
Muchos usuarios interactúan simultáneamente con programas de aplicación.
Muchos procesos servidores se ejecutan concurrentemente, cada uno respondiendo a diferentes peticiones de los procesos clientes.
Viernes 25 de Enero de 2013
Escalabilidad o
El tamaño de un sistema distribuido puede ser muy variado, ya sean decenas de hosts (red de área local), centenas de hosts (red de área metropolitana), y miles o millones de hosts (Internet); esto se denomina escalabilidad.
Tolerancia a fallos o
Los sistemas distribuidos deben ser muy confiables, ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo, esto se denomina Tolerancia a Fallos.
Transparencia o
El uso de múltiples procesadores y el acceso remoto debe de ser invisible.
o
La transparencia se define como la 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.
Viernes 25 de Enero de 2013
Ilustración 23 http://1.bp.blogspot.com/-R06yAJR8kgk/T-vNZ0LLoQI/AAAAAAAAAE8/Wsvy4L0g8eI/s1600/6.png
Ventajas La principal ventaja de los sistemas cliente-servidor está en la correspondencia natural de las aplicaciones en el marco cliente-servidor. Como resultado de la disponibilidad de middleware compatible para múltiples plataformas y de los avances recientes de la interoperabilidad binaria, los sistemas cliente-servidor pueden conectar clientes ejecutándose en una plataforma con servidores ejecutándose en otra plataforma completamente distinta. 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.
Viernes 25 de Enero de 2013
Ilustración 3 http://1.bp.blogspot.com/-7tAPS0YE8mI/T-ps2u0WYQI/AAAAAAAAAEo/4MhmZJFhyjY/s1600/3.png
Aplicaciones Si en las aplicaciones paralelas el rendimiento es el objetivo fundamental, una aplicación distribuida puede presentar muy diversas motivaciones: alto rendimiento, tolerancia a fallos, alta disponibilidad, movilidad, ubicuidad. Hay diversos escenarios donde pueden presentarse aplicaciones distribuidas.
Internet o
La internet es la aplicación estrella, pues se basa en la existencia de una fuerte estructura de comunicaciones.
o
Las aplicaciones distribuidas que se pueden desplegar en Internet son muy variadas, aunque limitadas en la práctica por aspectos de
Viernes 25 de Enero de 2013
rendimiento y seguridad. Las llamadas aplicaciones peer-to-peer son un ejemplo claro de aplicaciones de alta disponibilidad que se despliegan en Internet. Otro ejemplo son los sistemas para computación en grid, que sobre la base de una estructura peer-to-peer ofrecen una gestión transparente del conjunto de recursos distribuidos disponibles en la red. Finalmente, están ganando importancia los servicios de cloud computing, que ofrecen recursos en Internet (en la nube) para soportar de manera transparente entornos y aplicaciones hasta hace poco se entendían ligados a sistemas locales, como es el caso de repositorios de documentos, agenda o correo electrónico. El objetivo es la virtualización de los espacios de información y la movilidad de los usuarios con independencia del dispositivo. o
El Grid computing aprovecha un conjunto heterogéneos de recursos de forma conjunta. Así, una empresa podría utilizar, en segundo plano, todas las CPU de sus empleados para realizar cálculos en lugar de tener un centro de cálculo específico o podría usar el espacio libre en los discos para tener un servidor de
datos
distribuido
y
altamente tolerante a fallos. Proyectos como BOINC son ejemplos
de
computación
distribuida heterogénea.
Ilustración 4 http://www.genbetadev.com/tag/siste mas-distribuidos
Intranets o
Una intranet es básicamente un entorno Internet restringido. Se utilizan los mismos protocolos y los mismos medios de acceso que en Internet, si bien el acceso se circunscribe a un dominio administrativo concreto o un conjunto de ellos (por ejemplo, en una empresa). Una intranet puede estar compuesta por varias subredes, y estas pueden estar integradas en Internet, si bien el acceso desde el exterior o la salida desde la intranet pueden estar restringidos por servidores específicos
Viernes 25 de Enero de 2013
(firewalls), que actúan como filtros aplicando criterios a diferentes niveles de la pila de protocolos. o
Una intranet admite en principio el mismo tipo de aplicaciones que las que se puedan desplegar en Internet. Además, las aplicaciones de alto rendimiento, como es el caso del la computación en cluster, o las de tolerancia a fallos, suelen tener más sentido sobre una intranet, (o sobre una LAN de la intranet), ya que, en general, los costes de comunicación pueden acotarse.
Ilustración 5 http://humbertoisaacreyes.blogspot.mx/
Entornos Ubicuos o
En un sistema ubicuo las aplicaciones no están sujetas a ámbitos administrativos o de red concretos, como las intranets, pero tampoco operan de manera ilimitada en el ámbito de Internet. Así, el dispositivo de un usuario (por ejemplo el teléfono móvil de un futuro cercano) opera en el entorno físico concreto en el que se encuentra (por ejemplo, el domicilio del usuario o un aeropuerto) de acuerdo a los servicios que descubre en ese entorno, y se adapta a la infraestructura disponible de la forma más eficiente posible. Obsérvese que para conseguir este tipo de operación un prerrequisito es que el dispositivo del usuario soporte varios modos de comunicación inalámbrica entre él y la infraestructura ofrecida por el entorno físico. Sin embargo, el mayor reto es soportar los cambios de modo de forma transparente
Viernes 25 de Enero de 2013
o
Por supuesto, un entorno ubicuo también puede proporcionar acceso a servicios de Internet o de intranet, por lo que este tipo de entornos puede considerarse el más general, y, como se ha comentado, plantean grandes retos en cuanto a infraestructuras, dispositivos hardware (miniaturización, autonomía…) y estandarización, y ofrecen grandes
expectativas (aplicaciones AmI).
Referencias [1] http://augcyl.org/?page_id=231 [2] http://unaq-so.wikispaces.com/SISTEMAS+OPERATIVOS+DISTRIBUIDOS [3] http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf [4] http://www-gti.det.uvigo.es/~pedro/pub/sodtr/pdf_v/tema_01.pdf [5]http://www.monografias.com/trabajos16/sistemas-distribuidos/sistemasdistribuidos.shtml Cuestionario 1. ¿Qué es un sistema distribuido? 2. ¿Cuál es la base para los sistemas distribuidos? 3. ¿Qué características debe tener un sistema distribuido? 4. ¿Cuáles son las ventajas de usar sistemas distribuidos?
Viernes 25 de Enero de 2013
5. La consistencia en un sistema distribuido que áreas
Viernes 25 de Enero de 2013