ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Implementacion Hilos


Enviado por   •  24 de Octubre de 2012  •  652 Palabras (3 Páginas)  •  1.401 Visitas

Página 1 de 3

IMPLEMENTACIÓN DE HILOS

Implementación a nivel usuario

Un hilo a nivel de usuario mantiene todo su estado en el espacio de usuario. Por esta razón el hilo no utiliza recursos del kernel para su administración y se puede sustituir entre hilos sin cambiar el espacio de direcciones.

Esta implementación puede ser la más eficiente, ya que no se necesita entrar al kernel en cada llamada, pero complica la gestión de señales y otras operaciones con los hilos.

Ventajas

• Un paquete de hilos a nivel de usuario puede implementarse en un sistema operativo que no soporte hilos.

• Permite que cada proceso tenga un algoritmo de planificación diferente para sus hilos, de acuerdo a sus necesidades.

• El intercambio de hilos es más rápido que las indicaciones al núcleo porque a nivel kernel se realiza un cambio de contexto completo.

• Mejor escalabilidad, al no necesitar reservar espacios para las tablas, pila en el área del kernel, que suele limitar el numero máximo de hilos en el sistema.

Desventaja

• Los hilos a nivel de usuario no se pueden ejecutar mientras el kernel está ocupado.

Implementación a nivel kernel

El kernel conoce y gestiona los hilos. No se necesita un sistema de tiempo de ejecución dentro de cada proceso. Además no existe ninguna tabla de hilos en cada proceso. Para cada proceso el núcleo tiene una tabla con una entrada por cada uno de los hilos del proceso, con los registros, estado, prioridades y otra información sobre cada hilo. La información es la misma que en los hilos a nivel de usuario, sólo que se encuentra en el espacio del núcleo y no en el espacio de usuario (dentro del sistema de tiempo de ejecución), por lo cual está limitado.

Las llamadas que pueden bloquear un hilo se implementan como llamadas al sistema, lo que supone un mayor coste que en el caso de nivel de usuario, donde se realizaban llamadas a un procedimiento del sistema de tiempo de ejecución.

Si un hilo se bloquea, el kernel puede decidir entre ejecutar otro hilo del mismo proceso si alguno de ellos está listo o un hilo de otro proceso.

A diferencia delos hilos a nivel de usuario, el sistema de tiempo de ejecución mantiene en ejecución los hilos del propio proceso hasta que el kernel les quita la CPU, o no existan más hilos del proceso listos para la ejecución.

Implementación hibrida

Intenta combinar las ventajas de los hilos a nivel usuario con las ventajas de los hilos a nivel kernel. El kernel coopera con el paquete de hilos de nivel usuario en la planificación.

Consideraciones de conversión de código de hilado simple a multihilado

El convertir esos programas en multihilo es complicado.

El código de un hilo consta de múltiples procedimientos, al igual que un proceso. Estos procedimientos pueden tener variables

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com