Aplicaciones Moviles
Enviado por Ariel105 • 8 de Marzo de 2014 • 618 Palabras (3 Páginas) • 264 Visitas
Hebras
Es una unidad básica de la utilización de la CPU; comprende un ID de hebra, un contador de programa, un conjunto de registros y una pila.
Motivación
Muchos paquetes de software que se ejecutan en los PC modernos de escritorios son multihebra. Una aplicación se implementa como un proceso propio con varias hebras de control.
Ventajas
Las ventajas de la programación multihebra pueden dividirse en 4 categorías principales:
Capacidad de respuesta
Compartir recursos
Economía
Utilización de arquitectura multi procesador
Modelos multihebra
El soporte de las hebras puede proporcionarse en el nivel de usuario o por parte del kernel y las hebras se gestionan sin soporte del mismo, mientras que el sistema operativo soporta y gestiona directamente las hebras del kernel.
En este último término, debe de existir una relación entre las hebras de usuario y las del kernel; vamos a ver 3 formas de establecer esta relación.
1. Modelo de muchos a uno: asigna múltiples hebras del nivel de usuario a una hebra del kernel.
2. Modelo de uno a uno: asigna a cada hebra de usuario a una hebra del kernel. Proporciona una mayor concurrencia que el modelo muchos a uno.
3. Modelo muchos a muchos: multiplica muchas hebras de usuario sobre un número menor o igual de hebras de kernel.
Biblioteca de hebras
Proporciona al programador una API para crear y gestionar hebras. Existen 2 formas principales de implementa una biblioteca de hebras.
El primer método consiste en proporcionar una biblioteca enteramente en el espacio de usuario, sin ningún soporte del kernel.
El segundo método consiste en implementar una biblioteca en el nivel del kernel, soporta directamente el sistema operativo.
Las principales bibliotecas de hebras actualmente en uso son:
POSIX Pthreads
Win32
Java
Consideraciones sobre las hebras
Las llamadas al sistema fork () y exec (): el sistema fork () sirve para crear un proceso duplicado e independiente. La llamada al sistema exec () funciona de la misma manera que se ha descrito ósea que cambia en los programas multihebra.
Cancelación: es la acción de terminar una hebra antes de que se haya completado. Una hebra que vaya a ser cancelada se denomina a menudo hebra objetivo. La cancelación de una hebra objetivo puede ocurrir en 2 escenarios diferentes:
1. Cancelación asíncrona: termina la hebra de manera inmediata.
2. Cancelación diferida: permite que la hebra objetivo verifique periódicamente si debe ser cancelando.
Tratamiento de señales: se usa en los sistemas UNIX para notificar a un proceso que se ha producido un determinado suceso. Todas las señales, sean síncronas o asíncronas siguen
...