PSP DAM Programación Concurrente y Redes en Java 01
|
|
Título del Test:
![]() PSP DAM Programación Concurrente y Redes en Java 01 Descripción: Resumen de preguntas de tipo test (repaso 1) |



| Comentarios |
|---|
NO HAY REGISTROS |
|
En la depuración de programas concurrentes, ¿es necesario comprobar la correcta definición de la región crítica y la exclusión mutua?. Verdadero. Falso. ¿Qué comando se utiliza en Linux para gestionar procesos a través de la línea de comandos?. ps en Linux. kill en Linux. task en Windows. Tasklist en Windows. ¿Cuáles son las funciones correctas de los monitores en la programación concurrente?. Simplifica la implementación de la aplicación al encapsular la exclusión mutua. Define todas sus variables, métodos y procedimientos como públicos. Gestiona recursos que van a ser accedidos de forma concurrente, garantizando la exclusión mutua en los accesos. Tienen asociada una lista de procesos suspendidos en espera de obtener el acceso al recurso que gestionan. ¿El método FileChannel.tryLock() indica si un recurso está bloqueado o no?. Verdadero. Falso. Selecciona el nivel de paralelismo de menor a mayor granularidad, siendo la granularidad más fina la asociada al nivel 1. A nivel de bit. A nivel de instrucciones. A nivel de procedimientos. A nivel de tarea. ¿Cómo se llama el contenedor del código máquina de un proceso?. Aplicación. Interpretado. Binario. Ejecutable. ¿En qué estado se encuentra un proceso cuando ha sido llevado al área de intercambio para liberar memoria principal del sistema?. Ha sido llevado al área de intercambio para liberar un poco la memoria principal del sistema. Se encuentra en su turno de ejecución. Está esperando que finalice una operación de E/S. Está esperando a volver a ser asignado a la CPU. ¿Cuáles de los siguientes forman parte de la plataforma Java?. El entorno integrado de desarrollo (IDE). La máquina virtual java (JVM). El lenguaje Java. La de programación de interfaz de aplicaciones (API) Java. ¿Qué permiten las herramientas para la gestión de procesos?. Cambiar la prioridad de ejecución de un proceso. Modificar la información de uso del sistema mostrada. Modificar los PID de los procesos activos. Finalizar procesos. En un cambio de contexto en la CPU, ¿qué se cambia?. La memoria que está utilizando la CPU. El estado de la CPU. El equipo en el que está instalada la CPU. La instrucción que está ejecutando la CPU. ¿El interbloqueo (deadlock) se puede producir en cualquier programa que utilice hilos?. Verdadero. Falso. ¿Qué método de la clase Semaphore se utiliza para indicar que se quieren consumir recursos?. await(). acquire(). exchange(). release(). Respecto a la prioridad en la ejecución de los hilos, ¿Java solo permite asignar una prioridad entre 1 (mínimo), 5 (normal) y 10 (máximo)?. Verdadero. Falso. ¿Cuáles de las siguientes clases son utilidades de sincronización de hilos?. Thread. Exchanger. CyclicBarrier. Semaphore. ¿El bloque de código marcado con `synchronized` solo puede ser ejecutado por un hilo a la vez sobre un objeto?. Verdadero. Falso. ¿Qué se utiliza para detener temporalmente la ejecución de un hilo, ponerlo a la espera de un evento y continuar cuando se le notifique?. await(). yield(). sleep(). wait(). ¿Qué posee el paquete `java.lang`?. Una interfaz con la que implementar hilos o Threads. Clases para sincronización de hilos o Threads. Clases para proporcionar y gestionar tareas básicas con Threads. Clases para gestionar colas de hilos. La ejecución de un programa multihilo significa que, en cualquier caso, se realiza la ejecución simultánea de más de un hilo. Verdadero. Falso. ¿Cuál es una ventaja de la ejecución multihilo respecto a multiproceso?. Compartición de datos (pero no es posible compartir código u otros recursos como archivos y/o señales). Compartición de archivos y/o señales (pero no es posible compartir código o datos). Compartición de código (pero no es posible compartir datos u otros recursos como archivos y/o señales). Ninguna respuesta es correcta. Con la clase `Object` podemos utilizar una serie de métodos que permiten la comunicación entre hilos (threads). Verdadero. Falso. En un emisor UDP, ¿qué clase se utiliza?. Socket. DataInputStream. DatagramSocket. DatagramPacket. ¿Qué capa se encarga del direccionamiento de puertos?. Capa de red. Capa de transporte. Capa de aplicación. Capa host-red. En un receptor UDP, ¿qué clase se utiliza?. Socket. DataInputStream. DatagramPacket. DatagramSocket. ¿Qué servidor proporciona el servicio que asocia un nombre de equipo a una dirección IP?. Samba. FTP. DNS. HTTP. ¿Qué tipos de sockets existen?. UDP. TCP. ARP. ICMP. ¿Qué propiedad NO tiene el protocolo TCP?. Comunicaciones multicast. Corrección de errores. Reensamblado de paquetes. Control de flujo. ¿En cuál de estas variables se puede utilizar el método `readUTF()`?. DataOutputStream flujo. DataInputStream flujo. ¿Qué método de la clase `ServerSocket` permite al servidor quedar disponible para aceptar solicitudes TCP de clientes?. accept(). wait(). readUTF(). writeUTF(...). ¿Qué rango de puertos se encuentra reservado y no se recomienda utilizar en aplicaciones?. 0-1023. 49152-65536. 1024-49151. Indica qué protocolo NO pertenece a la capa de aplicación. FTP. HTTP. ARP. SSH. Indica la afirmación INCORRECTA sobre los streams (flujos). Existen flujos de entrada. Los flujos se pueden realizar sobre ficheros. Existen flujos que permiten la entrada y salida. Existen flujos de salida. ¿Qué operaciones hay que realizar para optimizar la utilización de sockets en una aplicación cliente/servidor?. Monitorizar los tiempos de respuesta. Asegurar el sistema. Atender múltiples peticiones. Todas son correctas. ¿Qué clase, que proporciona el constructor, contiene un método que permite la aceptación de petición de conexión por parte de un cliente?. Socket. Accept. Bind. ServerSocket. En el modelo cliente/servidor, ¿qué parte precisa una cantidad infinitamente mayor de recursos?. El cliente. El servidor. La forma de iniciar un hilo o hebra en Java consiste en... La clase que se pretenda que se comporte ‘como un hilo' debe heredar de la clase 'Runnable' y, tras eso, definir la lógica que desea sea realizada en el método 'start'. La clase que se pretenda que se comporte ‘como un hilo' debe heredar de la clase 'Runnable' y, tras eso, definir la lógica que desea sea realizada en el método ‘run'. Tras lo anterior iniciar el hilo es tan sencillo como invocar, tras la creación del objeto con el constructor de la clase, al método 'run'. La clase que se pretenda que se comporte 'como un hilo' debe heredar de la clase 'Thread' y, tras eso, definir la lógica que desea sea realizada en el método 'run'. Tras lo anterior iniciar el hilo es tan sencillo como invocar, tras la creación del objeto con el constructor de la clase, al método 'start'. Ninguna respuesta es correcta. Indica la importación de paquetería que contiene la librería para trabajar con sockets en Java. import java.net.*;. import java.networking.* ;. import net.*;. import java.sockets.*;. ¿En qué modelo el servidor debe asumir las tareas de servidor de aplicación y de datos?. Modelo de 3 capas. Modelo de 1 capa. Modelo de 2 capas. Modelo de n capas. ¿Qué clase proporciona el constructor que permite al cliente conectarse a un socket?. Socket. Accept. ServerSocket. Bind. En el modelo cliente/servidor, ¿se pueden usar múltiples servidores (ej. 10 unidades) para especializar tareas? Si es afirmativo, ¿a qué número de capas se asocia?. No es posible. Como bien indica la terminología ‘cliente/servidor' implica múltiples clientes pero un solo servidor (modelo ‘2 capas'). Sí, es posible emplear más de un servidor. Se asocia a un modelo del tipo ‘2 capas' o '3 capas' según el caso. Sí, es posible emplear más de un servidor. Se asocia a un modelo del tipo '3 capas'. Sí, es posible emplear más de un servidor. Se asocia a un modelo de 'n capas'. Al ejecutar una hebra, ¿el código que atiende las peticiones de los clientes, los flujos de entrada y/o salida, se ubica en el método ‘run’?. No. Sí. Al desarrollar un cliente HTTP que solicita un recurso, ¿es imprescindible conocer el atributo 'Content-Length' del objeto `URLConnection`?. No es necesario en absoluto ni influye en el rendimiento. Es tan solo un valor que podemos solicitar para datos estadísticos. No, pero es aconsejable para aplicar en el bucle de lectura ya que proporciona un funcionamiento mejor en términos de rendimiento al dimensionar de mejor manera el tamaño de la variable en la cual se apoya el buffer de lectura. Un desarrollo de software para un servidor HTTP que usa gestión de concurrencia... Es algo que raramente suele ser necesario ya que, en general, no suele haber más de una petición de un cliente en un mismo instante de tiempo. En el poco probable caso de que ello suceda se atiende mediante un mecanismo de espera de forma que hasta que no se atiende una petición no se procesa la siguiente (que estará en la cola de espera antes indicada). Emplea hilos o threads para cada una de las peticiones que se reciben por parte de los clientes de forma que más de una puede ser atendida en el mismo momento. La clase `InetAddress` es una API de alto nivel del paquete `java.net`. Verdadero. Falso. ¿Cuáles de los siguientes métodos se utilizan para trabajar con objetos `URL`?. getPort(). getHostAddress(). getProtocol(). getHost(). La versión del protocolo HTTP más reciente es la HTTP/1.0. Verdadero. Falso. ¿Una expresión de URL tiene obligatoriamente que contener la indicación de puerto?. No. La excepción a este pregunta es el caso en el cual el servicio sea proporcionado en un puerto diferente al puerto 80. No, pero si indicamos el puerto (inclusive en el caso del puerto 80) se agiliza el procesamiento de nuestra petición en el servidor. Todas las respuestas son correctas excepto la respuesta ‘Ninguna opción es correcta'. Ninguna opción es correcta. Para programar un cliente HTTP más reciente (posterior a HTTP/1.0), ¿hay que utilizar necesariamente un `Socket`?. Verdadero. Falso. Señala cuál de la siguiente tarea NO puede realizarse mediante un objeto `URL`: Ninguna es correcta. Enviar un mensaje de correo. Descargar un fichero txt. Descargar un fichero pdf. `URL` es una API de alto nivel del paquete `java.net`. Verdadero. Falso. ¿Cuáles de los siguientes métodos NO forman parte de la clase `javax.mail.Message`?. setText(). setSubject(). send(). getDefaultInstance(). |





