miércoles, septiembre 27, 2006

Unidad 2

Sistemas heterogéneos
Definición
Un sistema heterogéneo es aquel que se encuentra compuesto por hardware con características físicas distintas entre sí, y software con características operativas distintas entre sí, pero que se pueden comunicar utilizando medios comunes.

PLATAFORMA HETEROGENEIDAD.

Debido a que las microcomputadoras han estado inundando toda oficina en el mundo y aunque la gran mayoría de datos de corporaciones, gobierno e institutos educativos reside en grandes máquinas, poco a poco mucho de estos datos esta siendo movido a microcomputadoras o PC’s por su gran flexibilidad y bajo costo. La tarea de mover datos de un mainframe a PC varia en complejidad dependiendo del hardware, la red y los sistemas operativos que se ejecutan en cada uno de los sistemas. Nos encontramos ante un conjunto de objetos no comunes los cuales requieren una interconexión tanto para la migración de datos como para la compartición de los mismos.

En los ambientes actuales se tiene una gran variedad de medios y dispositivos interconectados, software para comunicación y sistemas operativos disponibles (como en la figura) que hacen que las redes de comunicación no posean una base homogénea.

Cada elemento de una red cuenta con requerimientos muy particulares lo cual hacen necesario la existencia de estándares para poder integrarse con otros sistemas.

Modelo OSI.
Estándares de comunicación.
Especificaciones.

ARQUITECTURA DISTRIBUIDA.

El principal problema en el diseño y operación es que se requiere proveer a los usuarios una completa transparencia del entorno de red sin importar las características y capacidades de los sistemas conectados. En las arquitecturas de los sistemas distribuidos podemos encontrar heterogeneidad tanto en hardware como en software.

Heterogeneidad en hardware:

Diferentes conjunto de instrucciones.
Incompatibilidad en la representación de datos.
Diferencias e incompatibilidades generales.

Heterogeneidad en red:

Diferencias entre medios de comunicación
Técnicas de señalización.
Interfaz.
Protocolos

Heterogeneidad en sistemas operativos: La heterogeneidad surge por diversas razones.

Algunas computadoras son mejores que otras para ciertas aplicaciones (compiladores, gráficos, etc).

Algunos sistemas de cómputo proveen servicios que no están disponibles para otros sistemas.

ARQUITECTURA DISTRIBUIDA, SISTEMAS OPERATIVO DISTRIBUIDO.
Sistema distribuido
Termino utilizado para definir sistemas de computación de rango amplio, desde sistemas débilmente acoplados tales como redes de área amplia hasta sistemas fuertemente acoplados tales como redes de área local y sistemas muy fuertemente acoplados tales como sistemas multiprocesador.

Aspectos de la estructura de sistemas distribuidos

El desarrollo de la estructura de un sistema distribuido tiene que ver con; el particionamiento y localización de datos, funciones y control, todo lo anterior lo podemos agrupar en:
Particionalidad.
Dispersabilidad.

Particionalidad. La particionalidad involucra a las características de datos y programas la cual define su habilidad de ser divididos en elementos más pequeños los cuales se vuelven candidatos a ser dispersados en la red.

En lo que a datos se refiere, las base de datos relacionales son más fáciles de distribuir ya que las tablas pueden fragmentarse tanto vertical como horizontalmente. En otros modelos de base de datos la distribución es más complicada.

Dispersabilidad. Con los elementos candidatos a ser dispersados en la red, ya podemos comenzar a hacer la distribución “dispersión”, solo nos hace falta tomar en cuenta dos factores:

Distancia física, y
ámbito del nodo.

A que distancia se encontrarán los elementos dispersados de sus usuarios finales y bajo que criterios se seleccionarán los nodos candidatos a recibir estos elementos. Algunos criterios son el balance de cargas del sistema, la seguridad, la confiabilidad, el tiempo de respuesta, etc. Cuando La información que se va a particionar y dispersar son los datos, es conveniente acercarlo más a los sitios desde donde se requieren con mayor frecuencia.

Que elementos se distribuyen:

El hardware.
El control.
Los datos.
El hardware. En el pasado, existían fronteras geográficas bien definidas de los sistemas: mismo lugar, mismo cuarto, mismo edificio, misma ciudad. En la actualidad esta frontera no se encuentra bien definida (“mismo mundo”). Se tienen redes de área local, de área extensa, donde se pueden distribuir cpu’s, unidades de disco, impresoras, etc. Los cpu’s deben de poder comunicarse entre sí, para de esta manera distribuir el procesamiento de una aplicación, los discos distribuidos pueden mantener múltiples copias de la información.

Las forma de conexión física de los nodos en la red puede ser generalmente: red, anillo, estrella, etc., y la comunicación entre los nodos puede ser punto a punto o difusión. Los enlaces punto a punto son líneas físicas dedicadas y conectan dos nodos, mientras que los enlaces multipunto todos los nodos se conectan a un canal común, todos reciben las transmisiones.

El control. El control centralizado requiere que un nodo sea el coordinador del conjunto de recursos del sistema, sea este lógico (archivos, procesos) o físico (cpu’s, dispositivos), todas las peticiones son enviadas al nodo coordinador, quien toma la decisión de a quién asignar el recurso, la desventaja principal del control centralizado es el cuello de botella que se presenta en el coordinador. El control distribuido significa que varios nodos comparten la decisión de a quién se le asignará el recurso. Ejemplo: se necesita ejecutar un programa, ¿en que procesador se ejecutará? ¿Quién selecciona el procesador?.

Los datos: La distribución de datos puede hacerse después de analizar la necesidad de replicación ya que contribuiría a la disponibilidad y confiabilidad. En algunas aplicaciones la partición juiciosa de los datos también puede contribuir al aumento en rendimiento y a la disponibilidad colocando los elementos más frecuentemente utilizados cercanos a sus puntos de procesamiento. Cuando la proporción de peticiones de actualizaciones es alta, la replicación de datos en múltiples sitios crea el problema del mantenimiento de la consistencia.



Sistema operativo distribuido

Es aquel que gobierna la operación de un sistema informático distribuido y proporciona una abstracción de máquina virtual a sus usuarios. Proporciona los medios para la compartición global de recursos del sistema, tales como la capacidad computacional, los archivos y los dispositivos de E/S.

La tarea primaria del sistema operativo distribuido es la de, dado un conjunto de recursos computacionales y servicios conectados por medio de una red de comunicaciones, integrarlo en un solo sistema, con todas la restricciones impuestas por los usuarios o por la heterogeneidad.

La heterogeneidad en un sistema de computación distribuida es un factor que restringe el uso efectivo de recursos. Un método generalmente aceptado para soportar la heterogeneidad es el modelo núcleo/servicio método que provee coherencia.

El núcleo se diseña y desarrolla de tal forma que provee mecanismos mínimos de sistema. Proveyendo un núcleo de sistema operativo común con el cual se resuelven dos problemas de heterogeneidad:
El núcleo provee una base homogénea sobre la cual se construyen servicios, creando gran flexibilidad.

INTEGRACIÓN DE SISTEMA HETEROGÉNEOS.

Como se mencionó al principio de este tema, tenemos que aceptar la heterogeneidad en sus diferentes manifestaciones, por el momento y probablemente por mucho tiempo hacia el futuro. Aunque digamos que la heterogeneidad es un gran problema en los sistemas distribuidos, ya que causan algunas restricciones en la eficiencia y rendimiento del sistema como conjunto, tenemos que buscar alguna solución. Algunas propuestas de solución son las siguientes:

Tratar de uniformizar el software de alto nivel de tal manera que permita su implementación en diferente hardware. Ejemplo modelo cliente/servidor.

Integración de sistemas a través de la compartición de servicios de red con el uso de (llamadas a procedimientos remotos y nombramiento).

Transparencia en los puentes del sistema operativo (convertidores y traductores).

Dentro de las propuestas de solución se tiene, el modelo cliente servidor; las llamadas a procedimientos remotos y los puentes del sistema operativo, por el momento atenderemos solamente la tercera solución, en otra ocasión las dos primeras.

Uno de los obstáculos a vencer en la interconexión de redes es el intercambio de información lo cual es una tarea difícil en sistemas homogéneos, en sistemas heterogéneos la complejidad aumenta. Existen diversas maneras denominadas enfoques que pueden ser implementados para permitir la comunicación en un ambiente heterogéneo entre aplicaciones similares y diversos protocolos.

Enfoques:

Múltiples pilas.
Aplicación de compuerta.
Pilas combinadas o mezcladas.
Puente de servicio de transporte.

Cada uno de estos enfoques serán estudiados en base a los siguientes criterios.

Rendimiento. Buen servicio y tiempo de respuesta.
Manejabilidad. Que tan manejable es.
Transparencia. Que presente una interfaz sencilla y comprensible.
Aplicabilidad. Es una solución general o de propósito especifico.


Múltiples pilas

Asume que todos los protocolos activos existen en todo el sistema, esta solución está disponible actualmente en cualquier sistema que ofrece un banco de protocolos de comunicación. Tiene las siguientes características:

Rendimiento. Tiene el beneficio de que no degrada el servicio del sistema, sólo existe la competencia por la liga de comunicaciones.

Manejabilidad. Tiene la desventaja que el administrador del sistema debe tener múltiples redes con múltiples protocolos y herramientas. El intercambio de datos debe estar bien organizado para facilitar el trabajo.

Transparencia. Tiene la desventaja de que el usuario puede necesitar diferentes interfaces, para una aplicación en cada pila que se necesite.

Aplicabilidad. Puede ser difícil de implementar, sobre todo si se utilizan soluciones de propósito general, que no sepan como configurar determinado protocolo.

Aplicación de compuertas
Es un enfoque muy utilizado y aparentemente fácil de implementar. Es una simplificación del uso de múltiples pilas, ahora sólo va a ser necesario el uso de varias pilas si la aplicación que sirve como compuerta los requiere. Tiene las siguientes características.

Rendimiento. Se degrada debido a que la compuerta (Gateway) actúa como un “cuello de botella” en la comunicación. Esta se vuelve más notable en aplicaciones que requieren utilizar múltiples servicios como transferencias de datos o login remoto.

Manejabilidad. Requiere una administración y configuración adicional a los requerimientos normales del sistema. Puede instalarse en equipos autónomos y estar funcionando de una forma dedicada a ofrecer el servicio.

Transparencia. Ofrece el resultado de pérdida significativa de sus funciones cuando las aplicaciones que lo requieren no poseen los mismo niveles de funciones y operaciones, además el usuario necesita conocer la existencia de la compuerta.

Aplicabilidad. Se utiliza en comunicaciones de aplicaciones que requiere múltiple manejo de protocolos y que manejen el concepto de “cualquier cosa en cualquier lado”.

Esta técnica da como resultado que la red provea mayor manejabilidad y solución a un costo efectivo, pero con límite en la interoperatividad.

Pilas combinadas o mezcladas

Una capa común dentro de las capas de comunicación es la capa de transporte que sirve de enlace entre los niveles superiores e inferiores. Combina la similitud que existe en las capas de diferentes protocolos para generar un modelo de comunicación común para todas las aplicaciones, sus características son:
Rendimiento. La degradación es mínima, las capas básicas que son combinadas permiten una funcionalidad modular.

Manejabilidad. El administrador del sistema requiere entender las partes de los modelos de comunicación que serán cambiados para configurarlos y administrarlos.

Transparencia. El usuario observa cada aplicación en forma transparente sin necesidad de intervenciones.

Aplicabilidad. Es una solución general para aquellos usuarios que utilizan un conjunto amplio de aplicaciones y requiere un eficiente medio de comunicación.
Puentes de servicios de transporte

Éste enfoque trata de aprovechar la estandarización que se presentan en las capas de transporte de los diversos protocolos para implementar un puente de servicio que sea capaz de atender a cualquier petición. Transforma los mensajes que son recibidos en las capas inferiores (comunicación) a un modelo estándar (de acuerdo al protocolo) y lo envía a las capas superiores (aplicación). Esta solución tiene las siguientes características:

Rendimiento. La degradación es mínima y depende de la capacidad que posea el puente que sea utilizado como servicio de transporte.

Manejabilidad. El administrador sólo requiere conocer como funciona un solo modelo de comunicación y una o dos capas para configurar las comunicaciones.

Transparencia. Es totalmente transparente al usuario sólo se observa una sola interfaz en cada aplicación.

Aplicabilidad. Es una solución general para todo un conjunto de aplicaciones que son ejecutados en diversas máquinas en un entorno de red.
Bibliografia:
COMENTARIO SOBRE LINUX
(KNOPIX 3.7 PROFESIONAL)
Rendimiento y Tiempo de respuesta: podemos decir que tiene un tiempo de llamada mas o menos considerable a comparacion de windows.
Manejabilidad: cuenta con un ambiente amigable, es facil de operar, ademas podemos accesar a las unidades desde el escritorio a diferencia de windows, ya que tenemos que accesar a una ruta especifica, en este caso "Mi PC".
Transparencia: es sencillo de utilizar, el unico inconveniente que encontramos es el de manejar el explorador de unas aplicaciones, para abrir un archivo ya existente en el disco duro.
Aplicabilidad: este es de proposito general, ya que examinas todas las aplicaciones que contienen, y observamos la disponibilidad en los diferentes usos.
Estad multiples: reconoce los protocolos pero no pudimos encontrar un acceso a la red.
Aplicacion de compuertas: se manejan impresoras, puertos USB y otros dispositivos perifericos.
Puentes de servicio de transporte: cuenta con los servicios de envio y recepcion de informacion desde cualquier otro tipo de PC.