SERVICIOS Y PROCESOS SIMULACRO 1 (1-2)
![]() |
![]() |
![]() |
Título del Test:![]() SERVICIOS Y PROCESOS SIMULACRO 1 (1-2) Descripción: SIMULACRO 1 |




Comentarios |
---|
NO HAY REGISTROS |
Los procesos concurrentes cooperantes:_____. No existen. No necesitan ni ayuda ni cooperación de otros procesos. Se diseñan para trabajar conjuntamente con otros procesos y, por lo tanto, necesitan interactuar y comunicarse entre ellos. La planificación de hilos se basa en: Qué política no se tiene que seguir para decidir quiéncoge el control del procesador. Qué política se tiene que seguir para decidir qué hilo coge el control del procesador y en qué momento. Qué política se tiene que seguir para decidir qué hilo deja de ejecutarse al finalizar la ejecución. Para la sincronización de procesos: Los lenguajes de programación secuenciales ya nos proporcionan mecanismos eficientes para resolver los problemas de sincronización. No es necesario el uso de primitivas específicas de programación concurrente. Es necesario el uso de primitivas específicas de programación concurrente para la sincronización de procesos. La programación multihilo es : Una manera de hacer programación secuencial. Una manera de hacer programación monoproceso. Una manera de hacer programación concurrente. Una desventaja de la programación paralela es: La facilidad de integración de componentes y de aprendizaje. El incremento de la dificultad en el desarrollo de compiladores y entornos de programación eficientes. La poca complejidad en el acceso a los datos. Uno de los beneficios de la programación concurrente: Es una ejecución más pausada. Es una menor ocupación de espacio de almacenamiento. Es un mejor aprovechamiento de la CPU. El paquete java.lang provee de: Clases para gestionar colas de hilos. Clases para sincronización de hilos o Threads. Clases para proporcionar y gestionar tareas básicas con Threads. Cuando un hilo muere pasa al estado Dead o finished: Esta situación se puede producir cuando el hilo termina su método run() normalmente. Esta situación se puede producir cuando el hilo crea nuevos hilos dándoles un puntero de instrucción y algunos argumentos. Esta situación se puede producir cuando el hilo debe esperar por un suceso. En un entorno de ejecución con condiciones de competencia: Una aplicación secuencial correcta generará los resultados en el mismo orden. Una aplicación secuencial correcta seguirá generando los resultados esperados. Una aplicación secuencial correcta generará los resultados en un orden impredecible. La situación en la que un proceso consume tiempo de CPU, a la vez que se halla en situación de bloqueo por un evento, se conoce como: Interbloqueo. Inanición. Espera activa. Para intercambiar información entre procesos: Se utilizan los mecanismos de memoria compartida y paso de mensajes. No se puede intercambiar información entre proceso. Se utilizan los mecanismos síncronos. Para iniciar la ejecución de una hebra de forma concurrente: Llamaremos al método start(). Llamaremos al método run(). Llamaremos al método start() o run() indistitanmente. Java proporciona el tratamiento de los hilos, es decir cómo crearlos, gestionarlos y trabajar con ellos: Pero el programador no puede gestionar el acceso a datos en común, para que no existan problemas de concurrencia. Pero el programador no puede gestionar algunos problemas de concurrencia. Pero el programador debe gestionar el acceso a datos en común, para que no existan problemas de concurrencia. ¿Qué información almacena el bloque de control de proceso?: Estado, identificador, prioridad, ubicación y recursos utilizados, así como un puntero apuntando a la posición de memoria donde se encuentra el proceso padre. Estado, identificador, prioridad, ubicación y recursos utilizados. Proceso padre, identificador, prioridad, ubicación y recursos utilizados. Respecto a los hilos demonio o daemon: Su método run() nunca es un bucle infinito. Son hilos que se ejecutan en segundo plano. Proporcionan servicios a un solo hilo de otro proceso. El método para pausar la tarea es : wait(). pause(). sleep(). Un sistema monoproceso es aquel en el que : Varios programas pueden ejecutarse en forma de un solo proceso. Varios programas pueden ejecutarse simultáneamente. Un único programa puede ejecutarse simultáneamente. Objeto.notifyAll() : Despierta todos los hilos que están esperando al objeto. Notifica a todos los hilos que el objeto está en memoria. Despierta solo un hilo de los que están esperando al objeto. El método isAlive(): Despierta a una hebra que estaba pausada. Destruye una hebra que está en ejecución. Nos dice si una hebra ha terminado o no su ejecución. El interbloqueo: Puede aparecer cuando se sincronizan bloques de código. En Java nunca puede aparecer. Se produce cuando un hilo entra en un bloque Synchonized. El código a ejecutar de forma concurrente se escribirá: En el método run(). En el método main(). En el método start(). Los sistemas de memoria compartida o multiprocesadores: En este caso cada procesador cuenta con su propia memoria la cual es accesible solo por dicho procesador. Son más concretos y eficaces por lo que suelen ser los más usados en la computación paralela. Estos sistemas comparten físicamente la memoria, es decir, todos los procesadores acceden al mismo espacio de direcciones. El método join(): Da prioridad absoluta a una hebra. Hace que una hebra espere a que otra hebra termine. Inicia la ejecución de una hebra. El método yield(): Hace que se duerma el hilo que se está ejecutando para que pueda ejecutarse el hilo que hace la llamada a yield(). Hace que un hilo se duerma hasta que reciba una notificación. Hace que un hilo que se está ejecutando vuelva al estado “listo para ejecutarse”, permitiendo así que se ejecuten otros hilos. Son acciones que no se pueden ejecutar cuando hablamois de procesos concurrentes. Son acciones que solo se pueden realizar en programación monoproceso. Son acciones que no se pueden ejecutar cuando hablamois de procesos concurrentes. Son dos de las acciones más importantes cuando se ejecutan procesos concurrentes. El paquete java.util.concurrent incluye: Clases para la sincronización de hilos. Los métodos wait(), notify() y notifyAll(). La interfaz Runnable. En la depuración de una aplicación multihilo : No se permite guardar nada en archivos log. No tenemos acceso a ningún otro método. Se pueden utilizar métodos que permiten grabar en un fichero log el seguimiento de la pila de Java. Los hilos de un mismo proceso: Se ejecutan con la misma prioridad en el mismo thread. Deben tener la misma prioridad. Pueden tener distintas prioridades. El problema de sincronización de los procesos suministrador y cliente que comparten un dato lo podemos resolver con: Un nuevo hilo. Un nuevo objeto. Un semáforo. ¿Qué nombre recibe la situación en la que varios procesos no pueden continuar su ejecución porque no pueden conseguir todos los recursos que necesitan para ello?: Deadlock. Región crítica. Condición de competencia. Una hebra o hilo: Es la ejecución de un programa. Es una estructura de datos que almacena información sobre un proceso. Es un punto de ejecución de un proceso. El método start() se encarga de llamar al método run() del hilo : Para que comience a contar el tiempo asignado. Para que cree una nueva instancia del objeto. Para que se ejecute como subproceso independiente. La programación paralela: Está íntimamente relacionada con la programación distribuida, pero enfatiza más en la interacción entre tareas o procesos. Es un paradigma de programación que consiste en la explotación de varios procesadores para que trabajen de manera conjunta y simultánea en la resolución de un problema. Es un paradigma de programación para el desarrollo de sistemas distribuidos, abiertos, escalables, transparentes y tolerantes a fallos. Es fruto del uso de las computadoras y las redes. Dos tareas son concurrentes: Cuando se ejecutan en la misma CPU. Cuando transcurren durante el mismo intervalo de tiempo. Cuando pertenecen a la misma aplicación. Los ficheros ejecutables binarios funcionarán: Siempre que se hayan compilado para cada plataforma. Interpretándolos en cada plataforma. Sin compilarlos en cualquier plataforma. La clase ThreadGroup: Es la que define e implementa todo aquello relacionado con hilos que comparten proceso. Es la que define e implementa todo aquello relacionado con hilos monoproceso. Es la que define e implementa todo aquello relacionado con grupos de hilos. Un proceso : Para iniciar su ejecución no tiene porqué residir en memoria completamente ni que le hayan sido asignados todos los recursos que necesita para su operación. Puede acceder al área de memoria asignada a otro proceso. Es un programa en ejecución siendo un programa un conjunto de instrucciones que el sistema operativo ejecuta para realizar determinadas acciones de un sistema informático. En los sistemas actuales: Se especifican que las zonas de memoria no se pueden compartir entre distintos procesos. No hay posibilidad de compartir zonas de memoria entre distintos procesos. Existe la posibilidad de compartir zonas de memoria entre distintos procesos. La depuración de aplicaciones concurrentes: Es exactamente igual de compleja que la depuración de aplicaciones secuenciales. Depende de la complejidad de los hilos generados. Es más compleja que la depuración de aplicaciones secuenciales. En Java, para permitir una ejecución lo más cercana a la ejecución simultánea: Se hereda de la clase Thread o se implementa el interfaz Runnable. Solo se puede hacer heredando de la clase Thread. Solo se puede hacer implementando el interfaz Runnable. |