option
Cuestiones
ayuda
daypo
buscar.php

PSP Tema 1

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

Descripción:
Tema 1 de "Programación de Servicios y Procesos" de DAM

Fecha de Creación: 2026/11/05

Categoría: Informática

Número Preguntas: 60

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

¿Cómo se define un proceso en el contexto del sistema operativo según el texto?. Un programa en ejecución. Un programa almacenado en disco. Un programa en fase de compilación. Un conjunto de subprocesos.

En un sistema operativo con una única CPU, ¿cuál es el mecanismo utilizado para dar la sensación de que varios procesos se ejecutan simultáneamente?. La virtualización de los procesos. La clonación de la CPU mediante software. La alternancia muy rápida en la ejecución de los procesos en la CPU. La división del proceso en múltiples hilos (threads).

¿Qué es el BCP (Bloque de Control de Proceso)?. El contador de programa. Una estructura de datos que almacena toda la información sobre un proceso. La memoria RAM asignada al proceso. El código ejecutable del programa.

Según el texto, ¿cuál de los siguientes elementos NO es parte de la información almacenada en el BCP?. El identificador único del proceso (PID). La dirección IP de la máquina que lo ejecuta. La información de planificación de CPU, como la prioridad. La información contable del tiempo de CPU consumido.

Al ejecutar el comando ps en Linux, ¿qué representa la columna TIME?. La hora de inicio del proceso. El tiempo real transcurrido desde que nació el proceso. La cantidad total de tiempo de CPU que el proceso ha utilizado desde que nació. La duración restante que el proceso tiene asignada.

En la salida del comando ps -f, ¿qué representa el campo PPID?. El nombre de usuario que ejecuta el proceso. El porcentaje de recursos de CPU utilizado por el proceso. El procesador que el proceso tiene asignado. El PID del padre de cada proceso.

¿Qué indica el campo RSS en la salida detallada del comando ps -AF?. El tamaño de la parte residente del proceso en memoria en kilobytes. El tamaño virtual de la imagen del proceso. El procesador que el proceso tiene actualmente asignado. El porcentaje de CPU utilizado por el proceso.

¿Qué comando se utiliza en la línea de comandos de DOS en sistemas Windows para ver los procesos que se están ejecutando?. ps. tasklist. listproc. system-monit.

¿Cuál es la combinación de teclas más habitual para acceder al Administrador de tareas de Windows?. [CTRL + Alt + Supr]. [ALT + F4]. [Windows + R]. [CTRL + ESC].

¿Qué provoca la transición de un proceso del estado "En ejecución" al estado "Bloqueado"?. La espera de la ocurrencia de un evento externo (ej. operación de E/S). La ocurrencia de un evento externo esperado. El sistema operativo le otorga un tiempo de CPU. El agotamiento del tiempo de CPU asignado por el sistema operativo.

¿Cuál es la característica principal del estado "Listo"?. El proceso ha finalizado su ejecución. El proceso está usando el procesador. El proceso está parado temporalmente y listo para ejecutarse cuando se le dé oportunidad. El proceso no puede hacer nada hasta que ocurra un evento externo.

¿Qué evento hace que un proceso pase del estado "Bloqueado" al estado "Listo"?. El agotamiento del tiempo asignado. La finalización de otro proceso. El sistema le otorga un tiempo de CPU. La ocurrencia del evento externo que se esperaba.

¿Qué transición de estado se produce cuando el sistema operativo le quita la CPU a un proceso porque se le acabó el tiempo asignado?. De Ejecución a Bloqueado. De Listo a Ejecución. De Ejecución a Listo. De Bloqueado a Listo.

¿Qué librería estándar de C contiene la función system()?. unistd.h. signal.h. stdio.h. stdlib.h.

En este ejemplo de código provisto, cuando se ejecuta el comando erróneo system("ged"), ¿Qué valor devuelve la función system()?. 32512. NULL. -1. 0.

¿Por qué se recomienda no usar la función system() desde un programa con privilegios de administrador?. Porque solo funciona en sistemas Windows. Porque no puede ejecutar comandos con privilegios elevados. Porque se pueden emplear valores extraños para variables de entorno y comprometer la integridad del sistema. Porque es más eficiente utilizar execl().

¿Cuál es la consecuencia principal de una llamada exitosa a la función execl() en el proceso llamante?. Devuelve el PID del nuevo proceso creado. Se pausa la ejecución del proceso llamante hasta que el nuevo termine. ¿Cuál es la consecuencia principal de una llamada exitosa a la función execl() en el proceso llamante?. Sustituye el proceso llamante por el proceso nuevo.

La lista de argumentos que se pasan a la función execl() debe finalizar obligatoriamente con: El PID del proceso. El path del programa. Un puntero nulo ((char *)NULL). El valor -1.

En el ejemplo execl ("/bin/ls", "ls", "-l", (char *) NULL);, ¿qué representa el segundo argumento "ls" (correspondiente a arg0)?. El nombre del programa a ejecutar. El primer argumento real del comando. El path completo del programa. Simplemente, un valor nulo.

Dado el comportamiento de execl(), ¿cuál será el mensaje final en pantalla al ejecutar el siguiente código? printf("Ejemplo de uso de exec(): Los archivos en el directorio son:\n"); execl ("/bin/ls", "ls", "-1", (char *) NULL); printf("¡¡¡ Esto no se ejecuta !!!\n");. Se muestran los archivos, y luego "¡¡¡ Esto no se ejecuta !!!". Solo se muestra "Ejemplo de uso de exec(): Los archivos en el directorio son:". El programa falla antes de mostrar cualquier mensaje. Se muestran los archivos, y el mensaje "¡¡¡ Esto no se ejecuta !!!" no se ejecuta.

Al llamar a la función fork(), ¿qué se crea en relación con el proceso padre?. Un nuevo proceso hijo, copia exacta en código y datos, salvo PID y memoria. Un proceso hijo que debe cargarse desde disco. Un hilo que comparte código y datos con el padre. Un enlace simbólico al proceso padre.

Si la función fork() se ejecuta sin errores, ¿qué valor devuelve al proceso hijo?. -1. 0. El PID asignado al proceso hijo. El PID del proceso padre.

Si la función fork() se ejecuta sin errores, ¿qué valor devuelve al proceso padre?. -1. El PID asignado al proceso hijo. 0. El PID del proceso padre.

Si el proceso hijo modifica el valor de una variable después de llamar a fork(), ¿se refleja ese cambio en la misma variable del proceso padre?. No, pero el cambio se refleja en la variable del abuelo. Sí, porque ambos procesos comparten la misma memoria de variables. No, porque el proceso hijo tiene una copia independiente de las variables del padre. Sí, si y solo si la variable es global.

¿Qué función se utiliza para obtener el identificador del proceso que realiza la llamada (el proceso actual)?. fork(void). getppid(void). getpid(void). getid(void).

¿Cuál es la forma más básica de utilizar la función wait() y cuál es su objetivo principal?. wait(0) para que el hijo se ejecute antes que el padre. wait(PID) para que el padre pause al proceso hijo. wait(-1) para que el padre termine inmediatamente. wait(NULL) para que el proceso padre espere la finalización del proceso hijo.

En un pipe() para comunicación, si el flujo de información va del hijo al padre, ¿cuál descriptor debe cerrar el padre?. El padre no necesita cerrar ningún descriptor. El descriptor de lectura (fd[0]). El descriptor de escritura (fd[1]). Ambos descriptores (fd[0] y fd[1]).

En el ejemplo de pipe() donde el hijo envía el mensaje al padre, ¿qué descriptor (fd index) utiliza el hijo para realizar la operación de escritura?. fd[1]. fd[-1]. Depende de la llamada a write(). fd[0].

¿Cuál es el comando de la línea de comandos de Linux para crear un fichero FIFO?. pipe. creatfifo. mkfifo. touch.

En el ejemplo de sincronización, si el proceso hijo espera una señal de respuesta del padre, ¿qué función utiliza el hijo para bloquearse temporalmente hasta que le llegue una señal?. signal(). pause(). kill(). sleep().

¿Cuáles son las dos clases principales del paquete java.lang utilizadas para la gestión de procesos en Java?. System Runtime. Thread y Runnable. ProcessBuilder y Process. File y IOException.

¿Cuál es la misión principal de una instancia de la clase ProcessBuilder?. Sincronizar dos procesos. Gestionar una colección de atributos del proceso, como el comando y el directorio de trabajo. Representar el proceso en ejecución y sus flujos de E/S. Iniciar múltiples hilos de ejecución dentro de un proceso.

¿Qué método de la clase ProcessBuilder se debe invocar para crear e iniciar una nueva instancia de Process?. execute(). start(). run(). create().

Para leer lo que un comando ejecutado por un subproceso escribió en su salida normal (stdout), ¿qué método de la clase Process debe usar el proceso padre?. getInputStream(). getOutputStream(). getErrorStream(). exitValue().

¿Qué método de la clase Process provoca que el proceso actual (padre) espere a que el subproceso finalice?. waitFor(). exitValue(). destroy(). isAlive().

Por defecto, ¿a dónde son redirigidas todas las operaciones de Entrada/Salida (E/S) del subproceso?. A la memoria compartida del sistema. A un fichero de logs. Al proceso padre. A una terminal o consola indendiente.

¿Cuál es la causa potencial de los bloqueos en un subproceso mencionada en el texto?. La falta de llamadas a waitFor(). A un bucle infinito en el código. El tamaño de búfer limitado para los flujos de entrada y salida estándar. La interrupción por una señal externa.

¿Cómo se representa el comando que se invoca y sus argumentos dentro de un objeto ProcessBuilder?. Un único String con el comando completo. Un arreglo de bytes. Un objeto File con la ruta del ejecutable. Una lista de cadenas separadas por comas.

Una lista de cadenas separadas por comas. getStatus(). exitValue(). checkStatus(). isAlive().

¿Qué devuelve el método command() de la clase ProcessBuilder sin parámetros?. El directorio de trabajo actual. El programa que se quiere ejecutar como una cadena. Las variables de entorno del proceso. Todos los argumentos del objeto ProcessBuilder en una List<String>.

¿Qué método de ProcessBuilder permite establecer la fuente de entrada estándar del subproceso a un fichero?. redirectInput(File file). directory(File dir). redirectError(File file). redirectOutput(File file).

¿Qué método de la clase ProcessBuilder devuelve las variables de entorno del objeto en una estructura Map?. command(). getEnvironment(). getEnv(). environment().

Para ejecutar comandos de Windows que no tienen un ejecutable (como DIR), ¿qué comando es necesario utilizar como parte de la lista de argumentos de ProcessBuilder?. CMD.EXE. attrib.exe. explorer.exe.

¿Qué argumento debe usarse con CMD si se desea que el intérprete de comandos finalice después de ejecutar un comando?. /K. /E. /D. /C.

Si un programa Java (subproceso) finaliza correctamente sin incluir System.exit(), ¿qué valor por defecto devuelve el método waitFor()?. NULL. 1. 0. -1.

Si se redirige la entrada estándar a un fichero usando redirectInput(), ¿qué devolverá el método Process.getOutputStream()?. Una secuencia de salida nula. La secuencia de salida normal del proceso. Un descriptor de fichero al proceso. Un error de IOException.

El atributo redirectErrorStream de ProcessBuilder tiene inicialmente el valor false. ¿Qué significa esto?. La salida estándar y de error se fusionan en una sola corriente. La salida estándar y de error se envían a dos corrientes separadas. La salida de error se descarta. Se redirige automáticamente el error a un fichero.

Según el texto, la diferencia clave entre un programa y un proceso es que un programa es algo: Pasivo, un conjunto de instrucciones almacenado. Una actividad asíncrona. Activo, con recursos asignados. Un conjunto de hilos de ejecución.

¿Cuál es la diferencia entre la ejecución concurrente y la ejecución simultánea o paralela?. El paralelismo siempre ocurre en sistemas fuertemente acoplados. La concurrencia es entre hilos y el paralelismo es entre procesos. La concurrencia se da en sistemas multiprocesador y el paralelismo en monoprocesador. La concurrencia implica solapamiento o intercalado, mientras que el paralelismo es la ejecución simultánea real.

Una de las principales diferencias entre hilos (threads) y procesos es que los hilos: Comparten el espacio de memoria del proceso. Tardan más tiempo en crearse. Generalmente poseen espacios de memoria de trabajo independientes. Requieren la intervención del núcleo del sistema para su comunicación.

En la comparación entre procesos e hilos, ¿qué se indica sobre los cambios de estado de los hilos?. El costo es idéntico al de los procesos. El estado de los hilos nunca cambia. Los cambios de estado en los hilos son menos costosos porque pertenecen al mismo proceso. Los cambios de estado en los hilos son más costosos.

¿Cuál es la razón principal para que una clase implemente la interfaz Runnable en lugar de heredar de la clase Thread?. Runnable es más eficiente. Se utiliza cuando una clase ya deriva de otra (ej. un Applet). Runnable no requiere la implementación del método run(). Thread no funciona en todas las plataformas.

Para ejecutar la aplicación NOTEPAD de Windows, ¿cuál es la línea de código ProcessBuilder correcta?. ProcessBuilder pb = new ProcessBuilder("NOTEPAD");. Process pb = new ProcessBuilder("NOTEPAD").run();. ProcessBuilder pb = new ProcessBuilder("NOTEPAD").start();. ProcessBuilder pb = new ProcessBuilder("CMD", "/C", "NOTEPAD");.

En el Ejemplo2.java, ¿qué método de InputStream se utiliza para leer la salida generada por el comando carácter a carácter?. read(). available(). nextChar(). readLine().

Si el programa Java a ejecutar se encuentra en el directorio D:\PSP, ¿cómo se debe definir el objeto File para establecer el directorio de trabajo en ProcessBuilder (sin usar la clase ProcessBuilder.Redirect)?. File directorio = new File("/PSP");. File directorio = new File("D:/PSP");. File directorio = new File("D:\\PSP");. File directorio = new File(".\\PSP");.

Si en el Ejemplo2.java se cambia el comando por uno erróneo (DIRR), ¿qué valor se obtendrá al final en la variable exitVal recogida por p.waitFor()?. 32512. 0. 1. -1.

Para enviar una cadena al stream de entrada de un subproceso (Ej. DATE), ¿qué se debe hacer inmediatamente después de escribir los bytes (os.write(...)) para asegurar que la información se envíe?. Convertir la cadena a String.valueOf(). Llamar a p.waitFor(). Vaciar el buffer de salida (os.flush()). Cerrar el stream (os.close()).

Para enviar una cadena ("Hola Manuel") al stream de entrada de un programa Java que utiliza br.readLine(), ¿cómo debe terminar la cadena enviada para simular la pulsación de [Intro]?. El programa readLine() lo detecta automáticamente. Con un espacio al final ("Hola Manuel "). Con el carácter de nueva línea ("\n"). Con un tabulador ("\t").

Al utilizar la clase ProcessBuilder.Redirect, ¿qué valor de redirección se utiliza para indicar que el proceso debe escribir en un fichero?. Redirect.appendTo(File). Redirect.from(File). Redirect.INHERIT. Redirect.to(File).

Al utilizar la clase ProcessBuilder.Redirect, ¿qué valor de redirección se utiliza para indicar que la salida del proceso se debe añadir al objeto File especificado?. Redirect.from(File). Redirect.appendTo(File). Redirect.to(File). Redirect.INHERIT.

Denunciar Test