UNIDAD III SISTEMAS COOPERATIVOS
3.1 FILOSOFÍA DE LOS SISTEMAS COOPERATIVOS, DISTRIBUIDOS Y HETEROGÉNEOS.
Procesamiento cooperativo. Es una arquitectura donde dos o más computadoras comparten el procesamiento de un programa. Esta arquitectura debe contar con recursos distribuidos: programas, archivos, base de datos, etc.
El procesamiento cooperativo debe proveer: acceso transparente al sistema, evitando de esta manera que el usuario se preocupe si el recurso a acceder es local o remoto.
Existen varias técnicas para el procesamiento cooperativo, cada una de ellas aplicable a un cierto tipo de sistema:
Procesamiento front-end.
Pipes.
Llamadas a procedimientos remotos.
Interacciones cliente/servidor.
Procesamiento front-end. Se puede escribir un programa en una PC que ejecute una aplicación de un host sin que se modifique el código de la aplicación en el host. Esto es posible ya que el código del programa en la PC realiza llamadas a una aplicación residente por medio de una interfaz de programas de aplicación (API). El API más comúnmente utilizado para el sistema IBM/3270 es el High Level Language APLI (HLLAPI).
En el procesamiento front-end, la aplicación del host se ejecuta como antes, enviando pantallas de información a la terminal. El programa de PC lee la pantalla de información del host llamando al API. Luego el programa de PC copia esta información a sus propios campos. El programa de PC se utiliza para interactuar con el usuario y ayudarlo en la edición de datos. Cuando existe información introducida por el usuario, el programa de PC mueve esta información a los campos del 3270 y le indica al API que envíe esta información al host.
Pipes. Las pipes representan un mecanismo orientado a conexión que pasa datos de un proceso a otro. Las pipes son muy utilizados en sistemas basados en UNIX. Una tubería de agua común, con agua introduciéndose en un lugar y saliendo en otros lugares, es una buena representación de las pipes de comunicación. En principio de cuentas, los procesos pueden estar en diferentes máquinas, y se pueden estar ejecutando en diferentes sistemas operativos.
Varias implementaciones de pipes pueden soportar uno o varios mecanismos de transporte concurrente. El detalle de la manera en que se soporta el mecanismo de transporte es oculto a la pipe del usuario, y la pipe impone protocolos y restricciones de formatos mínimos al usuario. Básicamente, las pipes proveen facilidades solamente para marcar las fronteras entre mensajes discretos, para determinar la identidad del transmisor, y para realizar verificaciones de la recepción de mensajes. La implementación de pipe varía de muy sencillo hasta arquitecturas complejas como la comunicación avanzada de programa a programa (APPC) de IBM. SNA de IBM y NFS de Sun.
Hay dos tipos de pipes: con-nombre y sin-nombre. Son casi idénticas. La diferencia estriba en la manera en que el proceso la inicializa.
Procesamientos remotos
Las llamadas a procedimientos remotos se discutirá en detalle en el capítulo seis. El concepto básico se describe a continuación.
El modelo de comunicación basado en llamadas a procedimientos remotos permite a un procedimiento llamar a otro procedimiento que se encuentra en una computadora remota. Esta operación se ejecutada de la misma manera en que se ejecuta una llamada a un procedimiento local. El procedimiento que llama se bloquea hasta que el procedimiento llamado termina y se recibe una respuesta.
Cuando se hace una llamada, se envía un mensaje de solicitud a la computadora remota donde reside el procedimiento, se crea un proceso para ejecutar este procedimiento, y después de que este proceso se completa, se envía un mensaje de respuesta al proceso que realizó la llamada.
Interacciones cliente/servidor
La mayoría de los sistemas distribuidos se apegan al modelo de procesamiento cooperativo en el cual el control se distribuye entre varios procesos en el sistema. Los procesos son clasificados generalmente como clientes o servidores (en algunos casos un servidor puede también ser un cliente).
Un análisis del modelo de comunicaciones para sistemas operativos distribuidos y funciones de la capa de transporte muestra, que en las capas más altas, los mensajes se envían entre clientes y servidores. Para solicitar un servicio, un proceso de usuario (conocido como proceso cliente) envía una solicitud al proceso servidor, el cual realiza la tarea y envía de regreso una respuesta. Debido a la restricción del número de servidores (depende del número de recursos), los clientes compiten por estos servidores. Diversos sistemas operativos distribuidos existentes y de nuevo diseño proveen diferentes servicios a sus usuarios utilizando servidores.
Definiciones
Un servidor es un subsistema que provee un tipo particular de servicio.
Un servicio es una entidad de software ejecutándose en una sola máquina.
Otras características
Los clientes y servidores normalmente se ejecutan en máquinas diferentes.
El control se distribuye entre varios servidores del sistema.
El control de un recurso individual se concentra en un servidor.
Generalmente un servidor se aloja en una computadora individual conectada a la red.
3.2 ANÁLISIS DE LOS SISTEMAS COOPERATIVOS DISTRIBUIDOS.
Componentes de una aplicación
Lógica de presentación. Es la parte de la aplicación que interactúa con un dispositivo tal como la terminal de un usuario o una estación de trabajo.
Tareas:
Formatos de pantalla.
Escritura y lectura de información en la pantalla.
Manejo de ventana, teclado y mouse.
Ejemplos: Windows, X-Windows, Presentation Manager de OS/2, Motif, etc.
Lógica de procesamiento. Esta parte de la aplicación que procesa los datos de entrada (desde pantalla y/o base de datos) para realizar alguna tarea. El código de la lógica de procesamiento está en algún lenguaje (C, pascal, cobol, etc.).
Lógica de procesamiento de base de datos. Esta es la parte del código de la aplicación que manipula los datos. Los datos son manejados por un Sistema Manejador de Base de Datos (DBMS). La manipulación de datos en un DMBS relacional se hace a través de algún dialecto de Lenguaje de Consulta Estructurado (SQL), el cual puede estar inmerso en el lenguaje de programación.
Beneficios de la arquitectura anterior
Lo que el usuario ve en la pantalla, a su entender, ese es el sistema.
El usuario utiliza la interfaz gráfica a la que está acostumbrado.
Se reduce el procesamiento realizado en la computadora: host, servidor, nodo, etc.
El trabajo se distribuye entre varios nodos.
Diferentes arquitecturas de sistemas cooperativos
Procesamiento cliente/servidor con datos en el servidor solamente
Presentación distribuida
El primer fragmento de la aplicación que interactúa con el usuario final es la lógica de presentación. Además, interactúa también con la lógica de procesamiento de datos. En un ambiente de propósito especial o basado en host, la lógica de presentación y procesamiento de datos se construyen en una sola unidad. Con el avance en la tecnología de las estaciones de trabajo, se han abierto nuevas capacidades de desarrollo de lógicas de presentación. Las terminales tradicionales basadas en caracteres están siendo remplazadas por pantallas de alta resolución con un número ilimitado de colores. Dispositivos apuntadores tales como el mouse, dispositivos de audio-video, facilidades de entradas y salidas se han vuelto disponibles. Estas innovaciones permiten a los desarrolladores de aplicaciones diseñar aplicaciones con presentación gráfica agradable a la vista del usuario las cuales no eran posible en terminales basadas en texto, características adicionales, se analizarán en capítulos posteriores.
Procesamiento distribuido
Mientras que la lógica de presentación de la aplicación está a la vista del usuario para las interacciones, las lógicas de procesamiento de datos y base de datos representan la esencia de la aplicación. En un entorno cliente/servidor, la lógica de presentación se coloca normalmente en la máquina cliente. Uno de los criterios de diseño es: ¿dónde colocar la lógica de procesamiento de datos y la lógica de base de datos. Hay tres posibles soluciones.
Colocar la lógica de procesamiento de datos totalmente en el sistema cliente.
Colocar la lógica de procesamiento de datos totalmente en el servidor.
Colocar la lógica de procesamiento de datos fragmentado, es decir, los fragmentos se distribuyen entre clientes y servidores.
Base de datos distribuido
La lógica de base de datos accesa a los datos a través del DBMS, la lógica de procesamiento de datos, procesa los datos y la lógica de presentación muestra los datos al usuario. De hecho el procesamiento de datos es la parte principal de la aplicación. Varias cuestiones vitales relacionadas a la distribución de datos se deben tomarse en cuenta:
Los datos están distribuidos o centralizados.
Que papel juega el servidor de base de datos.
Si los datos esta distribuidos, de qué manera se fragmentaron.
Si los datos se encuentran replicados, cuantas copias existen.
De qué manera se garantiza la integridad y disponibilidad.
3.3 INTEGRACIÓN DE SISTEMAS COOPERATIVOS, HETEROGÉNEOS Y DISTRIBUIDOS.
Los sistemas distribuidos heterogéneos pueden integrarse de varias maneras dependiendo del nivel de heterogeneidad (ver sistemas heterogéneos). Se ha visto que la heterogeneidad disminuye la eficiencia de un sistema. Para que la cooperación pueda darse en todos los niveles de una aplicación distribuida, es conveniente la estandarización por lo menos lo siguiente:
Interfaz con el usuario.
Interfaz con los datos.
Interfaz de red.
La interfaz con el usuario, se refiere a la presentación de la aplicación tanto remota como local.
La interfaz con los datos, se refiere a la manera de acceso a datos locales y remotos con independencia del manejador de base de datos.
La interfaz de red, se refiere a los protocolos de red de nivel superior (red, transporte, etc).
BIBLIOGRAFIA:
INTEGRANTES DEL EQUIPO
SATURNINO PÉREZ CORDERO
PEDRO HERNANDEZ VALENCIA
OSORNO RIVERA RODOLFO
PARRILLA SANCHEZ ALEJANDRO
LEAL PEREZ JOSÉ DE JESÚS
Enviar comentarios a la direccion:
0 Comments:
Publicar un comentario
<< Home