UJA: Sistemas Concurrentes y Distribuidos
![]() |
![]() |
![]() |
Título del Test:![]() UJA: Sistemas Concurrentes y Distribuidos Descripción: Recopilación de preguntas tipo test de la asignatura |




Comentarios |
---|
NO HAY REGISTROS |
La relación existente entre procesos e hilos es. Los recursos podrán ser asociados tanto a los procesos como a los hilos. Los procesos son estructuras ligeras mientras que los hilos son estructuras pesadas. El Sistema Operativo debe manejar la misma información que para el mantenimiento de los procesos. Los hilos están asociados al proceso que los crea. La posibilidad que nos permite un sistema multihilo es. No ofrece ninguna ventaja sobre un sistema multiproceso. Son un elemento presente en todos los Sistemas Operativos. Permite una mejor paralelización de un problema sin necesidad de crear nuevos procesos. Ninguna de las respuestas es correcta. Para poder seguir la ejecución de un hilo será necesario almacenar. Al menos la información de contexto y pila. Una cantidad de información similar a la necesaria para gestionar un proceso. La información de contexto: pila y recursos asignados. Ninguna de las respuestas es correcta. El algoritmo de Peterson frente al de Dekker. No tiene el problema de espera ocupada que sí tiene el de Dekker. Es más eficiente que el algoritmo de Dekker. Tiene una mejor solución para el problema de sincronización entre procesos. Ninguna de las respuestas es correcta. En términos de eficiencia. Los algoritmos de espera ocupada son más eficientes que los semáforos. La eficiencia de los semáforos depende exclusivamente de la CPU. Los monitores son más eficientes que los semáforos. A priori, no puede determinarse qué técnica de sincronización es la más eficiente. ¿Qué son las condiciones de Berstein?. Indican si dos o más procesos pueden ejecutarse concurrentemente. Determinan si un conjunto de instrucciones puede ejecutarse concurrentemente. Sirven para determinar las secciones críticas de los procesos. Ayudan a la sincronización de procesos. La característica principal de un monitor es. Solucionan el problema de la sincronización entre procesos concurentes. Sólo hay un proceso en el monitor en cada momento. Todas las funciones se ejecutan en exclusión mutua. Ninguna de las respuestas es correcta. La gestión de los procesos bloqueados en un semáforo. Debe ser siempre FIFO para evitar la inanición. Mediante el uso de semáforos, los procesos no pasan a estado bloqueado. El Sistema Operativo desbloqueará los procesos en función de la prioridad. Puede ser FIFO o LIFO. En el problema del productor/consumidor resuelto mediante semáforos. Sólo es necesario garantizar la exclusión mutua al buffer compartido. Los procesos productores deben sincronizarse entre sí para garantizar la corrección del problema. Los procesos productores deben sincronizarse con los procesos consumidores para garantizar la corrección del problema. Ninguna de las respuestas es correcta. El problema del interbloqueo. No es un problema que se da en la programación concurrente. Se resuelve mediante el uso de monitores. Se resuelve mediante el uso de semáforos. Ninguna de las respuestas es correcta. Los monitores requieren de la utilización y definición de dos tipos de procesos: Proceso monitor y proceso principal. Procesos padres y procesos hijos. Procesos activos y procesos bloqueados. Procesos bloqueados y procesos bloqueantes. 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 existe ningún mensaje en los buzones/canales que se manejan. No disponga de alternativa `else`. No se cumple ninguna de las guardas, si las tuviera. En la llamada a procedimiento remoto: Los dos sistemas deberán tener una misma arquitectura. Se utilizará el mismo lenguajes de programación para codificar los procesos. Deberá ser el mismo Sistema Operativo en las máquinas remotas. Ninguna de las respuestas es correcta. En la comunicación asíncrona entre procesos. No se requiere ningún tipo de identificación. El buffer sólo se comparte entre emisor y receptor. No hay necesidad de buffer en la transmisión. Ninguna de las respuestas es correcta. 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 la permita. Un sistema Operativo monoprogramado. La exclusión mutua entre diferentes procesos garantiza: Que solo un proceso puede estar dentro de la sección crítica. No es necesario garantizar la exclusión mutua entre procesos. Sólo es necesaria en Sistemas Distribuidos. El acceso seguro a todos los recursos de un proceso. En los programas concurrentes: Podemos determinar de forma clara el orden de ejecución de las diferentes instrucciones que lo componen. El tiempo empleado para determinar la ejecución siempre es la misma. Se pueden producir resultados diferentes para el mismo conjunto de datos de entrada. Ninguna de las respuestas es correcta. La operación `wait(s)`: Bloquea el proceso que la ejecuta si s=1. Bloquea al proceso que la ejecuta si s=0. Decrementa el valor de 's' y entonces bloquea el proceso si s=0. Si s=0 decrementa el valor de 's' y bloquea el proceso. Un semáforo cuya variable se inicializa a 2. Permite que dos procesos estén simultáneamente en su sección crítica. Dos procesos podrán ejecutar `wait(s)` sin bloquearse. Los semáforos se inicializan siempre a valor 1. El primer proceso que ejecute la sentencia 'wait' podrá acceder a su sección crítica. En los monitores los procesos bloqueados: Se bloquean en las colas asociadas a variables de condición. Se bloquean en las colas de acceso al propio monitor. Podemos tener múltiples procesos bloqueados dentro del monitor. Todas las respuestas son correctas. En la comunicación directa entre procesos es necesario: Conocer el destinatario del mensaje. Conocer el remitente del mensaje. No se requiere ningún tipo de identificación. El emisor debe conocer al destinatario y el receptor al remitente. La utilización de un canal: Establecerá el tipo de información que se transmitirán emisor y receptor en una comunicación síncrona. Establecerá el tipo de sincronización necesaria en la comunicación. Permitirá el almacenamiento de información para la comunicación entre procesos. Ninguna de las respuestas es correcta. En el proceso de resolución de una llamada a procedimiento remoto: Los mensajes que han de transmitirse deberá confeccionarlos el programador. El programador deberá tener presente la codificación de la información en la máquina remota. Es responsabilidad del sistema la solución a la transmisión de la información. Ninguna de las respuestas es correcta. Cual de las siguientes cuestiones han de resolverse en una llamada a procedimiento remoto. La ejecución en espacios de direcciones de memoria diferentes. El paso de parámetros. La respuesta ante fallos de una máquina. Todas las respuestas son válidas. En RPC asíncrona: La llamada a procedimiento bloquea al proceso cliente. La llamada a procedimiento no bloquea al proceso cliente. La resolución a la RPC se bloquea en servidor. También es conocida como RPC síncrona extendida. ¿Cuándo hablamos de que dos o más procesos son concurrentes?. Cuando tenemos al menos tantas unidades de procesamiento como procesos. Es suficiente si las instrucciones de los procesos se intercalan en la ejecución. Cuando se ejecutan en ordenadores diferentes. Sólo en el caso de ejecución paralela. Los semáforos: Están presentes en todas las herramientas de programación. Las herramientas de programación garantizan su uso correcto para solucionar el problema de la exclusión mutua. Las herramientas de programación garantizan su uso correcto para solucionar el problema de la sincronización entre procesos. Son herramientas de programación para el uso de los programadores en los problemas de concurrencia. La característica principal de un monitor es: Todas las funciones se ejecutan en exclusión mutua. Solucionan el problema de la sincronización entre procesos concurrentes. Sólo hay un proceso en el monitor en cada momento. Ninguna respuesta es correcta. En los sistemas distribuidos debemos. Garantizar la exclusión mutua de las secciones críticas. Garantizar la correcta sincronización de los procesos. Garantizar el acceso de los procesos a los recursos locales. Todas las respuestas son correctas. Las variables de condición de los monitores. Garantizan la sincronización de los procesos. Garantizan la exclusión mutua de los procesos. Garantizan tanto la sincronización como la exclusión mutua de los procesos. No son variables propias de los monitores. La sentencia `resume` de un monitor: Tiene la misma lógica de funcionamiento que la operación `signal` de un semáforo. Permite bloquear a un proceso en el monitor dentro de una variable de condición. Sólo se aplica a una variable de condición del monitor si hay procesos bloqueados en la misma. Liberará a un proceso bloqueado en una variable de condición del monitor. En el problema del productor/consumidor si la primitiva de envío no bloquea al productor: El emisor deberá asegurarse que el consumidor esté disponible. Deberemos utilizar un buzón de tamaño indefinido. No hay solución posible con esa suposición de partida. Ninguna respuesta es correcta. Para un correcto funcionamiento de los procesos concurrentes se debe asegurar: La exclusión mutua y la sincronización. Sólo la exclusión mutua. La exclusión mutua, la sincronización y evitar el interbloqueo. Ninguna respuesta es correcta. El algoritmo de Dekker: Soluciona el problema de sincronización entre procesos. Es un algoritmo incorrecto para la solución de la exclusión mutua. Soluciona mediante espera ocupada el problema de la exclusión mutua. Sufre de inanición para el problema de la exclusión mutua. Para que un programa concurrente sea correcto, deben cumplirse las siguientes propiedades: Seguridad e inanición. Viveza y seguridad. Interbloqueo e inanición. Exclusión mutua y viveza. El algoritmo de Dekker: Está orientado a entornos distribuidos. Está orientado a entornos centralizados. Es válido para `n` procesos con ligeras modificaciones. Presenta situaciones en las que puede no garantizar las propiedades de viveza. ¿Cuál de las siguientes afirmaciones es cierta?. La concurrencia es un tipo de paralelismo. El paralelismo es un tipo de concurrencia. El paralelismo y la concurrencia son conceptos que no guardan relación alguna. El paralelismo puede desarrollarse en sistemas monoprocesador. Un interbloqueo (deadlock) 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. Los semáforos son: Herramientas que solucionan el problema de la exclusión mutua. Herramientas para solucionar el problema de la concurrencia en Sistemas Distribuidos. Una estructura de datos con operaciones atómicas para su manejo. Ninguna de las otras respuestas es cierta. La inicialización de la variable de un semáforo: Sólo puede hacerse una única vez en su ciclo de vida. No se inicializa en el ciclo de vida. Puede inicializarse tantas veces como se quiera. Ninguna de las otras respuestas es cierta. La operación `signal(.)` de un semáforo: Incrementará siempre el valor de la variable del sem áforo. Es una operación idempotente. Permite el bloqueo de un proceso. Ninguna de las otras respuestas es cierta. En relación a los semáforos, los monitores: Son herramientas de más bajo nivel de programación. Son herramientas de más alto nivel de programación con una estructura que ayuda a la corrección del programa. No ayudan más que los semáforos. Ninguna de las otras respuestas es cierta. En los monitores, los procesos bloqueados: Se bloquean en las colas asociadas a variables de condición. Se bloquean en las colas de acceso al propio monitor. Podemos tener múltiples procesos bloqueados dentro del monitor. Todas las respuestas son correctas. En la semántica `resume & exit`, el proceso desbloqueado por `resume(v)`es: El primer proceso que estuviera bloqueado en la cola de la variable de condición `v`. El primer proceso que estuviera esperando para acceder al monitor. Se eligen aleatoriamente procesos bloqueados en la variable o en el monitor. Ninguna de las respuestas es correcta. En los sistemas distribuidos el problema de exclusión mutua: Nunca puede producirse. Aparece por el uso de variables compartidas. Aparece por el uso de la memoria compartida. Ninguna de las respuestas es correcta. Las primitivas de envío y recepción de mensajes: Tienen una ejecución atómica. Son necesarias en los problemas de memoria compartida. Siempre serán asíncronas. Ninguna de las respuestas es correcta. En la instrucción de espera selectiva `select`, el proceso que la ejecuta se bloquea si: No se cumple ninguna de las guardas, si las tuviera. No disponga de alternativa `else`. No existe ningún mensaje en los buzones/canales de las cláusulas. La instrucción `select` no genera bloqueo del proceso. En la comunicación asíncrona entre procesos: La primitiva de recepción bloqueará al proceso si no hay datos en el buzón. La primitiva de envío bloqueará al emisor. Ninguna primitiva de envío o recepción bloqueará a los procesos implicados. Ambas primitivas de envío o recepción bloquearán a los procesos implicados. En el problema del productor/consumidor, si la primitiva de envío no bloquea al productor: El emisor deberá asegurarse de que el consumidor esté disponible. Siempre será necesario un buzón de tamaño indefinido. No hay solución posible con esa suposición de partida. Ninguna de las respuestas es correcta. Los canales de sincronización: Se utilizarán como elemento de sincronización entre procesos en entornos remotos. Permiten definir un tipo por defecto en la comunicación síncrona. No existen ese tipo de canales. Son los tipos de canales habituales en las comunicaciones síncronas. En la comunicación asíncrona entre procesos: La primitiva de recepción bloqueará al proceso si no hay datos en el buzón. La primitiva de envío bloqueará al emisor. Ninguna primitiva de envío o recepción bloquerá a los procesos implicados. Ambas primitivas de envío o recepción bloquearán a los procesos implicados. |