Test M09 UF2
![]() |
![]() |
![]() |
Título del Test:![]() Test M09 UF2 Descripción: Test Pogramación de Sevicios y Procesos |




Comentarios |
---|
NO HAY REGISTROS |
En la planificación por tiempo compartido se selecciona el proceso: Todos los procesos tienen la misma prioridad. El que tiene mayor prioridad. El que tiene un tiempo de ejecución testante más largo. El que tiene un tiempo de ejecución testante más corto. En los semáforos el método release() representa la operación. signal. exit. init. wait. Cuando se inicia un hilo, quien se encarga de gestionarlo es: La JVM. El JDK. La CPU. El sistema operativo. El proceso hijo envía información al proceso padre utilizando. BufferedReader y OutputStreamReader. BufferedReader y InputStreamReader. System.out.println. PrintStream y OutputStream. Los datos a los que puede acceder un hilo son: Todos los datos que residan en los hilos de un proceso, pero no los datos que residan en el propio proceso. Todos los datos que residan en todos los procesos que existen en el sistema. Todos los datos que residan en el proceso que lo alberga, compartido con otros hilos del mismo proceso. Únicamente los datos propios del hilo, puesto que no comparte datos con otros hilos. Dado la sentencia "sem.acquire()"; suponiendo que el objeto Semaphore sem tiene como valor inicial 2, ¿Qué sucederá?" Seleccione una: Un semáforo jamás podrá tener el valor 2, si su valor inicial era 0 y se ha operado correctamente con él. El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación "sem.release()". Tras hacer la operación, el proceso continuará adelante sin bloquearse. El proceso continuará adelante sin bloquearse, y si previamente existían procesos bloqueados a causa del semáforo, se desbloqueará uno de ellos. i un proceso está en el estado de "Bloqueado" y finaliza una operación de entrada/salida: Pasará al estado de "Ejecución". Pasará al estado de "Nuevo". Pasará al estado de "Listo". Terminará. Un planificador que solo toma decisiones cuando un proceso pasa de ejecución a espera, o cuando un proceso termina, es un planificador: Automático. Cooperativo. Apropiativo. Compartido. Que un hilo esté en estado "Bloqueado" significa que: Está esperando a que el sistema operativo desbloquee recursos para poder asignarse a un procesador. Que no puede ejecutarse al estar esperando la finalización de una operación de E/S. Dicho hilo está ejecutándose ahora mismo y lo puede seguir haciendo durante un tiempo ilimitado. Dicho hilo está preparado para ejecutarse y puede hacerlo inmediatamente. Que afirmación sobre los hilos no es correcta. Es un código que se ejecuta en el contexto de un proceso. Un proceso tendrá como mínimo un hilo de ejecución. Es la unidad básica de utilización de la CPU. Los hilos utilizan espacios diferentes de memoria. Que un hilo esté en estado "Runnable" significa que: Dicho hilo está preparado para ejecutarse y puede hacerlo inmediatamente. Dicho hilo está ejecutándose ahora mismo y lo puede seguir haciendo durante un tiempo ilimitado. Está esperando a que el sistema operativo desbloquee recursos para poder asignarse a un procesador. Que no puede ejecutarse al estar esperando la finalización de una operación de E/S. Para crear un proceso. Utilizamos las clases ProcessBuilder o Runtime. Extendemos la clase Runtime. Utilizamos el método createProcess. Extendemos la clase Thread. Para crear un método sincronizado utilizamos. Las operaciones acquire() y release(). Semáforos. Las operaciones wait() y signal(). La palabra clave synchronized. Para iniciar un hilo debemos ejecutar el método: Process.start(). Process.run(). Thread.run(). Thread.start(). Cuando se ejecutan varios procesos en diferentes ordenadores distribuidos en una red hablamos de: Programación multired. Programación concurrente. Programación paralela. Programación distribuida. Si se usa un bloque sincronizado para lograr la sincronización de procesos: 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. Siempre se deben incluir variables de condición, pues el bloque únicamente proporciona exclusión mutua. El proceso hijo lee la información que recibe del proceso padre utilizando. BufferedReader y InputStreamReader. PrintStream y OutputStream. BufferedReader y OutputStreamReader. System.out.println. Cuando se ejecuta en un solo procesador diferentes procesos de forma simultánea hablamos de. Programación concurrente. Programación paralela. Programación distribuida. Programación multiproceso. En los semáforos el método acquire() representa la operación. init. exit. wait. signal. Las clases Runnable y Thread: Una sirve para procesos y la otra para hilos. Son dos tipos de hilo diferentes. Son dos formas de implementar un hilo. Son dos formas de implementar un proceso. Dado la sentencia "sem.release()", suponiendo que el objeto Semaphore sem tiene dos instancias libres, ¿qué sucederá?. Un semáforo solo puede tener 1 instancia disponible. El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación "sem.release()". El semáforo ahora tendrá 3 instancias libres. Tras hacer la operación, el proceso continuará adelante sin bloquearse. Si un proceso está en el estado de "En ejecución" y solicita una operación de entrada/salida: Pasará al estado de "Bloqueado". Pasará al estado de "Listo". Terminará. Seguirá en ejecución. Cuando ejecutamos Thread.join(). Se espera a que otro hilo acabe. Se espera hasta que se reciba una interrupción. Se espera a que el propio hilo acabe. Se espera a que todos los hilos acaben. Un demonio es. Una interrupción. Una llamada privilegiada. Un proceso no interactivo. Una excepción. Un interbloqueo se produce cuando. Un hilo o proceso no llega nunca a tomar el control de un recurso porque siempre hay otros con más prioridad. Dos o mas hilos están esperando un recurso y su estado cambia de forma continúa. Dos o mas hilos están esperando indefinidamente un recurso que solo puede liberar otro hilo bloqueado. Dos o mas hilos pueden acceder y modificar los datos compartidos al mismo tiempo. Que información no almacena el cambio de contexto. El estado del proceso. El estado del procesador. El estado del disco. Información de gestión de memoria. El proceso padre lee la información que recibe del proceso hijo utilizando. BufferedReader y OutputStreamReader. System.out.println. BufferedReader y InputStreamReader. PrintStream y OutputStream. El bloque activo se produce cuando. Dos o mas hilos pueden acceder y modificar los datos compartidos al mismo tiempo. Un hilo o proceso no llega nunca a tomar el control de un recurso porque siempre hay otros con más prioridad. Dos o mas hilos están esperando un recurso y su estado cambia de forma continua. Dos o mas hilos están esperando indefinidamente un recurso que solo puede liberar otro hilo bloqueado. Una condición de carrera ocurre cuando. Dos o mas hilos están esperando un recurso y su estado cambia de forma continua. Dos o mas hilos están esperando indefinidamente un recurso que solo puede liberar otro hilo bloqueado. Dos o mas hilos pueden acceder y modificar los datos compartidos al mismo tiempo. Un hilo o proceso no llega nunca a tomar el control de un recurso porque siempre hay otros con más prioridad. El proceso padre envia información al proceso hijo utilizando. System.out.println. BufferedReader y OutputStreamReader. BufferedReader y InputStreamReader. PrintStream y OutputStream. El método Thread.isAlive(). Devolverá siempre falso, porque al ejecutarlo no somos el mismo hilo. Devolverá siempre cierto, puesto que si no estuviera en marcha, sería descartado de memoria. Devolverá cierto si el hilo no ha finalizado su ejecución. Devolverá cierto si todavía no se ha descargado de memoria, aunque haya finalizado. El método notifyAll(). Despierta a todos los hilos que llamaron a wait() sobre un mismo objeto. Decrementa una instancia libre en los semáforos. Incrementa una instancia libre en los semáforos. Despierta a todos los hilos que llamaron a release() sobre un mismo objeto. En el problema del productor consumidor. El productor duerme cuando no tiene datos. El productor y el consumidor no duermen nunca. Comparten un buffer finito. El consumidor duerme cuando tiene datos. Si un proceso está en el estado de "En ejecución" y se produce una interrupción: Seguirá en ejecución. Terminará. Pasará al estado "Listo". Pasará al estado "Bloqueado". Para finalizar un proceso se utiliza el método. finish(). stop(). destroy(). exit(). Cuando ejecutamos Thread.sleep(). Se esperará el tiempo indicado en milisegundos si no se produce ninguna interrupción. Se esperará de manera indefinida hasta que el hilo que invoca el método acabe. Se esperará de manera indefinida hasta que otro hilo envíe una interrupción. Se esperará a que el hilo sobre el que hacemos la operación acabe. Cuando se ejecutan en varios procesadores o núcleos diferentes procesos de forma simultánea hablamos de. Programación distribuida. Programación multiprocesador. Programación concurrente. Programación paralela. Inanición se produce cuando. Dos o mas hilos pueden acceder y modificar los datos compartidos al mismo tiempo. Un hilo o proceso no llega nunca a tomar el control de un recurso porque siempre hay otros con más prioridad. Dos o mas hilos están esperando indefinidamente un recurso que solo puede liberar otro hilo bloqueado. Dos o mas hilos están esperando un recurso y su estado cambia de forma continua. Que un hilo esté en estado "Preparado" significa que: Que no puede ejecutarse al estar esperando la finalización de una operación de E/S. Está esperando a que el sistema operativo desbloquee recursos para poder asignarse a un procesador. Dicho hilo está ejecutándose ahora mismo y lo puede seguir haciendo durante un tiempo ilimitado. Dicho hilo está preparado para ejecutarse y puede hacerlo inmediatamente. Si se usa un bloque sincronizado para lograr la sincronización de procesos: Las operaciones wait y notify se utilizan en objetos separados. Las operaciones wait y notify se utilizan dentro de un mismo objeto. La variable de condición se especifica siempre con una condición if. Siempre se deben incluir variables de condición, pues el bloque únicamente proporciona exclusión mutua. En la planificación por tiempo compartido se selecciona el proceso: El que tiene un tiempo de ejecución restante más corto. El que tiene un tiempo de ejecución restante más largo. El que tiene mayor prioridad. Todos los procesos tienen la misma prioridad. |