Hilos y SMP

Hilos y SMP Hilos y SMP

Procesos e Hilos
Caracter´ ısticas

Procesos e Hilos Hilos SMP

Procesos e Hilos

Hilos y SMP
Eloy Anguiano Rey eloy.anguiano@uam.es
Centro de Referencia Linux UAM–IBM Escuela Polit´cnica Superior e Universidad Aut´noma de Madrid o

Caracter´ ısticas Sistema Multihilo Diferencia Proceso-Hilo Beneficios de los hilos Uso de los hilos

Unidad de propiedad de los recursos: el proceso incluye un espacio de direcciones virtuales para mantener la imagen del proceso. Unidad de expedici´n: sigue un camino de ejecuci´n o o que puede ser intercalada con la de otros procesos. Estas dos caracter´ ısticas son tratadas de manera independiente por el sistema operativo. La unidad de expedici´n se conoce como hilo. o La unidad de propiedad de los recursos se conoce como proceso o tarea.

Hilos SMP

Procesos e Hilos
Sistema Multihilo
Hilos y SMP

Procesos e Hilos
Diferencia Proceso-Hilo
Hilos y SMP

Procesos e Hilos
Caracter´ ısticas Sistema Multihilo Diferencia Proceso-Hilo Beneficios de los hilos Uso de los hilos

Hilos SMP

Sistema operativo que mantiene varios hilos de ejecuci´n dentro de un mismo proceso. o MS-DOS soporta un solo hilo. UNIX soporta m´ltiples procesos de usuarios, pero s´lo u o un hilo por proceso. Windows 2000, Solaris, Linux, Mach, y OS/2 soportan m´ltiples hilos. u

Procesos e Hilos
Caracter´ ısticas Sistema Multihilo Diferencia Proceso-Hilo Beneficios de los hilos Uso de los hilos

Proceso Tiene un espacio de direcciones virtuales, que contiene la imagen del proceso. Acceso protegido a los procesadores, a otros procesos, archivos y a recursos de E/S. Hilo Posee un estado de ejecuci´n (Ejecuci´n, Listo, etc.). o o El contexto del procesador se salva cuando no est´ a ejecutando. Tiene una pila de ejecuci´n. o Almacenamiento est´tico para las variables locales. a Acceso a la memoria y a los recursos del proceso, compartidos con todos los hilos del mismo.

Hilos SMP

Procesamiento as´ ıncrono. o o Estructuraci´n modular de los programas.Procesos e Hilos Beneficios de los hilos Hilos y SMP Hilos y SMP Procesos e Hilos Uso de los hilos Procesos e Hilos Caracter´ ısticas Sistema Multihilo Diferencia Proceso-Hilo Beneficios de los hilos Uso de los hilos Se tarda menos tiempo en crear un nuevo hilo en un proceso existente. Se tarda menos tiempo en cambiar entre dos hilos de un mismo proceso. pueden comunicarse entre s´ sin ı invocar al n´cleo. Terminaci´n: Se liberan el contexto y las pilas. La terminaci´n de un proceso supone terminar con o todos los hilos dentro de dicho proceso. Estados de un hilo Creaci´n: Se crea un nuevo hilo. o Hilos SMP Hilos SMP Hilos Implicaciones Hilos y SMP Hilos y SMP Hilos Llamada a RPC Procesos e Hilos Hilos Especificaciones Llamada a RPC Tipos de hilos Relaci´n o Hilo-Proceso La suspensi´n de un proceso implica la la suspensi´n de o o todos los hilos de un proceso. o Bloqueo. Se tarda menos tiempo en terminar un hilo que un proceso. Puesto que los hilos de un mismo proceso comparten memoria y archivos. u Procesos e Hilos Caracter´ ısticas Sistema Multihilo Diferencia Proceso-Hilo Beneficios de los hilos Uso de los hilos En un sistema multihilo y monousuario los hilos permiten: Trabajo interactivo y en segundo plano. puesto que todos comparten el mismo espacio de direcciones. o Procesos e Hilos Hilos Especificaciones Llamada a RPC Tipos de hilos Relaci´n o Hilo-Proceso SMP SMP . Desbloqueo. Aceleraci´n de la ejecuci´n.

o o Aproximaciones combinadas Un ejemplo es Solaris. Hilos a nivel de n´cleo u W2K. 1:N Ra (Clouds). OS/2. Combina los atributos de los casos M : 1 y 1 : M Procesos e Hilos Hilos Especificaciones Llamada a RPC Tipos de hilos Relaci´n o Hilo-Proceso Hilos:Procesos 1:1 Procesos e Hilos Hilos SMP M:1 SMP Windows NT. cada uno de los cuales ejecuta una instrucci´n de la secuencia. o o El n´cleo no tiene conocimiento de la existencia de u hilos. Un hilo puede emigrar del entorno de un proceso a otro. secuencias de instrucciones sobre distintos conjuntos de datos. No se ha implementado o nunca. Pueden a crearse varios hilos que ejecuten en dicho proceso. o El n´cleo mantiene la informaci´n de contexto del u o proceso y de los hilos. Instrucci´n m´ltiple/dato simple (MISD): o u Se transmite una secuencia de datos a un conjunto de procesadores. OS/390. La creaci´n de hilos se realiza en el espacio de usuario.Hilos Tipos de hilos Hilos y SMP Hilos Tipos de hilos Hilos y SMP Procesos e Hilos Hilos Especificaciones Llamada a RPC Tipos de hilos Relaci´n o Hilo-Proceso SMP Hilos a nivel de usuario La aplicaci´n realiza todo el trabajo de gesti´n de hilos. . Linux y OS/2 son ejemplos de este tipo de aplicaci´n. o La planificaci´n y sincronizaci´n de los hilos se realiza o o en el espacio de usuario. ´ Sistemas Ejemplo Implementaciones UNIX cl´sicas a Descripci´n o Cada hilo de ejecuci´n es un o unico proceso con sus propios ´ recursos y espacio de direcciones Un proceso define un espacio de direcciones y unos recursos din´micos propios. MACH Caracter´ ısticas Multiproceso sim´trico e Consideraciones de dise˜o n Instrucci´n simple/datos m´ltiples (SIMD): o u Cada instrucci´n se ejecuta sobre un conjunto de datos o diferente por medio de distintos procesadores. Procesos e Hilos Hilos Especificaciones Llamada a RPC Tipos de hilos Relaci´n o Hilo-Proceso SMP Hilos Relaci´n Hilo-Proceso o Hilos y SMP Hilos y SMP SMP Caracter´ ısticas de los sistemas inform´ticos a Instrucci´n simple/dato simple (SISD): o Un unico procesador ejecuta un unico flujo de ´ ´ instrucciones para operar sobre datos almacenados en una unica memoria. La planificaci´n se realiza en funci´n de los hilos. Solaris. Esto permite que un hilo se pueda mover f´cilmente entre a sistemas distintos. Emerald Instrucci´n m´ltiple/datos m´ltiples (MIMD): o u u TRIX M:N Un conjunto de procesadores ejecuta simult´neamente a varias.

o Fiabilidad y tolerancia a los fallos. o Sincronizaci´n. Planificaci´n. . cada procesador se autoplanifica a partir de una cola de procesos o hilos libres. o Gesti´n de memoria. u Normalmente.SMP Multiproceso sim´trico e Hilos y SMP SMP Multiproceso sim´trico e Hilos y SMP Procesos e Hilos Hilos SMP Caracter´ ısticas Multiproceso sim´trico e Consideraciones de dise˜o n El n´cleo puede ejecutar en cualquier procesador. Procesos e Hilos Hilos SMP Caracter´ ısticas Multiproceso sim´trico e Consideraciones de dise˜o n SMP Consideraciones de dise˜o n Hilos y SMP Procesos e Hilos Hilos SMP Caracter´ ısticas Multiproceso sim´trico e Consideraciones de dise˜o n Procesos o hilos concurrentes.