option
Cuestiones
ayuda
daypo
buscar.php

Examen PSP RA1

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Examen PSP RA1

Descripción:
Vamos a probar

Fecha de Creación: 2025/11/17

Categoría: Otros

Número Preguntas: 30

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

¿Qué es un proceso en programación?. A) Un conjunto de instrucciones que se pueden ejecutar directamente. B) Un programa en ejecución. C) Un archivo binario almacenado en un disco duro. D) Un contenedor que alberga hilos.

¿Cuál es la diferencia principal entre programación secuencial y concurrente?. A) La programación secuencial ejecuta tareas en orden, mientras que la concurrente permite que los procesos avancen independientemente. B) La programación secuencial utiliza más recursos que la concurrente. C) La programación concurrente es más fácil de implementar que la secuencial. D) No hay diferencia, ambas son lo mismo.

¿Qué clase se utiliza para crear procesos en Java?. A) ProcessBuilder. B) Thread. C) Runnable. D) Executor.

¿Qué se busca lograr con la equidad en la planificación de procesos?. A) Que todos los procesos tengan una oportunidad justa de utilizar la CPU. B) Que los procesos de alta prioridad se ejecuten primero. C) Que se minimice el tiempo de espera de los procesos. D) Que se utilicen todos los recursos del sistema.

5. ¿Qué método se utiliza para lanzar un proceso en Java?. A) start(). B) execute. C) run(). D) init().

¿Cuál es la principal diferencia entre un Hilo (Thread) y un Proceso respecto a la gestión de memoria?. A) Los procesos son procesos ligeros, mientras que los hilos son procesos pesados que contienen múltiples procesos ligeros. B) Los hilos tienen su propio espacio de memoria RAM asignado por el SO, mientras que los procesos comparten la memoria. C) Los hilos solo utilizan la pila (stack), mientras que los procesos solo utilizan el montón (heap). D) Los hilos de un mismo proceso comparten el espacio de memoria (datos, variables y archivos abiertos), mientras que los procesos tienen su espacio de memoria independiente.

En el contexto de la gestión de procesos en Java, ¿cuál es la funcionalidad principal del método int p.waitFor() de la clase Process?. A) Asigna una prioridad al proceso para que el planificador de la CPU le otorgue más tiempo de ejecución. B) Termina la ejecución del proceso hijo de forma ordenada y devuelve el código de salida 0. C) Devuelve el PID (identificador) del proceso hijo. D) Hace que el hilo de Java en ejecución se bloquee hasta que el proceso nativo hijo haya terminado, devolviendo su código de salida.

¿Qué representa el Bloque de Control de Proceso (PCB)?. A) La estructura de datos que guarda toda la información (estado, registros, pila, recursos) que el sistema operativo necesita para administrar un proceso. B) Un segmento de memoria exclusivo que almacena únicamente el código del programa ejecutable. C) El plan de ejecución que establece el algoritmo FCFS para la planificación a corto plazo. D) Un mecanismo de sincronización para evitar problemas cuando múltiples hilos acceden a la memoria compartida.

¿Cuál es el método más sencillo y recomendado de ProcessBuilder para enlazar la entrada y salida estándar y de error de un subproceso con las del proceso Java padre?. A) redirectInput(ProcessBuilder.Redirect.INHERIT). B) redirectOutput(ProcessBuilder.Redirect.PIPE). C) inheritIO(). D) redirectErrorStream(true).

¿Qué representa el Bloque de Control de Proceso (PCB)?. A) Si en Java se llama a Process.getOutputStream() para interactuar con un proceso hijo (por ejemplo, una consola cmd), ¿qué flujo de datos estamos accediendo realmente?. B) La Entrada Estándar (stdin) del proceso hijo (para enviarle comandos o datos). C) La Salida Estándar (stdout) del proceso padre (para que el proceso hijo escriba en la consola de Java). D) La Salida Estándar (stdout) del proceso hijo (para leer sus resultados).

¿Cuál es la característica distintiva del algoritmo de planificación Round Robin?. A) Prioriza siempre el proceso que tiene el tiempo de ejecución más corto restante para minimizar el tiempo de espera promedio. B) Asigna un pequeño y fijo quantum de tiempo a cada proceso en orden y luego los reubica al final de la cola. C)Ejecuta los procesos en el orden en que llegan a la cola (First-Come, First-Served). D)Solo se utiliza en la planificación a largo plazo para decidir qué procesos cargar en la memoria.

Respecto a la clase java.lang.Runtime, ¿cuál de las siguientes afirmaciones es la correcta según las recomendaciones de Java 5 en adelante?. A) Se recomienda su uso prioritario para ejecutar comandos nativos mediante el método exec(). B) Proporciona información del entorno de ejecución de la máquina virtual (ej. freeMemory()), pero su método exec() está obsoleto. C) Es la clase abstracta fundamental para la creación de procesos en Java. D)Permite crear objetos de la clase Process directamente sin necesidad de usar ProcessBuilder.

¿Cuál es la causa principal del bloqueo (deadlock) al leer la salida de un proceso con BufferedReader.readLine() y cuál es una solución simple para terminar el proceso hijo?. A) Causa: El búfer está lleno y no puede recibir más datos. Solución: Aumentar el tamaño del búfer de lectura. B) Causa: Se está leyendo la salida de error en lugar de la salida estándar. Solución: Usar redirectErrorStream(true). C) Causa: El proceso hijo ha terminado abruptamente. Solución: Usar p.waitFor() con un timeout. D)Causa: El proceso Java está esperando más salida del proceso hijo que nunca llega. Solución: Cerrar el OutputStream del proceso hijo.

La ejecución de múltiples tareas en máquinas separadas que se coordinan mediante comunicación a través de la red (ej. HTTP, RPC) se denomina: A) Programación Paralela. B) Multitarea (Multitasking). C) Programación Secuencial Avanzada. D)Programación Distribuida.

En el ejemplo de GardeningStore, un empleado utiliza wait() dentro de processOrder() cuando la lista de pedidos está vacía. ¿Quién es el encargado de llamar a notifyAll() para despertar al empleado?. A) La clase ProcessBuilder cuando se crea un nuevo proceso en el sistema. B) La hebra principal (Main) al inicio del programa. C) La hebra Employee (Consumidor) justo antes de llamar a wait(). D)La hebra Customer (Productor) inmediatamente después de llamar a store.placeOrder(o).

¿Cuál es la función principal de un bloque de control de proceso (PCB)?. A) Almacenar información sobre el estado de un proceso. B) Ejecutar el código del programa. C) Gestionar la memoria del sistema. D) Controlar la entrada y salida de datos.

Se desea ejecutar un comando con ProcessBuilder y registrar tanto la salida estándar como la salida de error en un mismo archivo de log llamado proceso.log. ¿Qué configuración de ProcessBuilder es necesaria?. A)pb.inheritIO().redirectOutput(ProcessBuilder.Redirect.to(new File("proceso.log")));. B) pb.redirectOutput(ProcessBuilder.Redirect.to(new File("proceso.log"))); pb.redirectErrorStream(true);. C)pb.redirectOutput(ProcessBuilder.Redirect.to(new File("proceso.log")));. D) pb.redirectOutput(ProcessBuilder.Redirect.to(new File("proceso.log"))); pb.redirectError(ProcessBuilder.Redirect.INHERIT);.

En la programación concurrente, ¿qué ventaja se obtiene al utilizar hilos dentro de un mismo proceso?. A) Mayor eficiencia en la comunicación y sincronización. B) Menor uso de memoria. C) Mayor facilidad de programación. D) Menor riesgo de errores.

¿Cuál de los siguientes pares de planificación tiene como responsabilidad principal la gestión de la memoria y el movimiento de procesos entre la memoria principal y el almacenamiento secundario (suspensión)?. A.Planificación a Mediano Plazo y Planificación FCFS. B) Planificación a Corto Plazo y Planificación a Largo Plazo. C)Planificación Round Robin y Planificación por Prioridades. D) Planificación a Largo Plazo y Planificación a Mediano Plazo.

Un hilo de Java llama al método wait() dentro de un bloque synchronized. ¿Qué sucede en este instante a nivel de sincronización?. A) El hilo entra inmediatamente en un estado de sueño, pero mantiene el monitor (el lock) del objeto hasta que otro hilo lo despierte. B) El hilo continúa ejecutándose hasta que expira un timeout implícito de 5 segundos. C) Se lanza una excepción IllegalMonitorStateException porque wait() solo puede llamarse fuera de bloques sincronizados. D) El hilo entra en estado Bloqueado y libera inmediatamente el monitor (el lock) del objeto para permitir que otro hilo entre y potencialmente llame a notifyAll().

¿Qué tipo de procesos se ejecutan en segundo plano y no son directamente utilizados por los usuarios?. A) Servicios. B) Hilos. C) Aplicaciones de usuario. D) Procesos en primer plano.

¿Qué algoritmo de planificación asigna un pequeño quantum de tiempo a cada proceso en orden?. A) Round Robin. B) SRT (Shortest Remaining Time). C) Prioridades. D) Multinivel.

En un sistema con 4 núcleos de CPU, usted lanza dos hilos que realizan un cálculo intensivo (HiloA y HiloB). Si los dos hilos se ejecutan simultáneamente en el mismo instante físico en diferentes núcleos, ¿qué término describe con mayor precisión esta situación?. A) Programación Paralela. B) Programación Multitarea. C) Programación Secuencial. D) Concurrencia simulada.

Si al ejecutar un proceso con ProcessBuilder utilizamos pb.redirectOutput(ProcessBuilder.Redirect.to(file));, y luego lanzamos el proceso, ¿qué ocurre con el stream de Salida de Error (stderr) del proceso hijo?. A) Mantiene su comportamiento predeterminado, que es enviarse al destino de la salida de error del proceso padre (generalmente la consola). B) Se redirige automáticamente al mismo archivo definido, fusionándose con la salida estándar. C) Se descarta y se pierde, ya que solo se especificó la redirección de la salida estándar. D) Se redirige automáticamente a la Salida Estándar (stdout) del proceso padre.

¿Cuál es la función específica del Planificador a Largo Plazo (Long-Term Scheduler) en un sistema operativo?. A) Decidir si un proceso debe moverse de la memoria principal al almacenamiento secundario (suspensión). B) Decidir qué proceso de la cola de 'Listos' se ejecutará en la CPU a continuación (basado en el quantum de tiempo o prioridad). C) Decidir qué procesos deben cargarse desde el almacenamiento secundario (disco) a la memoria principal para que puedan competir por la CPU. D) Decidir qué porción de código de un proceso debe cargarse en la caché L1 del procesador.

En el patrón Productor-Consumidor (como Customer y Employee), ¿qué riesgo de concurrencia se intenta mitigar principalmente con el uso del bloque synchronized en los métodos placeOrder() y processOrder()?. A) El deadlock (bloqueo mutuo), ya que synchronized previene que dos hebras se bloqueen esperando recursos. B) Las Condiciones de Carrera (Race Conditions) en la actualización de la variable compartida total y la lista pedidos. C) La inanición (Starvation) del consumidor, al asegurar que siempre hay pedidos disponibles. D) La excepción InterruptedException al llamar a wait() y notifyAll().

¿Cuál es la diferencia fundamental en el control de vida entre un proceso creado con Runtime.exec() y la gestión de una hebra creada con new Thread(Runnable) en Java?. A) El proceso es más ligero y rápido de crear que la hebra. B) El proceso se ejecuta en un espacio de memoria y ejecución independiente, y su terminación se controla con p.waitFor() o p.destroy(), mientras que la hebra se ejecuta dentro de la JVM y su terminación se controla con bucles y banderas. C) La hebra no puede ser interrumpida con una excepción, mientras que el proceso siempre lanza una InterruptedException al finalizar. D) El proceso consume CPU del sistema operativo, mientras que la hebra consume ciclos únicamente del entorno de la JVM.

¿Qué método de la clase ProcessBuilder debe utilizar un desarrollador para inspeccionar o modificar las variables de entorno (ej. PATH o una variable personalizada) que el nuevo proceso heredará de su padre?. A) ProcessBuilder.command(). B) ProcessBuilder.inheritIO(). C) ProcessBuilder.environment(). D) ProcessBuilder.directory().

En el contexto de la Planificación de Procesos por Prioridades, ¿qué es la Inanición (Starvation) y qué algoritmo es susceptible a causarla en procesos largos?. A) La Inanición es cuando un proceso es movido a la memoria secundaria. El algoritmo susceptible es el Multinivel. B) La Inanición es cuando la CPU se sobrecarga por procesos cortos. El algoritmo susceptible es el Round Robin. C) La Inanición es cuando un proceso se bloquea esperando un recurso. El algoritmo susceptible es el FCFS. D) La Inanición es cuando un proceso nunca es ejecutado porque siempre hay otros procesos de mayor prioridad. El algoritmo susceptible es el SJF (Shortest Job First).

¿Qué se debe hacer para evitar la inanición en la planificación de procesos?. A) Utilizar el algoritmo Round Robin. B) Aumentar la prioridad de los procesos largos. C) Reducir el número de procesos en ejecución. D) Asignar más recursos a los procesos.

Denunciar Test