UF2. Procesos e hilos Flashcards
Tenemos la siguiente clase definida: Public class Reloj extends Applet implements Runnable {} ¿Cuál es la interface?:
Runnable.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un Programa?
Toda la información (código + datos) que están almacenados en memoria secundaria y que dan solución a una necesidad del usuario que lo ha ejecutado.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un Proceso?
Toda la información (código + datos) que están almacenados en memoria secundaria y que dan solución a una necesidad del usuario que lo ha ejecutado.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un Proceso?
Un proceso es un programa en ejecución Gestiona recursos necesarios para ejecutar el programa Contiene uno o varios hilos de ejecución
2.1. Programación concurrente, paralela y distribuida
Proceso. Contador de programa
En qué pasó está la ejecución.
2.1. Programación concurrente, paralela y distribuida
Proceso. Imagén de memoria
Espacio de memoria usada por proceso.
2.1. Programación concurrente, paralela y distribuida
Proceso. Estado del procesador
Valor de registros del procesador en ejecución.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un Ejecutable?
Fichero que contiene toda la información necesaria para crear un proceso a partir de los datos almacenados de un programa, esto es, fichero que permite poner el programa en ejecución como proceso.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un Hilo?
Un hilo es un flujo de control independiente dentro de un programa. Secuencia de instrucciones que se ejecutan.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un Sistema Operativo?
Programa que hace de intermediario entre el usuario y las aplicaciones que usa, así como con el hardware del ordenador.
Ejecuta programas del usuario, hace de interfaz entre usuario y hardware y usa los recursos del ordenador de forma eficiente.
2.1. Programación concurrente, paralela y distribuida
¿Qué es un proceso DAEMON (Demonio)?
Proceso no interactivo que se ejecuta continuamente en segundo plano Son controlados por el Sistema Operativo y el usuario no puede intervenir Proporcionan un servicio básico para el resto de procesos.
2.1. Programación concurrente, paralela y distribuida
¿Qué es la Programación Concurrente?
- Escuchar música
- Imprimir un documento
- Ver un vídeo en Youtube
- Descargar un fichero
- Tener abierta une ventana de Chrome con 5 pestañas
- Recibir notificaciones de actualizaciones
La programación concurrente permite tener en ejecución varias tareas interactivas al mismo tiempo
2.1. Programación concurrente, paralela y distribuida
Las tareas se pueden ejecutar de 3 formas
- Programación concurrente
- Programación paralela
- Programación distribuida
2.1. Programación concurrente, paralela y distribuida
Programación concurrente. Único procesador
Sólo un proceso en ejecución en un momento determinado, asignando orden y cambiando proceso cada poco tiempo. El usuario piensa que todos se ejecutan a la vez.
2.1. Programación concurrente, paralela y distribuida
Programación paralela. Varios núcleos
Cada núcleo ejecuta un proceso al mismo tiempo. EI SO planifica los trabajos por ejecutar en cada núcleo. Todos los núcleos comparten la memoria.
2.1. Programación concurrente, paralela y distribuida
Programación distribuida. Varios ordenadores en red
Cada uno con sus propios procesadores y propia memoria Gestión de ordenadores en paralelo La memoria no se comparte, por lo que la comunicación requiere métodos más costosos a través de la red.
2.1. Programación concurrente, paralela y distribuida
¿Qué es la Concurrencia?
La concurrencia es la propiedad que permite a los sistemas ejecutar diferentes procesos en un mismo tiempo.
La programación concurrente es la que se encarga de ejecutar las tareas simultáneamente.
Una aplicacón concurrente no garantiza menor tiempo.
2.1. Programación concurrente, paralela y distribuida
Ejecución no concurrente. Ejemplo
2.1. Programación concurrente, paralela y distribuida
Ejecución concurrente. Ejemplo
La concurrencia es la propiedad que permite a los sistemas ejecutar diferentes procesos en un mismo tiempo.
La programación concurrente es la que se encarga de ejecutar las tareas simultáneamente.
Una aplicacón concurrente no garantiza menor tiempo.
2.1. Programación concurrente, paralela y distribuida
Condiciones para que se pueda dar la Programación Concurrente
- Secuencia de ejecución
- Comuniación entre procesos
- Acceso coordinado a los recursos
2.1. Programación concurrente, paralela y distribuida
Ventajas de la Programación Concurrente
- Facilita el diseño orientado a objetos
- Posibilita la compartición de recursos
- Facilita la programación de aplicaciones en tiempo real
- Reduce los tiempos de ejecución
2.1. Programación concurrente, paralela y distribuida
Ventajas de la Programación Concurrente
- Posibilita la compartición de recursos.
- Facilita la programación de aplicaciones en tiempo real.
- Puede reducir los tiempos de ejecución.
2.1. Programación concurrente, paralela y distribuida
Señala la respuesta correcta:
* a. Ambas respuestas son incorrectas.
* b. Ambas respuestas son correctas.
* c. La programación concurrente aprovecha mejor la CPU.
* d. La programación concurrente reduce la velocidad de ejecución.
c. La programación concurrente aprovecha mejor la CPU.
2.1. Programación concurrente, paralela y distribuida
Señala la respuesta correcta:
* a. Ambas respuestas son correctas.
* b. La programación concurrente aprovecha mejor la CPU.
* c. Ambas respuestas son incorrectas.
* d. La programación concurrente reduce la velocidad de ejecución.
b. La programación concurrente aprovecha mejor la CPU.