Hebras

Solo disponible en BuenasTareas
  • Páginas : 5 (1029 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de noviembre de 2010
Leer documento completo
Vista previa del texto
Hebras

Hebras
Descripción Modelos Multihebras Características Hebras Posix (Pthreads) Hebras en Windows XP Hebras en Linux Hebras en Java
Elo321 Hebras 2

Proceso Mono/Multi-hebra
código registros datos archivos stack código registros stack datos registros stack archivos registros stack

hebras

Monohebra
Elo321 Hebras

Multihebra
3

Beneficios
sensibilidad facilidad paracompartir recursos economía utilización de arquitecturas multiprocesadoras

Elo321 Hebras

4

Hebras de Usuario
La administración de las hebras se realizan vía bibliotecas de usuario 3 bibliotecas primarias disponibles:
POSIX Win32 Java

Elo321 Hebras

5

Hebras de Núcleo
soportadas por el núcleo ejemplos
Windows XP/2000 Solaris Linux Tru64 UNIX Mac OS X
Elo321 Hebras 6 Modelos Multihebras
M:1 (muchas a una) 1:1 (una a una) M:M (muchas a muchas)

Elo321 Hebras

7

Modelo M:1 (1)
Muchas hebras de usuario mapeadas a una sola hebra de núcleo. Ejemplos
Solaris Green Threads GNU Portable Threads

Elo321 Hebras

8

Modelo M:1 (2)
hebra de usuario

k

hebra de núcleo

Elo321 Hebras

9

Modelo 1:1 (1)
Cada hebrea de usuario tiene asociada a unahebra única en el núcleo. Ejemplos
Windows NT/XP/2000 Linux Solaris 9 en adelante

Elo321 Hebras

10

Modelo 1:1 (2)
hebra de usuario

k

k

k

k

hebra de núcleo

Elo321 Hebras

11

Modelo M:M (1)
Permite muchas hebras de usuario mapeadas a muchas hebras de núcleo. Le permite al núcleo la creación de un número suficiente de hebras. Versiones de Solaris anteriores a la 9.Windows NT/2000 con módulo ThreadFiber
Elo321 Hebras 12

Modelo M:M (2)
hebra de usuario

k

k

k

hebra de núcleo

Elo321 Hebras

13

Modelo Híbrido
Similar a M:M, excepto de que permite ligar una hebra de usuario a una hebra de núcleo. Ejemplos
IRIX HP-UX Tru64 UNIX Solaris 8 y anteriores
Elo321 Hebras 14

Modelo Híbrido
hebra de usuario

k

k

k

k

hebra denúcleo

Elo321 Hebras

15

Características
Semántica de los llamados al sistema fork() y exec() Eliminación de hebras Tratamiento de Señales Agrupaciones de hebras Datos específicos de las hebras Activación del scheduler
Elo321 Hebras 16

Semántica de fork() y exec()
¿El llamado al sistema fork() duplicará sólo la hebra que ejecuta el llamado o todas las hebras?

Elo321 Hebras17

Eliminación de Hebras
el problema se produce al querer eliminar una hebra en ejecución 2 procedimientos generales:
cancelación asincrónica termina la hebra inmediatamente cancelación postergada permite que la hebra a ser eliminada, verifique periódicamente si debe terminar
Elo321 Hebras 18

Tratamiento de Señales
las señales se utilizan en Unix para notificar eventos se utiliza unmanejador de señales para atender este tipo de eventos
1. la señal es generada por un evento particular 2. la señal es enviada a un proceso 3. se atiende la señal

opciones:

enviar la señal a la hebra a la que se aplica dicha señal enviar la señal a todas las hebras de un proceso enviar la señal a un grupo de hebras en el proceso designar una hebra específica para atender todas las señales querecibe el proceso

Elo321 Hebras

19

Agrupaciones de Hebras
Crea un grupo de hebras a la espera por requerimientos. Ventajas:
rendimiento levemente superior al atender requerimientos con hebras existentes en vez de tener que crearlas permite acotar la cantidad de hebras de una aplicación (o varias) al número de hebras del grupo
Elo321 Hebras 20

Datos Específicos de las Hebraspermite a cada hebra mantener datos privados útil cuando no se tiene el control de la creación de procesos (ej. agrupación de hebras)

Elo321 Hebras

21

Activación del Scheduler
tanto el modelo M:M como el híbrido requieren de comunicación para mantener un número apropiado de hebras en el núcleo la activación del scheduler permite upcalls – un mecanismo de comunicación del núcleo con la...
tracking img