option
Cuestiones
ayuda
daypo
buscar.php

ESIIAB Test Sistemas Distribuidos

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
ESIIAB Test Sistemas Distribuidos

Descripción:
Test temas 1-6

Fecha de Creación: 2023/06/18

Categoría: Universidad

Número Preguntas: 53

Valoración:(4)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Indica las respuestas correctas: En el modelo arquitectónico basado en eventos, ¿cuál es el comportamiento del mensaje notify? Selecciona una o más de una: Permite a los subscriptores de un recurso notificar al gestor del recurso que quieren que se les avise cuando se produzcan eventos de un cierto tipo. Es el mensaje enviado por el gestor del recurso a los subscritores para indicarles la ocurrencia de un evento. Se envía a los clientes para notificarles que el recurso se ha dado de baja o una situacuón de error. Permite a un componente notificar a los clientes la publicación de un nuevo recurso.

Indica las respuestas correctas con respecto a: El middleware adaptativo se caracteriza por la/s siguientes características: Selecciona una o más de una: Permite el reemplazo de componentes, mediante un mecanismo de carga y descarga dinámica de componentes. Es un conjunto de componentes que se incluyen dentro del sistema operativo como capa de soporte a las aplicaciones. Servidores de aplicaciones, como Glassfish, pueden ayudar en la automatización de las tareas de despliegue y gestión de recursos en este tipo de middleware. Es un software que permite a un sistema distribuido adaptarse a los cambios continuos sin detener la ejecución del sistema.

Indica las respuestas correctas con respecto a un cliente/servidor multihilo. Selecciona una o más de una: El servidor está siempre a la escucha de peticiones, cuando llega una nueva petición despliega un thread paralelo a su propia ejecución para atender la petición. La respuesta al cliente se envía por el thread. El servidor despliega varios threads en paralelo que se conectan al mismo puerto de entrada para atender las peticiones entrantes. El servidor se despierta periódicamente para comprobar si hay mensajes pendientes de los clientes, y los atiende secuencialmente, lanzando un thread para cada uno, pero para garantizar exclusión mutua en el servidor hasta que no acaba una petición no atiende la siguiente. El servidor está siempre a la escucha de peticiones, cuando llega una nueva petición despliega un thread paralelo a su propia ejecución para atender la petición. Se sincroniza con el hilo (thread) para enviar la respuesta al cliente.

Indica las respuestas correctas con respecto al marshalling o empaquetado. Seleccione una o más de una: Permite la interoperabilidad entre los diferentes componentes de las aplicaciones distribuidas, representando la información en un formato canónico y comprimiéndola en formato binario para reducir el ancho de banda requerido en su transmisión. Es un caso particular de la reflexión, que permite a los programas conocer su contenido y empaquetarlo su transmisión por la red. Permite enviar la información de nodo a nodo en un formato textual estandarizado, como hace JSON. Empaqueta los datos en un fichero .class para su transmisión por la red.

Indica las respuestas correctas con respecto del PROXY en la comunicación RMI. Seleccione una o más de una: El proxy permite que los clientes interactúen con los objetos remotos como si fueran locales. El proxy se encarga del marshalling o empaquetado de la información del mensaje de petición del cliente. El desempaquetado se realiza por el dispatcher del objeto servidor. El proxy se encarga del marshalling o empaquetado de la información del mensaje de petición del cliente. El desempaquetado se realiza por el esqueleto del objeto servidor. El Proxy se obtiene a partir del registro ubicado en el servidor, con el método lookup.

En un servidor tenemos un método "sumar", con la sintaxis: void sumar(int p) que hace lo siguiente: contador = contador + p; siendo "contador" un contador entero local inicializado a 0 (se va incrementando en cada invocación a sumar). Indica entonces las respuestas correctas, con respecto a la ejecución de la siguiente invocación remota, partiendo de que el contador vale 0 cuando se invoca: resultado=sumar(5);. Con la semántica May-be el contador podría valer 15 tras la operación. Con la semántica May-be la invocación puede dar lugar a que la variable contador sea 0. Con la semántica at-most-once el contador podría valer 0, 5 o 10. Con la semántica at-least-once la invocación puede dar lugar a que el contador valga 20.

Indica las respuestas correctas con respecto de los IDLs (Lenguajes de Definición de Interfaces): Seleccione una o más de una: Es posible declarar clases, tipos y estructuras compartidas, pero no se pueden compartir variables. Podemos emplear paso por parámetros por valor y por referencia, como en C. Es posible declarar tipos, estructuras y variables compartidas. A través de ellos se indican los servicios ofrecidos, indicando los nombres de los métodos y sus tipologías.

Indica cuáles de las siguientes afirmaciones sobre los clusters son ciertas: Seleccione una o más de una: Los clusters están formados por un conjunto de ordenadores homogéneos, deben ser todos iguales. La migración de procesos es posible en un cluster, pero no la migración de datos. La compartición de carga es la política de planificación normalmente empleada. Consiste en repartir el trabajo de manera equitativa entre las estaciones. La compartición de carga es la política de planificación normalmente empleada. Consiste en que las estaciones más ocupadas envían trabajo a las estaciones desocupadas.

Indica las afirmaciones correctas con respecto a los servicios web. Seleccione una o más de una: La capa WSDL permite a otros nodos participantes conocer los servicios ofrecidos por un nodo, y la forma de utilizarlos. Las interacciones cliente-servidor en servicios web pueden ser autónomas, sin necesidad de intervención humana. La capa WSDL hace referencia al envío de mensajes y su procesamiento en la recepción, mediante un formato estandarizado en XML. Permiten la interoperabilidad mediante el uso de un conjunto de tecnologías apoyadas en XML.

Indica las afirmaciones correctas, con respecto a los sistemas punto-punto (P2P): Seleccione una o más de una: En todos los casos requieren de un servidor central, donde almacenar un índice con las ubicaciones de los recursos ofrecidos. En una arquitectura híbrida hay uno o varios servidores con información de enlace. Normalmente no existe un nodo centralizado. La información se localiza mediante un descriptor asociado a cada recurso, que se añade a su contenido. El anonimato se garantiza mediante el uso de funciones hash seguras.

Indica las afirmaciones correctas con respecto al modelo arquitectónico de componentes en sistemas distribuidos: Seleccione una o más de una: Los componentes constan de un interfaz claramente definido, así como de un conjunto de componentes externos que se necesitan para que éste opere correctamente. Los componentes desarrollados con una misma tecnología pueden acceder al cuerpo de la implementación de los componentes con los que interactúan. Los componentes son elementos modulares que pueden compilarse independientemente y que permiten su reemplazo. Los componentes son ficheros compilables separadamente que implementan servidores centrales.

Indica la respuesta correcta: En el modelo semántico avanzado de envío de mensajes, el "Send asíncrono bloqueante" se caracteriza por lo siguiente: Seleccione una: Se bloquea el send hasta que finaliza el copiado de datos al área interna del sistema en el nodo emisor, pero espera acuse de recibo del receptor. El bloqueo del send sólo dura hasta que se inicia la transferencia física desde el nodo emisor al receptor. No espera acuse de recibo. En cuanto se inicia la transferencia de datos al área del sistema se bloquea el send. No espera confirmación alguna del receptor. El send queda bloqueado hasta la recepción de un acuse de recibo por parte del receptor, que envía en cuanto empieza a recibir datos.

Indica cuáles de las características siguientes son válidas en la semántica de invocación remota "At-most-once": Seleccione una o más de una: La invocación remota puede fallar y no hay reenvío desde el cliente. En caso de fallo se reenvía la petición, pero se emplea un número de secuencia para que el servidor no la realice varias veces. El servidor emplea un log para guardar las respuestas anteriores, ordenado por los números de secuencia de las peticiones de los clientes. En caso de fallo se reenvía la petición por el cliente, la operación puede realizarse varias veces.

En un programa de SUN RPC nos encontramos con una sentencia como la siguiente: dres = suma_1(arg1, arg2, handle); Si se emplea la semántica de invocación remota "Maybe" es posible que la operación "suma_1" se realice varias veces. Verdadero. Falso.

Indica las afirmaciones correctas con respecto al cloud. Selecciona una o más de una: Los usuarios de cloud firman unos contratos denominados SLAs, que establecen las condiciones de uso y pago de los servicios. La virtualización se usa de manera extensiva en el cloud como herramienta de compartición de equipos muy caros. La paravirtualización es una técnica que require del uso de núcleos modificados para su ejecución en las plataformas virtualizadas. La virtualización de hardware es una técnica que nos permite replicar determinadas configuraciones hardware en entornos virtualizados para la ejecución de software específico. En cloud computing se oferta un conjunto de ordenadores y servicios de forma dinámica a un conjunto de usuarios, que normalmente pagan por los servicios que usan. En la computación en cloud se persigue un uso colaborativo de recursos computaciones puestos a disposición por un conjunto de entidades o personas.

Indica la respuesta correcta: Supongamos que estamos en el nodo con GUID 1A71F, y que en ese nodo tenemos la siguiente tabla de enrutamiento: [ 0B792, 10428, 1C992, 1DA01]. Supongamos que conocemos las tablas de enrutamiento en cada uno de esos nodos: Para 0B792 su tabla es [0A812, 0B653, 0EA01, 0EC14 ] Para 10428 su tabla es [ 0F781, 10241, 14717, 15AB0 ] Para 1C992 su tabla es [ 14717, 15AB0, 1DA01, 1E012 ] Para 1DA01su tabla es [ 1A024, 1D741, 1F041, 1F232 ] Se pide: indica el GUI dónde estaría almacenado un recurso con GUID 1F082. 0B792. 1D741. 10241. 1A024. 1F041. 1DA01. 1E012. 1F232.

Consideremos el sistema siguiente que consta de 3 procesos en tres nodos diferentes intercambiando mensajes según se muestra en la figura. Se pide, indicar las correctas. El valor del reloj vectorial de 'i' es (2,3,3). El valor del reloj vectorial de 'c' es (2,1,0). El valor del reloj vectorial de 'f' es (0,3,0). El valor del reloj vectorial de 'c' es (3,0,0). El valor del reloj vectorial de 'i' es (0,3,3). El valor del reloj vectorial de 'f' es (2,3,2). El valor del reloj vectorial de 'c' es (3,1,0). El valor del reloj vectorial de 'f' es (0,3,2).

Supongamos un sistema asíncrono con sincronización interna de sus relojes físicos entre dos nodos P y Q. El nodo P envía a Q su valor de hora local igual a 125000 unidades de tiempo (u.t.). El tiempo de transmisión entre P y Q está acotado por el intervalo [10, 20] u.t. Se pide: indicar el valor numérico decimal de la nueva hora en Q a la recepción del mensaje, en unidades de tiempo. Indicar únicamente el valor numérico resultante, no las unidades en que se mide. Ejemplo: 200,23.

Indica las respuestas correctas con respecto de la visión optimista de la concurrencia en la ejecución de transacciones. Seleccione una o más de una: Para escribir en un recurso se crea una copia tentativa para cada transacción, que después usa esa transacción en sus siguientes operaciones de lectura y escritura. La validación se realiza por orden, según van entrando en su fase de trabajo. Evita bloquear recursos durante la fase de trabajo de las transacciones. La validación consiste en comprobar los conflictos de la transacción que se valida con aquellas que se han solapado con ella durante su ejecución. La validación se realiza por orden, según van entrando en su fase de validación. No hay bloqueos de recursos en ninguna de las fases de la ejecución de las transacciones. Las operaciones de lectura se realizan en todos los casos sobre el último valor confirmado del recurso afectado.

Un callback es un método de un objeto servidor que se despliega como thread paralelo para su invocación asíncrona desde otro métofo del servidor. Verdadero. Falso.

La migración de un proceso se produce trasladando la imagen de la memoria del mismo desde el nodo origen al nodo destino por efecto de faltas de página, una vez resaurada su ejecución en el nodo destino. Verdadero. Falso.

Indica las respuestas correctas con respecto a los contenedores: Un contenedor implementa sus funciones internamente, ocultándolas al exterior, y se realizan utilizando los servicios externos requeridos por el contenedor. Un contenedor encierra un conjunto de aplicaciones distribuidas interrelacionadas para su despliegue en diferentes nodos distribuidos. Un contenedor repite los interfaces de los elementos que encierra para hacerlos visibles. Un contenedor ofrece un interfaz unificado y simple de los elementos que encierra, para realizar una gestión integrada de todos ellos. Un contenedor encierra un conjunto de componentes modulares de una misma aplicación.

Indica las afirmaciones correctas con respecto al modelo arquitectónico basado en eventos para el desarrollo de aplicaciones distribuidas: En el modelo de eventos se emplea un gestor de recursos que debe publicar los recursos que gestiona para darles visibilidad. En el modelo de eventos los clientes se subscriben a los eventos, indicando propiedades o tipos de eventos que esperan que se produzcan. Cada vez que se produce un evento, éste se envía por el gestor al componente responsable de su gestión. En el modelo de eventos tenemos un conjunto de eventos asíncronos y cada componente gestiona un conjunto de ellos, debiendo responder a los mismos conforme se producen. Cda vez que se produce un evento de un cierto tipo se comprueban las subscripciones y se les notifica a los clientes.

Indica las respuestas correctas con respecto al modelo semántico Request-Response (RR) de comportamiento ante fallos en la comunicación entre cliente y servidor: En este modelo el mensaje de petición del cliente no requiere respuesta del servidor. En este modelo el mensaje de petición del cliente requiere una respuesta del servidor. No hay ACK para el servidor. Se puede utilizar un time-out del lado del cliente, si no llega respuesta en ese tiempo se reenvía la petición. En este modelo el mensaje de petición del cliente requiere una respuestas del servidor, el siguiente mensaje que envíe el cliente al servidor sirve como ACK al servidor. Se puede utilizar un time-out del lado del servidor, si no llega un ACK del cliente, se reenvía la respuesta.

¿Cual de las siguientes semánticas de envío y recepción de mensajes no se emplea en la práctica en sistemas distribuidos?. Send y receive no bloqueante. Send no bloqueante y receive bloqueante. Send y receive bloqueante. Send bloqueante y receive no bloqueante.

UN EJB es un componente Java que nos facilita un conjunto de servicios para el desarrollo de aplicaciones distribuidas del lado del servidor. Hay 3 tipos de session beans: stateless, stateful, y singleton, estos últimos (singleton) serían los empleados para desarrollar una tienda on-line con carrito de compra, para selección de varios productos. Verdadero. Falso.

Los servicios web se implementan mediante páginas HTML dispuestas en ordenadores individuales, que se gestionan con un servidor como Apache. Verdadero. Falso.

Indica las respuestas correctas con respecto al módulo de comunicación en RMI: El módulo de comunicación del lado del servidor se encarga de recibir los mensajes de petición del cliente, así como de invocar al dispatcher del objeto invocado. El módulo de comunicación del lado del cliente es el elemento estructural de la comunicación responsable de empaquetar el mensaje de petición y su envío, así como de recibir los mensajes de respuesta del servidor y desempaquetarlos. El módulo de comunicación del lado del cliente es el elemento estructural de la comunicación responsable de enviar el mensaje de petición, así como de recibir los mensajes de respuesta del servidor. En caso de fallo se encarga de su retransmisión. El módulo de comunicación del lado del servidor se encarga de recibir los mensajes de petición del cliente y desempaquetarlos, así como de invocar al dispatcher del objeto invocado.

La comunicación de grupos tiene las siguientes características (marcar las correctas): Sólo los miembros del grupo pueden enviar mensajes en un grupo cerrado. Uno de los usos posibles de la comunicación de grupos es la notificación de eventos atendiendo al modelo Publish/Subscribe. Los grupos cerrados sólo pueden gestionarse empleando un servidor central. En grupos cerrados los miembros del grupo y aquellos autorizados por el administrador del grupo pueden enviar mensajes al grupo. Uno de los usos posibles de la comunicación de grupos es para implementar las replicaciones de servicios.

Indica las respuestas correctas con respecto a la computación en Grid: En la computación en Grid debe existir un nodo responsable de la administración conjunta de los recursos aportados. En la computación en Grid los clientes pagan normalmente por el uso de los servicios. La computación en Grid se apoya en un cluster homogéneo donde varios procesos de una misma aplicación se ejecutan sincronizándose. La computación en Grid consiste en el trabajo colaborativo de un conjunto de entidades o personas, que aportan sus recursos computacionales para la consecución de un objetivo común. En la computación en Grid se facilita un servicio de directorio que actúa como registro de los recursos computacionales. La computación en Grid es débilmente acoplada, no debe asumirse un ancho de banda por defecto.

Indica las afirmaciones correctas con respecto a los servicios web. La capa SOAP hace referencia al interfaz de los servicios, mediante un IDL. La capa WSDL permite a otros nodos participantes conocer los servicios ofrecidos por un nodo, y la forma de utilizarlos. Permiten la interoperabilidad mediante el uso de un conjunto de tecnologías apoyadas en XML. Las interacciones cliente-servidor en servicios web pueden ser autónomas, sin necesidad de intervención humana. La capa WSDL hace referencia al envío de mensajes y su procesamiento en la recepción, mediante un formato estandarizado en XML.

Indica las respuestas correctas con respeto del modelo semántico Request-Response-Acknowledge (RRA) para la gestión de fallos en los canales de comunicación entre cliente y servidor: El cliente envía un ACK en cada interacción con el servidor, y éste a su vez require de un ACK en cada interacción con el cliente, incluyendo todos los ACKs que se envían para control del protocolo. Un cliente puede no enviar un ACK con cada mensaje, puede enviarlo cuando ha recibido N mensajes de respuesta (N>1), con el objeto de reducir el tráfico en la red. Con este modelo es posible que el cliente reciba un duplicado de un mensaje de respuesta anterior, con un número de secuencia anterior al del mensaje enviado en su última petición al servidor. En este modelo el cliente informa al servidor de cada respuesta recibida con un mensaje ACK. El servidor almacena las respuestas por número de secuencia para su posible reenvío, y las va eliminando conforme se reciben los ACKs.

El uso de los GUID numéricos como herramienta de localización de los recursos en sistemas P2P tiene varias ventajas. Entre ellas, al ubicar los recursos en los nodos activos con GUID más próximo al del recurso y las réplicas en los siguientes nodos activos cuyos GUID sean también más próximos, se logra que los recursos finalmente se encuentren en nodos geográficamente cercanos. Verdadero. Falso.

En un programa de SUN RPC nos encontramos con una sentencia como la siguiente: dres = suma_1(arg1, arg2, handle); Si se emplea la semántica de invocación remota "At-least-once" es posible que la operación "suma_1" se realice varias veces. Verdadero. Falso.

Un middleware es una capa software interpuesta entre el sistema operativo y las aplicaciones de usuario para obtener la capacidad de intercomunicación de las aplicaciones con independencia de las herramientas y tecnologías empleadas en su desarrollo autónomo. Verdadero. Falso.

Indicar las afirmaciones correctas con respecto al algoritmo de elección de Chang y Roberts: Se dispone un anillo lógico de procesos participantes. Se van enviando el identificador numérico del proceso ganador hasta ese momento (el mayor), partiendo de un iniciador. Si varios inician el algoritmo, es posible detectar varias ejecuciones y cancelarlas. Se dispone un anillo lógico de procesos participantes. Se van enviando el identificador numérico del proceso ganador hasta ese momento (el mayor), partiendo de un iniciador. Si varios inician el algoritmo, todas sus ejecuciones llegarán a la misma conclusión. Se dispone un anillo lógico de procesos participantes. Se van enviando (partiendo de un iniciador) una lista de identificadores numéricos de los participantes que debe recorrer todo el anillo, para elegir aquel cuyo identificador sea mayor. Si se ejecuta varias veces simultáneamente, en todas ellas se llegará al mismo resultado. Se dispone un anillo lógico de procesos participantes. Se van enviando (partiendo de un iniciador) una lista de identificadores numéricos de los participantes que debe recorrer todo el anillo, marcando como participantes aquellos que van recibiendo la lista. Se elegirá aquel cuyo identificador sea mayor. Permite lanzar varias ejecuciones del algoritmo.

Indica las respuestas correctas con respecto a la ordenación de transacciones por marcas de tiempo: Permite obtener ejecuciones serializables de transacciones. En caso de conflicto con una transacción no confirmada, ambas transacciones son abortadas. En caso de conflicto con una transacción no confirmada, se aborta la transacción que produce el conflicto, es decir, la que realiza la última operación. Las operaciones que producen un conflicto no pueden realizarse si su operación contrapartida no ha sido confirmada, es decir, que la transacción que la realizó no ha sido confirmada. Permite obtener ejecuciones libres de bloqueos mutuos.

Indica las respuestas correctas con respecto a la validación hacia atrás, dentro de la visión optimista de la concurrencia en la ejecución de transacciones: Se deben comprobar todas aquellas transacciones que hayan finalizado su ejecución y se hayan confirmado en el intervalo de tiempo entre el inicio de la fase de trabajo y el inicio de la validación de la transacción afectada. Se comprueban únicamente los conflictos de lectura de la transacción que está siendo validada con operaciones de escritura realizadas por las transacciones Ti que es necesario comprobar. Se comprueban los conflictos de escritura de la transacción que está siendo validada con las operaciones de escritura realizadas por las transacciones Ti que es necesario comprobar. Se comprueban únicamente los conflictos de escritura de la transacción que está siendo validada con operaciones de lectura realizadas por las transacciones Ti que es necesario comprobar. Se deben comprobar todas aquellas transacciones que hayan finalizado su ejecución y se hayan confirmado en el momento en que se procede a validar la transacción afectada.

Consideramos la computación siguiente, donde el subíndice indica la transacción que realiza la operación sobre el recurso indicado entre paréntesis. Consideramos además que cada transacción bloquea los recursos en la primera operación que los necesita y los libera justo después de la última operación que realice sobre ese recurso. C = R1(X);W2(Y);W2(X);W2(X);R3(X);R3(Y);W3(X). Indica las afirmaciones correctas: T3 cumple el protocolo de bloqueo de dos fases. T2 cumple el protocolo de bloqueo de dos fases. Es serializable. T1 cumple el protocolo de bloqueo de dos fases.

Indica las afirmaciones correctas con respecto al protocolo de bloqueo de 2-fases: Evita el riesgo de deadlocks. Permite a las transacciones ir obteniendo nuevos bloqueos hasta que desbloqueen un recurso. Aquellas transacciones que sólo realizan lecturas no necesitan aplicarlo. Garantiza soluciones serializables. Garantiza soluciones serializadas. Permite a las transacciones obtener bloqueos en cualquier momento, que luego libera de golpe en su confirmación. Permite a las transacciones ir obteniendo bloqueos de recursos hasta el unto en que desbloquea un recurso. No necesita aplicarse a aquellas transacciones que solo realizan lecturas.

Indica las afirmaciones correctas con respecto a las computaciones estrictas: Para que una computación sea estricta solo es necesario que todas las escrituras realizadas sobre cada recurso sean posteriores a la confirmación de aquellas otras transacciones que hubieran leído o escrito sobre esos recursos. Para que una computación sea estricta solo es necesario que todas las lecturas y escrituras realizadas sobre cada recurso sean posteriores a la confirmación de aquellas otras transacciones que hubieran leído o escrito sobre esos recursos. Para que una computación sea estricta solo es necesario que todas las lecturas y escrituras realizadas sobre cada recurso sean posteriores a la confirmación de aquellas otras transacciones que hubieran escrito sobre esos recursos. Si una computación es estricta, no tendremos lecturas sucias ni escrituras prematuras.

Indica las afirmaciones correctas con respecto a las transacciones anidadas: Las transacciones anidadas son subtransacciones que pueden desplegarse en concurrencia desde otras transacciones y subtransacciones. Las transacciones anidadas dependen de su progenitora, si ésta aborta, ellas también son abortadas. Las transacciones anidadas son transacciones externas invocadas desde otras transacciones, invocando sus métodos. Si una subtransacción anidada aborta, su progenitora también aborta. Las transacciones anidadas mejoran el nivel de concurrencia y limitan la posibilidad de abortos.

Supongamos que estamos usando la técnica de caza de arcos para la detección de bloqueos mutuos en un sistema en el que tenemos tres recursos X, Y, Z que se encuentran en tres nodos diferentes, y que tenemos 3 transacciones U, V, T que quieren realizar la siguiente secuencia parcial de operaciones, donde la letra U, V, T que sigue a la R o W indica la transacción que realiza la operación: RU(X);WV(Y);RT(X);RV(X);RU(Z);RU(X);RT(Z);WU(X);RT(Y);WV(Z).... Suponiendo que no se libera ningún recurso que haya sido adquirido, pues hay otras operaciones posteriores, y que se emplean bloqueos de lectura/escritura, indicar las afirmaciones correctas: Ninguna transacción puede llegar a completarse, debido a un deadlock detectado tras el envío de pruebas V->U y V->T. La operación de lectura de Y ordenada por T en RT(Y) llega a realizarse. La operación de escritura en X ordenada por U en WU(X) no llega a realizarse. No existe deadlock en esta secuencia de operaciones, todas ellas se completan sin problemas. Algunas de las transacciones no pueden llegar a completarse, debido a un deadlock detectado tras el envío de prueba T->V.

Indica las afirmaciones correctas con respecto a las computaciones estrictas en sistemas distribuidos: En un momento dado en que todas las transacciones que están actuando sobre una colección de recursos son de lectura (sólo realizan operaciones de lectura), las computaciones finales de este conjunto de transacciones serán estrictas. Para que una computación sea estricta, las lecturas y escrituras sobre cada recurso deben ser siempre posteriores a la confirmación de aquellas otras transacciones que hayan modificado el recurso. Para que una computación sea estricta, solo es necesario que las escrituras realizadas sobre cada recurso sean siempre posteriores a la confirmación de aquellas otras transacciones que hayan modificado el recurso. Para identificar si una computación de dos transacciones es estricta, será necesario identificar los puntos de confirmación de las transacciones.

Indicar las afirmaciones correctas con respecto al algoritmo snapshot de Chandy y Lamport: Durante su ejecución deben bloquearse los envíos de mensajes entre nodos. Cada vez que un participante recibe un marcador por un canal de entrada procede a recoger la información de estado local y reenvía el marcador por todos sus canales de salida. Cada vez que un participante recibe un marcador por un canal de entrada, procede a bloquear inmediatamente los envíos de mensajes locales, procede a recoger la información de estado local y reenvía el marcador por todos los canales de salida. Un proceso iniciador bloquea su envío de mensajes, captura su información de estado y procede a enviar un mensaje especial por todos sus canales de salida, activando a partir de ahí todos los mensajes entrantes que lleguen por sus canales de entrada.

Indica si es verdadero o falso: La transacción siguiente es serializable, donde el número tras R o W indica qué transacción realiza la operación: C= W2(X); R1(X); W2(Y); R3(X); W2(Z); R1(Y); R2(X); W2(Z); W1(X); W3(Y). Verdadero. Falso.

Indica las afirmaciones correctas: Una escritura prematura se produce cuando una transacción escribe sobre un recurso sucio, es decir, modificado por otra transacción no confirmada, y la primera transacción que escribe aborta. Una escritura prematura se produce cuando una transacción escribe sobre un recurso sucio, es decir, modificado por otra transacción no confirmada, y la segunda transacción que escribe aborta. Las lecturas sucias se producen cuando tras una operación de lectura se produce un aborto de la transacción lectora, que produce el aborto de las transacciones que escriben sobre el recurso. Las lecturas sucias se producen cuando una transacción ha leído un recurso que ha sido modificado por una transacción que aborta antes de confirmarse. Las lecturas sucias se producen cuando varias transacciones han leído el valor de un recurso que posteriormente es modificado por una transacción.

Supongamos un sistema asíncrono donde se está aplicando el algoritmo de Berkeley para la sincronización de relojes físicos entre 4 nodos, uno de ellos maestro y los otros 3 esclavos. Se inicia el algoritmo en el instante 5230 del nodo maestro, y los valores enviados por los nodos esclavos son 5244, 5231 y 5250, respectivamente, para los nodos esclavos 1, 2 y 3. Asimismo, los tiempos circulares obtenidos son 21, 22 y 25, respectivamente, para estos nodos esclavos 1, 2 y 3. Indica el valor obtenido para la nueva hora local del nodo maestro en el instante de iniciar el algoritmo: 5230,67. 5230,52. 5230,21. 5230,33.

Consideremos la secuencia siguiente de operaciones, que se intentan realizar sobre una serie de recursos, utilizando el método de las marcas de tiempo para la ordenación de transacciones: C= R1(X); W1(Y); R2=(X); W3(Z); R1(Y); W2(Y); R1(Z) Los números que siguen a R y W indican qué transacción realiza la operación sobre el recurso indicado entre paréntesis (transacciones T1, T2, T3). Las marcas de tiempo son 1, 2 y 3 para T1, T2 y T3, respectivamente. Todas ellas se intentan hacer, con independencia de que en el camino alguna transacción aborte, en cuyo caso se eliminan las operaciones de dicha transacción que sigan al punto de aborto. Indica las afirmaciones correctas: La transacción T3 aborta. Sólo aborta la transacción T2. No aborta ninguna transacción. Abortan las transacciones T1 y T2.

Indica la respuesta correcta: No hay relojes correctos. Un reloj correcto es aquél cuya primera derivada está acotada por un valor conocido. Un reloj correcto es aquél cuya derivada segunda está acotada por un valor conocido. Un reloj correcto es aquél que mantiene la hora sincronizada con una fuente externa.

La transacción siguiente es serializable, donde el número tras R o W indica qué transacción realiza la operación: C= W2(X); R1(X); W2(Y); R3(X); W2(Z); R1(Y); R2(X); W2(Z); W1(X); W3(Y). Verdadero. Falso.

Indicar las afirmaciones correctas con respecto al sistema de routing overlays basado en una tabla de encaminamiento R y un vector de hojas L: En la fila i de R tenemos información de nodos conocidos cuyo GUID es próximo al valor i expresado en hexadecimal. L contiene la información de aquellos nodos que se encuentran más cercanos físicamente al nodo local. En la fila i de R tenemos información de nodos cuyo GUID es muy próximo al GUID obtenido tomando los i primeros dígitos hexadecimales del GUID del nodo local y el resto ceros. L contiene la información de aquellos nodos que se encuentran más cercanos físicamente al nodo local. En la fila i de R tenemos información de nodos conocidos cuyo GUID coincide en sus i primeros dígitos con el GUID del nodo local. L contiene la información de aquellos nodos que se encuentran más cercanos físicamente al nodo local. En la fila i de R tenemos información de nodos conocidos cuyo GUID coincide con sus i primeros dígitos con el GUID del nodo local. L contiene información de nodos cuyo GUID es muy próximo al GUID local.

Indicar las afirmaciones correctas con respecto a la arquitectura de RPC (Remote Prodecure Call): Hay un resguardo del lado del cliente (stab), que se encarga del marshalling y de los posibles reenvíos en caso de fallo. El módulo de comunicación del lado del cliente realiza los envíos de los mensajes al servidor. Hay un resguardo del lado del cliente (stab), que se encarga del marshalling. La información se envía mediante un módulo de comunicación, que se encarga de los reenvíos en caso de fallo. El resguardo del cliente ofrece un conjunto de procedimientos y funciones que mimetizan a los que ofrece el servidor, de modo que las invocaciones remotas se convierten en invocaciones locales. El marshalling se realiza en el módulo sin comunicación, así como los reenvíos encontramos aso de fallo. Hay un elemento estructural llamado "dispatcher" en el lado del cliente, que permite separar las invocaciones de los diferentes procedimientos y funciones para el envío de mensajes diferenciados, usando el módulo de comunicación, el cual se encarga de los reenvíos.

Denunciar Test