Introduccion Atenuacion de Un Proceso

Unidad 4.- Tolerancia a Fallas 4.1 Introducción atenuación de un proceso. Middleware En un Sistema Distribuido, el middl

Views 258 Downloads 0 File size 135KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Unidad 4.- Tolerancia a Fallas 4.1 Introducción atenuación de un proceso. Middleware En un Sistema Distribuido, el middleware (lógica de la mediación) es un software de conectividad que permite ofrecer un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Como se muestra en la figura el middleware funciona como una capa de abstracción de software distribuida que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red)

El middleware permite abstraer las funciones de un sistema distribuido, de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API (Application Programming Interface / Interfaz de Programación de Aplicaciones) para la fácil programación y manejo de aplicaciones distribuidas (Figura 34). Dependiendo del problema a resolver y de las funciones necesarias se requieren diferentes tipos de servicios de middleware.

El Middleware es fundamental para:

Migrar las aplicaciones monolíticas basadas en mainframesa aplicaciones Cliente/Servidor. Soportar la comunicación entre procesos a través de plataformas heterogéneas Los servicios del middleware proporcionan un conjunto de APIs más funcional que el sistema operativo y los servicios de red para permitir a una aplicación.

Localización transparente a través de la red, proporcionando interacción con otra aplicación o servicio.

Ser independiente de los servicios de red. Ser fiable y disponible Ser escalable, en el sentido de poder aumentar su capacidad sin pérdida de funcionalidad. Funciones Middleware

Las aplicaciones middleware realizan las siguientes funciones:

Ocultar la distribución: middlewaremaneja el hecho de que una aplicación esté compuesta de muchas partes interconectadas ejecutándose en ubicaciones distribuidas. Ocultar la heterogeneidad: middlewareoculta o hace transparente al usuario diversas plataformas de sistemas operativos, protocolos de comunicación y dispositivos hardware. Proveer interfaces uniformes y estándares de alto nivel: tanto a losdesarrolladores como a los integradores de aplicaciones, de tal manera que las aplicaciones sean fácilmente desarrolladas, reusada s, transportadas y puedan interoperar correctamente. Suministrar un conjunto de servicios comunes: para realizar variasactividades de propósito general con el fín de evitar duplicar esfuerzos y facilitar la colaboración entre aplicaciones. Qué es una organización virtual? La Organización Virtual o también llamada la Organización en Red, se basa en la contratación de empresas independientes para realizar aquellas actividades en las cuales son mejores asociándose en una red, que actúa como una sola empresa.

Las organizaciones virtuales tienen como objetivo principal la flexibilidad, y son muy parecidas a las organizaciones en trébol y en red. Son organizaciones orientadas al mercado, que se configuran como un conjunto de cadenas de valor relacionadas entre proveedores, clientes, competidores, otras organizaciones y la propia empresa.

Ejemplos de organización virtual.

Entre los primeros modelos de organizaciones virtuales podemos mencionar a mercados electrónicos como eBay (subastas directas), PayPal (pagos electrónicos entre empresas o individuos), que siguen un modelo de cooperación directa entre individuos o pequeñas organizaciones, supermercados online como Amazon (libros, electronicos, general), PeaPod (comestibles), NetFlix (películas), Skype, Vonage y Net2Phone (comunicaciones) banca online y toda clase de servicios profesionales y asistenciales a distancia.

SERVIDOR CONCURRENTE Ventajas Desventajas

·

Atiende efectivamente al usuario.

·

Mientras se está atendiendo, se está escuchando.

·

Crea una línea de ejecución o precio cada vez que un cliente llega a pedir un servicio

·

Todo cliente tiene que esperar a su atendido

· La mayor parte de la espera es debido a las operaciones de que hay capacidad del CPU que se desperdicia. ·

Su cliente pide un proceso muy largo los demás deben esperar.

sin-titulo

Consistencia y Replicación. Replicación: – Los datos se replican para aumentar la disponibilidad o el rendimiento. – Un aspecto fundamental es la consistencia entre las réplicas: cuando se actualiza una copia, se deben actualizar también las demás. – La replicación está muy relacionada con la escalabilidad.

Replicación en un sistema distribuido: – Concurrencia (múltiples procesos ejecutados simultáneamente y que pueden interactuar entre sí) : se debe considerar como controlarla en el acceso a un objeto por parte de diferentes clientes. – Si un objeto tiene más de una réplica, las operaciones deben realizarse en determinado orden en cada réplica.

En un sistema distribuido hay una serie de posibles modelos de consistencia de datos. Un sistema soporta cierto modelo, si las operaciones en memoria siguen normas específicas. La consistencia de los datos es definida entre el programador y el sistema, que garantiza que si el programador sigue las reglas, la memoria será consistente, y el resultado de las operaciones de memoria será predecible.

Modelos de consistencia En un modelo existen dos operaciones: WRITE , READ. Un cliente que accede a los datos, realiza Read o Write sobre una copia de los datos. Existen múltiples copias de los datos, las cuales están estructuradas en lo que llamaremos almacén de datos. Un modelo de consistencia consiste en un contrato entre los procesos que acceden a los datos. Dicho contrato consiste en que si los procesos siguen ciertas reglas, el almacén de datos les dará ciertas garantías.

Mencionaré algunos de esos modelos:

CONSISTENCIA ESTRICTA Una operacion R(x) (de lectura sobre X) retorna el valor de la última operación W(x) (escritura sobre X).

CONSISTENCIA SECUENCIAL El resultado de cualquier ejecución distribuida, es el mismo que obtendras al ejecutar las operaciones R y W en algún orden secuencial, respetando que las operaciones R y W de un mismo proceso se ejecutan en el orden que impone el proceso. Es decir, cualquier intercalación entre lecturas y escrituras es admisible, pero todos los procesos las ven en el mismo orden.

CONSISTENCIA LINEALIZABLE Igual que la anterior, pero se asume que existe un reloj global sincronizado de precisión finita entre los diferentes nodos. Este tipo de relojes se pueden construir con algoritmos de sincronización de relojes y proporcionar un reloj global en el que varios eventos pueden ejecutarse en el mismo instante : dependiendo de la precisión.

CONSISTENCIA CAUSAL Las escrituras que tengan relación causal potencial, deben verse en el mismo orden. Las escrituras concurrentes pueden verse en ordenes diferentes.

CONSISTENCIA FIFO Las escrituras que realizan un único proceso, son vistas por todos los demás en el mismo orden, pero las escrituras que realizan procesos diferentes, pueden verse en ordenes diferentes.

GLOSARIO Argumentos: valores de entrada con los cuales trabaja una rutina o programa. Cuando un argumento se usa para ajustar un programa a los requerimientos de un cliente se llama parámetro.

Batch: término inglés que en informática se traduce por los términos ‘por lotes’, ‘conjunto’ o ‘grupo’. Característica típica de ciertos procesos, que indica una serie de tareas que se ejecutan de forma sucesiva en el ordenador y se consideran como una unidad.

Capas o niveles de software: son todos aquellos niveles software que se sitúan entre el usuario y los dispositivos físicos de la máquina, de forma que el nivel de complejidad para la utilización de las capas o niveles aumenta conforme nos acercamos al hardware.

Cargador: programa encargado de cargar las distintas líneas de código de un programa ejecutable en la memoria principal del ordenador para su posterior ejecución.

Cliente: aquel proceso o dispositivo solicitante que realiza la petición de un servicio o trabajo a otro proceso denominado ‘servidor’.

Código portable: aquel que puede moverse fácilmente de un tipo de máquina a otra, aunque cambien las características internas de la misma.

Consola: dispositivo de entrada de datos a un ordenador, conocido más genéricamente como teclado o terminal, ya sea manual o por conectores.

Controladores de E/S: dispositivos físicos encargados de gestionar la transferencia de datos entre la CPU, a través del bús de datos del ordenador y un periférico conectado al puerto de E/S.

CPU: Acrónimo inglés de “Central Processing Unit”, en castellano, “Unidad Central de Proceso”. Aquella unidad incluida íntegramente en el microprocesador(solo en PC’s) de un computador que controla el resto de unidades. Formada por la unidad aritmético-lógica, la unidad de control y de pequeños registros principalmente. El control lo lleva a cabo mediante la interpretación y la ejecución de instrucciones, según las señales que le dicta un reloj.

Depurador: programa especializado en la corrección y eliminación de errores en un código fuente durante su edición, o capturando diversos datos durante su ejecución.

Editor de texto: programa orientado a la edición, y manipulación de archivos de texto. No presenta características de procesamiento complejas.

Enlazador: programa encargado de unir o enlazar el código de varios módulos separados que mantienen llamadas o referencias cruzadas entre los mismos, de forma que se pueda realizar su posterior ejecución.

Ensamblador: lenguaje de programación de medio nivel, el cual es traducible directamente a lenguaje máquina. Está constituido por un juego de instrucciones característico de cada máquina con distinta arquitectura.

Hardware: conjunto de dispositivos físicos, metálicos y de materiales plásticos que forman el ordenador u otro dispositivo conectado al mismo.

Interactividad: propiedad que es característica de entes comunicativos en los cuales priman los tiempos cortos de respuesta. Es característico de ciertos procesos y dispositivos.

Interfaz o interface: de un objeto es la parte de un objeto accesible desde su exterior, que nos permite utilizarlo y consultar su estado interno. La vamos a utilizar como medio de comunicación entre el objeto y cualquier ente que quiera comunicarse con él.

Interrupción: detención temporal en un punto determinado de un programa, para permitir el acceso y proceso de una rutina que tomará el control del sistema. Puede ocurrir debido a diferentes causas ya sean hardware o software.

Lenguajes de alto nivel: lenguajes simbólicos constituidos por un léxico, una sintaxis y una semántica; los cuales son fácilmente entendibles por el usuario cuando tiene que realizar programas para computadoras.

Lenguaje máquina: (instrucciones) son aquellas que basadas en secuencias de ceros y unos (código binario ), son entendibles directamente por el ordenador y por lo tanto ejecutables sin necesidad de traducción.

Máquina virtual: es aquella interface que mantiene una máquina mediante la cual nos comunicamos con los dispositivos hardware del ordenador. De esta forma nosotros trabajamos a un nivel superior eliminando la complejidad de dichos dispositivos. De esta forma podemos mantener distintos Sistemas Operativos corriendo sobre una misma máquina.

3.1.-INTRODUCCIÓN MODELOS DE CONSISTENCIA Consistencia secuencial

La consistencia secuencial es una forma ligeramente más débil de la consistencia estricta. Satisface la siguiente condición:

El resultado de una ejecución es el mismo si las operaciones (lectura y escritura) de todos los procesos sobre el dato fueron ejecutadas en algún orden secuencial y las operaciones de cada proceso individual aparecen en esta operaciones de cada proceso individual aparecen en esta secuencia en el orden especificado por su programa

Un dato almacenado secuencialmente consistente. Un dato almacenado que no es secuencialmente consistente. Consistencia Débil Los accesos a variables de sincronización asociadas con los datos almacenados son secuencialmente consistentes.

Propiedades

No se permite operación sobre una variable de sincronización hasta que todas las escrituras previas de hayan completado. No se permiten operaciones de escritura o lectura sobre ítems de datos hasta que no se hayan completado operaciones previas sobre variables de sincronización.

Consistencia Causal El modelo de consistencia causal es un debilitamiento de la consistencia secuencial. Se hace una diferenciación entre eventos que están potencialmente relacionados en forma causal y aquellos que no. Las operaciones que no están causalmente relacionadas se dicen concurrentes.

La condición a cumplir para que unos datos sean causalmente consistentes es:

Escrituras que están potencialmente relacionadas en forma causal deben ser vistas por todos los procesos en el mismo orden. Escrituras concurrentes pueden ser vistas en un orden diferente sobre diferentes máquinas.

Esta secuencia es permitida con un almacenamiento causalmente consistente, pero no con un almacenamiento secuencialmente consistente o con un almacenamiento consistente en forma estricta.

Consistencia Estricta El modelo de consistencia más restrictivo es llamado consistencia estricta y es definido por la siguiente condición Cualquier lectura sobre un item de dato x retorna un valor correspondiente con la más reciente escritura sobre x

Un almacenamiento estrictamente consistente. Un almacenamiento que no es estrictamente consistente. IDENTIFICAR Y DESCRIBIR LOS MODELOS DE CONSISTENCIA EN SISTEMAS DISTRIBUIDOS La duplicidad de los bloques compartidos aumenta el rendimiento, pero produce un problema de consistencia entre las diferentes copias de la página en caso de una escritura. Si con cada escritura es necesario actualizar todas las copias, el envío de las páginas por la red provoca que el tiempo de espera aumente demasiado, convirtiendo este método en impracticable. Para solucionar este problema se proponen diferentes modelos de consistencia, que establezcan Nombramos algunos modelos de consistencia, del más fuerte al más débil: consistencia estricta, secuencial, causal, PRAM, del procesador, débil, de liberación y de entrada. ESTRICTA, CASUAL, SECUENCIAL, DEBIL, DE LIBERACION Y DE ENTRADA. CONSISTENCIA CASUAL: La condición a cumplir para que unos datos sean causalmente consistentes es: Escrituras que están potencialmente relacionadas en forma causal deben ser vistas por todos los procesos en el mismo orden. Escrituras concurrentes pueden ser vistas en un orden diferente sobre diferentes máquinas. Es permitida con un almacenamiento causalmente consistente, pero no con un almacenamiento secuencialmente consistente o con un almacenamiento consistente en forma estricta. CONSISTENCIA SECUENCIAL: La consistencia secuencial es una forma ligeramente más débil de la consistencia estricta. Satisface la siguiente condición: El resultado de una ejecución es el mismo si las operaciones (lectura y escritura) de todos los procesos sobre el dato fueron ejecutadas en algún orden secuencial Un dato almacenado secuencialmente consistente. Un dato almacenado que no es secuencialmente consistente. CONSISTENCIA DÉBIL: Los accesos a variables de sincronización asociadas con los datos almacenados son secuencialmente consistentes. Propiedades

No se permite operación sobre una variable de sincronización hasta que todas las escrituras previas de hayan completado. No se permiten operaciones de escritura o lectura sobre datos hasta que no se hayan completado operaciones previas sobre variables de sincronización. CONSISTECIA DE LIBERACION: Se basa en el supuesto de que los accesos a variables compartidas se protegen en secciones críticas empleando primitivas de sincronización, como por ejemplo locks. En tal caso, todo acceso esta precedido por una operación adquiere y seguido por una operación release. Es responsabilidad del programador que esta propiedad se cumpla en todos los programas.

3.2.- Modelos de Consistencia centrada al Cliente Este tipo de modelos trata una clase especial de almacenamiento de datos distribuidos. Los almacenamiento de datos referidos están caracterizados por una falta de actualizaciones simultáneas, o cuando dichas actualizaciones ocurren, pueden ser fácilmente resueltas. La mayoría de las operaciones son de lectura. La introducción de modelos de consistencia centrados en el cliente permiten esconder muchas inconsistencias de manera relativamente fácil. En esencia la consistencia centrada en el cliente provee garantías para un único cliente concerniente a la consistencia de accesos a los datos de ese cliente. No se dan garantías para accesos concurrentes por diferentes clientes.

En escencia la cosnsistencia centrada en el cliente provee garantías para un único cliente concurrente a la consistencia de accesos a los que los datos de ese cliente.

Lecturas Monotónicas Escrituras Monotónicas Escrituras Escrituras seguidas de Lecturas 3.4.-Protocolos de Consistencia

Un protocolo de consistencia describe la implementación de un modelo específico de consistencia.

Los modelos de consistencia a los cuales, las operaciones están generalmente centralizadas son los modelos más importantes y los más ampliamente aplicados.

Incluye:

Consistencia secuencial Consistencia débil Transacciones atómicas

Los protocolos pueden ser:

Basados en el primario De escritura replicada Cada ítem de dato x/y tienen en el almacenamiento de datos un primario asociado.

El cual es responsable de coordinar las operaciones.

Modelos de consistencia En un modelo existen dos operaciones: WRITE , READ. Un cliente que accede a los datos, realiza Read o Write sobre una copia de los datos. Existen múltiples copias de los datos, las cuales están estructuradas en lo que llamaremos almacén de datos.

Un modelo de consistencia consiste en un contrato entre los procesos que acceden a los datos. Dicho contrato consiste en que si los procesos siguen ciertas reglas, el almacén de datos les dará ciertas garantías.

Mencionaré algunos de esos modelos:

A. CONSISTENCIA ESTRICTA

Una operacion R(x) (de lectura sobre X) retorna el valor de la última operación W(x) (escritura sobre X).

B. CONSISTENCIA SECUENCIAL

El resultado de cualquier ejecución distribuida, es el mismo que obtendras al ejecutar las operaciones R y W en algún orden secuencial, respetando que las operaciones R y W de un mismo proceso se ejecutan en el orden que impone el proceso. Es decir, cualquier intercalación entre lecturas y escrituras es admisible, pero todos los procesos las ven en el mismo orden.

C. CONSISTENCIA LINEALIZABLE

Igual que la anterior, pero se asume que existe un reloj global sincronizado de precisión finita entre los diferentes nodos. Este tipo de relojes se pueden construir con algoritmos de sincronización de relojes y proporcionar un reloj global en el que varios eventos pueden ejecutarse en el mismo instante : dependiendo de la precisión.

D. CONSISTENCIA CAUSAL

Las escrituras que tengan relación causal potencial, deben verse en el mismo orden. Las escrituras concurrentes pueden verse en ordenes diferentes.

E. CONSISTENCIA FIFO

Las escrituras que realizan un unico proceso, son vistas por todos los demás en el mismo orden, pero las escrituras que realizan procesos diferentes, pueden verse en ordenes diferentes.

TUTORIAL Se aplica a: SQL Server 2016

La replicación es una buena solución para el problema de mover datos entre servidores conectados de forma continua. La utilización de asistentes para replicación le facilitará la configuración y administración de una topología de replicación. Este tutorial le mostrará cómo configurar una topología de replicación para servidores conectados de forma continua.

Aprendizaje Este tutorial le mostrará cómo publicar datos de una base de datos a otra con la replicación transaccional. En la primera lección se muestra cómo utilizar SQL Server Management Studio para crear una publicación. En las siguientes lecciones se explica cómo crear y validar una suscripción y cómo medir la latencia.

Requisitos Este tutorial está destinado a usuarios que están familiarizados con las operaciones básicas de las bases de datos, pero que tienen una experiencia limitada en operaciones de replicación. Para realizar este tutorial, es preciso que haya finalizado el anterior, Preparar el servidor para replicación. Para utilizar este tutorial, el sistema debe contar con los siguientes componentes:

En el publicador (servidor de origen): Cualquier edición de SQL Server, excepto Express (SQL Server Express) o SQL Server Compact. Estas ediciones no pueden ser publicadores de replicación. AdventureWorks2012 Base de datos de ejemplo. Con el objeto de mejorar la seguridad, las bases de datos de ejemplo no se instalan de forma predeterminada. En el suscriptor (servidor de destino): Cualquier edición de SQL Server, excepto SQL Server Compact. SQL Server Compact no puede ser un suscriptor de replicación transaccional. System_CAPS_ICON_note.jpg Nota La replicación no se instala de forma predeterminada en SQL Server Express. System_CAPS_ICON_note.jpg Nota En SQL Server Management Studio, debe conectarse al publicador y al suscriptor con un inicio de sesión que sea miembro del rol fijo de servidorsysadmin. ATENUACIÓN DE UN PROCESO Un protocolo de consistencia describe la implementación de un modelo específico de consistencia. Los modelos de consistencia a los cuales, las operaciones están generalmente centralizadas son los modelos más importantes y los más ampliamente aplicados.

Incluye:

Consistencia secuencial Consistencia débil Transacciones atómicas

Los protocolos pueden ser:

Basados en el primario De escritura replicada Cada ítem de dato x/y tienen en el almacenamiento de datos un primario asociado.

El cual es responsable de coordinar las operaciones. En un modelo existen dos operaciones: WRITE , READ. Un cliente que accede a los datos, realiza Read o Write sobre una copia de los datos. Existen múltiples copias de los datos, las cuales están estructuradas en lo que llamaremos almacén de datos. Un modelo de consistencia consiste en un contrato entre los procesos que acceden a los datos. Dicho contrato consiste en que si los procesos siguen ciertas reglas, el almacén de datos les dará ciertas garantías.

EJEMPLOS DONDE SE USA LA COMUNICACIÓN EN GRUPOS Navegación por la web Cada vez que visitas una página web, tu navegador (el cliente) envía una solicitud al servidor para la página que deseas ver. La mayoría de las acciones que realices en esa página, como hacer clic en enlaces, envía solicitudes adicionales al servidor para obtener más información.

Correo electrónico Cuando haces clic en el botón “Enviar” por primera vez en un mensaje de correo electrónico, no se envía directamente a las computadoras de los destinatarios. En cambio, va desde tu ordenador (cliente) a un servidor de correo electrónico. Más tarde, cuando los destinatarios consultan su correo electrónico, sus equipos (también clientes) envían solicitudes al servidor de correo electrónico para obtener copias de tu nuevo mensaje.

Juegos Muchos juegos utilizan un modelo de cliente y servidor. Al jugar con otras personas, cada acción que tomes puede enviarse al servidor. El mismo procesa las acciones que cada jugador y luego devuelve los resultados a su ordenador. El programa de cliente (el juego) muestra los resultados al jugador.

REGISTRO DE ESCRITURA ANTICIPADA Todas las bases de datos de SQL Server tienen un registro de transacciones que graba todas las transacciones y las modificaciones que cada transacción realiza en la base de datos.El registro de transacciones es un componente esencial de la base de datos y, si se produce un error del sistema, podría ser necesario para volver a poner la base de datos en un estado coherente.Esta guía proporciona información acerca de la arquitectura física y lógica del registro de transacciones.Comprender la arquitectura puede mejorar la eficacia en la administración de registros de transacciones.

4.1.-INTRODUCCIÓN A LA ATENUACIÓN DE UN PROCESO un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es “Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados”

Para entender lo que es un proceso y la diferencia entre un programa y un proceso, A. S. Tanenbaum propone la analogía “Un científico computacional con mente culinaria hornea un pastel de cumpleaños para su hija; tiene la receta para un pastel de cumpleaños y una cocina bien equipada con todos los ingredientes necesarios, harina, huevo, azúcar, leche, etcétera.” Situando cada parte de la analogía se puede decir que la receta representa el programa (el algoritmo), el científico computacional es el procesador y los ingredientes son las entradas del programa. El proceso es la actividad que consiste en que el científico computacional vaya leyendo la receta, obteniendo los ingredientes y horneando el pastel.

Cada proceso tiene su contador de programa, registros y variables, aislados de otros procesos, incluso siendo el mismo programa en ejecución 2 veces. Cuando este último caso sucede, el sistema operativo usa la misma región de memoria de código, debido a que dicho código no cambiará, a menos que se ejecute una versión distinta del programa.

Los procesos son gestionados por el sistema operativo y están formados por:

Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.

Su estado de ejecución en un momento dado, esto es, los valores de los registros de la unidad central de procesamiento para dicho programa.

Su memoria de trabajo (memoria crítica), es decir, la memoria que ha reservado y sus contenidos.

Otra información que permite al sistema operativo su planificación.

Un proceso se rige en pequeñas porciones, conocidas como páginas, y cada proceso tiene su propia tabla de paginación, fungiendo como una optimización del sistema operativo ante los fallos de página.

Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.

Los procesos son creados y eliminados por el sistema operativo, así como también éste se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos (interrupción o tiempo de reloj). El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (fork). El proceso de arranque de GNU/Linux inicia con un sólo proceso (init) y después comienza a crear los hilos necesarios para tener el sistema listo para su uso. Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.

4.2.-COMUNICACIÓN CONFIABLE CLIENTE/SERVIDOR Cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras.

Algunos ejemplos de aplicaciones computacionales que usen el modelo cliente-servidor son el Correo electrónico, un Servidor de impresión y la World Wide Web

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

4.3.-COMUNICACIÓN CONFIABLE EN GRUPO Un mensaje puede ser enviado a múltiples receptores en una sola operación

Grupo: colección de procesos que actúan juntos en algún sistema o forma especificada por usario Son dinámicos Implementación depende del hardware S R S R R R R Carlos Figueira/USB 38 Comunicación en grupo Se requieren mecanismos par administrar grupos y miembros de grupos Se utilizan direcciones especiales para Difusión y Multipunto Alternativa: transmitir mensajes por separado Es útil para construir sistemas Tolerantes a fallas en servidores replicados Localizar objetos en servicios distribuidos Mejor desempeño a través de datos replicados Grupos cerrados vs Grupos abiertos Grupos jerárquicos vs Grupos de amigos Miembros del grupo Direccionamiento de grupos Primitivas send y receive

Atomicidad Ordenamiento de mensajes Solapamiento de grupos

4.4.-RECUPERACIÓN Puede recuperar el sistema operativo del servidor o todo el servidor mediante Entorno de recuperación de Windows y una copia de seguridad creada anteriormente con Copias de seguridad de Windows Server.

Puede obtener acceso a las herramientas de recuperación y solución de problemas en el Entorno de recuperación de Windows mediante el cuadro de diálogo Opciones de recuperación del sistema en el asistente para instalar Windows. Para iniciar este asistente en Windows Server 2008 R2, use el disco de instalación de Windows o bien inicie o reinicie el equipo, presione F8 y, a continuación, seleccione Reparar el equipo en la lista de opciones de inicio.

Además, puede configurar los servidores para que conmuten por error al Entorno de recuperación de Windows si no pueden arrancar.

Para recuperar el sistema operativo, es necesario realizar una reconstrucción completa y elegir las opciones adecuadas de modo que solo se restauren los datos de los volúmenes críticos (volúmenes que contengan archivos del sistema operativo).

Cuando realice una recuperación del sistema operativo o del servidor completo, deberá especificar lo siguiente:

La copia de seguridad que se utilizará

Si realizará una recuperación sólo del sistema operativo o del servidor completo

Si volverá a formatear y a crear particiones en los discos

Si recupera en un nuevo disco duro, asegúrese de que el disco tenga al menos la misma capacidad de almacenamiento que el disco que contenía los volúmenes para los que se realizó la copia de seguridad, independientemente del tamaño de estos volúmenes. Por ejemplo, si durante la realización de la copia de seguridad solo había un volumen de 100 GB en un disco de 1 TB, durante la restauración debe usar un disco de al menos 1 TB.

(2008). Capitulo8: Tolerancia a fallas. A. Tanenbaum & M. Van Steen (Autores) & J. García & R. Navarro (Traductores). Sistemas Distribuidos: Principios y Paradigmas (Segunda ed. pp. 321 – 374). México: Pearson Educación