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

Slides:



Advertisements
Presentaciones similares
TEMA 1 Introducción a la Programación Concurrente
Advertisements

VI Unidad. Sistema Operativo
Creación de procesos Asignar un único identificador al nuevo proceso. Asignar espacio para el proceso. Debe inicializarse el bloque de control del proceso.
Sistema operativo Componentes de un sistema operativo
Programación Interactiva Hilos
T5-multithreading SO-Grado Q1.
Administración de procesos y del procesador.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Sistemas Operativos Unidad II Procesos.
UNIDAD 2. ADMINISTRACION DE PROCESOS Y DEL PROCESADOR
Modelo de procesos de dos estados
Estructuras en Sistemas Operativos
Detalles del sistema operativo
INSTALACIÓN Y MANTENIMIENTO DE SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS UNIDAD 1..
Administración de procesos y del procesador.
UTFSM - Sistemas Operativos
Unidad 2: Procesos e Hilos (Threads)
Mejoras a las Máquinas Von Neumann
Java. Threads (Hebras) Los sistemas operativos actuales permiten la multitarea, aunque esta se de tiempo compartido cuando se trabaja con un solo procesador.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Arquitectura del Computador
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sistemas Operativos Procesos.
NUCLEO-KERNEL MEMORIA CACHÉ L1-L2 HILOS
Hilos - Lightweight process - Procesos ligeros
Profesor: Rodrigo Sanhueza Figueroa
Sistemas Operativos II MC. Daniel Fajardo Delgado INSTITUTO TECNOLÓGICO DE CD. GUZMÁN 24 de Abril de 2004.
Hebras Cecilia Hernández. Qué es un proceso? Consiste Espacio de direccionamiento Código a ejecutar Datos estáticos y dinámicos Pila o stack CPU: PC,
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Hilos En La Computación. (THREADS).
Hebras, SMP, y Microkernels
Introducción a los Sistemas Operativos
Gestión de Procesos Gestión de Procesos Procesos Planificación CPU
SISTEMAS OPERATIVOS.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Gestión de procesos Sistemas Operativos Edwin Morales
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
COMPONENTES DEL SISTEMA OPERATIVO.
INFORMATICA III ESCUELA DE INGENIERIA ELECTRONICA DEPARTAMENTO DE SISTEMAS E INFORMATICA.
Administrador de procesos
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Integrante: Yohandry Cueto Carnet: # Contenido Kernel Linux Limitaciones del Kernel Linux Kernel Mach Que es Hurd Arquitectura Ventajas Distribuciones.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
1.1 Silberschatz, Galvin y Gagne ©2002 Sistems Operativos – 6ta. Edición Capítulo 1: Introducción ¿Qué es un sistema operativo? Sistemas Operativos por.
Sistemas Operativos Unidad III Procesos.
Estructura de los Sistemas Operativos
Clasificación y estructura. Alejandra Rivero Esteban
FLOR ALBA ACEVEDO COD JENNIFFER TATIANA TORRES COD
Unidad 2 – Gestión de Procesos
Por Luis Esteban Monsalve Martínez
Hilos Capítulo 5 Silberschatz Galvin. Copyright © 2006, Intel Corporation. All rights reserved. Intel and the Intel logo are trademarks or registered.
Por: Mario Felaco Mercedes Martinez Sistemas Operativos III Ene-Mar 2007.
Threads en Java  Threads: programas multitarea  Creación de threads  Ciclo de vida de un thread  Sincronización.
Un proceso ligero (thread o hebra) es un programa en ejecución que comparte la imagen de la memoria y otras informaciones con otros procesos ligeros.
3.2.1 Administración de almacenamiento
Elementos y tipos de sistemas operativos
UNIDAD I INTRODUCCION A LOS S.O.
SISTEMAS OPERATIVOS.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Instituto de Ciencias y Humanidades Tabasco. El software Coordinar el uso del hardware Coordinar el uso del hardware Ejercer el control Programas de aplicación.
Gestión de Memoria – Parte 2
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

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

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.

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.

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.

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.

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.

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.

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.