psp_examen1
![]() |
![]() |
![]() |
Título del Test:![]() psp_examen1 Descripción: Examen 1 eva psp |




Comentarios |
---|
NO HAY REGISTROS |
Relaciona Conceptos y su definicion. Hilo. Exclusión mutua. Inanición. Interrupción. Operación atómica. Semáforos. Interbloqueo o deadlock. Sección crítica. Mutex. Monitor. La multitarea presenta las siguientes ventajas. Relaciona las ventajas con su descripción. Capacidad de respuesta. Compartición de recursos. Compartición de la misma memoria del proceso que dependen. Paralelismo real. Relaciona los estados de un hilo con su descripción. Nuevo. (Pudiendo ejecutar) Runnable. Bloqueado. Terminado. Selecciona las opciones correctas. Para crear nuevos hilos de ejecución dentro de un proceso, podremos hacerlo de las siguientes formas: Extendiendo la clase Thread. Implementando la interfaz Runnable. Ninguna de las anteriores. 5. Relaciona los siguientes métodos que se pueden utilizar en un hilo con lo que hacen. start(). run(). currentThread(). join(). sleep (). interrupt(). interrupted(). isAlive(). setPriority(). Relaciona los métodos de la clase Semaphore con su definición. Semaphore(int valor). acquire(). release(). Relaciona los métodos de la clase Object que se utilizan para la sincronización de hilos, con su descripción. wait(). notify(). notifyAll(). Un problema de la sincronización de hilos es la condición de carrera, ya que el resultado de la ejecución de un programa depende del orden concreto en que se realicen los accesos a memoria. Verdadero. Falso. Cuando varios hilos acceden a datos compartidos, y el resultado de la ejecución depende del orden concreto en que se accede a los datos compartidos se dice que: Hay una sección crítica. Hay una condición de carrera. Eso no puede suceder, los hilos no pueden compartir datos. Ninguna de los anteriores. Cualquier solución al problema de la sección crítica debe cumplir las condiciones de: Exclusión mutua, progreso y espera limitada. Exclusión mutua, espera limitada y retención. Envejecimiento e inanición. Exclusión mutua, aislamiento y espera limitada. Indica cuál de las siguientes afirmaciones sobre los monitores es FALSA: Permiten resolver el problema de la sección crítica. Pueden ser binarios o contadores. Se pueden utilizar para garantizar el orden de ejecución entre procesos. Son un mecanismo de sincronización. Dado el siguiente fragmento de código sobre un Objeto en particular para realizar una sección crítica: notify(); SECCIÓN CRÍTICA wait() ¿Cuál de las siguientes afirmaciones es cierta?. El código mostrado no asegura retención. El código mostrado no asegura exclusión mutua. Es una solución válida para el problema de la sección crítica cuando el código se ejecuta en un único procesador. El código mostrado permite resolver el problema de la sección crítica. Indica cuál de las siguientes afirmaciones sobre los semáforos es FALSA: Permiten resolver el problema de la sección crítica. Pueden ser binarios o contadores. No se pueden utilizar para garantizar el orden de ejecución de procesos. Son un mecanismo de sincronización. Dado el siguiente fragmento de código y suponiendo que el objeto Semaphore S tiene como valor inicial 2: s.release(S);Función(); s.acquire(S); ¿Cuántos procesos pueden ejecutar al mismo tiempo la tarea Función?. 0. 2. 3. Ninguna de las anteriores. Depende de la ejecución. Dado el siguiente fragmento de código ejecutado por un hilo: syncronyzhed(Object){ … If (<<se cumple condición>>) Wait(); FUNCION} ¿Cuál de las siguientes afirmaciones es cierta?. El thread sólo ejecutará FUNCION cuando no se cumpla la condición. El thread podría ejecutar FUNCION aunque esta se cumpla, debido a la espera del hilo por conseguir el monitor. El thread podría ejecutar FUNCION aunque esta se cumpla, debido que es un problema inherente al uso paralelo de threads. El thread nunca conseguirá ejecutar FUNCION. Una condición de carrera: Sucede por permitir que varios procesos manipulen variables compartidas de forma concurrente. Existe cuando varios procesos acceden a los mismos datos en memoria y el resultado de la ejecución depende del orden concreto en que se realicen los accesos. No necesita de mecanismos software para ser impedida, ya que siempre que se ejecuta el código de procesos concurrentes con los mismos argumentos, esos se ejecutarán de la misma forma. a y b son correctas. Dado el siguiente fragmento de código suponiendo que el objeto semaphore sem tiene como valor inicial 2: sem.acquire(); ¿Qué sucederá?. El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación sem.release();. El proceso continuará adelante sin bloquearse, y si previamente existían procesos bloqueados a causa del semáforo, se desbloqueará uno de ellos. Tras hacer la operación, el proceso continuará adelante sin bloquearse. Un semáforo jamás podrá tener el valor 2, si su valor inicial era 0 (cero) y se ha operado correctamente con él. Si se usa un bloque sincronizado para lograr la sincronización de procesos: Siempre se deben incluir variables de condición, pues el bloque únicamente proporciona exclusión mutua. Las operaciones wait y notify se utilizan dentro de un mismo objeto. Las operaciones wait y notify se utilizan en objetos separados. La variable de condición se especifica siempre con una condición if. |