La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.

Presentaciones similares


Presentación del tema: "Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads."— Transcripción de la presentación:

1 Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads

2 Concepto de hilo de ejecución (thread). Hay sistemas operativos donde un proceso puede tener internamente actividades concurrentes llamadas hilos de ejecución Ejemplo: Un proceso “videojuego” puede tener un hilo de ejecución para cada uno de los elementos móviles de la pantalla.

3 Threads Concepto de hilo de ejecución (thread) El concepto de proceso que se ha presentado incluye las dos características siguientes: Unidad de propiedad de recursos: A cada proceso se le asigna un espacio de direcciones virtuales para albergar a la imagen del proceso y, de cuando en cuando también se le puede asignar otros recursos (canales de E/S, dispositivos de E/S y ficheros). Unidad de ejecución: Un proceso es un camino de ejecución a través de un programa. Esta ejecución puede ser intercalada con la de otros procesos. Estas dos características son la esencia del proceso, pero pueden ser tratadas de manera independiente por el s.o.

4 Threads Se pueden diferenciar: Proceso (proceso pesado): Unidad de propiedad de los recursos (memoria, descriptores de ficheros, etc.). Tiene muchos atributos y es lento de crear. Hilo de ejecución (proceso ligero): Actividad concurrente dentro de un proceso (pesado). Todos los hilos de ejecución que pertenecen a un mismo proceso comparten sus recursos (memoria, descriptores de fichero, etc). Tiene pocos atributos y se crea rápidamente.

5 Threads Los denominados procesos no comparten memoria (código o datos). Cada uno tiene su propio espacio de direcciones. Los hilos de ejecución de un mismo proceso pueden tener rutinas o variables comunes. No obstante, cada hilo tendrá su propia pila donde se guardarán las variables locales y argumentos de invocación.

6 Threads Múltiples “threads” de ejecución dentro del mismo programa, comparten la misma memoria, son llamados procesos livianos. Realizan múltiples tareas al mismo tiempo. Trabajan en una misma tarea en paralelo. Muy utilizado en interfaces de usuario. –Web browsers: carga webpages mientras el usuario puede hacer scroll, volver atras, abrir una nueva ventana, etc. –Web servers: responde a múltiples pedidos en paralelo. Toma ventaja de múltiples procesadores o múltiples núcleos.

7 Implementación de threads Hilos a nivel del núcleo (kernel-level threads): El sistema operativo soporta hilos de ejecución y proporciona un conjunto de llamadas al sistema para su manipulación. El sistema crea un hilo de ejecución por cada hilo a nivel de usuario. Son la unidad de planificación del sistema. El bloqueo y activación de hilos corre a cargo del núcleo. Los cambios de contexto son manejados por el kernel y son unas 10 veces más lentos que en el caso de los hilos de usuario.

8 Thread Un thread es un flujo de control secuencial dentro de un programa. A los threads también se los conoce como procesos livianos ó contextos de ejecución. Un thread es similar a un programa secuencial: tiene un comienzo, una secuencia de ejecución, un final y, en un instante de tiempo dado hay un único punto de ejecución. Sin embargo, un thread no es un programa. Un thread se ejecuta adentro de un programa. Los novedoso en threads, es el uso de múltiples threads adentro de un mismo programa, ejecutándose simultáneamente y realizando tareas diferentes: Un thread es considerado un proceso liviano pués se ejecuta dentro del contexto de un programa y usa los recursos y el ambiente de ejecución del programa. A pesar de esto, los threads toman algunos recursos del ambiente de ejecución del programa. Por ej. tienen su propia pila de ejecución y su contador de programa. Como un thread solamente se ejecuta dentro de un contexto, a un thread también se lo llama contexto de ejecución.


Descargar ppt "Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads."

Presentaciones similares


Anuncios Google