option
Cuestiones
ayuda
daypo
buscar.php

Concurrentes UJA

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Concurrentes UJA

Descripción:
Test de los examenes : Ordinaria 24/25, Extraordinaria 24/25, Ordinaria 25/26

Fecha de Creación: 2026/06/27

Categoría: Otros

Número Preguntas: 45

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

¿Qué propiedad NO se considera de seguridad (safety) en sistemas concurrentes?. La exclusión mutua. La ausencia de interbloqueo. La equidad (fairness) en el acceso a recursos. La integridad de los datos compartidos.

En el algoritmo de la panadería (Lamport): Solo es válido para dos procesos. Asigna a cada proceso un número y atiende por orden de llegada, garantizando ausencia de inanición. Necesita instrucciones atómicas Test-and-Set. Garantiza exclusión mutua pero no espera limitada.

Una sentencia atómica en programación concurrente se caracteriza por: Ejecutarse siempre en un único ciclo de reloj. No poder ser interrumpida ni intercalada con otras sentencias. Ser obligatoriamente una operación de hardware. No requerir mecanismos de sincronización adicionales.

El interbloqueo (deadlock) puede prevenirse: Eliminando alguna de las cuatro condiciones de Coffman. Aumentando la capacidad de los buffers de mensajes. Usando únicamente semáforos binarios. Aplicando algoritmos de detección al final de la ejecución.

Sobre los semáforos generales (contadores): Su valor solo puede ser 0 ó 1. Su valor puede ser cualquier entero no negativo y se modifica con wait/signal. No permiten desbloquear procesos en espera. Son equivalentes a una variable booleana protegida.

En la semántica Retorno Forzado (DR) sobre variables de condición, utilizada en esta asignatura: El proceso señalizador continúa ejecutando dentro del monitor tras resume(C) y el señalizado pasa a la cola del monitor a la espera de entrar. La operación resume(C) debe ser la última instrucción del procedimiento: el señalizador abandona el monitor y el señalizado entra inmediatamente sin pasar por la cola del monitor. Tras resume(C), el señalizador se bloquea en la cola del monitor y compite con el resto de procesos por volver a entrar. El señalizador pasa a una cola de cortesía con prioridad sobre la cola del monitor mientras el señalizado ocupa el monitor.

El problema de los filósofos comensales ilustra principalmente: La sincronización productor-consumidor. La aparición de interbloqueo y la inanición por contención de recursos. La diferencia entre paso de mensajes síncrono y asíncrono. La equidad en planificación de CPU.

En paso de mensajes síncrono (rendezvous): El emisor nunca se bloquea. Tanto emisor como receptor se sincronizan: el primero que llega espera al otro. Requiere obligatoriamente un buzón intermedio. El receptor recibe siempre el último mensaje enviado.

Una variable de condición dentro de un monitor: Se accede sin necesidad de estar en el monitor. Es un semáforo binario interno. Permite operaciones delay y resume para sincronización condicional. Garantiza por sí sola la exclusión mutua del recurso.

El patrón productor-consumidor con buffer acotado requiere: Un único semáforo binario. Dos semáforos contadores (huecos y elementos) y exclusión mutua sobre el buffer. Comunicación síncrona obligatoriamente. Un monitor con tres variables de condición independientes.

Sobre el problema de los lectores-escritores con prioridad a los escritores: Los lectores pueden sufrir inanición. Los escritores pueden sufrir inanición. No hay riesgo de inanición para ningún rol. Solo se puede resolver con paso de mensajes.

La instrucción SELECT con guardas (when): Elige siempre la primera alternativa abierta. Espera bloqueada si todas las guardas son falsas y no hay cláusula ELSE. Solo admite operaciones de envío. Es equivalente a un bucle while.

La diferencia clave entre la operación delay(C) sobre una variable de condición y wait(s) sobre un semáforo es que: Ambas operaciones son equivalentes en cuanto a su semántica. delay(C) bloquea incondicionalmente al proceso y libera la exclusión mutua del monitor, mientras que wait(s) solo bloquea al proceso si el valor del semáforo es 0. delay(C) decrementa un contador asociado a la variable de condición y solo bloquea cuando el contador llega a 0. wait(s) libera el monitor antes de bloquear y delay(C) no libera ningún recurso.

En un sistema con paso de mensajes asíncrono y buzones acotados: El emisor nunca se bloquea bajo ninguna circunstancia. El emisor puede bloquearse cuando el buzón está lleno. El receptor nunca se bloquea aunque el buzón esté vacío. Los mensajes se pierden si el buzón está lleno.

Sobre las políticas de prioridad utilizadas para resolver problemas clásicos de sincronización (por ejemplo, prioridad a lectores o a escritores en el problema de los lectores-escritores): Toda política con prioridad estricta a un grupo de procesos puede provocar inanición del grupo no prioritario cuando la demanda del grupo prioritario es continua; las políticas equitativas (FIFO) la evitan a costa de reducir la concurrencia. Las políticas con prioridad eliminan por construcción cualquier riesgo de inanición e interbloqueo. Una política equitativa (FIFO) garantiza siempre el máximo rendimiento del sistema, con independencia del patrón de carga. La elección entre prioridad y equidad no afecta a propiedades de vivacidad como la ausencia de inanición.

¿Cuál de las siguientes afirmaciones sobre la exclusión mutua es correcta?. Solo es necesaria en sistemas multiprocesador. Garantiza que varios procesos puedan acceder simultáneamente a un recurso compartido. Garantiza que solo un proceso pueda acceder a una sección crítica en un momento dado. Es un mecanismo exclusivo de los monitores.

En el algoritmo de Peterson para dos procesos: Se utiliza espera ocupada sin ningún mecanismo adicional. Se emplean dos banderas y una variable turno para garantizar la exclusión mutua. Solo funciona en sistemas distribuidos. Requiere el uso de semáforos binarios.

¿Qué condición NO es necesaria para que se produzca un interbloqueo (deadlock)?. Exclusión mutua. Retención y espera. No expropiación. Inanición.

La operación signal(s) sobre un semáforo: Siempre desbloquea un proceso. Incrementa el valor del semáforo o desbloquea un proceso si hay alguno esperando. Decrementa el valor del semáforo. Solo es válida si s > 0.

En un monitor con semántica resume & continue. El proceso que ejecuta resume abandona inmediatamente el monitor. El proceso que ejecuta resume continúa su ejecución y el proceso desbloqueado compite por entrar al monitor. Ambos procesos están en ejecución concurrentemente dentro del monitor. El proceso desbloqueado tiene prioridad absoluta.

¿Cuál es la principal diferencia entre comunicación síncrona y asíncrona?. La síncrona es más rápida que la asíncrona. La asíncrona requiere buzones de tamaño infinito. En la síncrona, el emisor se bloquea hasta que el receptor recibe el mensaje. En la asíncrona no se garantiza la entrega del mensaje.

En el problema de los lectores-escritores con prioridad a los lectores. Los escritores nunca sufren de inanición. Los lectores pueden acceder concurrentemente, pero los escritores pueden sufrir inanición. Solo un lector puede acceder al recurso a la vez. Los escritores tienen prioridad sobre los lectores.

La instrucción SELECT en paso de mensajes. Solo puede manejar un canal a la vez. Siempre requiere una cláusula ELSE. Permite la espera no determinista sobre múltiples canales. Bloquea indefinidamente si no hay mensajes.

¿Qué problema resuelven las variables de condición en un monitor?. La exclusión mutua entre procesos. La sincronización condicional dentro del monitor. El acceso concurrente a las funciones del monitor. La comunicación entre monitores diferentes.

¿Qué es una condición de carrera en la programación concurrente?. Es cuando dos procesos se bloquean mutuamente al esperar un recurso que el otro proceso tiene. Es cuando un proceso se mantiene esperando indefinidamente por un recurso. Es cuando el resultado de la ejecución depende del orden específico en el que se ejecutan las instrucciones. Es cuando un proceso no recibe suficiente tiempo de CPU para realizar su trabajo.

El problema de la sección crítica debe cumplir: Solo la propiedad de exclusión mutua. Exclusión mutua e inanición. Exclusión mutua, progreso y espere limitada. Progreso y espera limitada.

El paso de mensajes asíncrono permite la comunicación: Muchos a uno. Uno a muchos. Muchos a muchos. Todas las respuestas son correctas.

La diferencia entre wait() y delay() en monitores es: Tienen el mismo funcionamiento. Wait() es para semáforos y delay() para monitores. Wait() libera el monitor mientras que delay() es la operación estándar de bloqueo en variable de condición. Delay() no existe en la teoría de monitores.

¿Cuál de las siguientes afirmaciones describe mejor el problema de vivacidad?. Dos o más procesos continúan ejecutándose, pero no hacen progreso debido a que cada uno está esperando que el otro libere un recurso. Un proceso continúa ejecutándose sin liberar los recursos que tiene, evitando que otros procesos los usen. Dos o más procesos no pueden continuar porque cada uno está esperando que el otro libere un recurso. Un proceso es privado de recursos de manera indefinida por otros procesos de mayor prioridad.

Una condición de carrera (race condition) ocurre cuando. Dos procesos compiten por tiempo de CPU. Un proceso es más rápido que otro. El resultado depende del orden en el intercalado de las instrucciones de procesos concurrentes. Se produce un interbloqueo entre procesos.

La ejecución concurrente de varios procesos implica: La necesidad de múltiples unidades de procesamiento. Que existan múltiples programas dentro del sistema. Una arquitectura del Sistema Operativo que lo permita. Un Sistema Operativo monoprogramado.

Supón que estás diseñando un sistema distribuido de alto rendimiento. ¿Qué estrategia de gestión de datos podría mejorar la eficiencia de la lectura de datos?. Todas las escrituras deben realizarse en el servidor principal. Los datos se deben replicar en varios nodos. Los datos deben almacenarse en un solo nodo para garantizar la coherencia. Los datos deben almacenarse en una base de datos SQL.

Un livelock se produce: cuando todos los procesos están esperando que ocurra un evento que nunca se producirá. si el resultado de la secuencia depende de la llegada relativa a algún punto crítico en la secuencia. cuando existe un grupo de procesos que nunca progresan pues no se les otorga tiempo de procesador para avanzar. ninguna de las otras respuestas es cierta.

En términos de eficiencia: Los algoritmos de espera ocupada son más eficientes que los resueltos con el uso de semáforos. Las soluciones con semáforos son más eficientes que con monitores. A priori, no se puede determinar la técnica más eficiente. La eficiencia de los semáforos depende de la CPU.

El problema del interbloqueo: Se resuelve mediante el uso de semáforos. Se resuelve mediante el uso de monitores. No es un problema que se da en la programación concurrente. Ninguna de las respuestas es correcta.

Las variables de condición en un monitor: Controlan diferentes condiciones dentro del monitor. Garantizan la exclusión mutua de las funciones del monitor. Son como los semáforos dentro del monitor. Son necesarias para poder mantener la sincronización de los procesos dentro del monitor.

En un sistema distribuido que utiliza paso de mensajes para la comunicación, el proceso A envía un mensaje a B y luego espera una respuesta antes de continuar. Sin embargo, si B tarda demasiado en responder, A podría quedar bloqueado indefinidamente. ¿Qué estrategia puede ayudar a evitar este problema?. Utilizar comunicación asincrónica. Aumentar la prioridad del proceso B. Utilizar comunicación síncrona. Ninguna de las anteriores es correcta.

La operación resume en un monitor: Tiene la misma funcionalidad que la operación signal de un semáforo. Permite bloquear un proceso en una variable de condición en el monitor. No es una operación permitida para monitores. Libera a un proceso bloqueado en una variable de condición. Si no hay ninguno, no tiene efecto.

El algoritmo de Hyman para exclusión mutua basado en espera ocupada: No garantiza la exclusión mutua. Puede provocar inanición en los procesos. En caso de conflicto, concede acceso a la sección crítica de forma aleatoria. Cada proceso conoce la intención de acceso a la sección crítica del resto de procesos.

¿Qué es una condición de carrera en la programación concurrente ?. Es cuando dos procesos se bloquean mutuamente al esperar un recurso que el otro proceso tiene. Es cuando un proceso se mantiene esperando indefinidamente por un recurso. Es cuando el resultado de la ejecución depende del orden específico en el que se ejecutan las instrucciones. Es cuando un proceso no recibe suficiente tiempo de CPU para realizar su trabajo.

En el problema del productor/consumidor, si la primitiva de envío bloquea al productor: No hay solución posible con esa suposición de partida. Deberemos utilizar un buzón de tamaño indefinido. Ninguna de las respuestas es correcta. El emisor deberá asegurarse que el consumidor esté disponible.

El paso de mensajes asíncrono permite la comunicación : Muchos a uno. Uno a muchos. Muchos a muchos. Todas las respuestas son correctas.

Si en la definición de un método de una clase Java aparece la palabra reservada synchronized. Sólo lo ejecutará un hilo a lo largo de la ejecución de la aplicación. Sólo podrá ser ejecutado por un único hilo a la vez. Ninguna de las respuestas es correcta. No puede formar parte de la definición de un método.

¿Cuál de las siguientes afirmaciones describe mejor el problema de vivacidad ?. Dos o más procesos continúan ejecutándose, pero no hacen progreso debido a que cada uno está esperando que el otro libere un recurso. Un proceso continúa ejecutándose sin liberar los recursos que tiene, evitando que otros procesos los usen. Dos o más procesos no pueden continuar porque cada uno está esperando que el otro libere un recurso. Un proceso es privado de recursos de manera indefinida por otros procesos de mayor prioridad.

En la instrucción de espera selectiva "select", el proceso que la ejecuta se bloquea si: La instrucción "select" no genera bloqueo del proceso. No disponga de alternativa "else". No se cumple ninguna de las guardas, si las tuviera. No existe ningún mensaje en los buzones/canales que se manejan.

Denunciar Test